mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-12-25 21:03:15 +00:00
Compare commits
3 Commits
pascallang
...
dcbc557bf7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcbc557bf7 | ||
|
|
e556f5cc40 | ||
|
|
9ef2415178 |
@@ -232,7 +232,7 @@ static void __attribute__((unused)) RLINK_send_packet()
|
||||
packet[1] |= 0x21; //air 0x21 on dump but it looks to support telemetry at least RSSI
|
||||
break;
|
||||
case RLINK_DUMBORC:
|
||||
packet[1] = 0x00; //always 0x00 on dump
|
||||
packet[1] |= 0x01; //always 0x00 on dump but does appear to support telemtry on newer transmitters
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -384,8 +384,9 @@ uint16_t RLINK_callback()
|
||||
debug("Telem:");
|
||||
#endif
|
||||
CC2500_ReadData(packet_in, len);
|
||||
if(packet_in[0]==RLINK_RX_PACKET_LEN && (packet_in[len-1] & 0x80) && memcmp(&packet[2],rx_tx_addr,RLINK_TX_ID_LEN)==0 && packet_in[6]==packet[1])
|
||||
if(packet_in[0]==RLINK_RX_PACKET_LEN && (packet_in[len-1] & 0x80) && memcmp(&packet[2],rx_tx_addr,RLINK_TX_ID_LEN)==0 && (packet_in[6]==packet[1] || sub_protocol == RLINK_DUMBORC))
|
||||
{//Correct telemetry received: length, CRC, ID and type
|
||||
//packet_in[6] is 0x00 on almost all DumboRC RX so assume it is always valid
|
||||
#ifdef RLINK_DEBUG_TELEM
|
||||
for(uint8_t i=0;i<len;i++)
|
||||
debug(" %02X",packet_in[i]);
|
||||
|
||||
@@ -169,6 +169,7 @@ uint16_t SGF22_callback()
|
||||
{
|
||||
#ifdef SGF22_HUB_TELEMETRY
|
||||
bool rx = false;
|
||||
static uint8_t telem_count = 0;
|
||||
#endif
|
||||
|
||||
switch(phase)
|
||||
@@ -195,6 +196,8 @@ uint16_t SGF22_callback()
|
||||
{//packets: 00 0B 00 -> 00 0B 01
|
||||
telemetry_link = 1;
|
||||
v_lipo1 = packet_in[2] ? 0 : 255; //2.9V for 1S, 7.0V for 2S
|
||||
telemetry_lost = 0;
|
||||
telem_count = 0;
|
||||
}
|
||||
#if 0
|
||||
debug("L %d ",p_len);
|
||||
@@ -204,6 +207,20 @@ uint16_t SGF22_callback()
|
||||
debugln("");
|
||||
#endif
|
||||
}
|
||||
if(telem_count > 4*63) // Around 3.5sec with no telemetry
|
||||
telemetry_lost = 1;
|
||||
else
|
||||
{
|
||||
telem_count++;
|
||||
if(!telemetry_lost && (telem_count & 0x3F) == 0)
|
||||
{// Should have received a telem packet but... Send telem to the radio to keep it alive
|
||||
telemetry_link = 1;
|
||||
#if 0
|
||||
debugln("Miss");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
phase++;
|
||||
break;
|
||||
@@ -245,6 +262,7 @@ void SGF22_init()
|
||||
phase = SGF22_DATA1;
|
||||
#ifdef SGF22_HUB_TELEMETRY
|
||||
RX_RSSI = 100; // Dummy value
|
||||
telemetry_lost = 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ uint16_t V761_callback()
|
||||
else
|
||||
{
|
||||
packet_count++;
|
||||
if(!telemetry_lost && !rx && (packet_count%64) == 0)
|
||||
if(!telemetry_lost && !rx && (packet_count & 0x3F) == 0)
|
||||
{// Should have received a telem packet but... Send telem to the radio to keep it alive
|
||||
telemetry_link = 1;
|
||||
#ifdef V761_TELEM_DEBUG
|
||||
|
||||
@@ -62,7 +62,7 @@ You've upgraded the module but the radio does not display the name of the protoc
|
||||
# Available Protocol Table of Contents (Listed Alphabetically)
|
||||
|
||||
Protocol Name|Build|Protocol Number|Sub_Proto 0|Sub_Proto 1|Sub_Proto 2|Sub_Proto 3|Sub_Proto 4|Sub_Proto 5|Sub_Proto 6|Sub_Proto 7|RF Module|Emulation
|
||||
---|---|---|---|---|---|---|---|---|---|---|---
|
||||
---|---|---|---|---|---|---|---|---|---|---|---|---
|
||||
[Assan](Protocols_Details.md#ASSAN---24)|AIR/SFC|24|||||||||NRF24L01|
|
||||
[Bayang](Protocols_Details.md#BAYANG---14)|AIR/SFC|14|Bayang|H8S3D|X16_AH|IRDRONE|DHD_D4|QX100|||NRF24L01|XN297
|
||||
[Bayang RX](Protocols_Details.md#BAYANG-RX---59)|AIR/SFC|59|Multi|CPPM|||||||NRF24L01|XN297
|
||||
|
||||
Reference in New Issue
Block a user