diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 39ce5ab..bbb24ac 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -28,97 +28,100 @@ //****************** enum PROTOCOLS { - MODE_SERIAL = 0, // Serial commands - MODE_FLYSKY = 1, // =>A7105 - MODE_HUBSAN = 2, // =>A7105 - MODE_FRSKY = 3, // =>CC2500 - MODE_HISKY = 4, // =>NRF24L01 - MODE_V2X2 = 5, // =>NRF24L01 - MODE_DSM2 = 6, // =>CYRF6936 - MODE_DEVO =7, // =>CYRF6936 - MODE_YD717 = 8, // =>NRF24L01 - MODE_KN = 9, // =>NRF24L01 - MODE_SYMAX = 10, // =>NRF24L01 - MODE_SLT = 11, // =>NRF24L01 - MODE_CX10 = 12, // =>NRF24L01 - MODE_CG023 = 13, // =>NRF24L01 - MODE_BAYANG = 14, // =>NRF24L01 - MODE_FRSKYX = 15, // =>CC2500 - MODE_ESKY = 16, // =>NRF24L01 - MODE_MT99XX=17, // =>NRF24L01 - MODE_MJXQ=18, // =>NRF24L01 - MODE_SHENQI=19, // =>NRF24L01 - MODE_FY326=20, // =>NRF24L01 - MODE_SFHSS=21, // =>CC2500 - MODE_J6PRO=22, // =>CYRF6936 - MODE_FQ777=23, // =>NRF24L01 - MODE_ASSAN=24 // =>NRF24L01 + MODE_SERIAL = 0, // Serial commands + MODE_FLYSKY = 1, // =>A7105 + MODE_HUBSAN = 2, // =>A7105 + MODE_FRSKY = 3, // =>CC2500 + MODE_HISKY = 4, // =>NRF24L01 + MODE_V2X2 = 5, // =>NRF24L01 + MODE_DSM2 = 6, // =>CYRF6936 + MODE_DEVO = 7, // =>CYRF6936 + MODE_YD717 = 8, // =>NRF24L01 + MODE_KN = 9, // =>NRF24L01 + MODE_SYMAX = 10, // =>NRF24L01 + MODE_SLT = 11, // =>NRF24L01 + MODE_CX10 = 12, // =>NRF24L01 + MODE_CG023 = 13, // =>NRF24L01 + MODE_BAYANG = 14, // =>NRF24L01 + MODE_FRSKYX = 15, // =>CC2500 + MODE_ESKY = 16, // =>NRF24L01 + MODE_MT99XX = 17, // =>NRF24L01 + MODE_MJXQ = 18, // =>NRF24L01 + MODE_SHENQI = 19, // =>NRF24L01 + MODE_FY326 = 20, // =>NRF24L01 + MODE_SFHSS = 21, // =>CC2500 + MODE_J6PRO = 22, // =>CYRF6936 + MODE_FQ777 = 23, // =>NRF24L01 + MODE_ASSAN = 24, // =>NRF24L01 + MODE_FRSKY1 = 25 // =>CC2500 }; enum Flysky { - Flysky=0, - V9X9=1, - V6X6=2, - V912=3 + Flysky = 0, + V9X9 = 1, + V6X6 = 2, + V912 = 3 }; enum Hisky { - Hisky=0, - HK310=1 + Hisky = 0, + HK310 = 1 }; -enum DSM2{ - DSM2=0, - DSMX=1 +enum DSM2 +{ + DSM2 = 0, + DSMX = 1 }; enum YD717 { - YD717=0, - SKYWLKR=1, - SYMAX4=2, - XINXUN=3, - NIHUI=4 + YD717 = 0, + SKYWLKR = 1, + SYMAX4 = 2, + XINXUN = 3, + NIHUI = 4 }; enum KN { - WLTOYS=0, - FEILUN=1 + WLTOYS = 0, + FEILUN = 1 }; enum SYMAX { - SYMAX=0, - SYMAX5C=1 + SYMAX = 0, + SYMAX5C = 1 }; enum CX10 { - CX10_GREEN = 0, - CX10_BLUE=1, // also compatible with CX10-A, CX12 - DM007=2, - Q282=3, - JC3015_1=4, - JC3015_2=5, - MK33041=6, - Q242=7 + CX10_GREEN = 0, + CX10_BLUE = 1, // also compatible with CX10-A, CX12 + DM007 = 2, + Q282 = 3, + JC3015_1 = 4, + JC3015_2 = 5, + MK33041 = 6, + Q242 = 7 }; enum CG023 { - CG023 = 0, - YD829 = 1, - H8_3D = 2 + CG023 = 0, + YD829 = 1, + H8_3D = 2 }; enum MT99XX { MT99 = 0, H7 = 1, YZ = 2, - LS = 3 + LS = 3 }; enum MJXQ { WLH08 = 0, X600 = 1, X800 = 2, - H26D = 3 + H26D = 3, + E010 = 4 }; enum FRSKYX @@ -146,131 +149,123 @@ struct PPM_Parameters //******************* //*** Pinouts *** //******************* -//#define BIND_pin 13 -#define LED_pin 13 //Promini original led on B5 -// -#define PPM_pin 3 //PPM -D3 +#define LED_pin 5 //D13 = PB5 +#define BIND_pin 5 //D13 = PB5 +#define PPM_pin 3 //D3 = PD3 #ifdef XMEGA -#define SDI_pin 6 //SDIO-D6 + #define SDI_pin 6 //SDIO-D6 #else -#define SDI_pin 5 //SDIO-D5 + #define SDI_pin 5 //D5 = PD5 #endif -#define SCLK_pin 4 //SCK-D4 -#define CS_pin 2 //CS-D2 -#define SDO_pin 6 //D6 -// -#define CTRL1 1 //C1 (A1) -#define CTRL2 2 //C2 (A2) +#define SCLK_pin 4 //D4 = PD4 +#define A7105_CS_pin 2 //D2 = PD2 +#define SDO_pin 6 //D6 = PD6 +#define CC25_CSN_pin 7 //D7 = PD7 +#define NRF_CSN_pin 0 //D8 = PB0 +#define CYRF_CSN_pin 1 //D9 = PB1 +#define CTRL1_pin 1 //A1 = PC1 +#define CTRL2_pin 2 //A2 = PC2 // #ifdef XMEGA -#define CTRL1_on -#define CTRL1_off -// -#define CTRL2_on -#define CTRL2_off + #define CTRL1_on + #define CTRL1_off + #define CTRL2_on + #define CTRL2_off #else -#define CTRL1_on PORTC |= _BV(1) -#define CTRL1_off PORTC &= ~_BV(1) -// -#define CTRL2_on PORTC |= _BV(2) -#define CTRL2_off PORTC &= ~_BV(2) + #define CTRL1_on PORTC |= _BV(1) + #define CTRL1_off PORTC &= ~_BV(1) + #define CTRL2_on PORTC |= _BV(2) + #define CTRL2_off PORTC &= ~_BV(2) #endif // #ifdef XMEGA -#define CS_on PORTD.OUTSET = _BV(4) //D4 -#define CS_off PORTD.OUTCLR = _BV(4) //D4 + #define A7105_CS_on PORTD.OUTSET = _BV(4) //D4 + #define A7105_CS_off PORTD.OUTCLR = _BV(4) //D4 #else -#define CS_on PORTD |= _BV(2) //D2 -#define CS_off PORTD &= ~_BV(2) //D2 + #define A7105_CS_on PORTD |= _BV(2) //D2 + #define A7105_CS_off PORTD &= ~_BV(2) //D2 #endif // #ifdef XMEGA -#define SCK_on PORTD.OUTSET = _BV(7) //D7 -#define SCK_off PORTD.OUTCLR = _BV(7) //D7 + #define SCK_on PORTD.OUTSET = _BV(7) //D7 + #define SCK_off PORTD.OUTCLR = _BV(7) //D7 #else -#define SCK_on PORTD |= _BV(4) //D4 -#define SCK_off PORTD &= ~_BV(4) //D4 + #define SCK_on PORTD |= _BV(4) //D4 + #define SCK_off PORTD &= ~_BV(4) //D4 #endif // #ifdef XMEGA -#define SDI_on PORTD.OUTSET = _BV(5) //D5 -#define SDI_off PORTD.OUTCLR = _BV(5) //D5 + #define SDI_on PORTD.OUTSET = _BV(5) //D5 + #define SDI_off PORTD.OUTCLR = _BV(5) //D5 #else -#define SDI_on PORTD |= _BV(5) //D5 -#define SDI_off PORTD &= ~_BV(5) //D5 -#endif - -#ifdef XMEGA -#define SDI_1 (PORTD.IN & (1< 0x80 1=Bind/0=No AutoBindBit=> 0x40 1=Yes /0=No RangeCheck=> 0x20 1=Yes /0=No @@ -559,11 +560,13 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p -- MT99 0 H7 1 YZ 2 + LS 3 sub_protocol==MJXQ WLH08 0 X600 1 X800 2 H26D 3 + E010 4 sub_protocol==FRSKYX CH_16 0 CH_8 1