Just a small test for frames and serial (RS232) communication, with ideas from http://eli.thegreenplace.net/2009/08/20/frames-and-protocols-for-the-serial-port-in-python/
parser.h@0:566fc5f530fe, 2012-05-02 (annotated)
- Committer:
- janwesterkamp
- Date:
- Wed May 02 06:01:00 2012 +0000
- Revision:
- 0:566fc5f530fe
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
janwesterkamp | 0:566fc5f530fe | 1 | /* |
janwesterkamp | 0:566fc5f530fe | 2 | * |
janwesterkamp | 0:566fc5f530fe | 3 | */ |
janwesterkamp | 0:566fc5f530fe | 4 | |
janwesterkamp | 0:566fc5f530fe | 5 | #ifndef _PARSER_H_ |
janwesterkamp | 0:566fc5f530fe | 6 | #define _PARSER_H_ |
janwesterkamp | 0:566fc5f530fe | 7 | |
janwesterkamp | 0:566fc5f530fe | 8 | #include "string" |
janwesterkamp | 0:566fc5f530fe | 9 | #include "list" |
janwesterkamp | 0:566fc5f530fe | 10 | |
janwesterkamp | 0:566fc5f530fe | 11 | #define WRAP_SEND 1 |
janwesterkamp | 0:566fc5f530fe | 12 | #define WRAP_ABORT 2 |
janwesterkamp | 0:566fc5f530fe | 13 | #define WRAP_FINISHED 3 |
janwesterkamp | 0:566fc5f530fe | 14 | |
janwesterkamp | 0:566fc5f530fe | 15 | #define HEADER_CHAR 'A' |
janwesterkamp | 0:566fc5f530fe | 16 | #define FOOTER_CHAR 'B' |
janwesterkamp | 0:566fc5f530fe | 17 | #define DLE_CHAR '+' |
janwesterkamp | 0:566fc5f530fe | 18 | |
janwesterkamp | 0:566fc5f530fe | 19 | void unwrap_protocol(char *, string *buffer, list<string> *messages, |
janwesterkamp | 0:566fc5f530fe | 20 | unsigned int max_message_size = 255, unsigned int max_message = 5, |
janwesterkamp | 0:566fc5f530fe | 21 | char header=HEADER_CHAR, char footer=FOOTER_CHAR, char dle=DLE_CHAR); |
janwesterkamp | 0:566fc5f530fe | 22 | |
janwesterkamp | 0:566fc5f530fe | 23 | |
janwesterkamp | 0:566fc5f530fe | 24 | int wrap_protocol(char *c, string *buffer, list<string> *messages, |
janwesterkamp | 0:566fc5f530fe | 25 | char header=HEADER_CHAR, char footer=FOOTER_CHAR, char dle=DLE_CHAR); |
janwesterkamp | 0:566fc5f530fe | 26 | |
janwesterkamp | 0:566fc5f530fe | 27 | |
janwesterkamp | 0:566fc5f530fe | 28 | // these have to be declared somewhere else for consistency |
janwesterkamp | 0:566fc5f530fe | 29 | extern DigitalOut message_led; |
janwesterkamp | 0:566fc5f530fe | 30 | |
janwesterkamp | 0:566fc5f530fe | 31 | |
janwesterkamp | 0:566fc5f530fe | 32 | #endif |