Winne, Moin!
Seitens Logging hat sich schon ewig nichts geändert an der Firmware.
Es gibt mMn keinen Bug, sonst hättest nicht nur Du den Effekt mit der SD.
Ich denke, es ist ein Hardware Problem, vermutlich der SD Kontakt. Müssen wir mal sehen, gebe Dir einen anderen S32 zum Vergleich.
Tja.., jetzt ist es mir eben zum ersten Mal passiert. S32 startet, auf einmal geht kurz die rote LED an, danach kein oranges Blinken, also kein Logging. Dass die rote LED nicht an blieb, lag daran, dass die eingestellte Tele Futaba war, - in der hat die rote LED eine Sonderbedeutung, - sonst nur "Fehler". Der SD Watchdog hat zugeschlagen, eingestellt auf 800ms.
Tja..., ich habe mit einem Testprogramm für SD Karten, was ich damals mit dem JLog2 machte, schon SDs gesehen, die regelmäßig Pausen von >400ms einlegen.
Habe daher das Timeout des Watchdog auf 2000ms erhöht.
(Der WD muss sein, weil sich das Log Recording in der Main Loop befindet. Die darf nicht blockiert werden durch eine putte SD.)Zu den Aussetzern im Lesen des JIVEpro hatte ich gleich ESC-Problem oder Kabel vor'm Auge. Doch, als ich es hier schnell laufen ließ in der Konstellation HoTT+JPro: Verdammt, Winne hat Recht!
Das ist jetzt beseitigt, 1.53, mach mal bitte Update.
Ursache: Nun ja, der ganze RC-Kram ist irgendwie Crap. Da gibt es so viele Dauerbugs und Design Flaws aus ... Unwissen, - und ich muss immer alles zum Funktionieren bringen in allen Kombinationen..
Leider habe ich nicht die Zeit, nach Änderungen jedesmal alles in allen Kombinationen zu testen, - das dauert Tage (und macht Pickel
). Ich greife mir nur Kombis (ESC-Tele-Sensoren) heraus, die ich im jeweiligen Fall für kritisch halte.
Bingo! Als das das letzte Mal der Fall war, wäre mir HoTT nie in den Sinn gekommen. Das ist recht straight forward im Protokoll bei verträumten 19k2.
KOS/Jpro JETI EX"bus" allerdings, ist das Schlimmste, was S32 heilend zu bedienen hat. Auf Seiten der Tele ist es vor allem Futaba s.bus2, mal abgesehen vom immer mehr Crap werdenden SPEKTRUM. Also testete ich u.a. Futaba+KOS/Jpro.
Anlass des letzten und massiven Eingriffs in das Timing des S32 war vor ...(3 Monaten?), - dass in einer Kombi plötzlich der Scorpion Tribunus stotterte.
In JLog laufen viele zueinander asynchrone Prozesse, durch externe Ereignisse gesteuerte Interruptroutinen. Die verschachteln sich ergo wie wild ineinander in der Ausführung, - und jede muss zeitkritische Dinge bedienen, darf sich nicht vom Nachbarn aufhalten lassen. So ein ARM hat eine Priority Chain für IRQs, die quälte ich natürlich bis zum Erbrechen, um es jedem im Timing recht zu machen. (Issue ist dann natürlich , wenn durch einen Design Flaw das "recht" eine unnötig extreme Forderung darstellt..)
Dann kommen on top "kranke Design Aspekte" in's Spiel, ganz herausragend bei s.bus2, da kann man sich nur an die Birne fassen.
Extrem mit s.bus2, aber auch in einigen anderen Protokollen: Man sitzt in einer Interruptroutine, verwehrt anderen IRQs dadurch evtl. den Service, - muss aber idiotischerweise verhältnismäßig lange definierte Pausen einlegen. Durch so was geht es so langsam gegen NoGo.
Also, aus o.g. Tribunus-Anlass überwand ich endlich den Ekel und codete tagelang, machte nun alle dafür vakante Service Routinen konsequent reentrant. Du kennst das sicher, da kommt Freude auf. Somit gehen seitdem notwendige Delays grundsätzlich nicht mehr auf die Service Time der betreffenden Routine.
Ok, also wurde ich ganz radikal und disabelte das ganze komplexe Getue um IRQ Priorities von UARTs in Protokollen für Tele und ESCs.
Bzgl. des KOS/Jpro hatte mich wohl kurz die Alzheimer erwischt. Das ist so schlimm, dass es weiterhin Sonderbehandlung bedarf. Die ist wieder drin ab 1.53.
Ich hoffe nur, das tangiert jetzt nicht wieder anderes... Zum Testen im 6 aus 49 habe ich natürlich wieder keine Zeit.
Die Implementierung von JETI EXbus im KOS/JPro ist eine einzige gigantische Protokollverletzung, man kann es direkt dummdreist nennen.
(Ich habe es inzw. aufgegeben mit K. Trotz aller helfenden Infos und Angebote meinerseits, zuletzt Aug in Aug auf der Rotor Live, - es passiert nichts.)
EXbus ist ja kein "Bus", den hat es bei JETI nie gegeben, es ist auch Punkt-zu-Punkt.
Trotzdem gibt es einen Master, den Urknall im Protokoll, der die Arbitration macht. Normalerweise ist das der Rx, hier ist es S32.
Tja.., wie soll man ein Kind führen, das komplett unerzogen ist? Das ist schon weit untertrieben, dieses Kind kam leider nur mit Kleinhirn zur Welt.
Der ESC schert sich einen Dreck um die Aussendungen des Masters, er liest sie gar nicht. Stattdessen: Papi, quatsch doch, was Du willst. Ich hör' nicht auf Dich, plapper, wann es mir gefällt.
Max. 100us nachdem Papi seinen Monolog an's verblödete Kind beendete, quatscht das los, ohne dass Papi ihm das Wort erteilte.
Tja, Papi (S32) muss sich leider darauf einstellen, damit er ja kein Wort seines tollen Kindes verpasst.
Also, nach der Devise, dumm kommt am weitesten, wird jetzt wieder der Dümmste zum Nachteil weniger dummer in S32 bevorteilt.
Anbei der Beweis: Papi verpasst kein unartiges Losgequatsche vom Gör mehr.