OXSENS OpenXsensor Projekt für CRSF Protocol (RP2040)

Carbonator

Allerhopp ;)
#1
Mstrens hat vor kurzem sein GitHub Projekt online gestellt.
https://github.com/mstrens/expressLRS_oXs
Es ist etwas mühsam und zeitintensiv die Umgebung zu installieren. Hier eine Übersicht der erforderlichen Schritte:
- den Editor Visual Basic Code installieren
- in Visual Basic Code PlatformIO (unter Extensions) installieren
- GIT installieren: Git - Downloading Package
- Neustart
- Unter PlatformIO Wiz-IO installieren, das ist die Plattform, die mstrens benutzt https://github.com/Wiz-IO/wizio-pico
1646557842592.png
Das dauert wieder eine Weile, je nach Internet Verbindung.
- Ein neues Projekt in PlatformIO anlegen, mit der platform wizio-pico und dem Board pico-dap, die erforderlichen Daten werden dann gezogen und gespeichert
- mstrens Projekt als zip-Datei laden und entpacken
- dieses Projekt in PlatformIO öffnen

Ich musste dann das board = raspberry-mstrens aus der platformio.ini löschen und in der Projekt Konfiguration das Board pico-dab einsetzen, um erfolgreich kompilieren zu können.
1646558348408.png
Da meine Boards noch auf dem Weg ist, konnte ich noch nichts testen. Es gibt bei den Boards unter Wiz-IO noch eine zweite Möglichkeit, eventuell muss/kann man diese wählen:
1646558780299.png
Oder es benötigt tatsächlich die board = raspberry-mstrens Konfiguration, die ich aber nicht zum Laufen brachte. Ich vermute, mstrens hat hier eine eigene Board-Definition hinterlegt, aber wirklich verstehen tue ich den Punkt nicht.
Seiner Warnung, dass diese Umgebung komplizierter ist als die Arduino-IDE, mag ich nicht wirklich widersprechen ;)
 

Carbonator

Allerhopp ;)
#3
Mstrens hat mir seine Board-Definition geschickt. Möglicherweise funktioniert pico-dab aber auch, ich probiere es aus. Das entpackte File gehört in "users/YOU USER/.platformio/platforms/wizio-pico/board/
 

Anhänge

#4
Das Projekt ist zum Glück noch rechtzeitig richtig abgebogen ;)
- es ist kein Informatiker mehr nötig ;)
- Standard Baudrate ist jetzt 420000
- uBlox GPS ready
- 8 PWM-Kanäle und SBus können ausgegeben werden
- Konfiguration ist über ein Terminalprogramm möglich

Steckt man einen jungfräulichen RP mit gedrückter Boot-Taste an, wird ein Laufwerk "RPI-RP2" mit 2 Dateien angezeigt (dauert etwas). Dort hinein kopiert man das heruntergeladenene UF2 File. Der Bootloader installiert sofort den Code und statt des Laufwerks erscheint dann ein neuer COM-Port im Gerätemanager.

An diesen COM-Port schickt man dann im Terminalprogramm ein CR/LF und dieses Konfigurationsmenue erscheint:
1648575039057.png
 
Erhaltene "Gefällt mir": FJH

jasc

Well-known member
#5
Tach
öhm, ich leg mal los, falls das hier falsch ist, bescheid sagen :)

Ich flieg TBS Crossfire 868 und würde das eigentlich auch gern im Segler fliegen (hatte wegen FrSky Accst nun fast einen Totalschaden) aber mir hat bisher halt Vario und GPS gefehlt. Das Matek Ding ist zwar nett, aber doof, da die Servos von diesem kleinen Bec gepowered werden, ich aber 8V HV habe.
Daher die Frage: kann ich mir damit einen CRSF+Vario+GPS Empfänger für 7 Servos tüddeln ??
Gibts nen PinOut für diesen kleinen RP2040 ??
 
