lab 4

Dependencies:   BufferedSerial

Committer:
ccpjboss
Date:
Thu May 27 08:53:19 2021 +0000
Revision:
0:0d3a25d4697e
tet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ccpjboss 0:0d3a25d4697e 1 #include "Communication.h"
ccpjboss 0:0d3a25d4697e 2 #include "mbed.h"
ccpjboss 0:0d3a25d4697e 3 #include "MessageBuilder.h"
ccpjboss 0:0d3a25d4697e 4
ccpjboss 0:0d3a25d4697e 5 Serial *serial_object;
ccpjboss 0:0d3a25d4697e 6 MessageBuilder bin_msg;
ccpjboss 0:0d3a25d4697e 7
ccpjboss 0:0d3a25d4697e 8 void init_communication(Serial *serial_in)
ccpjboss 0:0d3a25d4697e 9 {
ccpjboss 0:0d3a25d4697e 10 serial_object = serial_in;
ccpjboss 0:0d3a25d4697e 11 }
ccpjboss 0:0d3a25d4697e 12
ccpjboss 0:0d3a25d4697e 13 void write_bytes(char *ptr, unsigned char len)
ccpjboss 0:0d3a25d4697e 14 {
ccpjboss 0:0d3a25d4697e 15 for(int i=0; i<len; i++)
ccpjboss 0:0d3a25d4697e 16 {
ccpjboss 0:0d3a25d4697e 17 serial_object->putc(ptr[i]);
ccpjboss 0:0d3a25d4697e 18 }
ccpjboss 0:0d3a25d4697e 19 }
ccpjboss 0:0d3a25d4697e 20
ccpjboss 0:0d3a25d4697e 21 void send_odometry(float x, float y, float theta)
ccpjboss 0:0d3a25d4697e 22 {
ccpjboss 0:0d3a25d4697e 23 bin_msg.reset();
ccpjboss 0:0d3a25d4697e 24 bin_msg.add('O');
ccpjboss 0:0d3a25d4697e 25
ccpjboss 0:0d3a25d4697e 26 bin_msg.add(x);
ccpjboss 0:0d3a25d4697e 27 bin_msg.add(y);
ccpjboss 0:0d3a25d4697e 28 bin_msg.add(theta);
ccpjboss 0:0d3a25d4697e 29
ccpjboss 0:0d3a25d4697e 30 write_bytes(bin_msg.message, bin_msg.length());
ccpjboss 0:0d3a25d4697e 31 }
ccpjboss 0:0d3a25d4697e 32
ccpjboss 0:0d3a25d4697e 33 void send_map(int x, int y, float map)
ccpjboss 0:0d3a25d4697e 34 {
ccpjboss 0:0d3a25d4697e 35 bin_msg.reset();
ccpjboss 0:0d3a25d4697e 36 bin_msg.add('M');
ccpjboss 0:0d3a25d4697e 37
ccpjboss 0:0d3a25d4697e 38 bin_msg.add(x);
ccpjboss 0:0d3a25d4697e 39 bin_msg.add(y);
ccpjboss 0:0d3a25d4697e 40 bin_msg.add(map);
ccpjboss 0:0d3a25d4697e 41
ccpjboss 0:0d3a25d4697e 42 write_bytes(bin_msg.message, bin_msg.length());
ccpjboss 0:0d3a25d4697e 43 }