ELRS ExpressLRS - Modul an betafpv lite radio

#1
OK, das Gehäuse des Jumper AION Nano Moduls habe ich jetzt passend gemacht und ELRS 3.0.1 aufgespielt. Empfänger ist ein Flywoo CineRace20 mit entsprechendem ELRS Receiver EL24P. Ebenfalls ELRS 3.0.1 eingespielt. Bei beiden die gleiche Bindphrase gesetzt und das Jumper AION Module vermeldet nach dem Einschalten auch Connected.

Nur scheint da jetzt irgendwie nur Blödsinn anzukommen. Laut BetaFlight Configurator sehen die ersten vier Kanäle 988, bis AUX8 1000, AUX9 and 10 dann 1500, AUX11 flackert um 2000 und AUX12 sieht 2012. Stickeingaben haben keinen Einfluß. Die Defaultwerte bei ausgeschaltetem Sender sehen anders aus (Die ersten drei Kanäle stehen auf 1500, der vierte auf Minimum (885).

Der BetaFPV Configurator zum LiteRadio 3 meinte irgendwas wie "unknown ELRS". Das interne Modul hatte ich abgeschaltet, das externe eingeschaltet und rebootet.

Irgendwelche spontanen Ideen?
 

KM|fpv

creator & mentor
Mitarbeiter
#2
Die ersten vier Kanäle sind natürlich die Sticks, mit ihrer 1024er Auflösung. Dass betafpv etwas von unknown tx sagt ist spannend und untermauert ein wenig meine These, dass die ihre eigenes Süppchen kochen.

Die beiden letzten AUX Kanäle 11/12 sind die RSSI Kanäle, welcher dabei was zeigt kann man nachlesen (liege im Bett mit halb offenen Augen).

Die anderen AUX Kanäle sind 1000-2000us fest, sind halt Schalter und slider. Was betaflight sieht mit 1500 sind neutrale Stellungen von Schaltern die nicht konfiguriert sind. Ist also alles richtig und kein Blödsinn.
 
#3
Ist also alles richtig und kein Blödsinn.
Das heisst also, dass die Kommunikation zwischen LiteRadio 3 und Jumper AION Nano nicht richtig funktioniert?
Ich hatte mal UART_INVERTED abgeschaltet, aber das brachte keine Änderung.

Das zeigt übrigens der BetaFPV Configurator:
BetaFPV_Configurator_Jumper_AION_Nano.png
Das LiteRadio 3 ist ja ziemlich "simpel" und hat keine LuaScripts. Ist das ein Problem?
 
#4
So sieht's in BetaFlight Configurator aus:

Jumper AION Nano TX ON:
BetaFlight_Configurator_Jumper_AION_Nano_ON.png
Jumper AION Nano TX OFF:
BetaFlight_Configurator_Jumper_AION_Nano_OFF.png

Noch Vorschläge was man Debuggen könnte? Logicanalyzer zwischen LiteRadio 3 und Jumper AION TX?
Sonst muss ich mir wohl das BetaFPV Nano TX Modul holen. *seufz*
 
#6
Die Beschriftung stimmt so. Wenn die Verbindung steht, sieht der Transmitter wohl etwas, was er als Minimalwerte für die Knüppelpositionen wertet (ON Screenshot). Schalte ich den Transmitter aus, so gibt der Receiver wieder Neutralposition für Roll, Pitch und Yaw, sowie Minimum für Throttle aus (OFF Screenshot).

Knüppel und Schalter des LiteRadio 3 haben keinen Einfluß auf das was der Receiver am Ende ausgibt. Somit funktioniert das für mich nicht wie es soll. :(

Ansonsten scheint die Kommunikation vom Sendemodul zum Receiver, sowie vom Receiver zum FC zu funktionieren. AUX12 ist in der Tat so etwas wie die Signalstärke. Der Wert geht etwas zurück wenn ich zwei Wände zwischen Sender und Empfänger bringe.
 

MrPeak

Well-known member
#8
Es liesse sich schnell eingrenzen, wenn du jemand mit einem zweiten Sender in der Nähe hättest. Für mich sieht das aus wie ein Problem zwischen LiteRadio und TX Modul. Der (wenn auch dünne) Beweis, dass RX und FC kommunizieren, wäre für mich die auf AUX12 gemappte Signalstärke.
 
#11
Also das LiteRadio 3 sendet alle 50ms ein DEVICE_PING Paket an das Jumper AION Modul. Danach sieht man auf der CRSF Leitung eine längere Kette an Bytes. Offensichtlich vom Jumper AION Modul. Der Pegel ist geringfügig kleiner.

Ich habe mir das CRSF Protocol jetzt aus verschiedenen Sourcen zusammengesucht. Zur generellen Struktur: Betaflight crsf.c, Protokoll Definitionen: ExpressLRS crsf_protocol.h.

Damit konnte ich zumindestens das erste Paket dekodieren. Achja, Baudrate ist 400000 (nicht 420000 wie in den Betaflight Sourcen erwähnt) und das Signal musste noch invertiert werden.
CRSF_LiteRadio3_Jumper_AION_Nano_TX.png
Die generelle Paketstruktur ist: <Device address><Frame length><Type><Payload><CRC>
- Device address: 0xEE (CRSF_TRANSMITTER)
- Frame length: 4
- Type: 0x28 (DEVICE_PING)
- Payload: 0x00, 0xEA, 0x54, 0x93 (keine Ahnung)
- CRC: 0x53 (nicht überprüft)

Kennt jemand eine bessere Protokollbeschreibung von CRSF als in den Sourcen zu wühlen?
 
#12
Es gibt doch eine Beschreibung des CRSF Protokolls. Keine Ahnung warum ich das bei der Suche nicht auf Anhieb gefunden habe.

Wie man oben sieht wurde EE 28 00 EA 54 93 53 gesendet. Das DEVICE_PING Paket ist aber nur EE 04 28 00 EA 54. Die 93 53 wurden zusätzlich gesendet und überschrieben das erste Byte der Antwort vom Jumper AION.
Seltsamerweise sieht man im Beispiel für das CRSF Protokoll ebenfalls ein DEVICE_PING Paket mit zwei extra Bytes. Keine Ahnung ob das irgendeine Bedeutung hat.
 
#13
Dieses Verhalten sieht man nur bei ELRS Version 3.0.1 auf dem Jumper AION. Bei späteren Versionen ist die zeitliche Verzögerung groß genug, damit sie nicht von den zwei extra Bytes überschrieben werden kann.

Leider löst es das Problem nicht. Das LiteRadio 3 sendet kontinuierlich DEVICE_PING Pakete und das Jumper AION antwortet mit DEVICE_INFO Paketen, aber anscheinend kommt das irgendwie nicht an.

Das sieht in etwa so aus (eigener CRSF Dekoder):
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17 00
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17
RADIO_TRANSMITTER: RADIO_ID: ea ee 10 00 00 9c 40 00 00 02 44
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17
RADIO_TRANSMITTER: DEVICE_INFO: dst=RADIO_TRANSMITTER, src=CRSF_TRANSMITTER, disp_name='AION 2G4NANO TX', ser='ELRS', hw_ver=[00 00 00 00], sw_ver=[00 03 00 00], nr_cfg_params=21, param_proto_ver=0
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17
RADIO_TRANSMITTER: DEVICE_INFO: dst=RADIO_TRANSMITTER, src=CRSF_TRANSMITTER, disp_name='AION 2G4NANO TX', ser='ELRS', hw_ver=[00 00 00 00], sw_ver=[00 03 00 00], nr_cfg_params=21, param_proto_ver=0
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17
RADIO_TRANSMITTER: DEVICE_INFO: dst=RADIO_TRANSMITTER, src=CRSF_TRANSMITTER, disp_name='AION 2G4NANO TX', ser='ELRS', hw_ver=[00 00 00 00], sw_ver=[00 03 00 00], nr_cfg_params=21, param_proto_ver=0
CRSF_TRANSMITTER: DEVICE_PING: dst=BROADCAST, src=RADIO_TRANSMITTER
extra: 93 17

Mehr kann ich wohl nicht mehr machen, da ich nicht in die BetaFPV Firmware reinschauen kann.
Statt jetzt ein BetaFPV Nano TX zu kaufen, werde ich mir wohl eher eine Jumper T-Lite V2 oder T-Pro zulegen.
 
#14
Um das jetzt hier abzuschliessen: Nach Informationen aus Discord scheint die Firmware der LiteRadio 3 keine externen ELRS Module mit ELRS Versionen >2.0.1 zu unterstützen.
Leider gibt's für ELRS 2.0.1 kein Build Target für das Jumper AION Modul. Könnte man vielleicht backporten, aber irgendwann ist auch mal Schluss.
 
FPV1

Banggood

Oben Unten