mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-07-01 10:17:53 +00:00
Hubsan sub_protocol 501 features
sub_protocol H501 Model H122D: add flip on ch13 and OSD on ch14 Model H123D: add flight modes on ch16 -> -100% Sport mode 1,0% Sport mode 2, +100% Acro
This commit is contained in:
parent
e6f16700e4
commit
f515ba79af
@ -49,12 +49,19 @@ enum{
|
|||||||
// flags going to packet[9] (H501S)
|
// flags going to packet[9] (H501S)
|
||||||
FLAG_H501_VIDEO = 0x01,
|
FLAG_H501_VIDEO = 0x01,
|
||||||
FLAG_H501_LED = 0x04,
|
FLAG_H501_LED = 0x04,
|
||||||
|
FLAG_H122D_FLIP = 0x08, //H122D
|
||||||
FLAG_H501_RTH = 0x20,
|
FLAG_H501_RTH = 0x20,
|
||||||
FLAG_H501_HEADLESS1 = 0x40,
|
FLAG_H501_HEADLESS1 = 0x40,
|
||||||
FLAG_H501_GPS_HOLD = 0x80,
|
FLAG_H501_GPS_HOLD = 0x80,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum{
|
enum{
|
||||||
|
// flags going to packet[11] (H122D & H123D)
|
||||||
|
FLAG_H123D_FMODES = 0x03, //H123D 3 FMODES: Sport mode 1, Sport mode 2, Acro
|
||||||
|
FLAG_H122D_OSD = 0x20, //H122D OSD
|
||||||
|
};
|
||||||
|
|
||||||
|
enum{
|
||||||
// flags going to packet[13] (H501S)
|
// flags going to packet[13] (H501S)
|
||||||
FLAG_H501_SNAPSHOT = 0x01,
|
FLAG_H501_SNAPSHOT = 0x01,
|
||||||
FLAG_H501_HEADLESS2 = 0x02,
|
FLAG_H501_HEADLESS2 = 0x02,
|
||||||
@ -203,10 +210,23 @@ static void __attribute__((unused)) hubsan_build_packet()
|
|||||||
packet[9] = 0x02
|
packet[9] = 0x02
|
||||||
| GET_FLAG(CH6_SW, FLAG_H501_LED)
|
| GET_FLAG(CH6_SW, FLAG_H501_LED)
|
||||||
| GET_FLAG(CH8_SW, FLAG_H501_VIDEO)
|
| GET_FLAG(CH8_SW, FLAG_H501_VIDEO)
|
||||||
|
| GET_FLAG(CH13_SW, FLAG_H122D_FLIP)
|
||||||
| GET_FLAG(CH5_SW, FLAG_H501_RTH)
|
| GET_FLAG(CH5_SW, FLAG_H501_RTH)
|
||||||
| GET_FLAG(CH11_SW, FLAG_H501_GPS_HOLD)
|
| GET_FLAG(CH11_SW, FLAG_H501_GPS_HOLD)
|
||||||
| GET_FLAG(CH9_SW, FLAG_H501_HEADLESS1);
|
| GET_FLAG(CH9_SW, FLAG_H501_HEADLESS1);
|
||||||
//packet[10]= 0x1A;
|
//packet[10]= 0x1A;
|
||||||
|
|
||||||
|
//packet[11] content 0x00 is default
|
||||||
|
//H123D specific -> Flight modes => Does this needs to be a sub_protocol to work?
|
||||||
|
packet[11] = 0x41; // Sport mode 1
|
||||||
|
if(Channel_data[CH16]>CHANNEL_MIN_COMMAND)
|
||||||
|
packet[11]++; // 0x42 Sport mode 2
|
||||||
|
if(Channel_data[CH16]>CHANNEL_MAX_COMMAND)
|
||||||
|
packet[11]++; // 0x43 Acro
|
||||||
|
//H122D specific -> OSD => Does this needs to be a sub_protocol to work?
|
||||||
|
packet[11]|= 0x80
|
||||||
|
| GET_FLAG(CH14_SW,FLAG_H122D_OSD);
|
||||||
|
|
||||||
packet[13] = GET_FLAG(CH10_SW, FLAG_H501_HEADLESS2)
|
packet[13] = GET_FLAG(CH10_SW, FLAG_H501_HEADLESS2)
|
||||||
| GET_FLAG(CH12_SW, FLAG_H501_ALT_HOLD)
|
| GET_FLAG(CH12_SW, FLAG_H501_ALT_HOLD)
|
||||||
| GET_FLAG(CH7_SW, FLAG_H501_SNAPSHOT);
|
| GET_FLAG(CH7_SW, FLAG_H501_SNAPSHOT);
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#define VERSION_MAJOR 1
|
#define VERSION_MAJOR 1
|
||||||
#define VERSION_MINOR 2
|
#define VERSION_MINOR 2
|
||||||
#define VERSION_REVISION 0
|
#define VERSION_REVISION 0
|
||||||
#define VERSION_PATCH_LEVEL 34
|
#define VERSION_PATCH_LEVEL 35
|
||||||
|
|
||||||
//******************
|
//******************
|
||||||
// Protocols
|
// Protocols
|
||||||
|
Loading…
x
Reference in New Issue
Block a user