Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA:

Arduino Library für Jeti EX Bus 14 Feb 2018 21:12 #13

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 289
  • Dank erhalten: 134
So, nach einigem Kampf mit dem ESP32 steht diese Version nun auch zum Download bereit:

github.com/Sepp62/JetiExBus

Getestet mit dem Adafruit ESP32 Feather-Board mit UART2.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Bus 14 Feb 2018 21:52 #14

  • nightflyer88
  • nightflyer88s Avatar
  • Offline
  • Expert Boarder
  • Expert Boarder
  • Beiträge: 137
  • Dank erhalten: 142
Super deine EX Bus Lib !! :) Besten Dank für deine mühe !!

Habe noch ein paar fragen dazu:
Du hast bereits eine Version für den ATmega32u4, demnach sollte die Lib eigentlich problemlos auch auf einem ATmega328 laufen ?

Gemäss Jeti Spezifikation ist beim EX Bus der Sensor der Slave und nichtmehr der Master. Wie sieht das ganze nun vom Timing her aus ? Könnte es Probleme geben, wenn die CPU Sensorenwerte per HW i2c einliest oder per UART GPS Daten verarbeiten muss ? Beides wird in der Regel mit Interrupts bewerkstelligt. Könnte ich die Lib nun problemlos in meinem VarioGPS einbauen ?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Bus 14 Feb 2018 22:04 #15

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 289
  • Dank erhalten: 134
Ja, eigentlich sollte die Lib auch auf einem ATMega328 laufen. Der Code hat sich prinzipiell in der EX-Library bewährt, aber ich habe es nicht explizit getestet (ich habe inzwischen eine gewisse Aversion gegen die "Single-UART-CPUs" von AVR entwickelt).

Bei I2C habe ich leider zu wenig Erfahrung, um genau zu wissen, wie lange dort Interrupts gesperrt werden. Der Teensy hätte als zusätzlichen Vorteil, dass dort einer der UARTs ein Fifo besitzt, d.h. der ist in dieser Hinsicht noch unkritischer. Zudem kann er I2C über DMA.

Generell denke ich, dass die Chance aber ganz gut ist, dass Dein Code auch auf dem AtMega328 läuft.

Für Masochichsten gibt es nun auch eine ESP32-Version :-)

VG Bernd
Folgende Benutzer bedankten sich: nightflyer88, HuHu

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Arduino Library für Jeti EX Bus 14 Feb 2018 22:20 #16

  • Sepp62
  • Sepp62s Avatar Autor
  • Offline
  • Gold Boarder
  • Gold Boarder
  • Beiträge: 289
  • Dank erhalten: 134
Hier noch ein paar Worte zum Timing:

Mein Empfänger arbeitet prinzipiell auf 125kBit/s. Ich habe noch nicht rausgefunden, in welchen Fällen 250kBit/s verwendet werden. Daher unterstützt die Library im Moment nur 125 kBit/s. Alle Angaben beziehen sich daher auf diese Geschwindigkeit.

Der Empfänger schickt seine Servopositionen ungefähr alle 20ms.
Meist schickt er 2 Servopositionspakete und fordert dann ein Telemetriepaket oder ein Jetibox-Paket an. Ein Servopositionspaket dauert rund 4ms.

Fordert der Empfänger ein Telemetrie- oder Jetibox-Paket an, schaltet er den "Bus" für mindestens 4ms frei (sagt die Spec). Ein Telemetrie- oder Jetibox-Paket ist aber meist in 2ms draussen. Bis zum nächsten Paket hat man dann ca. 13ms Pause.

Wie die empfangenen Pakete aussehen, kann man sich anschauen, wenn man in der Protokoll-Implementierung "DumpPacket" auskommentiert (aber natürlich nicht auf AtMega328 :-().

Die Library genehmigt sich genug Puffer für jeweils ein vollständiges Paket. Ein Zeichen wird in 8us übertragen. Solange können die Interrupts im Mittel gesperrt sein, wenn der UART kein Fifo besitzt.

Falls ich mich zu später Stunde verrechnet haben sollte, bitte ich um Entschuldigung.

VG Bernd.

PS: Habe gerade gesehen, dass Du AltSoftSerial für das GPS verwendest. Das wird in der Tat spannend, ob das noch funktioniert.
Folgende Benutzer bedankten sich: nightflyer88

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Sepp62.

Arduino Library für Jeti EX Bus 15 Feb 2018 14:04 #17

  • HuHu
  • HuHus Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 3
  • Dank erhalten: 0
Für Masochisten gibt es nun auch eine ESP32-Version :-)

{OK - wusste bis jetzt noch gar nichts von dieser Neigung ;-)}

Habe für das kleine Problemchen (TX-Pin abziehen) eine Übergangslösung gefunden:

nach ... exBus.Start("EX Bus", sensors, 2);
pinMatrixOutDetach(17, true, true);

Läuft wunderbar - nochmals ganz herzlichen Dank für dein "Kunstwerk".

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von HuHu. Grund: wichtige Zeile vergessen

Arduino Library für Jeti EX Bus 15 Feb 2018 14:22 #18

  • HuHu
  • HuHus Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Beiträge: 3
  • Dank erhalten: 0
Wollt's mal auf die Schnelle mit dem 328 probieren --> bringt leider diese Fehlermeldungen:

Arduino: 1.8.5 (Windows 10), TD: 1.40, Board: "Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)"
HardwareSerial0.cpp.o (symbol from plugin): In function `Serial':
(.text+0x0): multiple definition of `__vector_18'
libraries\JetiExBus-master\JetiExBusAtMegaSerial.cpp.o (symbol from plugin):(.text+0x0): first defined here
HardwareSerial0.cpp.o (symbol from plugin): In function `Serial':
(.text+0x0): multiple definition of `__vector_19'
libraries\JetiExBus-master\JetiExBusAtMegaSerial.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino Pro or Pro Mini.


LG HuHu

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.251 Sekunden
Powered by Kunena Forum