Ejemplo n.º 1
0
bool test_lidar()
{
	printf("Opening I2C-2\n");
	FhvRobot::I2C i2c(I2C_2);
	FhvRobot::Lidar lidar(&i2c);
	printf("Init lidar\n");
	if (!lidar.InitLidar()) {
		printf("Init lidar failed\n");
		return false;
	}
	printf("Instantiating lidar and reading 50 values\n");
	for (int i = 0; i < 100; i++) {
		printf("%d. Read distance=%d\n", (i+1), lidar.ReadDistance());
		usleep(1000 * 100);
	}
	return true;
}
Ejemplo n.º 2
0
Archivo: lidar.cpp Proyecto: jibee/STpp
int main() {
	Platform::STM32F4_WithUSB b;
	Platform::UsbSerial usb(b);
	usb << "Hello !" << endl;

	Platform::Gpio LidarRX(b.GpioD[9]);
	Platform::Uart Lidar(3);
	LidarNeato lidar(LidarRX, Lidar);

	while(true) {
		lidar_neato_t packet;
		lidar >> packet;

#if 0
		usb << "["
				  << (int)packet.index
				  << "]"
				  << "@"
				  << (int)packet.speed
				  /*
				  << ":"
				  << (int)packet.data[0]
				  << "," << (int)packet.data[1]
				  << "," << (int)packet.data[2]
				  << "," << (int)packet.data[3]*/
				  << "=" << (int)(packet.data[0]&0x7fff)
				  << ";" << endl;
#else
		usb << "@" << (int) packet.speed << endl;
		for(int i=0; i<4; ++i) {
			usb
				<< "#"
				<< ((int)(packet.index-0xa0))*4+i
				<< ","
				<< ((int)packet.data[i]&0x3fff)
				<< ((packet.data[i]&0x4000) ? "!" : "")
				<< endl;
		}
#endif
	}

	while(1);
}