sra-romi

Dependencies:   BufferedSerial Matrix

Committer:
fabiofaria
Date:
Thu Apr 11 09:51:28 2019 +0000
Revision:
1:dc87724abce8
Parent:
0:2b691d200d6f
Child:
3:0a718d139ed1
Initial commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabiofaria 1:dc87724abce8 1 // Coded by Luís Afonso 11-04-2019
LuisRA 0:2b691d200d6f 2 #include "mbed.h"
LuisRA 0:2b691d200d6f 3 #include "BufferedSerial.h"
LuisRA 0:2b691d200d6f 4 #include "rplidar.h"
fabiofaria 1:dc87724abce8 5 #include "Robot.h"
fabiofaria 1:dc87724abce8 6 #include "Communication.h"
LuisRA 0:2b691d200d6f 7
fabiofaria 1:dc87724abce8 8 Serial pc(SERIAL_TX, SERIAL_RX);
LuisRA 0:2b691d200d6f 9 RPLidar lidar;
LuisRA 0:2b691d200d6f 10 BufferedSerial se_lidar(PA_9, PA_10);
LuisRA 0:2b691d200d6f 11 PwmOut rplidar_motor(A3);
LuisRA 0:2b691d200d6f 12
LuisRA 0:2b691d200d6f 13 int main()
LuisRA 0:2b691d200d6f 14 {
fabiofaria 1:dc87724abce8 15 float odomX, odomY, odomTheta;
fabiofaria 1:dc87724abce8 16 struct RPLidarMeasurement data;
fabiofaria 1:dc87724abce8 17
fabiofaria 1:dc87724abce8 18 pc.baud(115200);
fabiofaria 1:dc87724abce8 19 init_communication(&pc);
LuisRA 0:2b691d200d6f 20
fabiofaria 1:dc87724abce8 21 // Lidar initialization
LuisRA 0:2b691d200d6f 22 rplidar_motor.period(0.001f);
LuisRA 0:2b691d200d6f 23 lidar.begin(se_lidar);
LuisRA 0:2b691d200d6f 24 lidar.setAngle(0,360);
LuisRA 0:2b691d200d6f 25
LuisRA 0:2b691d200d6f 26 pc.printf("Program started.\n");
fabiofaria 1:dc87724abce8 27
LuisRA 0:2b691d200d6f 28 lidar.startThreadScan();
LuisRA 0:2b691d200d6f 29
LuisRA 0:2b691d200d6f 30 while(1) {
LuisRA 0:2b691d200d6f 31 // poll for measurements. Returns -1 if no new measurements are available. returns 0 if found one.
LuisRA 0:2b691d200d6f 32 if(lidar.pollSensorData(&data) == 0)
LuisRA 0:2b691d200d6f 33 {
fabiofaria 1:dc87724abce8 34 pc.printf("%f\t%f\t%d\t%c\n", data.distance, data.angle, data.quality, data.startBit); // Prints one lidar measurement.
LuisRA 0:2b691d200d6f 35 }
LuisRA 0:2b691d200d6f 36 wait(0.1);
LuisRA 0:2b691d200d6f 37 }
fabiofaria 1:dc87724abce8 38 }