I did something similiar using T11 (my idea is in bold font):
void loop()
{
EXECUTEFAST() {
UPDATEFAST();
FAST_50ms() {
LowDigIn(GATE_SWITCH, Souliss_T1n_ToggleCmd, GATE_LOGIC);
if (Souliss_T1n_OnCmd == memory_map[MaCaco_IN_s + GATE_LOGIC] || Souliss_T1n_ToggleCmd == memory_map[MaCaco_IN_s + GATE_LOGIC]) {
memory_map[MaCaco_IN_s + GATE_LOGIC] = Souliss_T1n_Timed + GARAGE_SW_TIME;
}
Logic_SimpleLight(GATE_LOGIC);
DigOut(GATE_RELAY, Souliss_T1n_Coil, GATE_LOGIC);
DigOut(LED_BUILTIN, Souliss_T1n_Coil, GATE_LOGIC);
}
FAST_GatewayComms();
FAST_1110ms() {
Timer_SimpleLight(GATE_LOGIC);
}
}
}