From 5cdfbacc6ac48cfb1c8e53a6eb7db517afab6b19 Mon Sep 17 00:00:00 2001 From: Goebish Date: Thu, 30 May 2019 13:06:14 +0200 Subject: [PATCH] Fix e010 crc for AVR --- Multiprotocol/MJXQ_nrf24l01.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Multiprotocol/MJXQ_nrf24l01.ino b/Multiprotocol/MJXQ_nrf24l01.ino index 612acdc..9ceb084 100644 --- a/Multiprotocol/MJXQ_nrf24l01.ino +++ b/Multiprotocol/MJXQ_nrf24l01.ino @@ -174,7 +174,7 @@ static void __attribute__((unused)) XN297L_WritePayload(const uint8_t* msg, uint uint16_t crc = initial; for (uint8_t i = offset; i < last; ++i) crc = crc16_update(crc, buf[i], 8); - crc ^= xn297_crc_xorout_scrambled[xn297_addr_len - 3 + len]; + crc ^= pgm_read_word(&xn297_crc_xorout_scrambled[xn297_addr_len - 3 + len]); buf[last++] = crc >> 8; buf[last++] = crc & 0xff; @@ -322,7 +322,7 @@ static void __attribute__((unused)) MJXQ_send_packet(uint8_t bind) if (sub_protocol == E010 || sub_protocol == PHOENIX) { // spacing is 333.25 kHz, must multiply xn297 channel by 3 CC2500_WriteReg(CC2500_0A_CHANNR, hopping_frequency[hopping_frequency_no / 2] * 3); - // PLL calibration + // set PLL calibration CC2500_WriteReg(CC2500_25_FSCAL1, fscal1[hopping_frequency_no / 2]); // Make sure that the radio is in IDLE state before flushing the FIFO CC2500_Strobe(CC2500_SIDLE); @@ -429,7 +429,7 @@ static void __attribute__((unused)) MJXQ_init2() hopping_frequency[i+2]=hopping_frequency[i]+0x10; } #ifdef CC2500_INSTALLED - calibrate_pll(); + calibrate_pll(); #endif break; case WLH08: