S-ROV main board firmware
Dependencies: mbed pca9685 ros_lib_kinetic ads1015
main.cpp@0:75ecba0f12ed, 2017-01-16 (annotated)
- Committer:
- YJ_Kim
- Date:
- Mon Jan 16 04:58:06 2017 +0000
- Revision:
- 0:75ecba0f12ed
- Child:
- 1:2062e7a67afd
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YJ_Kim | 0:75ecba0f12ed | 1 | #include "mbed.h" |
YJ_Kim | 0:75ecba0f12ed | 2 | #include <ros.h> |
YJ_Kim | 0:75ecba0f12ed | 3 | #include <std_msgs/Float32.h> |
YJ_Kim | 0:75ecba0f12ed | 4 | #include <pca9685/pca9685.h> |
YJ_Kim | 0:75ecba0f12ed | 5 | |
YJ_Kim | 0:75ecba0f12ed | 6 | ros::NodeHandle nh; |
YJ_Kim | 0:75ecba0f12ed | 7 | I2C i2c(PB_11, PB_10); // sda, scl |
YJ_Kim | 0:75ecba0f12ed | 8 | PCA9685 pwm(0x40, i2c, 50); |
YJ_Kim | 0:75ecba0f12ed | 9 | |
YJ_Kim | 0:75ecba0f12ed | 10 | void messageCb(const std_msgs::Float32& angle){ |
YJ_Kim | 0:75ecba0f12ed | 11 | pwm.set_servo_angle(CH_6, angle.data); |
YJ_Kim | 0:75ecba0f12ed | 12 | } |
YJ_Kim | 0:75ecba0f12ed | 13 | |
YJ_Kim | 0:75ecba0f12ed | 14 | ros::Subscriber<std_msgs::Float32> sub("servo", &messageCb); |
YJ_Kim | 0:75ecba0f12ed | 15 | |
YJ_Kim | 0:75ecba0f12ed | 16 | int main() { |
YJ_Kim | 0:75ecba0f12ed | 17 | nh.initNode(); |
YJ_Kim | 0:75ecba0f12ed | 18 | nh.subscribe(sub); |
YJ_Kim | 0:75ecba0f12ed | 19 | pwm.init(); |
YJ_Kim | 0:75ecba0f12ed | 20 | |
YJ_Kim | 0:75ecba0f12ed | 21 | while (1) { |
YJ_Kim | 0:75ecba0f12ed | 22 | nh.spinOnce(); |
YJ_Kim | 0:75ecba0f12ed | 23 | wait_ms(1); |
YJ_Kim | 0:75ecba0f12ed | 24 | } |
YJ_Kim | 0:75ecba0f12ed | 25 | } |