From f1e9c9f19a280804d106f336b8a375d71212e18f Mon Sep 17 00:00:00 2001 From: Thorsten Laux Date: Thu, 2 May 2019 14:05:38 +0200 Subject: [PATCH] invert csum in telemetry --- src/main/drivers/pwm_output_dshot_shared.c | 4 ++-- src/main/fc/core.c | 8 -------- src/main/fc/init.c | 21 --------------------- 3 files changed, 2 insertions(+), 31 deletions(-) diff --git a/src/main/drivers/pwm_output_dshot_shared.c b/src/main/drivers/pwm_output_dshot_shared.c index 4510767bb4..56fd092b34 100644 --- a/src/main/drivers/pwm_output_dshot_shared.c +++ b/src/main/drivers/pwm_output_dshot_shared.c @@ -150,7 +150,7 @@ static uint16_t decodeDshotPacket(uint32_t buffer[]) csum = csum ^ (csum >> 8); // xor bytes csum = csum ^ (csum >> 4); // xor nibbles - if ((csum & 0xf) != 0) { + if ((csum & 0xf) != 0xf) { return 0xffff; } return value >> 4; @@ -176,7 +176,7 @@ static uint16_t decodeProshotPacket(uint32_t buffer[]) csum = csum ^ (csum >> 8); // xor bytes csum = csum ^ (csum >> 4); // xor nibbles - if ((csum & 0xf) != 0) { + if ((csum & 0xf) != 0xf) { return 0xffff; } return value >> 4; diff --git a/src/main/fc/core.c b/src/main/fc/core.c index 3ffb428e45..728c77cf84 100644 --- a/src/main/fc/core.c +++ b/src/main/fc/core.c @@ -414,14 +414,6 @@ void tryArm(void) return; } -#ifdef USE_DSHOT_TELEMETRY - if (isMotorProtocolDshot()) { - pwmWriteDshotCommand( - 255, getMotorCount(), motorConfig()->dev.useDshotTelemetry ? - DSHOT_CMD_SIGNAL_LINE_CONTINUOUS_ERPM_TELEMETRY : DSHOT_CMD_SIGNAL_LINE_TELEMETRY_DISABLE, false); - } -#endif - if (isMotorProtocolDshot() && isModeActivationConditionPresent(BOXFLIPOVERAFTERCRASH)) { if (!(IS_RC_MODE_ACTIVE(BOXFLIPOVERAFTERCRASH) || (tryingToArm == ARMING_DELAYED_CRASHFLIP))) { flipOverAfterCrashActive = false; diff --git a/src/main/fc/init.c b/src/main/fc/init.c index 8ecd6014fa..f5936e92c7 100644 --- a/src/main/fc/init.c +++ b/src/main/fc/init.c @@ -209,20 +209,6 @@ static IO_t busSwitchResetPin = IO_NONE; } #endif -#ifdef USE_DSHOT_TELEMETRY -void activateDshotTelemetry(struct dispatchEntry_s* self) -{ - if (!ARMING_FLAG(ARMED) && !isDshotTelemetryActive()) { - pwmWriteDshotCommand(ALL_MOTORS, getMotorCount(), DSHOT_CMD_SIGNAL_LINE_CONTINUOUS_ERPM_TELEMETRY, false); - dispatchAdd(self, 1e6); // check again in 1 second - } -} - -dispatchEntry_t activateDshotTelemetryEntry = -{ - activateDshotTelemetry, 0, NULL, false -}; -#endif void init(void) { @@ -794,13 +780,6 @@ void init(void) setArmingDisabled(ARMING_DISABLED_BOOT_GRACE_TIME); -#ifdef USE_DSHOT_TELEMETRY - if (motorConfig()->dev.useDshotTelemetry) { - dispatchEnable(); - dispatchAdd(&activateDshotTelemetryEntry, 5000000); - } -#endif - fcTasksInit(); systemState |= SYSTEM_STATE_READY;