mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-25 01:05:27 +03:00
Motor output reordering for CLI and MSP
Fixed some code formatting +fixReorderingArray() for EEPROM load/save and renamings fix brace new line moving MOTOR_OUTPUT_REORDERING to MSP2 betaflight specific validateAndfixConfig now resets reordering motor array to default in case it is invalid
This commit is contained in:
parent
1d78f97846
commit
464919c416
17 changed files with 185 additions and 21 deletions
|
@ -164,3 +164,39 @@ void updateDshotTelemetryQuality(dshotTelemetryQuality_t *qualityStats, bool pac
|
|||
#endif // USE_DSHOT_TELEMETRY_STATS
|
||||
|
||||
#endif // USE_DSHOT
|
||||
|
||||
// temporarly here, needs to be moved during refactoring
|
||||
void validateAndfixMotorOutputReordering(uint8_t *array, const unsigned size)
|
||||
{
|
||||
bool invalid = false;
|
||||
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
if (array[i] >= size) {
|
||||
invalid = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
int valuesAsIndexes[size];
|
||||
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
valuesAsIndexes[i] = -1;
|
||||
}
|
||||
|
||||
if (!invalid) {
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
if (-1 != valuesAsIndexes[array[i]]) {
|
||||
invalid = true;
|
||||
break;
|
||||
}
|
||||
|
||||
valuesAsIndexes[array[i]] = array[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (invalid) {
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
array[i] = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue