28#include "../helpers/Panel.h"
36const int ECM_LED_COUNT = 79;
37const Led ecmLedTable[ECM_LED_COUNT] PROGMEM = {
39 {0, LED_INSTR_BL}, {1, LED_INSTR_BL}, {2, LED_INSTR_BL}, {3, LED_INSTR_BL}, {4, LED_INSTR_BL},
40 {5, LED_INSTR_BL}, {6, LED_INSTR_BL}, {7, LED_INSTR_BL}, {8, LED_INSTR_BL}, {9, LED_INSTR_BL},
41 {10, LED_INSTR_BL}, {11, LED_INSTR_BL}, {12, LED_INSTR_BL}, {13, LED_INSTR_BL}, {14, LED_INSTR_BL},
42 {15, LED_INSTR_BL}, {16, LED_INSTR_BL}, {17, LED_INSTR_BL}, {18, LED_INSTR_BL}, {19, LED_INSTR_BL},
43 {20, LED_INSTR_BL}, {21, LED_INSTR_BL}, {22, LED_INSTR_BL}, {23, LED_INSTR_BL}, {24, LED_INSTR_BL},
44 {25, LED_INSTR_BL}, {26, LED_INSTR_BL}, {27, LED_INSTR_BL}, {28, LED_INSTR_BL}, {29, LED_INSTR_BL},
45 {30, LED_INSTR_BL}, {31, LED_INSTR_BL}, {32, LED_INSTR_BL}, {33, LED_INSTR_BL}, {34, LED_INSTR_BL},
46 {35, LED_INSTR_BL}, {36, LED_INSTR_BL}, {37, LED_INSTR_BL}, {38, LED_INSTR_BL}, {39, LED_INSTR_BL},
47 {40, LED_INSTR_BL}, {41, LED_INSTR_BL}, {42, LED_INSTR_BL}, {43, LED_INSTR_BL}, {44, LED_INSTR_BL},
48 {45, LED_INSTR_BL}, {46, LED_INSTR_BL}, {47, LED_INSTR_BL}, {48, LED_INSTR_BL}, {49, LED_INSTR_BL},
49 {50, LED_INSTR_BL}, {51, LED_INSTR_BL}, {52, LED_INSTR_BL}, {53, LED_INSTR_BL}, {54, LED_INSTR_BL},
50 {55, LED_INSTR_BL}, {56, LED_INSTR_BL}, {57, LED_INSTR_BL}, {58, LED_INSTR_BL}, {59, LED_INSTR_BL},
51 {60, LED_INSTR_BL}, {61, LED_INSTR_BL}, {62, LED_INSTR_BL}, {63, LED_INSTR_BL}, {64, LED_INSTR_BL},
52 {65, LED_INSTR_BL}, {66, LED_INSTR_BL}, {67, LED_INSTR_BL}, {68, LED_INSTR_BL}, {69, LED_INSTR_BL},
53 {70, LED_INSTR_BL}, {71, LED_INSTR_BL}, {72, LED_INSTR_BL}, {73, LED_INSTR_BL},
55 {74, LED_ECM_JETT_SEL}, {75, LED_ECM_JETT_SEL}, {76, LED_ECM_JETT_SEL}, {77, LED_ECM_JETT_SEL}
79 instance =
new EcmPanel(startIndex, ledStrip);
91 EcmPanel(
int startIndex, CRGB* ledStrip) {
92 panelStartIndex = startIndex;
93 this->ledStrip = ledStrip;
94 ledCount = ECM_LED_COUNT;
95 ledTable = ecmLedTable;
100 static void onCmsdJetSelLChange(
unsigned int newValue) {
101 if (instance) instance->
setIndicatorColor(LED_ECM_JETT_SEL, newValue ? NVIS_YELLOW : NVIS_BLACK);
103 DcsBios::IntegerBuffer cmsdJetSelLBuffer{FA_18C_hornet_CMSD_JET_SEL_L, onCmsdJetSelLChange};
110EcmPanel* EcmPanel::instance =
nullptr;
static EcmPanel * getInstance(int startIndex=0, CRGB *ledStrip=nullptr)
Gets the singleton instance of the EcmPanel class.
void setIndicatorColor(LedRole role, const CRGB &color)
Sets the color of LEDs with a specific role.