S-ROV main board firmware

Dependencies:   mbed pca9685 ros_lib_kinetic ads1015

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?

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