Accensione LED da telecomando con stesso pulsante

Ragazzi, sono all’inizio e già qualche cosa sno riuscito a afre. Ora sto provando a pilotare l’accensione di un LED da un telecomando IR accendendo e spegnendo il led sempre premendo lo stesso pulsante, ma non mi funziona…sotto il codice… perchè??? Eppure con con la classica accensione da un pulsante e spegnimento da un altro funziona normalmente!!

#include <IRremote.h> // use the library
int receiver = 11; // pin 11 of IR receiver to Arduino digital pin 11
int DRL = 9; // pin 9 come uscita
int itsONled[] = {0, 0}; inserisco array
#define code1 0xFF30CF // code received from button 1
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;

void setup()
{
  Serial.begin(9600); // for serial monitor output
  irrecv.enableIRIn(); // Start the receiver
  pinMode(9, OUTPUT); // Pin 9 output
}
void loop() {
  if (irrecv.decode(&results)) {
    {
      Serial.println(results.value, HEX); // mostrami il codice in esadecimale sul monitor seriale
      irrecv.resume();// receive the next value
    }
    unsigned int value = results.value;
    switch (value) {
      case code1:
        if (itsONled[1] == 1) {       // se il primo led è acceso
          digitalWrite(DRL, LOW);   // spengo quando premo il pulsante
          itsONled[1] = 0;           // e lo stato va a spento
        } else {                      // se il primo led è spento
          digitalWrite(DRL, HIGH); // accendo quando premo il pulsante
          itsONled[1] = 1;          // e lo stato passa ad acceso
        }
        break;
    }
  }
}

Grazie

Prova così, ovvero la resume come ultima cosa:

void loop() 
{
  if (irrecv.decode(&results)) 
  { Serial.println(results.value, HEX); // mostrami il codice in esadecimale sul monitor seriale   
    switch (results.value) 
    { case code1:
        if (itsONled[1] == 1) {       // se il primo led è acceso
          digitalWrite(DRL, LOW);   // spengo quando premo il pulsante
          itsONled[1] = 0;           // e lo stato va a spento
        } else {                      // se il primo led è spento
          digitalWrite(DRL, HIGH); // accendo quando premo il pulsante
          itsONled[1] = 1;          // e lo stato passa ad acceso
        }
        break;
    }  // switch
    irrecv.resume();// receive the next value
  }  // if
}  // loop