Experiencias do Henrique na quinta/sexta a noite
Dependencies: BufferedSerial
main.cpp@1:dc87724abce8, 2019-04-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |