mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-09 23:18:14 +00:00
Fix channel and rssi scaling (#279)
This commit is contained in:
parent
0f250bb04b
commit
c2bf63991f
@ -42,14 +42,15 @@ static void __attribute__((unused)) AFHDS2A_Rx_build_telemetry_packet()
|
|||||||
packet_in[idx++] = 14; // number of channels in packet
|
packet_in[idx++] = 14; // number of channels in packet
|
||||||
// pack channels
|
// pack channels
|
||||||
for (uint8_t i = 0; i < 14; i++) {
|
for (uint8_t i = 0; i < 14; i++) {
|
||||||
uint16_t val = packet[9+i*2] | (packet[10+i*2] << 8);
|
uint32_t val = packet[9+i*2] | (packet[10+i*2] << 8);
|
||||||
if (val < 860)
|
if (val < 860)
|
||||||
val = 860;
|
val = 860;
|
||||||
else if (val > 2140)
|
else if (val > 2139)
|
||||||
val = 2140;
|
val = 2139;
|
||||||
val -= 860;
|
// convert ppm (860-2140) to Multi (0-2047)
|
||||||
|
val = ((val-860)<<3)/5;
|
||||||
|
|
||||||
bits |= ((uint32_t)val) << bitsavailable;
|
bits |= val << bitsavailable;
|
||||||
bitsavailable += 11;
|
bitsavailable += 11;
|
||||||
while (bitsavailable >= 8) {
|
while (bitsavailable >= 8) {
|
||||||
packet_in[idx++] = bits & 0xff;
|
packet_in[idx++] = bits & 0xff;
|
||||||
@ -169,7 +170,7 @@ uint16_t AFHDS2A_Rx_callback()
|
|||||||
if (memcmp(&packet[1], rx_id, 4) == 0 && memcmp(&packet[5], rx_tx_addr, 4) == 0) {
|
if (memcmp(&packet[1], rx_id, 4) == 0 && memcmp(&packet[5], rx_tx_addr, 4) == 0) {
|
||||||
if (packet[0] == 0x58 && packet[37] == 0x00 && telemetry_link == 0) { // standard packet, send channels to TX
|
if (packet[0] == 0x58 && packet[37] == 0x00 && telemetry_link == 0) { // standard packet, send channels to TX
|
||||||
int rssi = min(A7105_ReadReg(A7105_1D_RSSI_THOLD),160);
|
int rssi = min(A7105_ReadReg(A7105_1D_RSSI_THOLD),160);
|
||||||
RX_RSSI = map(rssi, 160, 8, 0, 100);
|
RX_RSSI = map16b(rssi, 160, 8, 0, 128);
|
||||||
AFHDS2A_Rx_build_telemetry_packet();
|
AFHDS2A_Rx_build_telemetry_packet();
|
||||||
telemetry_link = 1;
|
telemetry_link = 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user