oXs-on-RP2040

onki

User
Hallo,

ich hätte das schon früher getestet, schau dort aber nicht so oft rein.
Eine Benachrichtigungsfunktion bei Änderungen konnte ich da noch nicht entdecken.

Gruß
Onki
 

kalle123

User
Eine Benachrichtigungsfunktion bei Änderungen konnte ich da noch nicht entdecken.

Seltsamerweise funktioniert das hier. Und bei mstrens funktioniert das auch. Wird dann fast wie ein online Dialog ....

Und das funktioniert auch in anderen github Bereichen wie EdgeTX, Ardupilot ....

Sieht so aus

Bildschirmfoto_2023-01-25_08-08-49.png
cu KH
 
Hallo an alle,
Kurze Info zu oXs_on_RP2040 :
Mstrens hat eine neue Vorabversion (0.4.5-hott) herausgebracht. Ich habe die Software mit S.Port und HOTT mal getestet, funktioniert wie die 0.3.6-main, mit den zusätzlichen zwei ADS1115 (bisher noch keine S.PortTelemetry Anzeige). Das HOTT Protokoll funktioniert bei mir noch nicht !?!?
Zurzeit wird noch die zusätzliche MPU6050 Software eingearbeitet. Mstrens ist mit der Config beschäftigt.
Falls einer Testen oder Fehler in der neuen 0.4.5-hott finden möchte und zur Fertigstellung eines neuen Release beitragen kann.
Viele Grüße,
Torsten
 
Zuletzt bearbeitet:

kalle123

User
Falls einer Testen oder Fehler in der neuen 0.4.5-hott finden möchte und zur Fertigstellung eines neuen Release beitragen kann.

Hab die 0.4.5 heute morgen hier auf das ELRS breadboard aufgespielt, seh da keine Probleme. Das SPort breadboard hab ich zwischenzeitlich wieder abgebaut (hier steht einfach zuviel rum), HOTT hab ich nicht und ADS1115, absolut kein Interesse meinerseits. Mal schauen wer jetzt beim Testen 'aus den Löchern kommt'? ADS1115 muss ja über den Code konfiguriert werden. Ob und wie die MPU6050 Unterstützung funktioniert? Der RPM Hinweis, das eine RPM Messung bei ELRS 'Quark' ist raus aus Config, dafür findet sich da jetzt eine Möglichkeit, Debug an zu triggern.

Ich häng mich wieder rein, wenn 'main' upgedated wird.

Ach Torsten, kannst ja mal eine Anleitung zu platformio (unter WIN, nehm ich an) schreiben, wie man es einrichtet und benutzt in Zusammenhang mit oXs-on-RP2040, vielleicht steigt ja dann die Begeisterung, zu testen ;)

Gruß KH
 
Zuletzt bearbeitet:

kalle123

User
@torsten

Was hast du denn wo im Code von 0.4.5 wegen der ADS1115 gemacht, damit die erkannt werden?

Nur aus Neugier, irgendwo hier sollte ich so ein Teilchen auch noch haben ..... :D

cu KH
 
