CYRF data codes are always 16

Removed useless function argument
LOSI now points to the DSM data codes = dependency on DSM
This commit is contained in:
pascallanger
2023-12-01 10:58:56 +01:00
parent 61cbe45ce2
commit 7da6d52a84
12 changed files with 35 additions and 29 deletions

View File

@@ -19,6 +19,7 @@
//#define LOSI_FORCE_ID
/* Using DSM.ino data codes since they are the same
const uint8_t LOSI_data_code[][8] = {
//(Freq-1)%5=0
{ 0x83, 0xF7, 0xA8, 0x2D, 0x7A, 0x44, 0x64, 0xD3 },
@@ -67,7 +68,7 @@ const uint8_t LOSI_data_code[][8] = {
{ 0x40, 0xBA, 0x97, 0xD5, 0x86, 0x4F, 0xCC, 0xD1 },
//Bind
{ 0xD7, 0xA1, 0x54, 0xB1, 0x5E, 0x89, 0xAE, 0x86 }
};
};*/
static uint16_t __attribute__((unused)) LOSI_check(uint16_t val)
{
@@ -137,7 +138,9 @@ static void __attribute__((unused)) LOSI_cyrf_init()
CYRF_WriteRegister(CYRF_1F_TX_OVERRIDE, 0x04); // No CRC
//CYRF_WriteRegister(CYRF_1E_RX_OVERRIDE, 0x14);
//CYRF_WriteRegister(CYRF_14_EOP_CTRL, 0x02);
CYRF_ConfigDataCode(LOSI_data_code[40], 16); // Load bind data code by default
uint8_t code[16];
DSM_read_code(code,0,8); // Load bind data code by default
CYRF_ConfigDataCode(code);
}
uint16_t LOSI_callback()
@@ -152,7 +155,9 @@ uint16_t LOSI_callback()
{
BIND_DONE;
// Load normal data code
CYRF_ConfigDataCode(LOSI_data_code[(((hopping_frequency[0] - 1) % 5) << 3) + ((rx_tx_addr[0] + rx_tx_addr[1] + rx_tx_addr[2]) % 8)], 16);
uint8_t code[16];
DSM_read_code(code,hopping_frequency[0] % 5,(rx_tx_addr[0] + rx_tx_addr[1] + rx_tx_addr[2]) % 8);
CYRF_ConfigDataCode(code);
packet_period = 19738;
}
}
@@ -178,7 +183,7 @@ void LOSI_init()
rx_tx_addr[3] = 0xAA;
crc8 = 0x0B;
num_ch = 0x07;
//Data codes hopping_frequency[0] % 5
//Data codes for hopping_frequency[0] % 5
//{ 0x40, 0xBA, 0x97, 0xD5, 0x86, 0x4F, 0xCC, 0xD1, 0xD7, 0xA1, 0x54, 0xB1, 0x5E, 0x89, 0xAE, 0x86 },
//{ 0x62, 0xF5, 0x2B, 0xAA, 0xFC, 0x33, 0xBF, 0xAF, 0x40, 0x56, 0x32, 0xD9, 0x0F, 0xD9, 0x5D, 0x97 },
//{ 0x9E, 0x08, 0xD1, 0xAE, 0x59, 0x5E, 0xE8, 0xF0, 0xC0, 0x90, 0x8F, 0xBB, 0x7C, 0x8E, 0x2B, 0x8E },
@@ -191,7 +196,7 @@ void LOSI_init()
rx_tx_addr[3] = 0x8A;
crc8 = 0x0F;
num_ch = 0x02;
//Data codes hopping_frequency[0] % 5
//Data codes for hopping_frequency[0] % 5
//{ 0xF1, 0x94, 0x30, 0x21, 0xA1, 0x1C, 0x88, 0xA9, 0xD0, 0xD2, 0x8E, 0xBC, 0x82, 0x2F, 0xE3, 0xB4 },
//{ 0x17, 0xFF, 0x9E, 0x21, 0x36, 0x90, 0xC7, 0x82, 0xBC, 0x5D, 0x9A, 0x5B, 0xEE, 0x7F, 0x42, 0xEB },
//{ 0x4C, 0x97, 0x9D, 0xBF, 0xB8, 0x3D, 0xB5, 0xBE, 0x0C, 0x5D, 0x24, 0x30, 0x9F, 0xCA, 0x6D, 0xBD },
@@ -199,7 +204,7 @@ void LOSI_init()
//{ 0xC3, 0x0E, 0x01, 0x16, 0x0E, 0x32, 0x06, 0xBA, 0xE0, 0x83, 0x01, 0xFA, 0xAB, 0x3E, 0x8F, 0xAC }
// Note: crc8=00..0F and num_ch=00..07
// num_ch = ((rx_tx_addr[0] + rx_tx_addr[1] + rx_tx_addr[2]) % 8);
// num_ch = (rx_tx_addr[0] + rx_tx_addr[1] + rx_tx_addr[2]) % 8;
// crc8 = (uint16_t)LOSI_check(((rx_tx_addr[2]&0x0F) << 8) + rx_tx_addr[3]) >> 12;
#endif