Bump MSP api version. Ensure the the number of LEDs in the
MSP_SET_LED_STRIP_CONFIG packet is validated.
This commit is contained in:
parent
9729c59cb0
commit
ce49dcee31
|
@ -121,7 +121,7 @@ void useRcControlsConfig(modeActivationCondition_t *modeActivationConditions, es
|
||||||
#define MSP_PROTOCOL_VERSION 0
|
#define MSP_PROTOCOL_VERSION 0
|
||||||
|
|
||||||
#define API_VERSION_MAJOR 1 // increment when major changes are made
|
#define API_VERSION_MAJOR 1 // increment when major changes are made
|
||||||
#define API_VERSION_MINOR 1 // increment when any change is made, reset to zero when major changes are released after changing API_VERSION_MAJOR
|
#define API_VERSION_MINOR 2 // increment when any change is made, reset to zero when major changes are released after changing API_VERSION_MAJOR
|
||||||
|
|
||||||
#define API_VERSION_LENGTH 2
|
#define API_VERSION_LENGTH 2
|
||||||
|
|
||||||
|
@ -1441,22 +1441,29 @@ static bool processInCommand(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_SET_LED_STRIP_CONFIG:
|
case MSP_SET_LED_STRIP_CONFIG:
|
||||||
for (i = 0; i < MAX_LED_STRIP_LENGTH; i++) {
|
{
|
||||||
ledConfig_t *ledConfig = &masterConfig.ledConfigs[i];
|
uint8_t ledCount = currentPort->dataSize / 6;
|
||||||
uint16_t mask;
|
if (ledCount != MAX_LED_STRIP_LENGTH) {
|
||||||
// currently we're storing directions and functions in a uint16 (flags)
|
headSerialError(0);
|
||||||
// the msp uses 2 x uint16_t to cater for future expansion
|
break;
|
||||||
mask = read16();
|
}
|
||||||
ledConfig->flags = (mask << LED_DIRECTION_BIT_OFFSET) & LED_DIRECTION_MASK;
|
for (i = 0; i < MAX_LED_STRIP_LENGTH; i++) {
|
||||||
|
ledConfig_t *ledConfig = &masterConfig.ledConfigs[i];
|
||||||
|
uint16_t mask;
|
||||||
|
// currently we're storing directions and functions in a uint16 (flags)
|
||||||
|
// the msp uses 2 x uint16_t to cater for future expansion
|
||||||
|
mask = read16();
|
||||||
|
ledConfig->flags = (mask << LED_DIRECTION_BIT_OFFSET) & LED_DIRECTION_MASK;
|
||||||
|
|
||||||
mask = read16();
|
mask = read16();
|
||||||
ledConfig->flags |= (mask << LED_FUNCTION_BIT_OFFSET) & LED_FUNCTION_MASK;
|
ledConfig->flags |= (mask << LED_FUNCTION_BIT_OFFSET) & LED_FUNCTION_MASK;
|
||||||
|
|
||||||
mask = read8();
|
mask = read8();
|
||||||
ledConfig->xy = CALCULATE_LED_X(mask);
|
ledConfig->xy = CALCULATE_LED_X(mask);
|
||||||
|
|
||||||
mask = read8();
|
mask = read8();
|
||||||
ledConfig->xy |= CALCULATE_LED_Y(mask);
|
ledConfig->xy |= CALCULATE_LED_Y(mask);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue