Serial communication protocol generic implementation
Dependents: ClassFRDM ClassLPC
Diff: DataComm.h
- Revision:
- 1:9cfb17f74dcd
- Parent:
- 0:60c4436f7667
--- a/DataComm.h Thu Mar 19 02:36:11 2015 +0000 +++ b/DataComm.h Thu Mar 19 11:54:05 2015 +0000 @@ -5,6 +5,8 @@ #define DATACOMM_H #define PREAMBLE 0x7E +#define POSTAMBLE 0x7F +#define MAX 100 #include "mbed.h" #include "platform.h" @@ -13,27 +15,34 @@ class DataComm { public: + //initialize signal input/output pins void setClockOut(PinName pin); void setClockIn(PinName pin); void setSerialOut(PinName pin); - void setSerialIn(PinName pin); + void setSerialIn(PinName pin); + //listen for incoming preamble void listen(); + //set clock speed void setClock(int clock); + //send preamble void initiate_connection(); - void setDataSize(int size); - void send_data(char data[]); + void send_data(char data[], int size); char* receive_data(); + //send postamble + void close_connection(); protected: + //gpio input/output pins gpio_t clock_out; gpio_t clock_in; gpio_t serial_out; gpio_t serial_in; + //clock speed and skew int clock_time; int skew_time; - int data_size; + //timer for handling clock and skew Timer t; };