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: mbed ros_lib_kinetic
publisherExample.cpp@9:b27a26e1ae55, 2019-12-12 (annotated)
- Committer:
- BenRJG
- Date:
- Thu Dec 12 19:51:42 2019 +0000
- Revision:
- 9:b27a26e1ae55
Ben's Guidelines for code modification
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| BenRJG | 9:b27a26e1ae55 | 1 | // Changed text |
| BenRJG | 9:b27a26e1ae55 | 2 | |
| BenRJG | 9:b27a26e1ae55 | 3 | /////////////////////////////////////////////////////////////////// |
| BenRJG | 9:b27a26e1ae55 | 4 | // Beginning of code |
| BenRJG | 9:b27a26e1ae55 | 5 | /////////////////////////////////////////////////////////////////// |
| BenRJG | 9:b27a26e1ae55 | 6 | #include "timeofflight.hpp" |
| BenRJG | 9:b27a26e1ae55 | 7 | |
| BenRJG | 9:b27a26e1ae55 | 8 | Serial pc(SERIAL_TX, SERIAL_RX);// set-up serial to pc |
| BenRJG | 9:b27a26e1ae55 | 9 | #define addr (0x52) // I²C address of VL6180 shifted by 1 bit |
| BenRJG | 9:b27a26e1ae55 | 10 | |
| BenRJG | 9:b27a26e1ae55 | 11 | VL6180 tof1(addr); |
| BenRJG | 9:b27a26e1ae55 | 12 | |
| BenRJG | 9:b27a26e1ae55 | 13 | #include <ros.h> |
| BenRJG | 9:b27a26e1ae55 | 14 | #include <std_msgs/String.h> |
| BenRJG | 9:b27a26e1ae55 | 15 | |
| BenRJG | 9:b27a26e1ae55 | 16 | ros::NodeHandle node_chatter; |
| BenRJG | 9:b27a26e1ae55 | 17 | |
| BenRJG | 9:b27a26e1ae55 | 18 | std_msgs::String str_msg; |
| BenRJG | 9:b27a26e1ae55 | 19 | ros::Publisher chatter("chatter", &str_msg); |
| BenRJG | 9:b27a26e1ae55 | 20 | |
| BenRJG | 9:b27a26e1ae55 | 21 | char data[13]; |
| BenRJG | 9:b27a26e1ae55 | 22 | |
| BenRJG | 9:b27a26e1ae55 | 23 | |
| BenRJG | 9:b27a26e1ae55 | 24 | |
| BenRJG | 9:b27a26e1ae55 | 25 | /////////////////////////////////////////////////////////////////// |
| BenRJG | 9:b27a26e1ae55 | 26 | // Main Program loop |
| BenRJG | 9:b27a26e1ae55 | 27 | /////////////////////////////////////////////////////////////////// |
| BenRJG | 9:b27a26e1ae55 | 28 | int main() |
| BenRJG | 9:b27a26e1ae55 | 29 | { |
| BenRJG | 9:b27a26e1ae55 | 30 | node_chatter.initNode(); |
| BenRJG | 9:b27a26e1ae55 | 31 | node_chatter.advertise(chatter); |
| BenRJG | 9:b27a26e1ae55 | 32 | |
| BenRJG | 9:b27a26e1ae55 | 33 | pc.printf("test\r\n"); |
| BenRJG | 9:b27a26e1ae55 | 34 | int range; |
| BenRJG | 9:b27a26e1ae55 | 35 | |
| BenRJG | 9:b27a26e1ae55 | 36 | // load settings onto VL6180X |
| BenRJG | 9:b27a26e1ae55 | 37 | tof1.Init(); |
| BenRJG | 9:b27a26e1ae55 | 38 | while (1){ |
| BenRJG | 9:b27a26e1ae55 | 39 | range = tof1.Get_Range(); |
| BenRJG | 9:b27a26e1ae55 | 40 | |
| BenRJG | 9:b27a26e1ae55 | 41 | // send range to pc by serial |
| BenRJG | 9:b27a26e1ae55 | 42 | sprintf(data, "Distance: %dmm", range); |
| BenRJG | 9:b27a26e1ae55 | 43 | |
| BenRJG | 9:b27a26e1ae55 | 44 | str_msg.data = data; |
| BenRJG | 9:b27a26e1ae55 | 45 | chatter.publish( &str_msg ); |
| BenRJG | 9:b27a26e1ae55 | 46 | node_chatter.spinOnce(); |
| BenRJG | 9:b27a26e1ae55 | 47 | wait_ms(1000); |
| BenRJG | 9:b27a26e1ae55 | 48 | } |
| BenRJG | 9:b27a26e1ae55 | 49 | } |