Hallo, an Kalle und den Rest dieser Runde ;-)
Versuche gerade den Fehler vom HOTT Protokoll mit meinem IO Logic Analyzer zu finden :-(

Eine Anleitung wie man PlatformIO installiert und benutzt gibt es schon länger.


Ich persönlich habe die Kurzform gewählt!

- 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
- mstrens Projekt als zip-Datei von GitHub laden und entpacken
- entpackte Datei in den Ordner: "Dieser PC - Documents - PlatformIO - Projects" einfügen
- dieses Projekt in PlatformIO unter "Projects & Configuration" dann unter "Add Existing" den oXs Ordner öffnen

Diese Umgebung ist etwas komplizierter als die Arduino-IDE
Bei der älteren Version des "openXsensor_on_328P" musste man "nur" config.h und advanced.h mit Notepad++ öffnen, etwas verändern, speichern,und mit der Arduino IDE compilieren und aufspielen. Mit etwas Übung in 2 Minuten erledigt.
Bei Platformio muss ich wegen meiner geänderten Hardware (z.B. mein Pimoroni Servo2040,tolles kleines Board mit 18 Servoanschlüssen und ADC0-2 plus shared ADC-Multiplexer, und 2x I2C Anschlüssen incl.INT) den RGB PinIO von IO16 auf IO18 ändern und den I2C1 auf I2C0 damit ich den QT Anschluss benutzenkann. Dieser Vorgang verbraucht dann mit PlatformIO ca.10Min meiner kostbaren Zeit,inclusive compilieren und aufspielen.
Warten wir mal, ab was die Zukunft von oXs_on_RP2040 bringt. Solange Michel Strens das Feedback über sein Projekt erhält, dürfte es munter weiter gehen.

Viele Grüße,
Torsten
 
Zuletzt bearbeitet:
@torsten

Was hast du denn wo im Code von 0.4.5 wegen der ADS1115 gemacht, damit die erkannt werden?

Nur aus Neugier, irgendwo hier sollte ich so ein Teilchen auch noch haben ..... :D

cu KH
Warte bitte noch den nächsten Release ab, z.B. 0.4.6-hott. Michel baut da noch ein paar Änderungen ein, die Config vom ADS1115 hat im Script noch Fehler. Du siehst auf der Funke in der Telemetrie bisher noch nichts vom ADS1115.


Gruß,
Torsten
 

kalle123

User
Du siehst auf der Funke in der Telemetrie bisher noch nichts vom ADS1115.
Nö, aber ich hab das

First analog to digital sensor is detected using ads1115 -> ok

in deiner Antwort im github issue gesehen .... Mich interessiert vielleicht auch nur, ob unter ELRS der ADS1115 erkannt wird.

Hab hier ne halbe Stunde rum gesucht, das Teil gefunden und headerpins angelötet ....

20230126_155540.jpg

Langsam wird es hier in D bekloppt mit den Preisen, gerade mal in der Bucht geschaut, 8€ für so ein Teilchen, vor Jahren hab ich da mal nen $ für bezahlt. KH
 
Hallo Kalle,
Das ->ok bezog sich auf die Funktion des ADS1115 am RP2040.
ADC 1 : 771 mVoltAdc 0 : 773 mVoltAdc 1 : 771 mVoltAdc 0 : 773 mVolt
Cmd to execute:
First analog to digital sensor is detected using ads1115 -> ok
Measurement setup: 4 , 8 , 8 ,8
Gains: 2 , 2 , 2 ,2
Rates: 3 , 3 , 3 ,3
Offsets: 0.000000 , 0.000000 , 0.000000 ,0.000000
Scales: 10.000000 , 1.000000 , 0.100000 ,4.000000
Averaged on: 10 , 10 , 10 ,10
Config parameters are OK
Adc 0 : 773 mVoltAdc 1 : 771 mVoltAdc 0 : 773 mVoltAdc 1 : 771 mVolt
Auf der Funke sieht man noch nichts, aber Terminal Programm zum Editieren der Einstellungen laufen die ADS Werte durch und man kann die Spannungen erkennen. Um diese in PlatformIO zu ändern gehe erstmal zu ADS1115 settings line 645 and 656 change ads_Offset to ads_Scale.
Um die I2C Adresse am ADS zu ändern, einfach 3.3V an ADDR legen z.B. vom MS5611 der 3.3V Ausgang.
Ich habe einiges von AZ-Delivery gekauft, Preise sind im Gegensatz zu Mitbewerbern noch human.


Gruß,
Torsten
 
Zuletzt bearbeitet:

kalle123

User
So was in der Art hab ich jetzt auch hier

Commands can be entered to change the config parameters
- To activate a function, select the pin and enter function code = pin number (e.g. PRI=1)
Function Code Valid pins number
Primary channels input PRI = 5, 9, 21, 25
Secondary channels input SEC = 1, 13, 17, 29
Telemetry TLM = 0, 1, 2, ..., 29
GPS Rx GPS_RX = 0, 1, 2, ..., 29
GPS Tx GPS_TX = 0, 1, 2, ..., 29
Sbus OUT SBUS_OUT= 0, 1, 2, ..., 29
RPM (only for Sport) RPM = 0, 1, 2, ..., 29
SDA (baro sensor) SDA = 2, 6, 10, 14, 18, 22, 26
SCL (baro sensor) SCL = 3, 7, 11, 15, 19, 23, 27
PWM Channels 1, ..., 16 C1 / C16= 0, 1, 2, ..., 15
Voltage 1, ..., 4 V1 / V4 = 26, 27, 28, 29
- To disable a function, set pin number to 255

-To debug on USB/serial the telemetry frames, enter DEBUGTLM=Y or DEBUGTLM=N (default)
-To change the protocol, enter PROTOCOL=x where x=S for Sport, C for CRSF/ELRS, J for Jeti or H for Hott
-To change the CRSF baudrate, enter e.g. BAUD=420000
-To change voltage scales, enter SCALEx=nnn.ddd e.g. SCALE1=2.3 or SCALE3=0.123
Enter SCALEx=0 to avoid sending voltage x to the Transmitter (for Frsky or Jeti)
-To change voltage offset, enter OFFSETx=nnn.ddd e.g. OFFSET1=0.6789
-To change GPS type: for an Ublox, enter GPS=U and for a CADIS, enter GPS=C
-To change RPM multiplicator, enter e.g. RPM_MULT=0.5 to divide RPM by 2
-To select the failsafe mode to HOLD, enter FAILSAFE=H
-To set the failsafe values on the current position, enter SETFAILSAFE
Note: some changes require a reset to be applied

Cmd to execute:

Version = 0.4.5
Function Code Pin (255=disabled)
Primary channels input PRI = 9
Secondary channels input SEC = 255
Telemetry TLM = 10
GPS Rx GPS_RX = 11
GPS Tx GPS_TX = 12
Sbus OUT SBUS_OUT= 255
RPM RPM = 255
SDA (baro sensor) SDA = 14
SCL (baro sensor) SCL = 15
PWM Channels 1, 2, 3 ,4 C1 / C4 = 0 1 2 3
PWM Channels 5, 6, 7 ,8 C5 / C8 = 4 5 255 255
PWM Channels 9,10,11,12 C9 / C12= 255 255 255 255
PWM Channels 13,14,15,16 C13/ C16= 255 255 255 255
Voltage 1, 2, 3, 4 V1 / V4 = 26 27 28 29

Protocol is CRSF (=ELRS)
CRSF baudrate = 420000
Voltage parameters:
Scales : 0.972000 , 0.972000 , 0.972000 , 0.950000
Offsets: 6.000000 , 5.500000 , 6.000000 , 5.000000
RPM multiplier = 1.000000
Baro sensor is detected using BMP280
Sensitivity min = 100 (at 100) , max = 300 (at 1000)
Hysteresis = 5
First analog to digital sensor is detected using ads1115
Measurement setup: 0 , 8 , 8 ,8
Gains: 2 , 2 , 2 ,2
Rates: 7 , 4 , 4 ,7
Offsets: 0.000000 , 0.000000 , 0.000000 ,0.000000
Scales: 0.000000 , 0.000000 , 0.000000 ,0.000000
Averaged on: 10 , 20 , 30 ,50
Second analog to digital sensor is not detected
Foreseen GPS type is Ublox :GPS is detected
Failsafe type is HOLD

Config parameters are OK

>>
Adc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0 mVoltAdc 0 : 0
DEBUG soll OFF sein, trotzdem haut er mir den Terminal hier voll.

Das erinnert stark an das 'alte' oXs.

Und den Bereich soll man jetzt in ads1115.h händisch änder. Dazu braucht es platformio! ;)

