Du musst eine Button Funktion anpassen.
z.B.
void ButtonMode_serial()
{
if(Serial.available())
{
if(CTR_timer(g_button_press_time, _BUTTON_press_time))
{
switch(Serial.read())
{
case 'e':
ButtonMode_help_enter();
break;
case 'w':
ButtonMode_help_up();
break;
case 's':
ButtonMode_help_down();
break;
case 'a':
ButtonMode_help_left();
break;
case 'd':
ButtonMode_help_right();
break;
case 'q':
ButtonMode_help_quit();
break;
default:
break;
}
}
}
}
// oder die
void ButtonMode_analog()
{
....
}
// falls du if abfragen benötigst
Zum einlesen des IR Signales benötigst du eine globale Variable die das Signal beinhaltet. Später dann einfach
//pseudocode (der ist so nicht lauffähig)
void ButtonMode_ir()
{
if(g_ir_signal != NULL)
{
if(CTR_timer(g_button_press_time, _BUTTON_press_time))
{
if(g_ir_signal == "0011110100100101")
{
ButtonMode_help_enter();
}
//......
// mit den anderen Buttons genauso
}
}
}