diff --git a/src/main/config/config.c b/src/main/config/config.c index 6d8e5563d5..95e49dfe60 100644 --- a/src/main/config/config.c +++ b/src/main/config/config.c @@ -60,6 +60,8 @@ #include "io/serial.h" #include "io/vtx.h" +#include "msp/msp_box.h" + #include "osd/osd.h" #include "pg/adc.h" @@ -181,6 +183,8 @@ static void activateConfig(void) #if defined(USE_LED_STRIP_STATUS_MODE) reevaluateLedConfig(); #endif + + initActiveBoxIds(); } static void adjustFilterLimit(uint16_t *parm, uint16_t resetValue) diff --git a/src/main/msp/msp.c b/src/main/msp/msp.c index 9720c9c067..afe7c44c7c 100644 --- a/src/main/msp/msp.c +++ b/src/main/msp/msp.c @@ -3596,5 +3596,4 @@ void mspFcProcessReply(mspPacket_t *reply) void mspInit(void) { - initActiveBoxIds(); } diff --git a/src/main/msp/msp_box.c b/src/main/msp/msp_box.c index 12ac9f048e..f58c64ef34 100644 --- a/src/main/msp/msp_box.c +++ b/src/main/msp/msp_box.c @@ -125,8 +125,10 @@ const box_t *findBoxByPermanentId(uint8_t permanentId) static bool activeBoxIdGet(boxId_e boxId) { - if (boxId > sizeof(activeBoxIds) * 8) + if (boxId > sizeof(activeBoxIds) * 8) { return false; + } + return bitArrayGet(&activeBoxIds, boxId); }