Arduino Library für Jeti EX Bus

  • Sepp62
  • Sepp62's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 305
  • Thank you received: 154

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

14 Feb 2018 20:12
#13
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.

Please Log in or Create an account to join the conversation.

  • nightflyer88
  • nightflyer88's Avatar
  • Offline
  • Premium Member
  • Premium Member
  • Posts: 137
  • Thank you received: 143

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

14 Feb 2018 20:52
#14
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 ?

Please Log in or Create an account to join the conversation.

  • Sepp62
  • Sepp62's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 305
  • Thank you received: 154

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

14 Feb 2018 21:04
#15
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
The following user(s) said Thank You: nightflyer88, HuHu

Please Log in or Create an account to join the conversation.

  • Sepp62
  • Sepp62's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 305
  • Thank you received: 154

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

14 Feb 2018 21:20 - 14 Feb 2018 21:25
#16
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.
Last edit: 14 Feb 2018 21:25 by Sepp62.
The following user(s) said Thank You: nightflyer88

Please Log in or Create an account to join the conversation.

  • HuHu
  • HuHu's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 3
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

15 Feb 2018 13:04 - 15 Feb 2018 13:25
#17
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".
Last edit: 15 Feb 2018 13:25 by HuHu. Reason: wichtige Zeile vergessen

Please Log in or Create an account to join the conversation.

  • HuHu
  • HuHu's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 3
  • Thank you received: 0

TPL_KUNENA_MESSAGE_REPLIED_NEW Arduino Library für Jeti EX Bus

15 Feb 2018 13:22
#18
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

Please Log in or Create an account to join the conversation.

Time to create page: 0.370 seconds
Powered by Kunena Forum