mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-09 22:58:14 +00:00
BUSMINI: 3H altitude hold mode on CH11
This commit is contained in:
parent
8d10c9b004
commit
fc3eec7ae1
@ -42,6 +42,7 @@ enum {
|
|||||||
#define BUGSMINI_CH_SW_PICTURE CH8_SW
|
#define BUGSMINI_CH_SW_PICTURE CH8_SW
|
||||||
#define BUGSMINI_CH_SW_VIDEO CH9_SW
|
#define BUGSMINI_CH_SW_VIDEO CH9_SW
|
||||||
#define BUGSMINI_CH_SW_LED CH10_SW
|
#define BUGSMINI_CH_SW_LED CH10_SW
|
||||||
|
#define BUGSMINI_CH_SW_ALTHOLD CH11_SW
|
||||||
|
|
||||||
// flags packet[12]
|
// flags packet[12]
|
||||||
#define BUGSMINI_FLAG_FLIP 0x08 // automatic flip
|
#define BUGSMINI_FLAG_FLIP 0x08 // automatic flip
|
||||||
@ -54,6 +55,7 @@ enum {
|
|||||||
#define BUGSMINI_FLAG_ARM 0x40 // arm (toggle to turn on motors)
|
#define BUGSMINI_FLAG_ARM 0x40 // arm (toggle to turn on motors)
|
||||||
#define BUGSMINI_FLAG_DISARM 0x20 // disarm (toggle to turn off motors)
|
#define BUGSMINI_FLAG_DISARM 0x20 // disarm (toggle to turn off motors)
|
||||||
#define BUGSMINI_FLAG_ANGLE 0x02 // angle/acro mode (set is angle mode)
|
#define BUGSMINI_FLAG_ANGLE 0x02 // angle/acro mode (set is angle mode)
|
||||||
|
#define BUGSMINI_FLAG_ALTHOLD 0x04 // angle/altitude hold mode (set is altitude mode)
|
||||||
|
|
||||||
static void __attribute__((unused)) BUGSMINI_init()
|
static void __attribute__((unused)) BUGSMINI_init()
|
||||||
{
|
{
|
||||||
@ -133,7 +135,7 @@ static void __attribute__((unused)) BUGSMINI_send_packet(uint8_t bind)
|
|||||||
packet[10]= (((rudder / 5) >> 1) + 7) // dynamic trim 0x07 - 0x39
|
packet[10]= (((rudder / 5) >> 1) + 7) // dynamic trim 0x07 - 0x39
|
||||||
| (rudder << 7);
|
| (rudder << 7);
|
||||||
packet[11]= 0x40 | (throttle << 7);
|
packet[11]= 0x40 | (throttle << 7);
|
||||||
packet[12]= 0x80 | ((packet[12] ^ 0x40) & 0x40) // bugs 3 H doesn't have 0x80 ?
|
packet[12]= 0x80 | ((packet[12] ^ 0x40) & 0x40)
|
||||||
| BUGSMINI_FLAG_MODE
|
| BUGSMINI_FLAG_MODE
|
||||||
| GET_FLAG(BUGSMINI_CH_SW_PICTURE, BUGSMINI_FLAG_PICTURE)
|
| GET_FLAG(BUGSMINI_CH_SW_PICTURE, BUGSMINI_FLAG_PICTURE)
|
||||||
| GET_FLAG(BUGSMINI_CH_SW_VIDEO, BUGSMINI_FLAG_VIDEO);
|
| GET_FLAG(BUGSMINI_CH_SW_VIDEO, BUGSMINI_FLAG_VIDEO);
|
||||||
@ -141,10 +143,11 @@ static void __attribute__((unused)) BUGSMINI_send_packet(uint8_t bind)
|
|||||||
packet[12] |= GET_FLAG(BUGSMINI_CH_SW_FLIP, BUGSMINI_FLAG_FLIP);
|
packet[12] |= GET_FLAG(BUGSMINI_CH_SW_FLIP, BUGSMINI_FLAG_FLIP);
|
||||||
packet[13] = arm_flags
|
packet[13] = arm_flags
|
||||||
| GET_FLAG(BUGSMINI_CH_SW_LED, BUGSMINI_FLAG_LED)
|
| GET_FLAG(BUGSMINI_CH_SW_LED, BUGSMINI_FLAG_LED)
|
||||||
|
| GET_FLAG(BUGSMINI_CH_SW_ALTHOLD, BUGSMINI_FLAG_ALTHOLD)
|
||||||
| GET_FLAG(BUGSMINI_CH_SW_ANGLE, BUGSMINI_FLAG_ANGLE);
|
| GET_FLAG(BUGSMINI_CH_SW_ANGLE, BUGSMINI_FLAG_ANGLE);
|
||||||
|
// BUGS3H althold -> BUGSMINI_FLAG_ALTHOLD|BUGSMINI_FLAG_ANGLE , angle -> 0
|
||||||
packet[14] = 0;
|
packet[14] = 0;
|
||||||
packet[15] = 0; // 0x53 on bugs 3 H ?
|
packet[15] = 0; // a lot of 0x53 and some 0x52 on bugs 3H
|
||||||
}
|
}
|
||||||
uint8_t checksum = 0x6d;
|
uint8_t checksum = 0x6d;
|
||||||
for(uint8_t i=1; i < BUGSMINI_TX_PAYLOAD_SIZE; i++)
|
for(uint8_t i=1; i < BUGSMINI_TX_PAYLOAD_SIZE; i++)
|
||||||
|
@ -62,7 +62,7 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
|
|||||||
else
|
else
|
||||||
#else
|
#else
|
||||||
if(option & BAYANG_OPTION_FLAG_ANALOGAUX)
|
if(option & BAYANG_OPTION_FLAG_ANALOGAUX)
|
||||||
packet[0]= 0xA2; // analog aux is enabled
|
packet[0]= 0xA2; // analog aux is enabled
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
packet[0]= 0xA4;
|
packet[0]= 0xA4;
|
||||||
@ -83,8 +83,6 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
|
|||||||
case DHD_D4:
|
case DHD_D4:
|
||||||
packet[10] = 0xC8;
|
packet[10] = 0xC8;
|
||||||
packet[11] = 0x99;
|
packet[11] = 0x99;
|
||||||
packet[12] = 0x17;
|
|
||||||
packet[13] = 0xED;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
packet[10] = rx_tx_addr[0]; // txid[0]
|
packet[10] = rx_tx_addr[0]; // txid[0]
|
||||||
@ -174,14 +172,13 @@ static void __attribute__((unused)) BAYANG_send_packet(uint8_t bind)
|
|||||||
packet[13] = 0x2E;
|
packet[13] = 0x2E;
|
||||||
break;
|
break;
|
||||||
case DHD_D4:
|
case DHD_D4:
|
||||||
packet[12] = 0x37;
|
packet[12] = 0x37; //0x17 during bind
|
||||||
packet[13] = 0xED;
|
packet[13] = 0xED;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
packet[12] = rx_tx_addr[2]; // txid[2]
|
packet[12] = rx_tx_addr[2]; // txid[2]
|
||||||
if (option & BAYANG_OPTION_FLAG_ANALOGAUX)
|
if (option & BAYANG_OPTION_FLAG_ANALOGAUX)
|
||||||
{
|
{ // Analog aux channel 2 (channel 15)
|
||||||
// Analog aux channel 2 (channel 15)
|
|
||||||
packet[13] = convert_channel_8b(CH15);
|
packet[13] = convert_channel_8b(CH15);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 2
|
#define VERSION_MINOR 2
|
||||||
#define VERSION_REVISION 1
|
#define VERSION_REVISION 1
|
||||||
#define VERSION_PATCH_LEVEL 41
|
#define VERSION_PATCH_LEVEL 42
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
|
Loading…
x
Reference in New Issue
Block a user