/* * */ #include "EventSerial.h" //#include EventSerial::EventSerial(String eventString, eventFunction function) : m_EventString(eventString), m_Function(function), m_Manager(NULL), m_EventLength(eventString.length()), m_State(0) { } void EventSerial::setManager(EventSerialManager *manager) { m_Manager = manager; } void EventSerial::attachEventToEventList(EventSerial *headEventList) { m_NextEvent = headEventList; } String EventSerial::printEvent() { String result; result = m_EventString + " - " + String(m_EventLength); return result; } EventSerial *EventSerial::getNextEvent() { return m_NextEvent; } void EventSerial::execute(Buffer theBuffer) { byte argCount; char *args; bool commandFound = false; char command[COMMAND_BUFFER_SIZE]; int positionOfCommand; String str; int i; // Serial.println("EventSerial::execute"); // str = "Arg: " + String(argCount) + " : "; // str += commandString; // str += " - "; // for (i=0; i 0) && !somethingToParse) { c = m_SerialLink.read(); if (c == 0xD) { somethingToParse = true; } else if (c >= 0x20 && c <= 0x7D) { m_Buffer.addChar(c); } Serial.print(c); nbchar--; } if (somethingToParse) { event = m_EventList; while (event) { event->execute(m_Buffer); event = event->getNextEvent(); } event = m_EventList; m_Buffer.reset(); } }