futher tests

This commit is contained in:
Tester23 2025-10-10 17:56:59 +02:00
parent 22f3571be2
commit 1ca376e9c0
3 changed files with 70 additions and 13 deletions

View File

@ -394,6 +394,23 @@ int EventHandlers_FireEvent2(byte eventCode, int argument, int argument2) {
}
return ret;
}
// for simulator only
const char *EventHandlers_GetHandlerCommand2(byte eventCode, int argument, int argument2) {
struct eventHandler_s *ev;
ev = g_eventHandlers;
while (ev) {
if (eventCode == ev->eventCode) {
if (argument == ev->requiredArgument && argument2 == ev->requiredArgument2) {
return ev->command;
}
}
ev = ev->next;
}
return NULL;
}
void EventHandlers_FireEvent(byte eventCode, int argument) {

View File

@ -234,6 +234,7 @@ void EventHandlers_FireEvent_String(byte eventCode, const char* argument);
// Then eventCode is a BUTTON_PRESS and argument is a button index.
void EventHandlers_FireEvent(byte eventCode, int argument);
int EventHandlers_FireEvent2(byte eventCode, int argument, int argument2);
const char *EventHandlers_GetHandlerCommand2(byte eventCode, int argument, int argument2);
void EventHandlers_FireEvent3(byte eventCode, int argument, int argument2, int argument3);
// This is more advanced event handler. It will only fire handlers when a variable state changes from one to another.
// For example, you can watch for Voltage from BL0942 to change below 230, and it will fire event only when it becomes below 230.

View File

@ -42,21 +42,60 @@ void Test_Commands_Startup() {
CFG_SetShortStartupCommand(loremIpsum3);
CMD_ExecuteCommand(CFG_GetShortStartupCommand(), 0);
SIM_ShutdownOBK();
const char *t = "startDriver IR\n"
"setFlag 1 1\n"
"addEventHandler2 IR_NEC 0xC7EA 0x17 backlog IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8\n"
"addEventHandler2 IR_NEC 0xC7EA 0xF backlog IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C\n"
"addEventHandler2 IR_NEC 0xC7EA 0x10 backlog IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C\n";
{
SIM_ShutdownOBK();
const char *t = "startDriver IR\n"
"setFlag 1 1\n"
"addEventHandler2 IR_NEC 0xC7EA 0x17 backlog IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8\n"
"addEventHandler2 IR_NEC 0xC7EA 0xF backlog IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C\n"
"addEventHandler2 IR_NEC 0xC7EA 0x10 backlog IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C\n";
CFG_SetShortStartupCommand(t);
CFG_Save_IfThereArePendingChanges();
// NOTE: THIS WILL RUN STARTUP COMMAND!!!!
SIM_StartOBK(0);
printf("TEST 0x17: %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0x17));
printf("TEST 0xF %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0xF));
printf("TEST 0x10 %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0x10));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x17));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0xF));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x10));
}
{
SIM_ShutdownOBK();
const char *t = "startDriver IR\n"
"setFlag 1 1\n"
"addEventHandler2 IR_NEC 0xC7EA 0x17 backlog IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8; IRSend NEC 0x0 0xA8\n"
"addEventHandler2 IR_NEC 0xC7EA 0xF backlog IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C; IRSend NEC 0x0 0x8C\n"
"addEventHandler2 IR_NEC 0xC7EA 0x10 backlog IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C; IRSend NEC 0x0 0x9C\n"
"addEventHandler2 IR_NEC 0xC7EA 0x11 backlog IRSend NEC 0x0 0x9D; IRSend NEC 0x0 0x9D; IRSend NEC 0x0 0x9D; IRSend NEC 0x0 0x9D\n";
CFG_SetShortStartupCommand(t);
CFG_Save_IfThereArePendingChanges();
// NOTE: THIS WILL RUN STARTUP COMMAND!!!!
SIM_StartOBK(0);
printf("TEST 0x17: %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0x17));
printf("TEST 0xF %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0xF));
printf("TEST 0x10 %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0x10));
printf("TEST 0x11 %s\n",
EventHandlers_GetHandlerCommand2(CMD_EVENT_IR_NEC, 0xC7EA, 0x11));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x17));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0xF));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x10));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x11));
}
CFG_SetShortStartupCommand(t);
CFG_Save_IfThereArePendingChanges();
// NOTE: THIS WILL RUN STARTUP COMMAND!!!!
SIM_StartOBK(0);
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x17));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0xF));
SELFTEST_ASSERT(1 == EventHandlers_FireEvent2(CMD_EVENT_IR_NEC, 0xC7EA, 0x10));
}