Rates in Bayang and MJXQ

This commit is contained in:
Pascal Langer 2017-12-01 15:02:24 +01:00
parent e10dc6dcec
commit 7ff482dafe
4 changed files with 30 additions and 16 deletions

View File

@ -75,7 +75,9 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
else
{
uint16_t val;
switch (sub_protocol) {
uint8_t dyntrim = 1;
switch (sub_protocol)
{
case X16_AH:
case IRDRONE:
packet[0] = 0xA6;
@ -97,22 +99,27 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
if(Servo_AUX4)
packet[2] |= BAYANG_FLAG_VIDEO;
if(Servo_AUX5)
{
packet[2] |= BAYANG_FLAG_HEADLESS;
dyntrim = 0;
}
//Flags packet[3]
packet[3] = 0x00;
if(Servo_AUX6)
packet[3] = BAYANG_FLAG_INVERTED;
if(Servo_AUX7)
packet[3] |= BAYANG_FLAG_TAKE_OFF;
dyntrim = 0;
if(Servo_AUX8)
packet[3] |= BAYANG_FLAG_TAKE_OFF;
if(Servo_AUX9)
packet[3] |= BAYANG_FLAG_EMG_STOP;
//Aileron
val = convert_channel_10b(AILERON);
packet[4] = (val>>8) + ((val>>2) & 0xFC);
packet[4] = (val>>8) + (dyntrim ? ((val>>2) & 0xFC) : 0x7C);
packet[5] = val & 0xFF;
//Elevator
val = convert_channel_10b(ELEVATOR);
packet[6] = (val>>8) + ((val>>2) & 0xFC);
packet[6] = (val>>8) + (dyntrim ? ((val>>2) & 0xFC) : 0x7C);
packet[7] = val & 0xFF;
//Throttle
val = convert_channel_10b(THROTTLE);
@ -120,7 +127,7 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
packet[9] = val & 0xFF;
//Rudder
val = convert_channel_10b(RUDDER);
packet[10] = (val>>8) + (val>>2 & 0xFC);
packet[10] = (val>>8) + (dyntrim ? ((val>>2) & 0xFC) : 0x7C);
packet[11] = val & 0xFF;
}
switch (sub_protocol)

View File

@ -105,9 +105,9 @@ static void __attribute__((unused)) MJXQ_send_packet(uint8_t bind)
packet[1] = convert_channel_s8b(RUDDER);
packet[4] = 0x40; // rudder does not work well with dyntrim
packet[2] = 0x80 ^ convert_channel_s8b(ELEVATOR);
packet[5] = GET_FLAG(Servo_AUX5, 1) ? 0x40 : MJXQ_CHAN2TRIM(packet[2]); // trim elevator
packet[5] = (Servo_AUX5 || Servo_AUX10) ? 0x40 : MJXQ_CHAN2TRIM(packet[2]); // trim elevator
packet[3] = convert_channel_s8b(AILERON);
packet[6] = GET_FLAG(Servo_AUX5, 1) ? 0x40 : MJXQ_CHAN2TRIM(packet[3]); // trim aileron
packet[6] = (Servo_AUX5 || Servo_AUX10) ? 0x40 : MJXQ_CHAN2TRIM(packet[3]); // trim aileron
packet[7] = rx_tx_addr[0];
packet[8] = rx_tx_addr[1];
packet[9] = rx_tx_addr[2];
@ -128,6 +128,7 @@ static void __attribute__((unused)) MJXQ_send_packet(uint8_t bind)
// Servo_AUX7 AUTOFLIP // X800, X600
// Servo_AUX8 PAN
// Servo_AUX9 TILT
// Servo_AUX10 XTRM // Dyntrim, don't use if high.
switch(sub_protocol)
{
case H26WH:

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 1
#define VERSION_REVISION 6
#define VERSION_PATCH_LEVEL 36
#define VERSION_PATCH_LEVEL 37
//******************
// Protocols
//******************
@ -378,6 +378,8 @@ enum FailSafeMode {
#define Servo_AUX6 (Servo_AUX & _BV(5))
#define Servo_AUX7 (Servo_AUX & _BV(6))
#define Servo_AUX8 (Servo_AUX & _BV(7))
#define Servo_AUX9 (Servo_data[AUX9 ]>PPM_SWITCH)
#define Servo_AUX10 (Servo_data[AUX10]>PPM_SWITCH)
//************************
//*** Power settings ***

View File

@ -379,9 +379,11 @@ Models: EAchine H8(C) mini, BayangToys X6/X7/X9, JJRC JJ850, Floureon H101 ...
Autobind protocol
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10
---|---|---|---|---|---|---|---|---|----
A|E|T|R|FLIP|RTH|PICTURE|VIDEO|HEADLESS|INVERTED
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11
---|---|---|---|---|---|---|---|---|----|----
A|E|T|R|FLIP|RTH|PICTURE|VIDEO|HEADLESS|INVERTED|RATE
RATE: -100%(default)=>higher rates by enabling dynamic trims (except for Headless), 100%=>disable dynamic trims
### Sub_protocol BAYANG - *0*
Option=0 -> normal Bayang protocol
@ -396,14 +398,14 @@ Same channels assignement as above.
### Sub_protocol X16_AH - *2*
Model: X16 AH
CH11
CH12
----
TAKE_OFF
### Sub_protocol IRDRONE - *3*
Model: IRDRONE
CH11|CH12
CH12|CH13
----|----
TAKE_OFF|EMG_STOP
@ -610,9 +612,11 @@ ARM|
## MJXQ - *18*
Autobind protocol
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12|CH13
---|---|---|---|---|---|---|---|---|---|---|---|---
A|E|T|R|FLIP|LED|PICTURE|VIDEO|HEADLESS|RTH|AUTOFLIP|PAN|TILT
CH1|CH2|CH3|CH4|CH5|CH6|CH7|CH8|CH9|CH10|CH11|CH12|CH13|CH14
---|---|---|---|---|---|---|---|---|----|----|----|----|----
A|E|T|R|FLIP|LED|PICTURE|VIDEO|HEADLESS|RTH|AUTOFLIP|PAN|TILT|RATE
RATE: -100%(default)=>higher rates by enabling dynamic trims (except for Headless), 100%=>disable dynamic trims
### Sub_protocol WLH08 - *0*
### Sub_protocol X600 - *1*