#6
Daher die Frage: kann ich mir damit einen CRSF+Vario+GPS Empfänger für 7 Servos tüddeln ?
Es ist dafür ausgelegt. Aber das Projekt ist noch in einem frühen Stadium. Ich bekomme bis jetzt nur das Vario ans Laufen und habe auch noch keine Kommunikation mit meinem Tracer RX. Das kann aber auch an mir liegen, mit CRSF habe ich noch nicht viel Erfahrung gesammelt.
Achtung, der RP2040 verträgt nur 1,8 bis 5,5V, das ist ein kleiner Haken für uns. MS5611 und das GPS dürfen nur mit 3,3 V versorgt werden, die GPIO Pins vertragen keine höheren Spannungen.
Gibts nen PinOut für diesen kleinen RP2040 ??
Das habe ich gebastelt, es muss aber noch verifiziert werden - uffbasse. Die Bezeichnungen geben das Ziel an, GPS RX zielt also auf den RX Anschluss des GPS (ist aber eigentlich TX des RP2040).
RP2040Zero.png
Ein Kollege hat ein Breakout-Board in der Mache, wenn es läuft, sollte man sich ein paar Stück machen lassen. Eine Sammelbestellung macht sicher Sinn ....
https://www.rcgroups.com/forums/showpost.php?p=48875375&postcount=900

Wie hoch war denn die Update-Rate des Varios beim Matek bei dir? Ich hatte gefühlt 1-2 Hz, das ist zu wenig.
 

Anhänge

jasc

Well-known member
#7
Es ist dafür ausgelegt. Aber das Projekt ist noch in einem frühen Stadium. Ich bekomme bis jetzt nur das Vario ans Laufen und habe auch noch keine Kommunikation mit meinem Tracer RX. Das kann aber auch an mir liegen, mit CRSF habe ich noch nicht viel Erfahrung gesammelt.
Achtung, der RP2040 verträgt nur 1,8 bis 5,5V, das ist ein kleiner Haken für uns. MS5611 und das GPS dürfen nur mit 3,3 V versorgt werden, die GPIO Pins vertragen keine höheren Spannungen.

Das habe ich gebastelt, es muss aber noch verifiziert werden - uffbasse. Die Bezeichnungen geben das Ziel an, GPS RX zielt also auf den RX Anschluss des GPS (ist aber eigentlich TX des RP2040).
Anhang anzeigen 187776
Ein Kollege hat ein Breakout-Board in der Mache, wenn es läuft, sollte man sich ein paar Stück machen lassen. Eine Sammelbestellung macht sicher Sinn ....
https://www.rcgroups.com/forums/showpost.php?p=48875375&postcount=900

Wie hoch war denn die Update-Rate des Varios beim Matek bei dir? Ich hatte gefühlt 1-2 Hz, das ist zu wenig.
Gut, den RPI bzw das Sensor Board mit 3,3V ist ja kein Thema

Danke für den RCG link, schaue ich mal

Ich habe das Matek Board nicht geholt, weil, wie gesagt, ich nutze 8V und will davon auch nicht weg. Daher habe ich das Ding gar nicht erst geordert.
 

jasc

Well-known member
#8
Das habe ich gebastelt, es muss aber noch verifiziert werden - uffbasse. Die Bezeichnungen geben das Ziel an, GPS RX zielt also auf den RX Anschluss des GPS (ist aber eigentlich TX des RP2040).
Anhang anzeigen 187776
wenn ich da SBUS-OUT sehe, habe ich grade noch so eine ganz andere Eingebung:
Könnte man im Modell nicht CRSF und ACCST anmachen und den RPI mit SBUS out an den G-RX8 an die Redundanzbuchse stecken.... Dann hätte man nen 868/2.4 Redundanz-Setup ;):giggle:
 

jasc

Well-known member
#10
Klar, kann man machen. Ich bin aber nicht so der Redundanz-Typ ;)
Aber ich finde es gut, dass man da den RX-Snoop dranhängen kann, um zu sehen, was hinter den Kulissen so abgeht ....
Naja, hab fast nen Ikura wegen Accst kacka total geschrottet 😡 zum Glück noch reparierbar

Ja geilo, gleich mal so rp2040 dingens bestelle
 
