mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 18:28:15 +00:00
Fix XK450 twitching?
This commit is contained in:
parent
b4421306c0
commit
20e32c4cb0
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 3
|
#define VERSION_MINOR 3
|
||||||
#define VERSION_REVISION 1
|
#define VERSION_REVISION 1
|
||||||
#define VERSION_PATCH_LEVEL 77
|
#define VERSION_PATCH_LEVEL 78
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
@ -103,6 +103,7 @@ enum PROTOCOLS
|
|||||||
PROTO_RLINK = 74, // =>CC2500
|
PROTO_RLINK = 74, // =>CC2500
|
||||||
PROTO_REALACC = 76, // =>NRF24L01
|
PROTO_REALACC = 76, // =>NRF24L01
|
||||||
PROTO_OMP = 77, // =>CC2500 & NRF24L01
|
PROTO_OMP = 77, // =>CC2500 & NRF24L01
|
||||||
|
PROTO_MLINK = 78, // =>CYRF6936
|
||||||
|
|
||||||
PROTO_NANORF = 126, // =>NRF24L01
|
PROTO_NANORF = 126, // =>NRF24L01
|
||||||
PROTO_TEST = 127, // =>CC2500
|
PROTO_TEST = 127, // =>CC2500
|
||||||
@ -834,6 +835,7 @@ Serial: 100000 Baud 8e2 _ xxxx xxxx p --
|
|||||||
RLINK 74
|
RLINK 74
|
||||||
REALACC 76
|
REALACC 76
|
||||||
OMP 77
|
OMP 77
|
||||||
|
MLINK 78
|
||||||
BindBit=> 0x80 1=Bind/0=No
|
BindBit=> 0x80 1=Bind/0=No
|
||||||
AutoBindBit=> 0x40 1=Yes /0=No
|
AutoBindBit=> 0x40 1=Yes /0=No
|
||||||
RangeCheck=> 0x20 1=Yes /0=No
|
RangeCheck=> 0x20 1=Yes /0=No
|
||||||
|
@ -29,7 +29,16 @@ Multiprotocol is distributed in the hope that it will be useful,
|
|||||||
|
|
||||||
static uint16_t __attribute__((unused)) XK_convert_channel(uint8_t num)
|
static uint16_t __attribute__((unused)) XK_convert_channel(uint8_t num)
|
||||||
{
|
{
|
||||||
uint16_t val=convert_channel_10b(num);
|
uint16_t val;
|
||||||
|
if(num==RUDDER)
|
||||||
|
{// introduce deadband on rudder to prevent twitching
|
||||||
|
//debug("RUD:%d",val);
|
||||||
|
val=convert_channel_8b_limit_deadband(RUDDER,0x00,0x80, 0xFF, 40)<<2;
|
||||||
|
//debugln(",%d",val);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
val=convert_channel_10b(num);
|
||||||
|
|
||||||
// 1FF..01=left, 00=center, 200..3FF=right
|
// 1FF..01=left, 00=center, 200..3FF=right
|
||||||
if(val==0x200)
|
if(val==0x200)
|
||||||
val=0; // 0
|
val=0; // 0
|
||||||
@ -58,16 +67,16 @@ static void __attribute__((unused)) XK_send_packet()
|
|||||||
{
|
{
|
||||||
uint16_t val=convert_channel_10b(THROTTLE);
|
uint16_t val=convert_channel_10b(THROTTLE);
|
||||||
packet[0] = val>>2; // 0..255
|
packet[0] = val>>2; // 0..255
|
||||||
//packet[12] |= val & 2;
|
packet[12] |= val & 2;
|
||||||
val=XK_convert_channel(RUDDER);
|
val=XK_convert_channel(RUDDER);
|
||||||
packet[1] = val>>2;
|
packet[1] = val>>2;
|
||||||
//packet[12] |= (val & 2)<<2;
|
packet[12] |= (val & 2)<<2;
|
||||||
val=XK_convert_channel(ELEVATOR);
|
val=XK_convert_channel(ELEVATOR);
|
||||||
packet[2] = val>>2;
|
packet[2] = val>>2;
|
||||||
//packet[13] |= val & 2;
|
packet[13] |= val & 2;
|
||||||
val=XK_convert_channel(AILERON);
|
val=XK_convert_channel(AILERON);
|
||||||
packet[3] = val>>2;
|
packet[3] = val>>2;
|
||||||
//packet[13] |= (val & 2)<<2;
|
packet[13] |= (val & 2)<<2;
|
||||||
|
|
||||||
memset(&packet[4],0x40,3); // Trims
|
memset(&packet[4],0x40,3); // Trims
|
||||||
|
|
||||||
@ -84,6 +93,7 @@ static void __attribute__((unused)) XK_send_packet()
|
|||||||
|GET_FLAG(CH6_SW,0x40); // Take off 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
|
|GET_FLAG(CH10_SW,0x2); // Video momentary switch
|
||||||
|
//debugln("P1:%02X,P12:%02X",packet[1],packet[12]);
|
||||||
}
|
}
|
||||||
|
|
||||||
crc=packet[0];
|
crc=packet[0];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user