Ros-RTOS helloworld example project

Dependencies:   mbed-rtos mbed ros_lib_indigo

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?

UserRevisionLine numberNew 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 }