API to interface sensor with host PC
Dependencies: LidarSpi USBDevice mbed
tests.cpp
- Committer:
- TNU
- Date:
- 2016-04-05
- Revision:
- 0:10bd8964965a
File content as of revision 0:10bd8964965a:
#include "tests.h" int traceTest(LidarSpi* lidar, Serial * pc, USBSerial * serial) { int res=0; uint16_t buf[9473]; uint32_t nBytes; res=lidar->setTrace(); pc->printf("Set trace result: %d\n\r"); memset(buf, 0, sizeof(buf[0])*9472); //for(int i=0;i<64;i++) res=lidar.GetTraceOne( buf, 9472*2, 0, 0, i, &pc); //res=lidar.GetTraceOne( buf, 9472*2, 0, 0, 0, &pc); res=lidar->GetTrace( buf, 9472*2, 0, 0, pc); pc->printf("============\n\r============\n\r==================\n\r"); pc->printf("Result: %d \tTrace values after Patch:\n\r", res); //"%d \n", ((buf[i] & 0x00ff) << 8) | ((buf[i] & 0xff00) >> 8) //for (int i =0; i<(74*8*16);i++) pc->printf("%d ",((buf[i] & 0x00ff) << 8) | ((buf[i] & 0xff00) >> 8)); /* for(int i =0;i<16;i++) serial->printf("CH%d;",i); serial->printf("\n"); for (int i =0; i<(592);i++) { for(int j=0;j<16;j++) serial->printf("%d;",((buf[i+(j*74*8)] & 0x00ff) << 8) | ((buf[i+(j*74*8)] & 0xff00) >> 8)); serial->printf("\n"); } serial->printf("\n");*/ if(res<0) { serial->putc(1); for(int i=0;i<4;i++) serial->putc(0); return 0; } else nBytes=res*2; uint8_t * pntrS=(uint8_t *) &nBytes; pc->printf("size: %d\n\r", *pntrS); serial->putc(0); for(int i=0;i<sizeof(nBytes);i++) serial->putc(*(pntrS+i)); uint8_t * pnt; pnt=(uint8_t *)buf; pc->printf("Shows some values of trace, nBytes: %d\n\r", nBytes*2); for(int i=0;i<(nBytes);i=i+100) pc->printf("Value= %d\n\r", pnt[i]); pc->printf("Transmit trace\n\r"); for(int i=0;i<(nBytes);i++) { serial->putc(pnt[i]); if(i<50)pc->printf("Char [%d] -> %x \n\r", i, pnt[i]); if(((i % 2)==0)&&i<50 )pc->printf("Transmit [%d] -> %x \n\r",i, ((pnt[i])<<8)|(pnt[i+1])); } pc->printf("Trace transmitted\n\r"); //delete buf; wait_us(4); return res; }