NagaokaRoboticsClub_mbedTeam / SerialMultiByte

Dependents:   Nucleo_NHK_2018_syudo_wheel a_team_R1370 Nucleo_NHK_2018_syudo_wheel 2018NHK_gaku_ver2 ... more

Committer:
UCHITAKE
Date:
Wed Sep 12 15:20:52 2018 +0000
Revision:
2:a14ba6b3f198
Parent:
1:a28d64ee7a79
Child:
4:31dbd7ea393b
??????????; ???????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UCHITAKE 0:a6b2ad4005b0 1 #ifndef SERIAL_MULTI_BYTE_H
UCHITAKE 0:a6b2ad4005b0 2 #define SERIAL_MULTI_BYTE_H
UCHITAKE 0:a6b2ad4005b0 3
UCHITAKE 0:a6b2ad4005b0 4 #define DEFAULT_BAUD 115200
UCHITAKE 0:a6b2ad4005b0 5 #define DEFAULT_FIRST_HEADER 0xAA
UCHITAKE 0:a6b2ad4005b0 6 #define DEFAULT_SECOND_HEADER 0xBB
UCHITAKE 0:a6b2ad4005b0 7 #define DEFAULT_DATA_SIZE 4
UCHITAKE 0:a6b2ad4005b0 8
UCHITAKE 0:a6b2ad4005b0 9 #include "mbed.h"
UCHITAKE 0:a6b2ad4005b0 10
UCHITAKE 0:a6b2ad4005b0 11 class SerialMultiByte : public RawSerial {
UCHITAKE 0:a6b2ad4005b0 12 public :
UCHITAKE 0:a6b2ad4005b0 13 SerialMultiByte(PinName tx, PinName rx);
UCHITAKE 0:a6b2ad4005b0 14 void setHeaders(uint8_t firstHeader, uint8_t secondHeader);
UCHITAKE 0:a6b2ad4005b0 15 void setHeaders(uint8_t headers[]);
UCHITAKE 0:a6b2ad4005b0 16
UCHITAKE 0:a6b2ad4005b0 17 void startReceive(uint16_t dataSize);
UCHITAKE 0:a6b2ad4005b0 18 void getData(uint8_t data_[]);
UCHITAKE 0:a6b2ad4005b0 19 void sendData(uint8_t data_[], uint16_t length);
UCHITAKE 0:a6b2ad4005b0 20
UCHITAKE 0:a6b2ad4005b0 21 private :
UCHITAKE 1:a28d64ee7a79 22 DigitalOut myled;
UCHITAKE 0:a6b2ad4005b0 23 void receiveLoop();
UCHITAKE 0:a6b2ad4005b0 24 void receiveByte();
UCHITAKE 0:a6b2ad4005b0 25 void checkData();
UCHITAKE 2:a14ba6b3f198 26 uint8_t *buffer;
UCHITAKE 2:a14ba6b3f198 27 uint8_t bufferPoint;
UCHITAKE 2:a14ba6b3f198 28 uint8_t receivedBytes;
UCHITAKE 0:a6b2ad4005b0 29
UCHITAKE 0:a6b2ad4005b0 30 uint8_t header[2];
UCHITAKE 0:a6b2ad4005b0 31 uint16_t bufferSize;
UCHITAKE 0:a6b2ad4005b0 32 uint8_t* data;
UCHITAKE 0:a6b2ad4005b0 33 };
UCHITAKE 0:a6b2ad4005b0 34
UCHITAKE 0:a6b2ad4005b0 35 #endif