From afe914167158db5fc451dd0dd81906f82871db2a Mon Sep 17 00:00:00 2001 From: Neil McKechnie Date: Sun, 29 Aug 2021 12:14:23 +0100 Subject: [PATCH] RMFT SIGNAL macro to allow for RGB LEDs. The SIGNAL macro has been changed to allow for use of RGB LEDs. Connect R and G pins, and assign as SIGNAL(redpin,0,greenpin). Then if amber is requested, the macro will set red and green on at the same time. --- RMFT2.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RMFT2.cpp b/RMFT2.cpp index 526c194..0d7d133 100644 --- a/RMFT2.cpp +++ b/RMFT2.cpp @@ -678,9 +678,10 @@ void RMFT2::kill(const FSH * reason, int operand) { if (redpin!=id)continue; byte amberpin=GET_OPERAND(2); byte greenpin=GET_OPERAND(3); - IODevice::write(redpin,red); + // If amberpin is zero, synthesise amber from red+green + IODevice::write(redpin,red || (amber && (amberpin==0))); if (amberpin) IODevice::write(amberpin,amber); - if (greenpin) IODevice::write(amberpin,green); + if (greenpin) IODevice::write(amberpin,green || (amber && (amberpin==0))); return; } }