diff --git a/Lua_scripts/MultiChan.txt b/Lua_scripts/MultiChan.txt index ac07420..bb4c934 100644 --- a/Lua_scripts/MultiChan.txt +++ b/Lua_scripts/MultiChan.txt @@ -176,3 +176,4 @@ 8,4,YD717,NiHui,1,Flip,Light,Pict,Video,HLess 52,0,ZSX,280,1,Light 78,0,M-Link,Std,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12,CH13,CH14,CH15,CH16 +79,0,WFLY2,RF20x,0,CH5,CH6,CH7,CH8,CH9,CH10 diff --git a/Multiprotocol/A7105_SPI.ino b/Multiprotocol/A7105_SPI.ino index a7e2a15..38950f6 100644 --- a/Multiprotocol/A7105_SPI.ino +++ b/Multiprotocol/A7105_SPI.ino @@ -27,7 +27,7 @@ void A7105_WriteData(uint8_t len, uint8_t channel) for (i = 0; i < len; i++) SPI_Write(packet[i]); A7105_CSN_on; - if(protocol!=PROTO_WFLYRF) + if(protocol!=PROTO_WFLY2) { if(!(protocol==PROTO_FLYSKY || protocol==PROTO_KYOSHO)) { @@ -210,9 +210,9 @@ void A7105_AdjustLOBaseFreq(uint8_t cmd) offset=(int16_t)FORCE_KYOSHO_TUNING; #endif break; - case PROTO_WFLYRF: - #ifdef FORCE_WFLYRF_TUNING - offset=(int16_t)FORCE_WFLYRF_TUNING; + case PROTO_WFLY2: + #ifdef FORCE_WFLY2_TUNING + offset=(int16_t)FORCE_WFLY2_TUNING; #endif break; case PROTO_AFHDS2A: @@ -333,8 +333,8 @@ const uint8_t PROGMEM KYOSHO_HYPE_A7105_regs[] = { 0x01, 0x0f // 30 - 31 }; #endif -#ifdef WFLYRF_A7105_INO //A7106 values -const uint8_t PROGMEM WFLYRF_A7105_regs[] = { +#ifdef WFLY2_A7105_INO //A7106 values +const uint8_t PROGMEM WFLY2_A7105_regs[] = { 0xff, 0x62, 0xff, 0x1F, 0x40, 0xff, 0xff ,0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x05, 0x00, 0x64, // 00 - 0f Changes: 0B:19->33, 0C:01,33 0x9e, 0x4b, 0x00, 0x02, 0x16, 0x2b, 0x12, 0x40, 0x62, 0x80, 0x80, 0x00, 0x0a, 0x32, 0x03, 0x0f, // 10 - 1f 1C:4A->0A 0x12, 0x00, 0x00, 0xff, 0x00, 0x00, 0x23, 0x70, 0x15, 0x47, 0x80, 0x03, 0x01, 0x45, 0x18, 0x00, // 20 - 2f 2B:77->03, 2E:19->18 @@ -349,10 +349,10 @@ void A7105_Init(void) uint8_t *A7105_Regs=0; uint8_t vco_calibration0, vco_calibration1; - #ifdef WFLYRF_A7105_INO - if(protocol==PROTO_WFLYRF) + #ifdef WFLY2_A7105_INO + if(protocol==PROTO_WFLY2) { - A7105_Regs=(uint8_t*)WFLYRF_A7105_regs; + A7105_Regs=(uint8_t*)WFLY2_A7105_regs; } else #endif @@ -465,7 +465,7 @@ void A7105_Init(void) while(A7105_ReadReg(A7105_02_CALC)); // Wait for calibration to end vco_calibration1 = A7105_ReadReg(A7105_25_VCO_SBCAL_I); - if(protocol==PROTO_BUGS || protocol==PROTO_WFLYRF) + if(protocol==PROTO_BUGS || protocol==PROTO_WFLY2) A7105_SetVCOBand(vco_calibration0 & 0x07, vco_calibration1 & 0x07); // Set calibration band value to best match else if(protocol!=PROTO_HUBSAN) diff --git a/Multiprotocol/Multi_Names.ino b/Multiprotocol/Multi_Names.ino index 746a64a..852bd97 100644 --- a/Multiprotocol/Multi_Names.ino +++ b/Multiprotocol/Multi_Names.ino @@ -59,7 +59,8 @@ const char STR_H8_3D[] ="H8 3D"; const char STR_CORONA[] ="Corona"; const char STR_CFLIE[] ="CFlie"; const char STR_HITEC[] ="Hitec"; -const char STR_WFLY[] ="WFly"; +const char STR_WFLY[] ="WFLY"; +const char STR_WFLY2[] ="WFLY2"; const char STR_BUGS[] ="Bugs"; const char STR_BUGSMINI[] ="BugMini"; const char STR_TRAXXAS[] ="Traxxas"; @@ -141,7 +142,7 @@ const char STR_SUBTYPE_PROPEL[] = "\x04""74-Z"; const char STR_SUBTYPE_FRSKY_RX[] = "\x07""RX\0 ""CloneTX"; const char STR_SUBTYPE_FRSKYL[] = "\x08""LR12\0 ""LR12 6ch"; const char STR_SUBTYPE_WFLY[] = "\x05""WFR0x"; -const char STR_SUBTYPE_WFLYRF[] = "\x05""RF20x"; +const char STR_SUBTYPE_WFLY2[] = "\x05""RF20x"; const char STR_SUBTYPE_HOTT[] = "\x07""Sync\0 ""No_Sync"; const char STR_SUBTYPE_PELIKAN[] = "\x04""Pro\0""Lite"; const char STR_SUBTYPE_V761[] = "\x03""3ch""4ch"; @@ -385,8 +386,8 @@ const mm_protocol_definition multi_protocols[] = { #if defined(WFLY_CYRF6936_INO) {PROTO_WFLY, STR_WFLY, 1, STR_SUBTYPE_WFLY, OPTION_NONE }, #endif - #if defined(WFLYRF_A7105_INO) - {PROTO_WFLYRF, STR_WFLY, 1, STR_SUBTYPE_WFLYRF, OPTION_NONE }, + #if defined(WFLY2_A7105_INO) + {PROTO_WFLY2, STR_WFLY2, 1, STR_SUBTYPE_WFLY2, OPTION_NONE }, #endif #if defined(XK_NRF24L01_INO) {PROTO_XK, STR_XK , 2, STR_SUBTYPE_XK, OPTION_RFTUNE }, diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 9462fd2..244e19f 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 82 +#define VERSION_PATCH_LEVEL 83 //****************** // Protocols @@ -104,7 +104,7 @@ enum PROTOCOLS PROTO_REALACC = 76, // =>NRF24L01 PROTO_OMP = 77, // =>CC2500 & NRF24L01 PROTO_MLINK = 78, // =>CYRF6936 - PROTO_WFLYRF = 79, // =>A7105 + PROTO_WFLY2 = 79, // =>A7105 PROTO_NANORF = 126, // =>NRF24L01 PROTO_TEST = 127, // =>CC2500 @@ -837,7 +837,7 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p -- REALACC 76 OMP 77 MLINK 78 - WFLYRF 79 + WFLY2 79 BindBit=> 0x80 1=Bind/0=No AutoBindBit=> 0x40 1=Yes /0=No RangeCheck=> 0x20 1=Yes /0=No diff --git a/Multiprotocol/Multiprotocol.ino b/Multiprotocol/Multiprotocol.ino index 379bf09..c1294de 100644 --- a/Multiprotocol/Multiprotocol.ino +++ b/Multiprotocol/Multiprotocol.ino @@ -821,7 +821,7 @@ bool Update_All() update_led_status(); #if defined(TELEMETRY) #if ( !( defined(MULTI_TELEMETRY) || defined(MULTI_STATUS) ) ) - if((protocol == PROTO_BAYANG_RX) || (protocol == PROTO_AFHDS2A_RX) || (protocol == PROTO_FRSKY_RX) || (protocol == PROTO_SCANNER) || (protocol==PROTO_FRSKYD) || (protocol==PROTO_BAYANG) || (protocol==PROTO_NCC1701) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_FRSKYX) || (protocol==PROTO_FRSKYX2) || (protocol==PROTO_DSM) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_HOTT) || (protocol==PROTO_PROPEL) || (protocol==PROTO_OMP) || (protocol==PROTO_DEVO) || (protocol==PROTO_DSM_RX) || (protocol==PROTO_FRSKY_R9) || (protocol==PROTO_RLINK) || (protocol==PROTO_WFLYRF)) + if((protocol == PROTO_BAYANG_RX) || (protocol == PROTO_AFHDS2A_RX) || (protocol == PROTO_FRSKY_RX) || (protocol == PROTO_SCANNER) || (protocol==PROTO_FRSKYD) || (protocol==PROTO_BAYANG) || (protocol==PROTO_NCC1701) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_FRSKYX) || (protocol==PROTO_FRSKYX2) || (protocol==PROTO_DSM) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_HOTT) || (protocol==PROTO_PROPEL) || (protocol==PROTO_OMP) || (protocol==PROTO_DEVO) || (protocol==PROTO_DSM_RX) || (protocol==PROTO_FRSKY_R9) || (protocol==PROTO_RLINK) || (protocol==PROTO_WFLY2)) #endif if(IS_DISABLE_TELEM_off) TelemetryUpdate(); @@ -1196,11 +1196,11 @@ static void protocol_init() remote_callback = ReadKyosho; break; #endif - #if defined(WFLYRF_A7105_INO) - case PROTO_WFLYRF: + #if defined(WFLY2_A7105_INO) + case PROTO_WFLY2: PE1_off; //antenna RF1 - next_callback = initWFLYRF(); - remote_callback = ReadWFLYRF; + next_callback = initWFLY2(); + remote_callback = ReadWFLY2; break; #endif #endif @@ -2290,7 +2290,7 @@ void pollBoot() #if defined(TELEMETRY) void PPM_Telemetry_serial_init() { - if( (protocol==PROTO_FRSKYD) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_BAYANG)|| (protocol==PROTO_NCC1701) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_PROPEL) || (protocol==PROTO_OMP) || (protocol==PROTO_RLINK) || (protocol==PROTO_WFLYRF) + if( (protocol==PROTO_FRSKYD) || (protocol==PROTO_HUBSAN) || (protocol==PROTO_AFHDS2A) || (protocol==PROTO_BAYANG)|| (protocol==PROTO_NCC1701) || (protocol==PROTO_CABELL) || (protocol==PROTO_HITEC) || (protocol==PROTO_BUGS) || (protocol==PROTO_BUGSMINI) || (protocol==PROTO_PROPEL) || (protocol==PROTO_OMP) || (protocol==PROTO_RLINK) || (protocol==PROTO_WFLY2) #ifdef TELEMETRY_FRSKYX_TO_FRSKYD || (protocol==PROTO_FRSKYX) || (protocol==PROTO_FRSKYX2) #endif diff --git a/Multiprotocol/Telemetry.ino b/Multiprotocol/Telemetry.ino index 62b8483..1a9603f 100644 --- a/Multiprotocol/Telemetry.ino +++ b/Multiprotocol/Telemetry.ino @@ -531,7 +531,7 @@ void frsky_link_frame() telemetry_link |= 2 ; // Send hub if available } else - {//PROTO_HUBSAN, PROTO_AFHDS2A, PROTO_BAYANG, PROTO_NCC1701, PROTO_CABELL, PROTO_HITEC, PROTO_BUGS, PROTO_BUGSMINI, PROTO_FRSKYX, PROTO_FRSKYX2, PROTO_PROPEL, PROTO_DEVO, PROTO_RLINK, PROTO_OMP, PROTO_WFLYRF + {//PROTO_HUBSAN, PROTO_AFHDS2A, PROTO_BAYANG, PROTO_NCC1701, PROTO_CABELL, PROTO_HITEC, PROTO_BUGS, PROTO_BUGSMINI, PROTO_FRSKYX, PROTO_FRSKYX2, PROTO_PROPEL, PROTO_DEVO, PROTO_RLINK, PROTO_OMP, PROTO_WFLY2 frame[1] = v_lipo1; frame[2] = v_lipo2; frame[3] = RX_RSSI; diff --git a/Multiprotocol/Validate.h b/Multiprotocol/Validate.h index e831984..1b04ce4 100644 --- a/Multiprotocol/Validate.h +++ b/Multiprotocol/Validate.h @@ -160,9 +160,9 @@ #error "The Kyosho forced frequency tuning value is outside of the range -300..300." #endif #endif -#ifdef FORCE_WFLYRF_TUNING - #if ( FORCE_WFLYRF_TUNING < -300 ) || ( FORCE_WFLYRF_TUNING > 300 ) - #error "The WFLYRF forced frequency tuning value is outside of the range -300..300." +#ifdef FORCE_WFLY2_TUNING + #if ( FORCE_WFLY2_TUNING < -300 ) || ( FORCE_WFLY2_TUNING > 300 ) + #error "The WFLY2 forced frequency tuning value is outside of the range -300..300." #endif #endif @@ -182,8 +182,8 @@ #ifndef FORCE_KYOSHO_TUNING #define FORCE_KYOSHO_TUNING 0 #endif - #ifndef FORCE_WFLYRF_TUNING - #define FORCE_WFLYRF_TUNING 0 + #ifndef FORCE_WFLY2_TUNING + #define FORCE_WFLY2_TUNING 0 #endif #ifndef FORCE_HUBSAN_TUNING #define FORCE_HUBSAN_TUNING 0 @@ -235,7 +235,7 @@ #undef HUBSAN_A7105_INO #undef KYOSHO_A7105_INO #undef PELIKAN_A7105_INO - #undef WFLYRF_A7105_INO + #undef WFLY2_A7105_INO #endif #ifndef CYRF6936_INSTALLED #undef DEVO_CYRF6936_INO @@ -355,7 +355,7 @@ #undef RLINK_HUB_TELEMETRY #undef DSM_RX_CYRF6936_INO #undef DSM_FWD_PGM - #undef WFLYRF_HUB_TELEMETRY + #undef WFLY2_HUB_TELEMETRY #else #if defined(MULTI_TELEMETRY) && defined(MULTI_STATUS) #error You should choose either MULTI_TELEMETRY or MULTI_STATUS but not both. @@ -427,10 +427,10 @@ #if not defined(HOTT_CC2500_INO) #undef HOTT_FW_TELEMETRY #endif - #if not defined(WFLYRF_A7105_INO) - #undef WFLYRF_HUB_TELEMETRY + #if not defined(WFLY2_A7105_INO) + #undef WFLY2_HUB_TELEMETRY #endif - #if not defined(HOTT_FW_TELEMETRY) && not defined(DSM_TELEMETRY) && not defined(SPORT_TELEMETRY) && not defined(HUB_TELEMETRY) && not defined(HUBSAN_HUB_TELEMETRY) && not defined(BUGS_HUB_TELEMETRY) && not defined(NCC1701_HUB_TELEMETRY) && not defined(BAYANG_HUB_TELEMETRY) && not defined(CABELL_HUB_TELEMETRY) && not defined(RLINK_HUB_TELEMETRY) && not defined(AFHDS2A_HUB_TELEMETRY) && not defined(AFHDS2A_FW_TELEMETRY) && not defined(MULTI_TELEMETRY) && not defined(MULTI_STATUS) && not defined(HITEC_HUB_TELEMETRY) && not defined(HITEC_FW_TELEMETRY) && not defined(SCANNER_TELEMETRY) && not defined(FRSKY_RX_TELEMETRY) && not defined(AFHDS2A_RX_TELEMETRY) && not defined(BAYANG_RX_TELEMETRY) && not defined(DEVO_HUB_TELEMETRY) && not defined(PROPEL_HUB_TELEMETRY) && not defined(OMP_HUB_TELEMETRY) && not defined(WFLYRF_HUB_TELEMETRY) + #if not defined(HOTT_FW_TELEMETRY) && not defined(DSM_TELEMETRY) && not defined(SPORT_TELEMETRY) && not defined(HUB_TELEMETRY) && not defined(HUBSAN_HUB_TELEMETRY) && not defined(BUGS_HUB_TELEMETRY) && not defined(NCC1701_HUB_TELEMETRY) && not defined(BAYANG_HUB_TELEMETRY) && not defined(CABELL_HUB_TELEMETRY) && not defined(RLINK_HUB_TELEMETRY) && not defined(AFHDS2A_HUB_TELEMETRY) && not defined(AFHDS2A_FW_TELEMETRY) && not defined(MULTI_TELEMETRY) && not defined(MULTI_STATUS) && not defined(HITEC_HUB_TELEMETRY) && not defined(HITEC_FW_TELEMETRY) && not defined(SCANNER_TELEMETRY) && not defined(FRSKY_RX_TELEMETRY) && not defined(AFHDS2A_RX_TELEMETRY) && not defined(BAYANG_RX_TELEMETRY) && not defined(DEVO_HUB_TELEMETRY) && not defined(PROPEL_HUB_TELEMETRY) && not defined(OMP_HUB_TELEMETRY) && not defined(WFLY2_HUB_TELEMETRY) #undef TELEMETRY #undef INVERT_TELEMETRY #undef MULTI_TELEMETRY diff --git a/Multiprotocol/WFLYRF_a7105.ino b/Multiprotocol/WFLY2_a7105.ino similarity index 75% rename from Multiprotocol/WFLYRF_a7105.ino rename to Multiprotocol/WFLY2_a7105.ino index 8c913ed..fa0211a 100644 --- a/Multiprotocol/WFLYRF_a7105.ino +++ b/Multiprotocol/WFLY2_a7105.ino @@ -13,24 +13,24 @@ along with Multiprotocol. If not, see . */ -#if defined(WFLYRF_A7105_INO) +#if defined(WFLY2_A7105_INO) #include "iface_a7105.h" -//#define WFLYRF_FORCE_ID +//#define WFLY2_FORCE_ID -//WFLYRF constants & variables -#define WFLYRF_BIND_COUNT 1000 -#define WFLYRF_PACKET_SIZE 32 +//WFLY2 constants & variables +#define WFLY2_BIND_COUNT 1000 +#define WFLY2_PACKET_SIZE 32 enum{ - WFLYRF_BIND, - WFLYRF_DATA, - WFLYRF_PLL_TX, - WFLYRF_RX, + WFLY2_BIND, + WFLY2_DATA, + WFLY2_PLL_TX, + WFLY2_RX, }; -static void __attribute__((unused)) WFLYRF_send_bind_packet() +static void __attribute__((unused)) WFLY2_send_bind_packet() { //Header packet[0] = 0x0F; // Bind packet @@ -56,16 +56,16 @@ static void __attribute__((unused)) WFLYRF_send_bind_packet() //Debug #if 0 debug("ch=%02X P=",rf_ch_num); - for(uint8_t i=0; i=100) @@ -203,11 +203,11 @@ uint16_t ReadWFLYRF() } #endif - phase++; // WFLYRF_PLL_TX - return WFLYRF_BUFFER_TIME; + phase++; // WFLY2_PLL_TX + return WFLY2_BUFFER_TIME; - case WFLYRF_PLL_TX: - #ifdef WFLYRF_HUB_TELEMETRY + case WFLY2_PLL_TX: + #ifdef WFLY2_HUB_TELEMETRY //Check RX status status=A7105_ReadReg(A7105_00_MODE); //debugln("S:%02X", status); @@ -216,9 +216,9 @@ uint16_t ReadWFLYRF() //PLL A7105_Strobe(A7105_PLL); - #ifdef WFLYRF_HUB_TELEMETRY + #ifdef WFLY2_HUB_TELEMETRY //Read incoming packet even if bad/not present to not change too much the TX timing, might want to reorg the code... - A7105_ReadData(WFLYRF_PACKET_SIZE); + A7105_ReadData(WFLY2_PACKET_SIZE); //Read telemetry if((status & 0x21)==0) @@ -226,13 +226,13 @@ uint16_t ReadWFLYRF() //Debug #if 1 debug("T:"); - for(uint8_t i=0; i