First analog to digital sensor is detected using ads1115
Measurement setup: 0 , 8 , 8 ,8
Gains: 2 , 2 , 2 ,2
Rates: 7 , 4 , 4 ,7
Offsets: 0.000000 , 0.000000 , 0.000000 ,0.000000
Scales: 0.000000 , 0.000000 , 0.000000 ,0.000000
Averaged on: 10 , 20 , 30 ,50
Second analog to digital sensor is not detected

Mal schauen, ob und wann der Kollege aus F, der ja unbedingt 8 cells übertragen wollte, aus den Pötten kommt ....

Gruß KH
 
Du meinst pierrotm aus dem RCG?
Ich habe bei dem Pimoroni Servo2040 alles OnBoard, die drei ADC0-2 haben noch einen großen Bruder den 74LV4051BQ mit an Board ;-)
Dieser liefert neben 6 ADC Eingängen noch Current_Sense und V_Sense.
Gruß,
Torsten
 

Anhänge

  • 5437_servo2040_schematic.pdf
    93,4 KB · Aufrufe: 52

gruni

User
Hab die 0.4.5 heute morgen hier auf das ELRS breadboard aufgespielt, seh da keine Probleme. Das SPort breadboard hab ich zwischenzeitlich wieder abgebaut (hier steht einfach zuviel rum), HOTT hab ich nicht und ADS1115, absolut kein Interesse meinerseits. Mal schauen wer jetzt beim Testen 'aus den Löchern kommt'? ADS1115 muss ja über den Code konfiguriert werden. Ob und wie die MPU6050 Unterstützung funktioniert? Der RPM Hinweis, das eine RPM Messung bei ELRS 'Quark' ist raus aus Config, dafür findet sich da jetzt eine Möglichkeit, Debug an zu triggern.