#11
Hier mal ein Zwischenstand: das Projekt macht aktuell gewaltige Fortschritte. Das Vario trägt jetzt den Namen OpenXSensor zu Recht, es meldet schon Steigen, wenn man nur daran denkt, den Sensor anzuheben ;)

Die VSpeed-Update-Rate ist jetzt so schnell, dass das Symbol in der Telemetrie dauerleuchtet (abhängig von den ELRS-Rates natürlich). Die Baro-Höhe wird aktuell im YAW-Feld übertragen und braucht eine Ratio von 2550 mit aktuellen OpenTX/EdgeTX (alte 255). Vielleicht bekommen wir ja noch ein eigenes Baro-Alt-Feld im CRSF-Protokoll, @FJH et al. sind da am Wirken.

Die Temperaturkompensation erhält noch ein bisschen Zuwendung, aber das Teil mischt jetzt schon ganz weit vorne mit (y)

Der RP2040 oXs lässt sich übrigens auch für SBus/SPort konfigurieren, also 8-Kanal PWM-Konverter + Vario, GPS, Spannung. Die Freak-Funktionen bleiben aber dem "alten" oXs vorbehalten.
 
Erhaltene "Gefällt mir": jasc

jasc

Well-known member
#14
Hier mal ein Zwischenstand: das Projekt macht aktuell gewaltige Fortschritte. Das Vario trägt jetzt den Namen OpenXSensor zu Recht, es meldet schon Steigen, wenn man nur daran denkt, den Sensor anzuheben ;)

Die VSpeed-Update-Rate ist jetzt so schnell, dass das Symbol in der Telemetrie dauerleuchtet (abhängig von den ELRS-Rates natürlich).
wie ist die Updaterate bei Crossfire ?
 
#15
wie ist die Updaterate bei Crossfire ?
Ich kann nur mit Tracer testen, da "leuchtet" VSpeed ebenfalls fast dauernd. Gelegentlich minimale Unterbrechungen, für 1/10s vielleicht, das könnte damit zusammenhängen, dass Tracer die Empfängertelemetrie häufiger schickt als ELRS das tut.
 

jasc

Well-known member
#16
Ich kann nur mit Tracer testen, da "leuchtet" VSpeed ebenfalls fast dauernd. Gelegentlich minimale Unterbrechungen, für 1/10s vielleicht, das könnte damit zusammenhängen, dass Tracer die Empfängertelemetrie häufiger schickt als ELRS das tut.
mein RP ist schon da, das Baro aufm Weg… ich bin gespannt :)
 
#17
Wenn ich das so verfolge, dann könnte man den RP2040-Zero auch als Ersatz für den Arduino ProMini(oXs) verwenden. Das FrSky Protokoll über den Sport anbinden, ohne jetzt ELRS nutzen zu wollen. Der Takt und der Speicher wäre ein Quantensprung!
 
#18
Wenn ich das so verfolge, dann könnte man den RP2040-Zero auch als Ersatz für den Arduino ProMini(oXs) verwenden. Das FrSky Protokoll über den Sport anbinden, ohne jetzt ELRS nutzen zu wollen. Der Takt und der Speicher wäre ein Quantensprung!
Das hat Mstrens schon realisiert und es ist konfigurierbar. Statt CRSF RX wertet er den SBus aus und stellt 8 PWM Kanäle bereit, über TX wird dann die SPort-Telemetrie ausgegeben.

Die zusätzliche Power bringt wohl hauptsächlich Komfort für die User, die Telemetrieperformance ist mit dem Pro Mini schon optimal. Ich glaube nicht, dass es "Killerapplikationen" für die bessere Hardware gibt, aber wer weiß .....
 
#20
Nein. Es fehlt die "manuelle" Einstellung der VSpeed-Filterung, d.h. man kann die Reaktionszeit auch nicht beeinflussen. Wer mit den Arduinos umgehen kann, sollte für SPort dabei bleiben. Aber beide Varianten sind vermutlich besser als die kommerziellen Alternativen.
 
FPV1

Banggood

Oben Unten