
Ros-RTOS helloworld example project
Dependencies: mbed-rtos mbed ros_lib_indigo
main.cpp@0:4934245d6d7a, 2017-01-04 (annotated)
- Committer:
- randalthor
- Date:
- Wed Jan 04 17:13:52 2017 +0000
- Revision:
- 0:4934245d6d7a
Ros RTOS hello world example project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
randalthor | 0:4934245d6d7a | 1 | #include "mbed.h" |
randalthor | 0:4934245d6d7a | 2 | #include "rtos.h" |
randalthor | 0:4934245d6d7a | 3 | #include "cmsis_os.h" |
randalthor | 0:4934245d6d7a | 4 | #include <ros.h> |
randalthor | 0:4934245d6d7a | 5 | #include <std_msgs/String.h> |
randalthor | 0:4934245d6d7a | 6 | |
randalthor | 0:4934245d6d7a | 7 | |
randalthor | 0:4934245d6d7a | 8 | |
randalthor | 0:4934245d6d7a | 9 | ros::NodeHandle nh; |
randalthor | 0:4934245d6d7a | 10 | std_msgs::String str_msg; |
randalthor | 0:4934245d6d7a | 11 | ros::Publisher chatter("chatter", &str_msg); |
randalthor | 0:4934245d6d7a | 12 | |
randalthor | 0:4934245d6d7a | 13 | |
randalthor | 0:4934245d6d7a | 14 | DigitalOut led1(LED1); |
randalthor | 0:4934245d6d7a | 15 | |
randalthor | 0:4934245d6d7a | 16 | void print_thread(void const *argument) |
randalthor | 0:4934245d6d7a | 17 | { |
randalthor | 0:4934245d6d7a | 18 | char hello[13] = "hello world!"; |
randalthor | 0:4934245d6d7a | 19 | while (true) { |
randalthor | 0:4934245d6d7a | 20 | Thread::wait(1000); |
randalthor | 0:4934245d6d7a | 21 | str_msg.data = hello; |
randalthor | 0:4934245d6d7a | 22 | chatter.publish( &str_msg ); |
randalthor | 0:4934245d6d7a | 23 | nh.spinOnce(); |
randalthor | 0:4934245d6d7a | 24 | |
randalthor | 0:4934245d6d7a | 25 | } |
randalthor | 0:4934245d6d7a | 26 | } |
randalthor | 0:4934245d6d7a | 27 | |
randalthor | 0:4934245d6d7a | 28 | int main() |
randalthor | 0:4934245d6d7a | 29 | { |
randalthor | 0:4934245d6d7a | 30 | nh.initNode(); |
randalthor | 0:4934245d6d7a | 31 | nh.advertise(chatter); |
randalthor | 0:4934245d6d7a | 32 | |
randalthor | 0:4934245d6d7a | 33 | |
randalthor | 0:4934245d6d7a | 34 | Thread thread(print_thread, NULL, osPriorityNormal, DEFAULT_STACK_SIZE); |
randalthor | 0:4934245d6d7a | 35 | |
randalthor | 0:4934245d6d7a | 36 | while (true) { |
randalthor | 0:4934245d6d7a | 37 | led1 = !led1; |
randalthor | 0:4934245d6d7a | 38 | Thread::wait(500); |
randalthor | 0:4934245d6d7a | 39 | } |
randalthor | 0:4934245d6d7a | 40 | |
randalthor | 0:4934245d6d7a | 41 | } |