diff --git a/src/main/fc/fc_msp.c b/src/main/fc/fc_msp.c index c05a9a503c..17cad3dc8a 100644 --- a/src/main/fc/fc_msp.c +++ b/src/main/fc/fc_msp.c @@ -1053,15 +1053,15 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF const ledConfig_t *ledConfig = &ledStripConfig()->ledConfigs[i]; uint32_t legacyLedConfig = ledConfig->led_position; - int shiftCount = LED_POS_BITCNT; + int shiftCount = 8; legacyLedConfig |= ledConfig->led_function << shiftCount; - shiftCount += LED_FUNCTION_BITCNT; + shiftCount += 4; legacyLedConfig |= (ledConfig->led_overlay & 0x3F) << (shiftCount); - shiftCount += LED_OVERLAY_BITCNT - 1; + shiftCount += 6; legacyLedConfig |= (ledConfig->led_color) << (shiftCount); - shiftCount += LED_COLOR_BITCNT; + shiftCount += 4; legacyLedConfig |= (ledConfig->led_direction) << (shiftCount); - shiftCount += LED_DIRECTION_BITCNT; + shiftCount += 6; legacyLedConfig |= (ledConfig->led_params) << (shiftCount); sbufWriteU32(dst, legacyLedConfig); diff --git a/src/main/io/ledstrip.h b/src/main/io/ledstrip.h index 1385635d82..e80a28be10 100644 --- a/src/main/io/ledstrip.h +++ b/src/main/io/ledstrip.h @@ -29,14 +29,14 @@ #define LED_SPECIAL_COLOR_COUNT 9 #define LED_FUNCTION_OFFSET 8 -#define LED_OVERLAY_OFFSET 12 +#define LED_OVERLAY_OFFSET 16 #define LED_POS_BITCNT 8 -#define LED_FUNCTION_BITCNT 4 -#define LED_OVERLAY_BITCNT 7 +#define LED_FUNCTION_BITCNT 8 +#define LED_OVERLAY_BITCNT 8 #define LED_COLOR_BITCNT 4 #define LED_DIRECTION_BITCNT 6 -#define LED_PARAMS_BITCNT 4 +#define LED_PARAMS_BITCNT 6 #define LED_FLAG_OVERLAY_MASK ((1 << LED_OVERLAY_BITCNT) - 1)