Utility to manage ASCII communications. Register a header and event and then pass messages into the class and events are generated on a match
Information
Dependencies not included with library:
Example
#include "mbed.h"
#include "CommHandler.h"
DigitalOut myled(LED1);
CommHandler msgs;
char *one(char* msg)
{
// you can parse msg here
LOG("\n");
return msg;
}
class Wrap
{
public:
Wrap(){}
char *two(char *msg)
{
// you can parse msg here
LOG("\n");
return msg;
}
}obj;
char *three(char* msg)
{
// you can parse msg here
LOG("\n");
return msg;
}
int main()
{
char *tmp = 0;
msgs.attachMsg("One", &one);
msgs.attachMsg("Two", &obj, &Wrap::two);
msgs.attachMsg("Three", &three);
tmp = msgs.messageLookup(0);
printf("0:%s\n", tmp);
tmp = msgs.messageLookup(1);
printf("1:%s\n", tmp);
tmp = msgs.messageLookup(2);
printf("2:%s\n", tmp);
tmp = msgs.messageLookup(3);
printf("3:%s\n", tmp);
tmp = msgs.messageLookup(4);
printf("4:%s\n", tmp);
tmp = msgs.serviceMessage("Two-00-66-99-20133");
printf("1: Found: %s\n", tmp);
tmp = msgs.serviceMessage("One-99-60-1-339788354");
printf("2: Found: %s\n", tmp);
tmp = msgs.serviceMessage("Three-xx-xx-XX-XXXXXXX");
printf("3: Found: %s\n", tmp);
error("End of Test\n");
}
Sam Grove