Add rounding to proper display dshot values
This commit is contained in:
parent
18ee33e7a8
commit
7ee0736516
|
@ -1089,7 +1089,7 @@ static void loadMainState(timeUs_t currentTimeUs)
|
|||
|
||||
const int motorCount = getMotorCount();
|
||||
for (int i = 0; i < motorCount; i++) {
|
||||
blackboxCurrent->motor[i] = motor[i];
|
||||
blackboxCurrent->motor[i] = lrintf(motor[i]);
|
||||
}
|
||||
|
||||
blackboxCurrent->vbatLatest = getBatteryVoltageLatest();
|
||||
|
|
|
@ -86,7 +86,7 @@ float dshotConvertFromExternal(uint16_t externalValue)
|
|||
|
||||
uint16_t dshotConvertToExternal(float motorValue)
|
||||
{
|
||||
uint16_t externalValue;
|
||||
float externalValue;
|
||||
|
||||
if (featureIsEnabled(FEATURE_3D)) {
|
||||
if (motorValue == DSHOT_CMD_MOTOR_STOP || motorValue < DSHOT_MIN_THROTTLE) {
|
||||
|
@ -100,7 +100,7 @@ uint16_t dshotConvertToExternal(float motorValue)
|
|||
externalValue = (motorValue < DSHOT_MIN_THROTTLE) ? PWM_RANGE_MIN : scaleRangef(motorValue, DSHOT_MIN_THROTTLE, DSHOT_MAX_THROTTLE, PWM_RANGE_MIN + 1, PWM_RANGE_MAX);
|
||||
}
|
||||
|
||||
return externalValue;
|
||||
return lrintf(externalValue);
|
||||
}
|
||||
|
||||
FAST_CODE uint16_t prepareDshotPacket(dshotProtocolControl_t *pcb)
|
||||
|
|
|
@ -585,7 +585,7 @@ static void bbWriteInt(uint8_t motorIndex, uint16_t value)
|
|||
|
||||
static void bbWrite(uint8_t motorIndex, float value)
|
||||
{
|
||||
bbWriteInt(motorIndex, value);
|
||||
bbWriteInt(motorIndex, lrintf(value));
|
||||
}
|
||||
|
||||
static void bbUpdateComplete(void)
|
||||
|
|
Loading…
Reference in New Issue