added broadcaster for l.mouse

Dependencies:   QEI mbed ros_lib_kinetic

Fork of Mouse_ISR by SBD Digital Accelerator Robotics

Committer:
apriljunio
Date:
Mon Jul 16 18:35:30 2018 +0000
Revision:
0:1a95e3b1026a
Child:
1:7ba9803d4e01
w/ publisher;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
apriljunio 0:1a95e3b1026a 1 #include "mbed.h"
apriljunio 0:1a95e3b1026a 2 #include "QEI.h"
apriljunio 0:1a95e3b1026a 3 #include "ros.h"
apriljunio 0:1a95e3b1026a 4 #include "geometry_msgs/Quaternion.h"
apriljunio 0:1a95e3b1026a 5 //#include "std_msgs/String.h"
apriljunio 0:1a95e3b1026a 6
apriljunio 0:1a95e3b1026a 7 //PINA / PINB / INDEXPIN / PPR / ENCODING (X2 BY DEFAULT)
apriljunio 0:1a95e3b1026a 8 QEI leftEncoder(D3, D12, NC, 378);
apriljunio 0:1a95e3b1026a 9 QEI rightEncoder(D2, D13, NC, 378);
apriljunio 0:1a95e3b1026a 10
apriljunio 0:1a95e3b1026a 11 Timer tL, tR;
apriljunio 0:1a95e3b1026a 12
apriljunio 0:1a95e3b1026a 13 //Serial pc(USBTX, USBRX);
apriljunio 0:1a95e3b1026a 14
apriljunio 0:1a95e3b1026a 15 ros::NodeHandle nh;
apriljunio 0:1a95e3b1026a 16 geometry_msgs::Quaternion wheelMsg;
apriljunio 0:1a95e3b1026a 17 ros::Publisher wheelPub("/odom_msg", &wheelMsg);
apriljunio 0:1a95e3b1026a 18
apriljunio 0:1a95e3b1026a 19 //std_msgs::String str_msg;
apriljunio 0:1a95e3b1026a 20 //ros::Publisher chatter("chatter", &str_msg);
apriljunio 0:1a95e3b1026a 21
apriljunio 0:1a95e3b1026a 22 //char hello[13]="Hello World";
apriljunio 0:1a95e3b1026a 23
apriljunio 0:1a95e3b1026a 24 int leftPulseA=0;
apriljunio 0:1a95e3b1026a 25 int rightPulseA=0;
apriljunio 0:1a95e3b1026a 26
apriljunio 0:1a95e3b1026a 27 unsigned long timeL =0 ;
apriljunio 0:1a95e3b1026a 28 unsigned long timeR=0;
apriljunio 0:1a95e3b1026a 29
apriljunio 0:1a95e3b1026a 30 int main(){
apriljunio 0:1a95e3b1026a 31
apriljunio 0:1a95e3b1026a 32 nh.initNode();
apriljunio 0:1a95e3b1026a 33 //nh.advertise(chatter);
apriljunio 0:1a95e3b1026a 34 nh.advertise(wheelPub);
apriljunio 0:1a95e3b1026a 35 // pc.baud(57600);
apriljunio 0:1a95e3b1026a 36
apriljunio 0:1a95e3b1026a 37
apriljunio 0:1a95e3b1026a 38 while(true){
apriljunio 0:1a95e3b1026a 39
apriljunio 0:1a95e3b1026a 40 leftPulseA=leftEncoder.getPulses();
apriljunio 0:1a95e3b1026a 41 rightPulseA = rightEncoder.getPulses();
apriljunio 0:1a95e3b1026a 42 timeL = tL.read();
apriljunio 0:1a95e3b1026a 43 timeR = tL.read();
apriljunio 0:1a95e3b1026a 44
apriljunio 0:1a95e3b1026a 45 wheelMsg.x= leftPulseA;
apriljunio 0:1a95e3b1026a 46 wheelMsg.y = timeL;;
apriljunio 0:1a95e3b1026a 47 wheelMsg.z = rightPulseA;
apriljunio 0:1a95e3b1026a 48 wheelMsg.w = timeR;
apriljunio 0:1a95e3b1026a 49
apriljunio 0:1a95e3b1026a 50
apriljunio 0:1a95e3b1026a 51 //pc.printf("Left pulses %i \n", leftPulseA);
apriljunio 0:1a95e3b1026a 52 //pc.printf("Right pulses %i \n", rightPulseA);
apriljunio 0:1a95e3b1026a 53
apriljunio 0:1a95e3b1026a 54 //str_msg.data=hello;
apriljunio 0:1a95e3b1026a 55 //chatter.publish(&str_msg);
apriljunio 0:1a95e3b1026a 56 wheelPub.publish(&wheelMsg);
apriljunio 0:1a95e3b1026a 57 nh.spinOnce();
apriljunio 0:1a95e3b1026a 58 wait(0.01);
apriljunio 0:1a95e3b1026a 59 }
apriljunio 0:1a95e3b1026a 60 }