https://www.sdcard.org/downloads/formatter_3Ich antworte mal hier, für die Allgemeinheit.
Klaus per Email:
Zitat:
habe Deinen Rat befolgt und die SD mit dem SDFormatter formatiert, sowie die neuesten Firmwares aufgespielt.
Leider hatte ich heute beim Fliegen schon wieder Telemetrie-Totalausfall…
Wenn ich die config.txt ansehe, ist wieder alles auf den Standardwerten.
Hast Du noch nen Tip für mich, oder kann es sein, daß der JLog nen Bug hat?
Vielen Dank und Grüße,
Klaus
Die Firmware hat keinen Bug.
Der Zugriff auf CONFIG.txt erfolgt nur unmittelbat nach dem Start, nach Ablauf der 5-sekündigen Warteschleife mit dem Kino mit allen 3 LEDs. Wenn man genau hinguckt, sieht man für den Bruchteil einer Sekunde die orange LED aufblitzen.
Er liest die letzten gelernten Einstellungen aus dem EEPROM des Microcontrollers.
Er liest und verarbeitet CONFIG.txt. Dabei führt er Konsistenzchecks der Parameter durch. Die habe ich aber bereits vor geraumer Zeit teilweise zurückgenommen, um ROM zu sparen. Da editiert ja kaum jemand drin herum (außer mir
), somit reicht es aus, wenn JLC es richtig machte.
Dann überschreibt er die Zellen im EEPROM, deren Werte sich änderten.
Dann nimmt er notwendige Einstellungen an der Hardware vor (Pins etc.).
Dann erst befasst er sich mit dem vakanten Logfile, ermittelt die nächste laufende Filenummer, speichert die im EEPROM, erzeugt ein evtl. erforderliches [weiteres] Unterverzeichnis, bestimmt den Filehandler usw.
Während des Laufs gibt es keinerlei Zugriff auf CONFIG.txt, es sei denn, ungewollt:
- Durch ein defektes Filesystem (Cluster vermischt).
- Durch Brownout des Microcontrollers wg. einbrechender Betriebsspannung.
Brownout: Wenn nicht das Filesystem schon vorher schwer angeschlagen war, kann es nur durch Brownout zu so einem Effekt kommen. Der Prozessor wird ohnmächtig, und wenn er wieder kommt, ist der RAM leer, und damit sein Status im Nirvana. Ein Zombie.
Die in einem Mikrocontroller einstellbaren Brownout-Schwellen sind diskret, wodurch sie manchmal nicht zu zulässiger Minimalspg. eines gesteuerten Geräts passen können. Das ist hier der Fall: Eine mSD geht spannungsmäßig in die Binsen (deren Controller), bevor der schützende Brownout des JLog zuschlägt.
Die Leute hatten es massenhaft geschafft, das Filesystem zu killen, damit meist CONFIG.txt geleert oder den File komplett weggeputzt. Grund sind Antiblitzwiderstand, und insbesondere in Kombination mit Caps am BEC-Ausgang eines JIVE.
Der BEC erkennt multible Kurzschlüsse beim Startup, die BEC-Spannung spielt total verrückt. Um das zu kompensiren, habe ich diese 5-sekündige Warteschleife gegen Crazy Voltage eingeführt (LED-Kino). In Unterspannungsversuchen hatte ich dann nur noch ein Issue auf 300 Unterspannungsereignisse.
Das ist aber keine Garantie! Leider sind die lieben Anwender ja i.Allg. superschlau, meinen, so ein Antiblitzwiderstand wäre problemlos, und fette Caps am Ausgang ohne Ladestrombegrenzung dazu ebenfalls. Tja, was soll ich machen, rede mir den Mund fusselig.
In Deinem Fall, Klaus, tippe ich auf so ein Spannungsproblem. Dass in CONFIG.txt plötzlich was anderes steht, der Content aber immer noch konsistent und sinnig ist, deutig sehr stark darauf hin, dass JLog zwischendurch mal in den Brownout ging. Er startete quasi irgendwo mittendrin, ohne ein sauberes Reset (POR Power-On-Reset) erfahren zu haben.
Nun ist es an Dir, über mögliche Quellen dafür nachzudenken.