Switch 433 data rechiver to new baud rate and fixed checksum system

This commit is contained in:
2020-02-03 14:54:31 +01:00
parent 206024b2c7
commit 27509e21ee
2 changed files with 5 additions and 4 deletions

View File

@ -196,7 +196,8 @@ void W433DataReciver::interrupt()
volatile uint8_t* buffer = reinterpret_cast<volatile uint8_t*>(&packet); volatile uint8_t* buffer = reinterpret_cast<volatile uint8_t*>(&packet);
uint8_t computedChecksum = 0; uint8_t computedChecksum = 0;
for(uint8_t j = 0; j < sizeof(packet); j++) for(uint8_t i = 0; i < 8; i++) computedChecksum = computedChecksum + (buffer[j] & ( 1 << (8 - i))); for(uint8_t j = 0; j < sizeof(packet); j++) for(uint8_t i = 0; i < 8; i++) computedChecksum = computedChecksum + ((buffer[j] & ( 1 << (8 - i))) >> (8 - i));
//for(uint8_t j = 0; j < sizeof(packet); j++) for(uint8_t i = 0; i < 8; i++) computedChecksum = computedChecksum + (buffer[j] & ( 1 << (8 - i)));
if(computedChecksum == recivedChecksum) if(computedChecksum == recivedChecksum)
{ {

View File

@ -23,9 +23,9 @@ private:
//constants //constants
static constexpr uint8_t CLOCK_DEVIDER = 1; static constexpr uint8_t CLOCK_DEVIDER = 1;
static constexpr uint16_t SYNC_TIME = 800; static constexpr uint16_t LARGE_TIME = 500;
static constexpr uint16_t LARGE_TIME = 2000; static constexpr uint16_t SMALL_TIME = 125;
static constexpr uint16_t SMALL_TIME = 500; static constexpr uint16_t SYNC_TIME = SMALL_TIME;
static constexpr uint8_t SYNC_TIME_TOLERANCE = SYNC_TIME*0.20; static constexpr uint8_t SYNC_TIME_TOLERANCE = SYNC_TIME*0.20;
static constexpr uint16_t SYNC_END_TIME_TOLERANCE = SYNC_TIME*0.80; static constexpr uint16_t SYNC_END_TIME_TOLERANCE = SYNC_TIME*0.80;
static constexpr uint16_t LARGE_TIME_TOLERANCE = LARGE_TIME*0.30; static constexpr uint16_t LARGE_TIME_TOLERANCE = LARGE_TIME*0.30;