Code to define toggle a led depending on a motor speed
Dependencies: mbed ros_lib_kinetic
Diff: main.cpp
- Revision:
- 0:80d03f06b4ce
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Oct 15 09:05:09 2019 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" +#include <ros.h> +#include <std_msgs/Empty.h> +#include <std_msgs/Int32.h> + +ros::NodeHandle nh; +DigitalOut myled(LED1); +int speed; + +void toggleSpeed(const std_msgs::Int32& speed_) +{ + speed = speed_.data; +} + +ros::Subscriber<std_msgs::Int32> sub("motor_speed", &toggleSpeed); + +int main() +{ + nh.initNode(); + nh.subscribe(sub); + + while (1) + { + myled = !myled; + nh.spinOnce(); + + if (speed <= 20){wait(2.0);} + else if (speed <= 40){wait(1);} + else if (speed <= 60){wait_ms(500);} + else {wait_ms(100);} + } +} \ No newline at end of file