SLT2 final

This commit is contained in:
pascallanger 2025-02-26 11:31:26 +01:00
parent 78f6af6448
commit d800f2c333
3 changed files with 70 additions and 62 deletions

View File

@ -19,7 +19,7 @@
#define VERSION_MAJOR 1 #define VERSION_MAJOR 1
#define VERSION_MINOR 3 #define VERSION_MINOR 3
#define VERSION_REVISION 4 #define VERSION_REVISION 4
#define VERSION_PATCH_LEVEL 39 #define VERSION_PATCH_LEVEL 40
#define MODE_SERIAL 0 #define MODE_SERIAL 0

View File

@ -166,10 +166,13 @@ static void __attribute__((unused)) SLT_build_packet()
|GET_FLAG(CH12_SW, FLAG_MR100_PICTURE); // Does not exist on the Q100 but... |GET_FLAG(CH12_SW, FLAG_MR100_PICTURE); // Does not exist on the Q100 but...
packet[7] = convert_channel_8b(CH7); packet[7] = convert_channel_8b(CH7);
packet[8] = convert_channel_8b(CH8); packet[8] = convert_channel_8b(CH8);
if(sub_protocol==RF_SIM) { if(sub_protocol == RF_SIM)
{
packet[9] = convert_channel_8b(CH9); packet[9] = convert_channel_8b(CH9);
packet[10] = convert_channel_8b(CH10); packet[10] = convert_channel_8b(CH10);
} else { }
else
{
packet[9] = 0xAA; //normal mode for Q100/Q200, unknown for V2/MR100 packet[9] = 0xAA; //normal mode for Q100/Q200, unknown for V2/MR100
packet[10] = 0x00; //normal mode for Q100/Q200, unknown for V2/MR100 packet[10] = 0x00; //normal mode for Q100/Q200, unknown for V2/MR100
} }
@ -281,26 +284,7 @@ void SLT_init()
packet_count = 0; packet_count = 0;
packet_sent = 0; packet_sent = 0;
hopping_frequency_no = 0; hopping_frequency_no = 0;
if(sub_protocol==Q200)
{ //Q200: Force high part of the ID otherwise it won't bind
rx_tx_addr[0]=0x01;
rx_tx_addr[1]=0x02;
#ifdef SLT_Q200_FORCE_ID // ID taken from TX dumps
rx_tx_addr[0]=0x01;rx_tx_addr[1]=0x02;rx_tx_addr[2]=0x6A;rx_tx_addr[3]=0x31;
/* rx_tx_addr[0]=0x01;rx_tx_addr[1]=0x02;rx_tx_addr[2]=0x0B;rx_tx_addr[3]=0x57;*/
#endif
}
if(sub_protocol==SLT_V1_4)
{
rx_tx_addr[0]=0xF4;
rx_tx_addr[1]=0x71;
#ifdef SLT_V1_4_FORCE_ID
memcpy(rx_tx_addr,"\xF4\x71\x8D\x01",SLT_TXID_SIZE);
#endif
}
SLT_RF_init();
SLT_set_freq();
phase = SLT_BUILD;
if(sub_protocol == SLT_V1) if(sub_protocol == SLT_V1)
{ {
packet_length = SLT_PAYLOADSIZE_V1; packet_length = SLT_PAYLOADSIZE_V1;
@ -314,6 +298,12 @@ void SLT_init()
#ifdef MULTI_SYNC #ifdef MULTI_SYNC
packet_period = 18000; //18ms packet_period = 18000; //18ms
#endif #endif
//Force high part of the ID otherwise the RF frequencies do not match, only tested the 2 last bytes...
rx_tx_addr[0]=0xF4;
rx_tx_addr[1]=0x71;
#ifdef SLT_V1_4_FORCE_ID // ID taken from TX dumps
memcpy(rx_tx_addr,"\xF4\x71\x8D\x01",SLT_TXID_SIZE);
#endif
} }
else //V2 else //V2
{ {
@ -322,6 +312,21 @@ void SLT_init()
packet_period = 13730+2*SLT_V2_TIMING_PACKET; //~18ms packet_period = 13730+2*SLT_V2_TIMING_PACKET; //~18ms
#endif #endif
} }
if(sub_protocol == Q200)
{ //Q200: Force high part of the ID otherwise it won't bind
rx_tx_addr[0]=0x01;
rx_tx_addr[1]=0x02;
#ifdef SLT_Q200_FORCE_ID // ID taken from TX dumps
rx_tx_addr[0]=0x01;rx_tx_addr[1]=0x02;rx_tx_addr[2]=0x6A;rx_tx_addr[3]=0x31;
/* rx_tx_addr[0]=0x01;rx_tx_addr[1]=0x02;rx_tx_addr[2]=0x0B;rx_tx_addr[3]=0x57;*/
#endif
}
SLT_RF_init();
SLT_set_freq();
phase = SLT_BUILD;
} }
#endif #endif

View File

@ -1441,11 +1441,14 @@ FLIP: sets model into flip mode for approx 5 seconds at each throw of switch (re
MODE: -100% level, +100% acro MODE: -100% level, +100% acro
### Sub_protocol V1_4CH - *5* ### Sub_protocol V1_4CH - *5*
Transmitters: SLT2 and SLT2 DLC, Receivers: SPMXSE2825RX, SPMXSBER1025G, SPMXSE4510RX, ...
CH1|CH2|CH3|CH4 CH1|CH2|CH3|CH4
---|---|---|--- ---|---|---|---
CH1|CH2|CH3|CH4 CH1|CH2|CH3|CH4
CH4 is used for DSC settings: -35% off to +15% full
### Sub_protocol RF_SIM - *6* ### Sub_protocol RF_SIM - *6*
Models: the SLT-dongle included in RealFlight 7.5 Models: the SLT-dongle included in RealFlight 7.5