Serial communication protocol generic implementation
Dependents: ClassFRDM ClassLPC
DataComm.h@0:60c4436f7667, 2015-03-19 (annotated)
- Committer:
- askksa12543
- Date:
- Thu Mar 19 02:36:11 2015 +0000
- Revision:
- 0:60c4436f7667
- Child:
- 1:9cfb17f74dcd
initial class version of data comm project.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
askksa12543 | 0:60c4436f7667 | 1 | //data comm functions |
askksa12543 | 0:60c4436f7667 | 2 | //serial communication protocol |
askksa12543 | 0:60c4436f7667 | 3 | |
askksa12543 | 0:60c4436f7667 | 4 | #ifndef DATACOMM_H |
askksa12543 | 0:60c4436f7667 | 5 | #define DATACOMM_H |
askksa12543 | 0:60c4436f7667 | 6 | |
askksa12543 | 0:60c4436f7667 | 7 | #define PREAMBLE 0x7E |
askksa12543 | 0:60c4436f7667 | 8 | |
askksa12543 | 0:60c4436f7667 | 9 | #include "mbed.h" |
askksa12543 | 0:60c4436f7667 | 10 | #include "platform.h" |
askksa12543 | 0:60c4436f7667 | 11 | #include "gpio_api.h" |
askksa12543 | 0:60c4436f7667 | 12 | |
askksa12543 | 0:60c4436f7667 | 13 | class DataComm { |
askksa12543 | 0:60c4436f7667 | 14 | |
askksa12543 | 0:60c4436f7667 | 15 | public: |
askksa12543 | 0:60c4436f7667 | 16 | void setClockOut(PinName pin); |
askksa12543 | 0:60c4436f7667 | 17 | void setClockIn(PinName pin); |
askksa12543 | 0:60c4436f7667 | 18 | void setSerialOut(PinName pin); |
askksa12543 | 0:60c4436f7667 | 19 | void setSerialIn(PinName pin); |
askksa12543 | 0:60c4436f7667 | 20 | void listen(); |
askksa12543 | 0:60c4436f7667 | 21 | void setClock(int clock); |
askksa12543 | 0:60c4436f7667 | 22 | void initiate_connection(); |
askksa12543 | 0:60c4436f7667 | 23 | void setDataSize(int size); |
askksa12543 | 0:60c4436f7667 | 24 | void send_data(char data[]); |
askksa12543 | 0:60c4436f7667 | 25 | char* receive_data(); |
askksa12543 | 0:60c4436f7667 | 26 | |
askksa12543 | 0:60c4436f7667 | 27 | |
askksa12543 | 0:60c4436f7667 | 28 | |
askksa12543 | 0:60c4436f7667 | 29 | protected: |
askksa12543 | 0:60c4436f7667 | 30 | gpio_t clock_out; |
askksa12543 | 0:60c4436f7667 | 31 | gpio_t clock_in; |
askksa12543 | 0:60c4436f7667 | 32 | gpio_t serial_out; |
askksa12543 | 0:60c4436f7667 | 33 | gpio_t serial_in; |
askksa12543 | 0:60c4436f7667 | 34 | int clock_time; |
askksa12543 | 0:60c4436f7667 | 35 | int skew_time; |
askksa12543 | 0:60c4436f7667 | 36 | int data_size; |
askksa12543 | 0:60c4436f7667 | 37 | Timer t; |
askksa12543 | 0:60c4436f7667 | 38 | }; |
askksa12543 | 0:60c4436f7667 | 39 | |
askksa12543 | 0:60c4436f7667 | 40 | #endif |