Ich häng mich wieder rein, wenn 'main' upgedated wird.

Ach Torsten, kannst ja mal eine Anleitung zu platformio (unter WIN, nehm ich an) schreiben, wie man es einrichtet und benutzt in Zusammenhang mit oXs-on-RP2040, vielleicht steigt ja dann die Begeisterung, zu testen ;)

Gruß KH
Hallo Kalle,

ja, das wäre was, damit dreh ich am Rad.
Habs unter Win10, Win7, Linux Mint 19 und 20 auf insgesamt 3 Notebooks versucht einzurichten... VS und Platformio ist ok, aber dieses Wizio... manno.

Beste Grüsse, Gruni

PS: Sehe gerade, da war schon was zu geschrieben. Hab natürlich unter Platforms versucht, Wizio zu installieren. Copy und paste der URL klappt nicht und muss wohl händisch eingegeben werden. Hab gerade das Firmen-FieldPG am start, da kann ich nix weiter testen.... Abait geht vor...
 
Zuletzt bearbeitet:
Hallo Gruni,
Ich habs auf meinem Win10 Laptop wie schon oben beschrieben installiert, wo hängt es denn?
- 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
- mstrens Projekt als zip-Datei von GitHub laden und entpacken
- entpackte Datei in den Ordner: "Dieser PC - Documents - PlatformIO - Projects" einfügen
- dieses Projekt in PlatformIO unter "Projects & Configuration" dann unter "Add Existing" den oXs Ordner öffnen
Gruß,
Torsten
 
Zuletzt bearbeitet:

kalle123

User
Schön für dich Torsten.

Ich sag jetzt mal meine Meinung dazu und zu oXs_on _RP2040 im Allgemeinen. Und bitte nicht übel nehmen. ;)

Wie ich Anfang 22 gesehen habe, das mstrens wieder aktiv wurde, klasse!! Dann kam die Konfiguration im Terminal dazu. 1A! Das ist was, bietet für den Großteil der potentiell möglichen Nutzer eigentlich alles!

Wer von den 'alt oXs' Nutzern benutzt eigentlich diese ganzen zusätzliche 'nice-to-haves'? Ich lehne mich jetzt mal aus dem Fenster und sag, die Wenigsten!

Und ich sehe 'oXs-on-RP2040' in die Richtung bloatware driften. Hatte ja auch bei dem '8-cells nice-to have' versucht zu stoppen und mstrens sah ja auch zuerst ein, dass, nur weil da jemand 'alte Lipos' im Flug überwachen will, so etwas nicht unbedingt notwendig sein muss. Aber ich kenn das, wie das beim 'alten oXs' gelaufen ist und mstrens ist da sehr anfällig für 'nice to haves'. ;)

Klar hab ich mir das Pimoroni Servo2040 schon angesehen, aber .... Wer soll da bitte mitmachen mit dem board?

