added broadcaster for l.mouse
Dependencies: QEI mbed ros_lib_kinetic
Fork of Mouse_ISR by
main.cpp@0:1a95e3b1026a, 2018-07-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |