From 8b189af2f9ae34ea46f23de835297bbc64a155f8 Mon Sep 17 00:00:00 2001 From: Pascal Langer Date: Thu, 13 Aug 2020 21:21:34 +0200 Subject: [PATCH] R9: small change --- Multiprotocol/FrSkyR9_sx1276.ino | 7 ++++--- Multiprotocol/Multiprotocol.h | 34 ++++++++++++++++---------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Multiprotocol/FrSkyR9_sx1276.ino b/Multiprotocol/FrSkyR9_sx1276.ino index 057e303..02d4882 100644 --- a/Multiprotocol/FrSkyR9_sx1276.ino +++ b/Multiprotocol/FrSkyR9_sx1276.ino @@ -207,7 +207,8 @@ uint16_t initFrSkyR9() SX1276_SetHopPeriod(0); // 0 = disabled, we hop frequencies manually SX1276_SetPaDac(true); SX1276_SetTxRxMode(TX_EN); // Set RF switch to TX - + //Enable all IRQ flags + SX1276_WriteReg(SX1276_11_IRQFLAGSMASK,0x00); FrSkyX_telem_init(); hopping_frequency_no=0; @@ -256,6 +257,8 @@ uint16_t FrSkyR9_callback() SX1276_WriteReg(SX1276_0D_FIFOADDRPTR, 0x00); //Set RF switch to RX SX1276_SetTxRxMode(RX_EN); + //Clear all IRQ flags + SX1276_WriteReg(SX1276_12_REGIRQFLAGS,0xFF); //Switch to RX SX1276_WriteReg(SX1276_01_OPMODE, 0x85); phase++; @@ -294,8 +297,6 @@ uint16_t FrSkyR9_callback() FrSkyX_telem_init(); // Reset telemetry else telemetry_link=1; // Send telemetry out anyway - //Clear all flags - SX1276_WriteReg(SX1276_12_REGIRQFLAGS,0xFF); phase=FRSKYR9_FREQ; break; #endif diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index c22f2e4..43945c5 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 1 -#define VERSION_PATCH_LEVEL 53 +#define VERSION_PATCH_LEVEL 54 //****************** // Protocols @@ -603,17 +603,17 @@ enum { }; // A7105 power -// Power amp is ~+16dBm so: +// The numbers do not take into account any outside amplifier enum A7105_POWER { - A7105_POWER_0 = 0x00<<3 | 0x00, // TXPOWER_100uW = -23dBm == PAC=0 TBG=0 - A7105_POWER_1 = 0x00<<3 | 0x01, // TXPOWER_300uW = -20dBm == PAC=0 TBG=1 - A7105_POWER_2 = 0x00<<3 | 0x02, // TXPOWER_1mW = -16dBm == PAC=0 TBG=2 - A7105_POWER_3 = 0x00<<3 | 0x04, // TXPOWER_3mW = -11dBm == PAC=0 TBG=4 - A7105_POWER_4 = 0x01<<3 | 0x05, // TXPOWER_10mW = -6dBm == PAC=1 TBG=5 - A7105_POWER_5 = 0x02<<3 | 0x07, // TXPOWER_30mW = 0dBm == PAC=2 TBG=7 - A7105_POWER_6 = 0x03<<3 | 0x07, // TXPOWER_100mW = 1dBm == PAC=3 TBG=7 - A7105_POWER_7 = 0x03<<3 | 0x07 // TXPOWER_150mW = 1dBm == PAC=3 TBG=7 + A7105_POWER_0 = 0x00<<3 | 0x00, // -23dBm == PAC=0 TBG=0 + A7105_POWER_1 = 0x00<<3 | 0x01, // -20dBm == PAC=0 TBG=1 + A7105_POWER_2 = 0x00<<3 | 0x02, // -16dBm == PAC=0 TBG=2 + A7105_POWER_3 = 0x00<<3 | 0x04, // -11dBm == PAC=0 TBG=4 + A7105_POWER_4 = 0x01<<3 | 0x05, // -6dBm == PAC=1 TBG=5 + A7105_POWER_5 = 0x02<<3 | 0x07, // 0dBm == PAC=2 TBG=7 + A7105_POWER_6 = 0x03<<3 | 0x07, // +1dBm == PAC=3 TBG=7 + A7105_POWER_7 = 0x03<<3 | 0x07 // +1dBm == PAC=3 TBG=7 }; #define A7105_HIGH_POWER A7105_POWER_7 #define A7105_LOW_POWER A7105_POWER_3 @@ -621,14 +621,13 @@ enum A7105_POWER #define A7105_BIND_POWER A7105_POWER_0 // NRF Power -// Power setting is 0..3 for nRF24L01 -// Claimed power amp for nRF24L01 from eBay is 20dBm. +// The numbers do not take into account any outside amplifier enum NRF_POWER -{ // Raw w 20dBm PA - NRF_POWER_0 = 0x00, // 0 : -18dBm (16uW) 2dBm (1.6mW) - NRF_POWER_1 = 0x01, // 1 : -12dBm (60uW) 8dBm (6mW) - NRF_POWER_2 = 0x02, // 2 : -6dBm (250uW) 14dBm (25mW) - NRF_POWER_3 = 0x03 // 3 : 0dBm (1mW) 20dBm (100mW) +{ + NRF_POWER_0 = 0x00, // -18dBm + NRF_POWER_1 = 0x01, // -12dBm + NRF_POWER_2 = 0x02, // -6dBm + NRF_POWER_3 = 0x03 // 0dBm }; #define NRF_HIGH_POWER NRF_POWER_3 #define NRF_LOW_POWER NRF_POWER_1 @@ -665,6 +664,7 @@ enum CC2500_POWER #define CC2500_BIND_POWER CC2500_POWER_1 // CYRF power +// The numbers do not take into account any outside amplifier enum CYRF_POWER { CYRF_POWER_0 = 0x00, // -35dbm