Soll mstrens das jetzt mit einbinden für max. 1 .. x mögliche Benutzer? Mach dir doch nen fork und schau mal, ob da jemand mitmachen will!

Das einzige Projekt in unserem Bereich hier, das ich etwas kenne, wo so Sachen wie x nice-to-haves auf diversen boards mit komplexer Konfiguration geh ist Ardupilot, denn dort gibt es eine riesige Menge von usern und sehr viele Entwickler und Tester und hier sehe ich weder die 'riesige Menge von usern und sehr viele Entwickler und Tester'.

Meine ganz persönliche Ansicht.

Gruß KH, der auch ein kompaktes 1.x.x main mit ausgiebig getesteten Grundfunktionen ohne zusätzlichen Klimbim noch bevor die Saison losgeht hofft. Denn dann tut sich bis zum nächsten Winter nicht mehr viel .....
 

kalle123

User
@gruni

Hab ja schon geschrieben, Anfang 22 die platformio CLI ( die Version für arme Leute) installiert und als ich im November noch mal installieren wollte (unter Linux), bin ich mit wizio auch auf den Ars.. gefallen.

Das war die notwendige Korrektur unter Linux hier

Bildschirmfoto_2023-01-26_17-51-34.png
Und ich hab dir auch gesagt, melde dich im platformio Forum an und frag da nach. Und dort Z.D.F (Zahlen, Daten, Fakten) ;)
Wie schwer du arbeiten musst, juckt da keinen .... duck und wech.

KH :D
 
Hallo Kalle,
warum sollte ich dir was übel nehmen. Du hast deine Meinung und andere eben eine andere.
Ich persönlich habe zwar einen KDS450 in der Garage stehen, bin aber seit Jahren nicht mehr geflogen.
Ich benötige den openXsensor mit all seinen Anschlüssen für den Funktionsmodellbau.
In diesem Forum wurde über das oXs gesprochen, und dann habe ich mich halt mal angemeldet.
Ich werde auch keinen nötigen mir irgendwelche features in den RP_2040 zu programmieren, ich mache meistens alles selbst, learning by doing.
Ich habe mich nun etwas länger mit dem oXs beschäftigt, und bin überaus zufrieden mit den heutigen Features.
Um alle Features auszuprobieren habe ich mir letztes Jahr den Pimoroni gekauft, da mir die Breadboards zu anfällig sind.
Gruß,
Torsten
 

kalle123

User
Ich werde auch keinen nötigen mir irgendwelche features in den RP_2040 zu programmieren, ich mache meistens alles selbst, learning by doing.

Da kann ich nicht mithalten, Torsten, der Code von mstrens geht weit über meine Grenzen hinaus. Komme aus der Ecke Maschinenbau und Schiffsbetreibstechnik und die letzten 20 Jahre im Job bin ich halt in die Ecke IBS und Service Messtechnik reingerutscht als Nicht Elektroniker. Der Rubel musste rollern und da bin ich nun auch schon fast 10 Jahre raus.

Frohes Schaffen - KH
 
Zuletzt bearbeitet:

gruni

User
Hallo Thorsten, Kalle,

hab gerade nochmal Mint angeworfen, in der Minteigenen Anwendungsverwaltung "Git" installiert, Platformio getartet, den Wiz-IO-Link eingegeben, wie gesagt CopyPaste funzt nicht, Installation gestartet, jetzt liefs durch. Hier war die installation immer endlos gelaufen, diesmal liefs durch.
Anmerkung dazu: Eigentlich lasse ich viele Dinge im Ausland via VPN laufen. Das hab ich mal kurzerhand ausgeschaltet. Könnte es sein, das hier der Hase im Pfeffer gelegen hat?

Auf jeden Fall kann ich jetzt das Original build vom RP OXS durchlaufen lassen.

Zunächst klappte das übertragen auf den Pico nicht, obwohl das Teil via LSUSB angezeigt wurde,
Das (den) Pico in den Bootmode versetzt, dann klappts acu mit der Übertragung des uf2-files.

Danke an alle, jetzt kanns endlich weiter gehen. Manno, was ne aktion

Beste Grüsse, Gruni
 
Ansicht hell / dunkel umschalten
Oben Unten