From d7b227119746682ec2eb2fbcd0f002b383abefa3 Mon Sep 17 00:00:00 2001 From: murata Date: Fri, 19 Apr 2019 19:46:37 +0900 Subject: [PATCH] AP_RangeFinder: Common modbus crc method --- .../AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/libraries/AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp b/libraries/AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp index e60aaf9538..ba96d02904 100644 --- a/libraries/AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp +++ b/libraries/AP_RangeFinder/AP_RangeFinder_LeddarOne.cpp @@ -14,6 +14,7 @@ */ #include +#include #include "AP_RangeFinder_LeddarOne.h" #include @@ -142,18 +143,7 @@ void AP_RangeFinder_LeddarOne::update(void) */ bool AP_RangeFinder_LeddarOne::CRC16(uint8_t *aBuffer, uint8_t aLength, bool aCheck) { - uint16_t crc = 0xFFFF; - - for (uint32_t i=0; i> 1) ^ 0xA001; - } else { - crc >>= 1; - } - } - } + uint16_t crc = calc_crc_modbus(aBuffer, aLength); uint8_t lCRCLo = LOWBYTE(crc); uint8_t lCRCHi = HIGHBYTE(crc);