Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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;
}