semin ahn / Mbed OS zeta_stm_kinetic

Dependencies:   BufferedSerial

Committer:
_seminahn
Date:
Tue Nov 30 08:13:05 2021 +0000
Revision:
3:a4677501ae87
Parent:
0:4ff8aeb3e4d1
v1.2.5, change imu freq

Who changed what in which revision?

UserRevisionLine numberNew contents of line
_seminahn 0:4ff8aeb3e4d1 1 /*
_seminahn 0:4ff8aeb3e4d1 2 * MbedHardware
_seminahn 0:4ff8aeb3e4d1 3 *
_seminahn 0:4ff8aeb3e4d1 4 * Created on: Aug 17, 2011
_seminahn 0:4ff8aeb3e4d1 5 * Author: nucho
_seminahn 0:4ff8aeb3e4d1 6 */
_seminahn 0:4ff8aeb3e4d1 7
_seminahn 0:4ff8aeb3e4d1 8 #ifndef ROS_MBED_HARDWARE_H_
_seminahn 0:4ff8aeb3e4d1 9 #define ROS_MBED_HARDWARE_H_
_seminahn 0:4ff8aeb3e4d1 10
_seminahn 0:4ff8aeb3e4d1 11 #include "mbed.h"
_seminahn 0:4ff8aeb3e4d1 12
_seminahn 0:4ff8aeb3e4d1 13 #include "BufferedSerial.h"
_seminahn 0:4ff8aeb3e4d1 14
_seminahn 0:4ff8aeb3e4d1 15 class MbedHardware {
_seminahn 0:4ff8aeb3e4d1 16 public:
_seminahn 0:4ff8aeb3e4d1 17 MbedHardware(PinName tx, PinName rx, long baud = 57600)
_seminahn 0:4ff8aeb3e4d1 18 :iostream(tx, rx){
_seminahn 0:4ff8aeb3e4d1 19 baud_ = baud;
_seminahn 0:4ff8aeb3e4d1 20 t.start();
_seminahn 0:4ff8aeb3e4d1 21 }
_seminahn 0:4ff8aeb3e4d1 22
_seminahn 0:4ff8aeb3e4d1 23 MbedHardware()
_seminahn 0:4ff8aeb3e4d1 24 :iostream(USBTX, USBRX) {
_seminahn 0:4ff8aeb3e4d1 25 baud_ = 57600;
_seminahn 0:4ff8aeb3e4d1 26 t.start();
_seminahn 0:4ff8aeb3e4d1 27 }
_seminahn 0:4ff8aeb3e4d1 28
_seminahn 0:4ff8aeb3e4d1 29 void setBaud(long baud){
_seminahn 0:4ff8aeb3e4d1 30 this->baud_= baud;
_seminahn 0:4ff8aeb3e4d1 31 }
_seminahn 0:4ff8aeb3e4d1 32
_seminahn 0:4ff8aeb3e4d1 33 int getBaud(){return baud_;}
_seminahn 0:4ff8aeb3e4d1 34
_seminahn 0:4ff8aeb3e4d1 35 void init(){
_seminahn 0:4ff8aeb3e4d1 36 iostream.baud(baud_);
_seminahn 0:4ff8aeb3e4d1 37 }
_seminahn 0:4ff8aeb3e4d1 38
_seminahn 0:4ff8aeb3e4d1 39 int read(){
_seminahn 0:4ff8aeb3e4d1 40 if (iostream.readable()) {
_seminahn 0:4ff8aeb3e4d1 41 return iostream.getc();
_seminahn 0:4ff8aeb3e4d1 42 } else {
_seminahn 0:4ff8aeb3e4d1 43 return -1;
_seminahn 0:4ff8aeb3e4d1 44 }
_seminahn 0:4ff8aeb3e4d1 45 };
_seminahn 0:4ff8aeb3e4d1 46 void write(uint8_t* data, int length) {
_seminahn 0:4ff8aeb3e4d1 47 for (int i=0; i<length; i++)
_seminahn 0:4ff8aeb3e4d1 48 iostream.putc(data[i]);
_seminahn 0:4ff8aeb3e4d1 49 }
_seminahn 0:4ff8aeb3e4d1 50
_seminahn 0:4ff8aeb3e4d1 51 unsigned long time(){return t.read_ms();}
_seminahn 0:4ff8aeb3e4d1 52
_seminahn 0:4ff8aeb3e4d1 53 protected:
_seminahn 0:4ff8aeb3e4d1 54 BufferedSerial iostream;
_seminahn 0:4ff8aeb3e4d1 55 long baud_;
_seminahn 0:4ff8aeb3e4d1 56 Timer t;
_seminahn 0:4ff8aeb3e4d1 57 };
_seminahn 0:4ff8aeb3e4d1 58
_seminahn 0:4ff8aeb3e4d1 59
_seminahn 0:4ff8aeb3e4d1 60 #endif /* ROS_MBED_HARDWARE_H_ */