57,6 → 57,42 |
} |
} |
|
// min = 10 max = 12, speed = 11 shold make 50/50 cycle. |
void updateAirspeedIndicatorLEDs(void) { |
static uint8_t flashPrescaler = 0; |
static uint8_t flashCnt = 0; |
|
flashPrescaler++; |
if (flashPrescaler == 10) { |
flashPrescaler = 0; |
|
if (airspeedVelocity <= staticParams.minFlashAirspeed) { |
debugOut.digital[0] &= ~DEBUG_AIRSPEED; |
debugOut.digital[1] &= ~DEBUG_AIRSPEED; |
return; |
} |
if (airspeedVelocity >= staticParams.maxFlashAirspeed) { |
debugOut.digital[0] |= DEBUG_AIRSPEED; |
debugOut.digital[1] |= DEBUG_AIRSPEED; |
return; |
} |
|
uint8_t span = staticParams.maxFlashAirspeed - staticParams.minFlashAirspeed; // is 2 |
uint8_t speed = airspeedVelocity - staticParams.minFlashAirspeed; // is 1 |
|
if (flashCnt > speed) { |
debugOut.digital[0] &= ~DEBUG_AIRSPEED; |
debugOut.digital[1] &= ~DEBUG_AIRSPEED; |
} else { |
debugOut.digital[0] |= DEBUG_AIRSPEED; |
debugOut.digital[1] |= DEBUG_AIRSPEED; |
} |
|
flashCnt++; |
if (flashCnt >= span) flashCnt = 0; |
} |
} |
|
// Normal at airspeed = 10. |
uint8_t calcAirspeedPID(uint8_t pid) { |
if (!(staticParams.bitConfig & CFG_USE_AIRSPEED_PID)) { |