diff --git a/Multiprotocol/Multiprotocol.h b/Multiprotocol/Multiprotocol.h index 46b4044..267d43e 100644 --- a/Multiprotocol/Multiprotocol.h +++ b/Multiprotocol/Multiprotocol.h @@ -19,7 +19,7 @@ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define VERSION_REVISION 0 -#define VERSION_PATCH_LEVEL 57 +#define VERSION_PATCH_LEVEL 58 //****************** // Protocols diff --git a/Multiprotocol/XK_nrf24l01.ino b/Multiprotocol/XK_nrf24l01.ino index ad808de..146d18e 100644 --- a/Multiprotocol/XK_nrf24l01.ino +++ b/Multiprotocol/XK_nrf24l01.ino @@ -21,11 +21,11 @@ Multiprotocol is distributed in the hope that it will be useful, #define FORCE_XK_ORIGINAL_ID #define XK_INITIAL_WAIT 500 -#define XK_PACKET_PERIOD 4000 +#define XK_PACKET_PERIOD 4000 #define XK_RF_BIND_NUM_CHANNELS 8 #define XK_RF_NUM_CHANNELS 4 #define XK_PAYLOAD_SIZE 16 -#define XK_BIND_COUNT 750 //3sec +#define XK_BIND_COUNT 750 //3sec static uint16_t __attribute__((unused)) XK_convert_channel(uint8_t num) { @@ -58,16 +58,16 @@ static void __attribute__((unused)) XK_send_packet() { uint16_t val=convert_channel_10b(THROTTLE); packet[0] = val>>2; // 0..255 - packet[12] |= val & 2; + if(sub_protocol==X450) packet[12] |= val & 2; val=XK_convert_channel(RUDDER); packet[1] = val>>2; - packet[12] |= (val & 2)<<2; + if(sub_protocol==X450) packet[12] |= (val & 2)<<2; val=XK_convert_channel(ELEVATOR); packet[2] = val>>2; - packet[13] |= val & 2; + if(sub_protocol==X450) packet[13] |= val & 2; val=XK_convert_channel(AILERON); packet[3] = val>>2; - packet[13] |= (val & 2)<<2; + if(sub_protocol==X450) packet[13] |= (val & 2)<<2; memset(&packet[4],0x40,3); // Trims @@ -77,11 +77,13 @@ static void __attribute__((unused)) XK_send_packet() if(Channel_data[CH5] > CHANNEL_MIN_COMMAND) packet[10] = 0x04; // 6G-Mode //0x00 default M-Mode + packet[10] |= GET_FLAG(CH7_SW,0x80); // Emergency stop momentary switch packet[11] = GET_FLAG(CH8_SW,0x03) // 3D/6G momentary switch |GET_FLAG(CH6_SW,0x40); // Take off momentary switch - packet[14] = GET_FLAG(CH9_SW,0x01); // Photo momentary switch + packet[14] = GET_FLAG(CH9_SW,0x01) // Photo momentary switch + |GET_FLAG(CH10_SW,0x2); // Video momentary switch } crc=packet[0]; @@ -112,7 +114,7 @@ static void __attribute__((unused)) XK_initialize_txid() for(uint8_t i=0; i