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/

Dependencies:   mbed

Committer:
janwesterkamp
Date:
Wed May 02 06:01:00 2012 +0000
Revision:
0:566fc5f530fe

        

Who changed what in which revision?

UserRevisionLine numberNew 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