/**\brief * Return the internal index of an event using 4 bytes as parameters. * The first 2 bytes are supposed to be the node number and the last 2 the event number * @return event index starting on 0. */ unsigned int MergMemoryManagement::getEventIndex(byte ev1,byte ev2,byte ev3,byte ev4){ unsigned int n=EVENTS_MEMPOS; for (int i=0;i<numEvents;i++){ if (ev1==EEPROM.read(n) && ev2==EEPROM.read(n+1) && ev3==EEPROM.read(n+2) && ev4==EEPROM.read(n+3)){ return i; } n=incEventPos(n); } return MAX_NUM_EVENTS+1; }
/**\brief * Return the internal index of an event using 4 bytes as parameters. * The first 2 bytes are supposed to be the node number and the last 2 the event number * @return event index starting on 0. */ uint8_t MergMemoryManagement::getEventIndex(byte ev1,byte ev2,byte ev3,byte ev4){ unsigned int n = EVENTS_MEMPOS; for (uint8_t i = 0; i < numEvents; i++){ if (ev1 != 0 || ev2 != 0){ if (ev1 == EEPROM.read(n) && ev2 == EEPROM.read(n+1) && ev3 == EEPROM.read(n+2) && ev4 == EEPROM.read(n+3)){ return i; } } //check for short events else{ if (ev3 == EEPROM.read(n+2) && ev4 == EEPROM.read(n+3)){ return i; } } n = incEventPos(n); } return MAX_NUM_EVENTS + 1; }