Basketball robot mainboard firmware

Dependencies:   USBDevice mbed

Committer:
Reiko
Date:
Mon Sep 10 15:24:08 2018 +0000
Revision:
0:88887cfb2b04
Mainboard firmware for basketball robot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reiko 0:88887cfb2b04 1 #ifndef RFMANAGER_H
Reiko 0:88887cfb2b04 2 #define RFMANAGER_H
Reiko 0:88887cfb2b04 3
Reiko 0:88887cfb2b04 4 #include "mbed.h"
Reiko 0:88887cfb2b04 5 #include "CircularBuffer2.h"
Reiko 0:88887cfb2b04 6
Reiko 0:88887cfb2b04 7 class RFManager {
Reiko 0:88887cfb2b04 8 protected:
Reiko 0:88887cfb2b04 9 FunctionPointer _callback;
Reiko 0:88887cfb2b04 10
Reiko 0:88887cfb2b04 11 public:
Reiko 0:88887cfb2b04 12 RFManager(PinName txPinName, PinName rxPinName);
Reiko 0:88887cfb2b04 13
Reiko 0:88887cfb2b04 14 void baud(int baudrate);
Reiko 0:88887cfb2b04 15
Reiko 0:88887cfb2b04 16 char *read();
Reiko 0:88887cfb2b04 17
Reiko 0:88887cfb2b04 18 void send(char *sendData);
Reiko 0:88887cfb2b04 19
Reiko 0:88887cfb2b04 20 void send(char *sendData, int length);
Reiko 0:88887cfb2b04 21
Reiko 0:88887cfb2b04 22 void update();
Reiko 0:88887cfb2b04 23
Reiko 0:88887cfb2b04 24 void handleMessage();
Reiko 0:88887cfb2b04 25
Reiko 0:88887cfb2b04 26 void setShortCommandMode(bool isEnabled);
Reiko 0:88887cfb2b04 27
Reiko 0:88887cfb2b04 28 bool readable();
Reiko 0:88887cfb2b04 29
Reiko 0:88887cfb2b04 30 void attach(void (*function)(void)) {
Reiko 0:88887cfb2b04 31 _callback.attach(function);
Reiko 0:88887cfb2b04 32 }
Reiko 0:88887cfb2b04 33
Reiko 0:88887cfb2b04 34 template<typename T>
Reiko 0:88887cfb2b04 35 void attach(T *object, void (T::*member)(void)) {
Reiko 0:88887cfb2b04 36 _callback.attach( object, member );
Reiko 0:88887cfb2b04 37 }
Reiko 0:88887cfb2b04 38
Reiko 0:88887cfb2b04 39 private:
Reiko 0:88887cfb2b04 40 Serial serial;
Reiko 0:88887cfb2b04 41
Reiko 0:88887cfb2b04 42 int serialId;
Reiko 0:88887cfb2b04 43
Reiko 0:88887cfb2b04 44 void rxHandler(void);
Reiko 0:88887cfb2b04 45
Reiko 0:88887cfb2b04 46 bool messageAvailable;
Reiko 0:88887cfb2b04 47
Reiko 0:88887cfb2b04 48 void serialWrite(char *sendData, int length);
Reiko 0:88887cfb2b04 49 char serialReadChar();
Reiko 0:88887cfb2b04 50
Reiko 0:88887cfb2b04 51 CircularBuffer2<char> buf;
Reiko 0:88887cfb2b04 52
Reiko 0:88887cfb2b04 53 unsigned int receiveCounter;
Reiko 0:88887cfb2b04 54 char receiveBuffer[16];
Reiko 0:88887cfb2b04 55
Reiko 0:88887cfb2b04 56 char receivedMessage[16];
Reiko 0:88887cfb2b04 57
Reiko 0:88887cfb2b04 58 bool shortCommandsEnabled;
Reiko 0:88887cfb2b04 59 unsigned int commandLength;
Reiko 0:88887cfb2b04 60 unsigned int shortCommandLength;
Reiko 0:88887cfb2b04 61 unsigned int longCommandLength;
Reiko 0:88887cfb2b04 62 };
Reiko 0:88887cfb2b04 63
Reiko 0:88887cfb2b04 64
Reiko 0:88887cfb2b04 65 #endif //RFManager_H