From a1737eab46c0a9712e8d74af758616fc9f8c6791 Mon Sep 17 00:00:00 2001 From: pascallanger Date: Thu, 30 Nov 2023 09:46:18 +0100 Subject: [PATCH] PELIKAN: new hopping tables --- Multiprotocol/Pelikan_a7105.ino | 45 ++++++++++++++++++++------------- Protocols_Details.md | 2 +- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/Multiprotocol/Pelikan_a7105.ino b/Multiprotocol/Pelikan_a7105.ino index 5006cdd..10e0b1e 100644 --- a/Multiprotocol/Pelikan_a7105.ino +++ b/Multiprotocol/Pelikan_a7105.ino @@ -291,9 +291,10 @@ const uint8_t PROGMEM pelikan_lite_hopp[][PELIKAN_NUM_RF_CHAN] = { #endif #ifdef PELIKAN_SCX24_FORCE_HOP const uint8_t PROGMEM pelikan_scx24_hopp[][PELIKAN_NUM_RF_CHAN] = { - { 0x1E,0x32,0x46,0x5A,0x44,0x58,0x2E,0x42,0x56,0x2C,0x40,0x54,0x2A,0x3E,0x52,0x28,0x3C,0x50,0x26,0x3A,0x4E,0x24,0x38,0x4C,0x22,0x36,0x4A,0x20,0x1A }, - { 0x2C,0x44,0x1E,0x52,0x56,0x22,0x3A,0x3E,0x34,0x4C,0x26,0x5A,0x50,0x2A,0x42,0x38,0x2E,0x46,0x20,0x54,0x4A,0x24,0x3C,0x32,0x28,0x40,0x58,0x1B,0x4E }, - { 0x3C,0x4C,0x1E,0x4A,0x5A,0x2C,0x58,0x2A,0x3A,0x56,0x28,0x38,0x26,0x36,0x46,0x34,0x44,0x54,0x42,0x52,0x24,0x50,0x22,0x32,0x4E,0x20,0x40,0x3E,0x17 } +/*TX1*/ { 0x1E,0x32,0x46,0x5A,0x44,0x58,0x2E,0x42,0x56,0x2C,0x40,0x54,0x2A,0x3E,0x52,0x28,0x3C,0x50,0x26,0x3A,0x4E,0x24,0x38,0x4C,0x22,0x36,0x4A,0x20,0x1A }, +/*TX2*/ { 0x2C,0x44,0x1E,0x52,0x56,0x22,0x3A,0x3E,0x34,0x4C,0x26,0x5A,0x50,0x2A,0x42,0x38,0x2E,0x46,0x20,0x54,0x4A,0x24,0x3C,0x32,0x28,0x40,0x58,0x1B,0x4E }, +/*TX3*/ { 0x3C,0x4C,0x1E,0x4A,0x5A,0x2C,0x58,0x2A,0x3A,0x56,0x28,0x38,0x26,0x36,0x46,0x34,0x44,0x54,0x42,0x52,0x24,0x50,0x22,0x32,0x4E,0x20,0x40,0x3E,0x17 }, +/*TX4*/ { 0x46,0x32,0x1E,0x58,0x44,0x5A,0x56,0x42,0x2E,0x54,0x40,0x2C,0x52,0x3E,0x2A,0x50,0x3C,0x28,0x4E,0x3A,0x26,0x4C,0x38,0x24,0x4A,0x36,0x22,0x20,0x1A } }; #endif @@ -346,21 +347,25 @@ void PELIKAN_init() { #if defined(PELIKAN_SCX24_FORCE_HOP) // Hop frequency table - uint8_t num=rx_tx_addr[3] % 0x03; - if(num==1) - {//1 - rx_tx_addr[0]=0x10; // hopping freq TX2 - rx_tx_addr[1]=0x63; // hopping freq TX2 - } - else if(num==2) - {//2 - rx_tx_addr[0]=0x81; // hopping freq Ben - rx_tx_addr[1]=0x63; // hopping freq Ben - } - else - {//0 - rx_tx_addr[0]=0x12; // hopping freq TX1 - rx_tx_addr[1]=0x46; // hopping freq TX1 + uint8_t num=rx_tx_addr[3] & 0x03; + switch(num) + { + case 1: + rx_tx_addr[0]=0x10; // hopping freq TX2 + rx_tx_addr[1]=0x63; // hopping freq TX2 + break; + case 2: + rx_tx_addr[0]=0x81; // hopping freq TX3 + rx_tx_addr[1]=0x63; // hopping freq TX3 + break; + case 3: + rx_tx_addr[0]=0x36; // hopping freq TX4 + rx_tx_addr[1]=0x5C; // hopping freq TX4 + break; + default: + rx_tx_addr[0]=0x12; // hopping freq TX1 + rx_tx_addr[1]=0x46; // hopping freq TX1 + break; } for(uint8_t i=0;i