/**\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;
}