NAZA–>C2T|JLog Log/Telemetry

C2T  -  Interface von JLog im NAZA System
JLog als Logger + Telemetry Gateway des NAZA Systems
.C2T+JLogC2T-JLog
Achtung! Die Datenumsetzung in einige Telemetriesysteme (in JLog) ist noch nicht implementiert! Stand heute (1.Aug 2015) noch nicht implementiert: HiTec, FrSky, JR.
“C2T steht für “CAN to TwoWireInterface”, wobei eigentlich C2T als Interface nur ein Hilfsmittel ist für:  JLog2.6 als Telemetrie Gateway und Logger für DJI NAZA.
DJI ist sehr erfolgreich vor allem im Multikopterbereich. Das System besteht aus der Main Unit “NAZA”, was die Fluglagensteuerung auf Basis einer IMU (Inertial Measurement Unit, AHRS) enthält, die durch das Ansteuern der ESCs für die Motoren wirkt. Weitere optionale Komponenten sind “GPS”, das auch den 3-dimensionalen Magnetfeldsensor für einen Kompass enthält, der BEC und Bus Extender “PMU” sowie “OSD” (OScreen Display).
Wer Daten des Systems während des Fluges erhalten will, muss FPV fliegen, das OSD mischt das Datendisplay in das Videosignal. Die Alternative “Ground Station”, wireless mit Daten versorgt, ist nicht unbedingt gut geeignet für den Piloten, abgesehen von limitierter Reichweite.
Hier setzt nun JLog an, indem er alle Daten des Systems sammelt, loggt und in eines von zur Zeit 8 unterstützten Telemetriesystemen schickt,  -  Multiplex MSB oder JETI EX oder HoTTv4 oder Futaba (S.Bus2) oder SPEKTRUM oder HiTec oder JR oder FrSky/S.Port. IISI, als Nummer 9, könnte über seinen “EXP-Gateway” an JLog/Multiplex gekoppelt werden.
Setup
- – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - -
Von DJI benötigt man:  NAZA, PMU, [GPS] (ohne GPS ziemlich “nutzlos”)
Dazu: C2TJLog2.6[GW] (kein Logging als “GW”)  – C2T wird an PMU angeschlossen, bzw. an [i]OSD, wenn existent.
Ein OSD wird durch C2T gegenüber der NAZA “emuliert”, damit diese den vollen Datensatz auf den CAN Bus legt.
OSD als Gerät ist nicht erforderlich, man könnte aber eines parallel anschließen.
- – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - – - -
C2T, als “Knubbel” im Kabel von JLog an den Bus des DJI Systems, hat folgende Aufgaben:
. – Er fungiert als Bus-Konverter zwischen CAN und TWI, hat den CAN Bus Transceiver, über den JLog nicht verfügt.
. – Er verfügt über die systemspezifische Buchse für konfektionierte DJI Kabel.
. – Er sendet den Heartbeat eines “OSD”.
. – Er vermittelt mit seinem Buffer Management zwischen dem Timing von CAN und TWI, deutlichen Unterschieden in  Taktrate und Protokoll.
. – Er unterzieht alle Rohdaten aus relativ komplexen NAZA Messages, verpackt in atomaren CAN Messages, einem Hazard Filtering.
. – Er kombiniert Daten aus verschiedenen NAZA Messages, um andere benötigte Daten per TWI bereitstellen zu können, z.B. “Heading” (neigungskompensierter Kompass in C2T). Insofern tut C2T das, was die NAZA intern tun mag, nur gibt sie eben solche Daten nicht auf den Bus.
Zusammengefasst: C2T ist der “intelligente Spion” im DJI System. Er stellt eine Kompilation interessierender Daten bereit, mundgerecht für ein nachnutzendes Device wie JLog.
————————————————————————————————————————————————————————
Nach Abschluß der Entwicklung von C2T und von Kommunikation, Autoflashing, Logging, Alarming, Config und State Machine in JLog werden die 8 Telemetriesysteme für NAZA/C2T nun step by step implementiert in JLog.
15.09.2014: Fertigstellung JETI EX.
24.09.2014: Fertigstellung Futaba S.Bus2
02.11.2014: Fertigstellung HoTTv4
01.01.2015: Fertigstellung Horizon SPEKTRUM
01.08.2015: Fertigstellung Multiplex (MSBv2)
Es folgen HiTec, FrSky/S.Port, JR, – wahrscheinlich in dieser Reihenfolge.
Btw: Einen Grund, MAVLink zu integrieren, siehe ich momentan nicht. Natürlich könnte man MAVLink als weiteres, alternatives “Telemetrie Protokoll” im Gateway JLog vorsehen, aber der Zweck wäre doch nur einer,  - ein NAZA-systemfremdes Device IM Modell mit Daten zu versorgen. Dieses Device wäre entweder nur ein anderes OSD, was seinen Output in’s Videosignal mischt (FPV-Fliegen), oder es hat einen anderen eigenen HF-Link zum Boden (Ground Station). Das entspräche nicht der Intention, plug&play Telemetrie der Fernsteuersysteme zu unterstützen. – Aber bei echtem Bedarf gerne. :)
——————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————
Btw: Seit gestern, 1.1.2015, scheint ein weiterer Bug in der Firmware des GPS Pilzes sichtbar zu sein. Die Herkunft muss noch definitiv geklärt werden:  Das Jahr sprang von 2014 auf 2016…
——————————————————————————————————————————————————————————————————————
——————————————————————————————————————————————————————————————————————
Die Entwicklung erfolgte mit einer NAZA-M v2 (NAZA-M Lite unterstützt kein OSD und somit keinen CAN Bus). Mit einer NAZA-H wurde nie getestet. Die NAZA-H kommt mit einem reinen BEC 12S/5.8..7.4V@15A. Das ist keine PMU [v2] wie mit NAZA-M. PMU enthält neben dem BEC (6S/5.0V@3A) auch einen Microcontroller, der für die NAZA Main Unit das CAN Bus Interface herstellt (NAZA hat selbst keines). Ohne CAN Bus keine Daten an ein OSD, ohne diese Daten und weitere, die die NAZA nur via CAN ausgibt, keine Möglichkeiten durch C2T/JLog.
Es scheint so, als würde DJI kein FPV-Fliegen mit Helis auf dem Radar haben, weil kein Support für ein OSD.  –  Man könnte es nun einfach probieren:  PMU v2 an NAZA-H (max. 6S Input! evtl. Akku anzapfen) und den NAZA-H BEC (oder einen anderen) zur Stromversorgung der Servos an der NAZA-H Main Unit. Was bisher nicht bekannt ist:  Enthält die Firmware der NAZA-H überhaupt den Support zur CAN Bus Kommunikation via PMU?!
Etliche Geräte, kommerziell und Community, zapfen nur das asynchron-serielle Interface des GPS-Pilzes an. Dort bekommt man aber nicht viel.., nur LAT/LON, GPS Zeit, Fix und #Sat. Der DJI Microcontroller im Pilz, seine Firmware, schluckt vieles, was der uBlox GPS Rx eigentlich hergibt. Der Controller ist dort, um die Daten des ebenfalls im Pilz enthaltenen Magnetfeldsensors auszugeben. Doch Achtung! Diese Daten sind unkompensiert (ohne Hard/Soft Iron Distortion Conpensation), die Kompensationsdaten hat die NAZA. Sie gibt leider auch keine komplexen Daten aus, wie des eines neigungskompensierten Kompass, z.B., sie liefert aber “Halbzeugdaten”, die für höhere Abstraktionslevel weiterverarbeitet werden können, hier durch C2T. Ohne PMU kein CAN, ohne CAN kein Zugang zu diesen Daten. Ohne CAN Bus (und OSD) Unterstützung in der Firmware der NAZA dasselbe, siehe NAZA-M Lite und die momentan noch offene Frage um NAZA-H. Was dann bleibt, rein auf Basis der Daten aus dem GPS-Pilz, ist zu arm: GPS-Koordinaten und -Zeit, für einen exakten Kompass unbrauchbare Magnetfelddaten, – nicht mal die Höhe (Drucksensor in der NAZA).
——————————————————————————————————————————————————————————————————————

