mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2026-08-01 18:48:59 +00:00
KF606 LED
Add LED channel for KF606 boards
This commit is contained in:
@@ -119,7 +119,7 @@
|
|||||||
22,0,J6Pro,Std,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12
|
22,0,J6Pro,Std,0,CH5,CH6,CH7,CH8,CH9,CH10,CH11,CH12
|
||||||
71,0,JJRC345,JJRC345,1,Flip,HLess,RTH,LED,UNK1,UNK2,UNK3
|
71,0,JJRC345,JJRC345,1,Flip,HLess,RTH,LED,UNK1,UNK2,UNK3
|
||||||
71,1,JJRC345,SkyTmblr,1,Flip,HLess,RTH,LED,UNK1,UNK2,UNK3
|
71,1,JJRC345,SkyTmblr,1,Flip,HLess,RTH,LED,UNK1,UNK2,UNK3
|
||||||
49,0,KF606,KF606,1,Trim
|
49,0,KF606,KF606,1,Trim,LED
|
||||||
49,1,KF606,MIG320,1,Trim,LED
|
49,1,KF606,MIG320,1,Trim,LED
|
||||||
49,2,KF606,ZCZ50,1,Trim,UNK
|
49,2,KF606,ZCZ50,1,Trim,UNK
|
||||||
9,0,KN,WLToys,0,DRate,THold,IdleUp,Gyro,Ttrim,Atrim,Etrim,Rtrim,Hover
|
9,0,KN,WLToys,0,DRate,THold,IdleUp,Gyro,Ttrim,Atrim,Etrim,Rtrim,Hover
|
||||||
|
|||||||
@@ -48,32 +48,19 @@ static void __attribute__((unused)) KF606_send_packet()
|
|||||||
hopping_frequency_no ^= 1; // 2 RF channels
|
hopping_frequency_no ^= 1; // 2 RF channels
|
||||||
|
|
||||||
packet[0] = 0x55;
|
packet[0] = 0x55;
|
||||||
packet[1] = convert_channel_8b(THROTTLE); // 0..255
|
if(sub_protocol == KF606_ZCZ50) len--;
|
||||||
|
packet[len-3] = convert_channel_8b(THROTTLE); // 0..255
|
||||||
// Deadband is needed on aileron, 40 gives +-6%
|
// Deadband is needed on aileron, 40 gives +-6%
|
||||||
switch(sub_protocol)
|
packet[len-2] = convert_channel_8b_limit_deadband(AILERON,0x00,0x80,0xFF,40); // Aileron: High rate:2B..80..DA
|
||||||
{
|
uint8_t p3;
|
||||||
case KF606_KF606:
|
p3 = convert_channel_8b(CH5)>>3; // Aileron trim must be on a separated channel 01..10..1F
|
||||||
packet[2] = convert_channel_8b_limit_deadband(AILERON,0x20,0x80,0xE0,40); // Aileron: Max values:20..80..E0, Low rates:50..80..AF, High rates:3E..80..C1
|
p3 += (packet[2]-0x80)>>3; // Drive trims for more aileron authority
|
||||||
packet[3] = convert_channel_16b_limit(CH5,0xC1,0xDF); // Aileron trim must be on a separated channel C1..D0..DF
|
if(p3 > 0x80)
|
||||||
break;
|
p3 = 0x01;
|
||||||
case KF606_MIG320:
|
else if(p3 > 0x1F)
|
||||||
packet[2] = convert_channel_8b_limit_deadband(AILERON,0x00,0x80,0xFF,40); // Aileron: High rate:2B..80..DA
|
p3 = 0x1F;
|
||||||
packet[3] = convert_channel_16b_limit(CH5,0x01,0x1F); // Aileron trim must be on a separated channel 01..10..1F
|
p3 |= GET_FLAG(CH6_SW, 0xC0); // 0xC0 and 0xE0 are both turning the LED off, not sure if there is another hidden feature
|
||||||
packet[3] += (packet[2]-0x80)>>3; // Drive trims for more aileron authority
|
packet[len-1] = p3;
|
||||||
if(packet[3] > 0x80)
|
|
||||||
packet[3] = 0x01;
|
|
||||||
else if(packet[3] > 0x1F)
|
|
||||||
packet[3] = 0x1F;
|
|
||||||
packet[3] |= GET_FLAG(CH6_SW, 0xC0); // 0xC0 and 0xE0 are both turning the LED off, not sure if there is another hidden feature
|
|
||||||
break;
|
|
||||||
case KF606_ZCZ50:
|
|
||||||
len--; // uses only 3 bytes of payload
|
|
||||||
packet[0] = packet[1]; // Throttle: 0x00..0xFF
|
|
||||||
packet[1] = convert_channel_8b_limit_deadband(AILERON,0x20,0x80,0xE0,40); // Aileron: Max values:20..80..E0, low rate 0x52..0x80..0xB1, high rate: 0x41..0x80..0xC3.
|
|
||||||
packet[2] = convert_channel_16b_limit(CH5,0x01,0x1F); // Trim: 0x01..0x10..0x1F
|
|
||||||
packet[2] |= GET_FLAG(CH6_SW, 0xC0); // Unknown: 0x00 or 0xC0. Left top switch on original TX changes nothing on my plane. Maybe ON/OFF for main motor?
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sub_protocol == KF606_MIG320)
|
if(sub_protocol == KF606_MIG320)
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ CFlie|AIR|38|CFlie||||||||NRF24L01|
|
|||||||
[FrskyX2](Protocols_Details.md#FRSKYX2---64)||64|CH_16|CH_8|EU_16|EU_8|Cloned|Cloned_8|||CC2500|
|
[FrskyX2](Protocols_Details.md#FRSKYX2---64)||64|CH_16|CH_8|EU_16|EU_8|Cloned|Cloned_8|||CC2500|
|
||||||
[Frsky_RX](Protocols_Details.md#FRSKY_RX---55)||55|Multi|CloneTX|EraseTX|CPPM|||||CC2500|
|
[Frsky_RX](Protocols_Details.md#FRSKY_RX---55)||55|Multi|CloneTX|EraseTX|CPPM|||||CC2500|
|
||||||
[Futaba/SFHSS](Protocols_Details.md#Futaba---21)||21|SFHSS||||||||CC2500|
|
[Futaba/SFHSS](Protocols_Details.md#Futaba---21)||21|SFHSS||||||||CC2500|
|
||||||
[FX](Protocols_Details.md#FX---58)||28|816|620|9630|Q560|QF012||||NRF24L01|
|
[FX](Protocols_Details.md#FX---58)||28|FX816|FX620|9630|Q560|QF012|FX818|||NRF24L01|
|
||||||
[FY326](Protocols_Details.md#FY326---20)||20|FY326|FY319|||||||NRF24L01|
|
[FY326](Protocols_Details.md#FY326---20)||20|FY326|FY319|||||||NRF24L01|
|
||||||
[GD00X](Protocols_Details.md#GD00X---47)||47|GD_V1*|GD_V2*|||||||NRF24L01|XN297L
|
[GD00X](Protocols_Details.md#GD00X---47)||47|GD_V1*|GD_V2*|||||||NRF24L01|XN297L
|
||||||
[GW008](Protocols_Details.md#GW008---32)||32|||||||||NRF24L01|XN297
|
[GW008](Protocols_Details.md#GW008---32)||32|||||||||NRF24L01|XN297
|
||||||
@@ -1144,9 +1144,9 @@ New generation of GD models
|
|||||||
### Sub_protocol KF606 - *0*
|
### Sub_protocol KF606 - *0*
|
||||||
Model: KF606
|
Model: KF606
|
||||||
|
|
||||||
CH1|CH2|CH3|CH4|CH5
|
CH1|CH2|CH3|CH4|CH5|CH6
|
||||||
---|---|---|---|---
|
---|---|---|---|---|---
|
||||||
A||T||TRIM
|
A||T||TRIM|LED
|
||||||
|
|
||||||
### Sub_protocol MIG320 - *1*
|
### Sub_protocol MIG320 - *1*
|
||||||
Model: Zhiyang MIG-320
|
Model: Zhiyang MIG-320
|
||||||
@@ -1839,7 +1839,7 @@ FMODE and AUX7 have 4 positions: -100%..-50%=>0, -50%..5%=>1, 5%..50%=>2, 50%..1
|
|||||||
## FX - *58*
|
## FX - *58*
|
||||||
FEI XIONG
|
FEI XIONG
|
||||||
|
|
||||||
### Sub_protocol 816 - *0*
|
### Sub_protocol FX816 - *0*
|
||||||
Model: FX816 P38, B17
|
Model: FX816 P38, B17
|
||||||
|
|
||||||
Only 8 TX IDs available
|
Only 8 TX IDs available
|
||||||
@@ -1848,7 +1848,7 @@ CH1|CH2|CH3|CH4
|
|||||||
---|---|---|---
|
---|---|---|---
|
||||||
A|-|T|-
|
A|-|T|-
|
||||||
|
|
||||||
### Sub_protocol 620 - *1*
|
### Sub_protocol FX620 - *1*
|
||||||
Model: FX620 SU35
|
Model: FX620 SU35
|
||||||
|
|
||||||
CH1|CH2|CH3|CH4
|
CH1|CH2|CH3|CH4
|
||||||
@@ -1890,6 +1890,15 @@ Gyro: -100%=6G, 0%=3D+Gyro, +100%=3D
|
|||||||
|
|
||||||
Reset: Restore fine tunning midpoint
|
Reset: Restore fine tunning midpoint
|
||||||
|
|
||||||
|
### Sub_protocol FX818 - *5*
|
||||||
|
Model: FX818/FX820/FX822/FX823
|
||||||
|
|
||||||
|
Telemetry supported. The plane sends a battery status of good->empty which is visible in A1 (good=4.2V->empty=3.1V) and RSSI gets a dummy value of 100.
|
||||||
|
|
||||||
|
CH1|CH2|CH3|CH4
|
||||||
|
---|---|---|---
|
||||||
|
A|-|T|-
|
||||||
|
|
||||||
## FY326 - *20*
|
## FY326 - *20*
|
||||||
|
|
||||||
### Sub_protocol FY326 - *0*
|
### Sub_protocol FY326 - *0*
|
||||||
|
|||||||
Reference in New Issue
Block a user