-> Daten im NAZA System
-> C2T Anschließen
-> (C2T) Konfigurieren
-> Alarming, Logging
-> Telemetrie: JETI EX
-> Telemetrie: Futaba S.Bus2
-> Telemetrie: HoTTv4
-> Telemetrie: SPEKTRUM
-> Telemetrie: Multiplex

 

Für DIY Zwecke, ohne Hersteller-Support: C2T Data Protocol Description
-> myCopter :)
.
——————————————————————————————————————————————————————————
Change/Release History
25.10.2014: Neue Firmwares für JLog:  Auf Wunsch von Tester Alois die Vorzeichen von Roll und Pitch umgedreht, sodass sie jetzt identisch sind zur Darstellung im OSD von DJI. Neues JETI Text Display nach Wunsch von Alois (á la mikrokopter.de). Bugfix in Heading und Heading Home. Durch das nachträgliche Einfügen der Magnetic Declination konnten >359.99° in Log und Display entstehen.
26.10.2014: Neue Firmwares für JLog: Die Anpassung an den neuen Wertebereich der Magnetic Declination (+/-24,99°) war vergessen worden (Plausibilitätscheck in JLog).
02.11.2014:  Neue JLog Firmwares für Telemetrie:  HoTTv4, Futaba S.Bus2, JETI EX.  Neuer Konfigurator MiniJLC 1.6.1.
- JETI:  Die Simple Text Main Page wurde gemäß Vorschlägen von Tester Alois nochmals geändert.
- In allen Telemetrien ist die angezeigte Zeit nun die Log/Flight Time. Diese startet, wenn man das erste Mal in den Control Mode (CM) “GPS” geht.  (Die GPS Zeit wird nur geloggt, angezeigt nur in HoTT Simple Text.)
- Weil es im Moment noch keine mAh gibt, kann man auf die Flight Time einen Alarm setzen. Da dieser Timer im Gegensatz zu denen im Sender statusabhängig ist, erzeugt JLog einen Time Alarm selbst. In allen Telemetrien ist das ein “Capacity Alarm”. In Futaba S.Bus2 wird dazu wie üblich “getrickst”: Der Wert (hh:mm) wird negativ, um einen Alarm auszulösen, die Threshold im Sender setzt man auf Unterschreiten von Null. (“CAPACITY” des ersten Stromsensors)
- Es gibt nun eine Warteschleife beim Powerup von JLog, 3 Sekunden, dabei Blink-Kino mit den LEDs rot-orange-grün. Grund: Um den Zustand von CM (Control Mode) für den Start der Log/Flight Time auswerten zu können, muss sichergestellt sein, dass NAZA und C2T ihr Startup vollzogen, C2T entsprechende erste Daten empfing und an JLog sendete. Fliegt man ohne SD in JLog, ginge der Startup sonst auf jeden Fall zu schnell, – aber auch, wenn die SD etwas schneller als üblich ready werden würde.
- HoTTv4: Verwendet werden die HoTT Sensoren “GPS” und(!) “EAM”, dadurch füllt man das shared Multicopter Display. ”GPS” wird in Sendern vom Typ MZ vermutlich deren spezielles Display befüttern.HoTT-MZ-series
- Bugfix in der JLog Futaba Firmware.
03.11.2014:  Tester Alois ist systematisch:  Vario (vertikale Geschwindigkeit m/s) und Speed (km/h) waren irgendwie nicht koscher.. So was bemerkt man nicht, wenn man nur myCopter “fliegt”. :)   —  Gefixt durch neue Firmware für den C2T selbst, nun v2.7.
Außerdem wurden alle Firmwares für JLog nochmals erneuert (JETI, Futaba, HoTT). Grund: 1) Fünften ALARM:Timer zum Logging hingefügt, 2) Rundungsfehler gefixt, betraf Ubat, Ubec, Heading, Heading Home.  –  Achtung! Wg. des 29. Log Items im OpenFormat Channel 4 hat sich das Device für LogView verändert! Bitte JLog26-NAZA via JLog26-NAZA.lov oder JLog26-NAZA.ini neu in LogView anlernen!  –  Alle Dateien im Download.
Vario und Speed gehen jetzt. Hier der Beweis, im wahrsten Sinne des Wortes im “Gehen” erbracht, – meine Nachbarn müssen denken, ich sei reif für die Insel :) :
VarioSpeed
Danke, Alois! Gruß nach Ösiland!
Flashen des C2T: Datei C2Tfw27.bin einfach in’s Wurzelverzeichnis der SD kopieren. Parallel kann auch die Flashdatei für die JLog Firmware dorthin kopiert werden. JLog startet, flasht sich evtl. erst mal selbst, dann flasht er den C2T (muss angeschlossen sein) und löscht danach die Flahhdatei für den C2T von der SD. Seine eigene Flashdatei lässt er liegen, am besten irgendwann dann löschen. – Nie mehr als eine JLog Flashdatei auf der SD haben! JLog reflashed sich sonst bei jedem Powerup mit dem Inhalt einer solchen Datei, sofern der ungleich der zum Zeitpunkt in ihm befindlichen Firmware ist!
04.11.2014:  Gleich noch mal. :)  Bugfix im NMEA Record Typ GPGGA, betreffend alle JLog Firmwares. Nun mag auch Google Earth unseren GGA, sofern wir nicht nur RMC anbieten wollen (reicht meist)  -  Schnell mal um den Baum vor’m Haus :) , ..
GoogleEarth4
dabei den myCopter ein paarmal “steigen” lassen (den Arm nach oben gestreckt). Der Temperaturschock drinnen/draußen reichte, schon mal 1m “Zombie Altitude” zu addieren:  (OpenFormat Ch4 Record)
Walk-Vario-AltitudeMopsgeschwindigkeit :) :
Walk-Hdg-Speed
————————
04.11.2014:  Alois’ Vorschlag realisiert, im textuellen Main Display von JETI (Simple Text) statt ‘FM’ (Flight bzw. Failsafe Mode) ‘#Sat’ anzuzeigen. Werden mehr als 9 Satelliten gesehen, wird ‘> angezeigt. Die einstellige Anzeige in der letzten Zeile des HoTT Simple Text wechselt nun auch auf >‘, wenn mehr als 9 Satelliten gesehen werden.
06.11.2014:  Firmware für C2T nochmals erneuert, jetzt C2Tfw28.bin, die Firmwares für JLog (JETI, HoTT, Futaba) ebenfalls erneuert, – siehe alles im Download. Grund: Anhand von Testflügen von Alois wurde die Dynamik der leider erforderlichen Hazard Filter im C2T angepasst. Wird die Dynamik eines Filters überfordert, kommt es sonst zu Datenverfälschung in Form künstlicher Hazards. In der Telemetrie sieht man das nicht, ebenso nicht om OSD, aber ein Log ist nun mal unbestechlich, auch ein paar Millisekunden andauernder Ausreißer fällt auf. Außerdem kann ein Hazard Filter, wenn durch die Dynamik unverfälschter Daten überfordert, in den Deadlock geraten. In diesem Zuge ist es nun JLog, der die relative Höhe errechnet, Differenz aus absolutem Höhenwert (Druck) beim Startup und momentanem. (C2T liefert diese weiterhin, sie wird aber nicht mehr verwendet.)  - Der Hazard Filter für die drei Achsen kompensierter Magnetfelddaten in C2T musste gelockert werden. Vorher konnte er noch die Nebenfunktion einer Rauschunterdrückung erfüllen, jetzt nicht mehr. Dadurch ist jetzt das Rauschen des MagSensors wieder im Heading sichtbar. (Auf das Verwenden eines Tiefpasses (Integrator) wurde zugunsten der Dynamikbandbreite verzichtet.) – Außerdem ist das NMEA Logging jetzt adaptiv, sofern im MiniJLC enabled. Konfigurativ ausgewählte NMEA Record Typen werden erst dann neben OpenFormat aufgezeichnet, wenn ein 3D Fix vorliegt.
10.11.2014:  JLog Firmware für HoTT erneuert:  a) Bugfix in HoTT Text Altitude, wenn negativ, b) da wurden meine GPS Demo-Koordinaten ausgegeben :) , c) FM nun wieder numerisch angezeigt, da die Interpretation doch unklar erscheint.
16.11.2014:  C2T Firmware (nun 2.8.1) und alle JLog Firmwares erneuert. Änderungen aufgrund der Ratschläge von Tester Alois und Harry (Danke!):
1) Log/Flight Time startet jetzt nicht mehr, wenn der Sender aus ist.
2) FM wird im HoTT Text Mode jetzt wieder als Character ausgegeben (M|G|F|A).
3) LAT/LON in den NMEA Log Records konnten zwischendurch mal auf Null gehen. Grund war ein Fehler in der Firmware des C2T: Im Gegensatz zu LAT/LON im Format für den OpenFormat Record wurden für LAT/LON im NMEA Format nicht die Hazard Filter verwendet.
4) Google Earth erwartet offenbar die Zeit in NMEA Records als UTC und korrigiert selbst nach Time Zone (TZ) und Daylight Saving Time (DST). Ab sofort loggt JLog in NMEA Records nun UTC. Korrigiert wird nur der DJI Time Bug. (Im OpenFormat Record (CH4) wird weiterhin die Zeit inklusive TZ und DST aufgezeichnet, also Local Time)
16.11.2014:  Noch einen Vorschlag realisiert, von Tester Harry:  Files im FAT16 bekamen einen Time Stamp (Datum+Uhrzeit). Der Stamp wird immer geschrieben, allerdings stimmt er nur, wenn JLog einen GPS Fix sieht. Wenn nicht, verwendet er 1.1.2014 00:00, da er nicht wissen kann, ob Datum und Zeit ansonsten stimmen (Der GPS Pilz hat natürlich eine Kurzzeit-RTC (Real Time Clock) auf Basis einer Batterie bzw. einen Super Cap). Der Stamp wird als Modification Time betrachtet, – spich, wird er mit 1.1.2014 00:00 erzeugt, aber während seines Schreibens (Log) erfolgt ein GPS Fix, dann korrigiert sich der Stamp zu einem realen Wert.
1.1.2015: Telemetrie #4: SPEKTRUM. 4 more to go :)
01.08.2015: Fertigstellung Telemetrie #5, Multiplex (MSBv2), Mini JLC 1.6.4 mit MSB Address Config. Alle anderen JLog Firmwares auch erneuert:
…………….. Außerdem haben jetzt alle JLog Firmwares für C2T einen sechsten Alarmtyp, “satalarm”, der fix konfiguriert ist. Alarm wird ausgelöst, wenn “Runtime” seit wenigstens 15 Sekunden tickte (Sender schärfte NAZA via FM/CM), wenn der GPS Fix. nachdem er einmal 3(D) war, nun kleiner 3 wird. Der Alarm löscht sich selbst durch erneuten 3D Fix. Einzelheiten zur Alarmgabe finden sich in den Chaptern der einzelnen Telemetrien.

Die Kommentarfunktion ist geschlossen.