Loggen auf die SD Karte

EinEinfach

Well-known member
Hallo zusammen,
hat schon jemand das Loggen auf die SD Karte ausprobiert? Wie es aussieht muss das einfach in der config.h aktiviert werden.
Welche Daten werden geloggt? Ist das mit der Ausgabe auf dem seriellen Monitor vergleichbar?
Hintergrund ist, ich habe einen Fehler, der relativ selten auftritt und ich wollte schauen was passiert im seriellen Monitor vorher. Aber hinter dem Mäher mit USB Kabel zu laufen ist keine Option
Gruß
Alexander
 
Aber das Loggen kostet viel CPU Power und generiert auch andere Fehler, bzw. macht das System langsam. Deshalb nicht dauerhaft aktivieren.
 
Hallo @EinEinach,
falls Du noch irgendwo einen Raspberry Pi rumliegen hast, kannst Du den mit einem W-Lan Stick versehen, unter der Raspberian GUI die Arduino IDE installieren und den dann per USB mit dem M4 verbinden. Die 5V für die Versorgung kannst Du dir per Step-Down-Regler aus der Batteriespannung generieren. Die Batteriespannung kannst Du entweder von P16 (max 1A und auch bei Abschaltung des Mähers unter Spannung) oder von P17 (keine Spannung mehr, wenn der Mäher ausschaltet) holen. Kommt darauf an, ob der Fehler, den Du tracken möchtest zum Abschalten des Mähers führt oder nicht. Wenn er zur Abschaltung führt, musst Du den P16 nehmen und darauf achten, dass der Akku nicht tiefentladen wird, da die Unterspannungsabschaltung dort nicht greift.
Per VNC kannst Du Dich dann mit dem Raspberrry Pi verbinden und in der Arduino IDE mit dem serial monitor alles verfolgen.
Das hat den Vorteil, dass Du dir, im Gegensatz zum loggen auf die SD-Karte nicht noch zusätzliche Fehler/Phänomene einhandelst.
Ich fahre zur Zeit auch immer mit diesem Setup, da es die Fehlersuche doch enorm erleichtert.

Gruß Sven
 
Ja cool, ich habe tatsächlich noch einen Raspberry rumliegen, ich glaube 3B+, der hat schon WLAN am Board. Die vorhandenen 5V am PCB reichen nicht aus um Raspberry zu betreiben?

Der Fehler führt nicht zur Abschaltung des Mähers, aber zur Abschaltung eines der Antriebsmotoren (meistens rechts). Das kuriose dabei der AGM merkt das nicht, obwohl der Motor nicht mehr dreht wird kein Odo Fehler geworfen, sondern es wird ein Obstacle erkannt und der Mäher versucht vom neuen an loszufahren mit dem gleichen Ergebnis. Ein soft reboot über die App behebt das Problem. Somit ist meine Vermutung, dass das Problem irgendwo in dem Motor Recovery Ablauf.
 
ich glaube 3B+, der hat schon WLAN am Board. Die vorhandenen 5V am PCB reichen nicht aus um Raspberry zu betreiben?
Leider nein. Der 3B+ benötigt laut Wiki ca 1,3A und der auf dem Board verbaute Festspannungsregler liefert max 1A.

Wegen des Motorfehlers:
Welche Sunray-Version verwendest Du und hast Du auch die Shop-Treiber mit dem DRV8308 Chip?

Gruß Sven
 
Wenn ich das richtig sehe, ist bei dem Treiber die Feherquittierung durch togglen des Enable-Signals aktiviert. (JYQD.resetFaultByToggleEnable = true; // reset a fault by toggling enable? ) Könnte es nicht doch sein, dass der Treiber aus was für einen Grund auch immer in den Fehlerzustand geht und der toggle nicht ausreicht für einen reset. Bei einem soft reboot bleibt der Enable für eine längere Zeit low.
Beim resetMotorFaults() bleibt er hingegen nur für einen Programm-Schritt (nicht einmal einen Programm-Zyklus) low.
 
@Svolo: Ich hatte jetzt die Tage etwas Zeit und habe meinen RaspberryPi neuaufgesetzt Arduino IDE läuft auch. Sag mal flasht du auch OTA? Ich bekomme die Sunray FW auf dem RaspberryPi nicht kompiliert. Er meckert, dass ihm die process.h fehlt. Weißt du was mir fehlt?

Gruss
Alexander
 
Hallo Alexander,
da ich nur einen Pi 1B+ habe reicht es gerade so eben das ich die Arduino IDE gestartet bekomme um dann den Serial Monitor zu öffnen. Ich hatte vorher versucht die Bibliotheken und Boards zu installieren. Bei dem Board von Adafruit ist die Installation immer gescheitert.
Wollte damit dann auch OTA auf dem Pi kompilieren und übertragen, aber auch leider nicht hin bekommen.

Zu der process.h habe ich folgende Library gefunden: YunBridgeLibrary
Vielleicht muss diese bei einer Linux Umgebung noch hinzugefügt werden. Der Pi ist sozusagen mein erstes Linux-System, daher kann ich Dir da leider nicht wirklich helfen.

Gruß Sven
 
Hallo Sven,
habe alles vorhin mit AlexanderG Unterstützung im Skype Channel geklärt. Jetzt kann ich kompilieren und bei Bedarf OTA flashen.

Die Process.h wird nur für den Alfred benötigt, komischerweise zieht die Arduino IDE auf dem Pi die trotzdem an, obwohl als Zielboard AGM4 ausgwählt ist. Mit einigen Änderungen im Code lässt sich das umgehen, wenn Interesse besteht, kann ich das hier dokumentieren

Gruss
Alexander
 
Bitte gerne dokumentieren. Es gibt bestimmt den Einen oder Anderen, die vor dem gleichen Problem stehen, oder einmal stehen werden.
Vielleicht besorge ich mir auch noch einen Pi 3B+ oder höher um OTA-Updates machen zu können und würde spätestens dann auf dich zukommen. ;)

Gruß Sven
 
sollte dafür nicht auch ein RPI Zero reichen? Den habe ich hier noch rumliegen bzw. ist schon für Kamera eingebaut ... OTA wäre eine feine Sache, ebenso für die Fehlersuche ein Live-Log.
Ach, und Doku wäre natürlich total Klasse
 
Hallo EinEinach, bist du jetzt nur mit einem RasberryPi unterwegs one den Ardafruit M4?
Nein das wäre absolute Spitzenklasse. Der AGM4 soll über USB am RaspberryPi angeschlossen werden. Auf dem RaspberryPi läuft dann Arduino IDE. Per Fernzugriff zB VNC könnte ich theoretisch alles das machen was man sonst macht, wenn der Due oder AGM4 direkt mit dem PC verbunden ist.

Die Frage ist allerdings berechtigt und gibt mir seit dem es Alfred gibt keine Ruhe. Warum nicht den RaspberryPi zusammen mit dem PCB1.4 ohne AGM4 und ESP32 nutzen. Früher wurde argumentiert, dass der Pi nicht echtzeitfähig ist, aber es scheint doch zu gehen. Mir ist absolut klar, dass der PI zu wenig Ausgangspins und keine Analogeingänge hat, aber das sehe ich nicht als großes Problem, da bei dem Adafruit auch c.a. die Hälfte der Pins nicht genutzt werden und es gibt bereits fertige Aufsatzboards mit zusätzlichen I/O Eingängen inkl Analogeingängen.

Ich denke das wäre machbar
 
So habe jetzt den RaspberryPi eingebaut und das erste mal mitgelogt und OTA geflasht. Damit kann ich ruhigen Gewissens auch die Vorbereitung der Arduino IDE auf dem Raspberry beschreiben.
Der Raspberry Pi hat als OS Raspian 11 Bullseye, wie man Raspian und später Arduino IDE installiert, beschreibe ich nicht, es gibt genug Anleitungen im Netz. Nach dem Arduino IDE erfolgreich installiert wurde:
1. Ein Package über Terminal nachinstallieren:
Code:
sudo apt install libfl2
gilt für Adafruit, beim DUE sollte es auch so gehen
2. Arduino IDE wie im Wiki beschrieben für den Adafruit vorbereiten.
3. In der Arduino IDE über Libary Manager die Bibliothek SD nachinstallieren
4. Sunray Sketch laden und versuchen zu kompilieren, wenn alles klappt, dann wunderbar.
Bei mir hat der Sketch gemeckert und wollte unbedingt Process.h haben, was sehr ungewöhnlich ist, da diese Datei nur für Alfred notwendig ist. Warum die Arduino IDE auf dem Raspberry diese Datei trotzdem anzieht, verstehe ich nicht (evtl. Bug in der Arduino IDE). Also wenn bei euch das genau so ist, dann weiter mit Schritt 5
5. Die Dateien SerialRobotDriver.h und SerialRobotDriver.cpp aus dem sunray/src/driver Ordner löschen
6. In robot.h und robot.cpp den Eintrag #include "src/driver/SerialRobotDriver.h" auskommentieren
7. Arduino IDE neustarten und sketch kompilieren (dauert je nach Raspberry Modell auch länger)
Jetzt sollte alles wie gewünscht funktionieren und der Adafruit oder Due kann über Raspberry Pi geflasht werden, was aus meiner Sicht sehr kompfortabel ist :)
 
Wenn ich das richtig sehe, ist bei dem Treiber die Feherquittierung durch togglen des Enable-Signals aktiviert. (JYQD.resetFaultByToggleEnable = true; // reset a fault by toggling enable? ) Könnte es nicht doch sein, dass der Treiber aus was für einen Grund auch immer in den Fehlerzustand geht und der toggle nicht ausreicht für einen reset. Bei einem soft reboot bleibt der Enable für eine längere Zeit low.
Beim resetMotorFaults() bleibt er hingegen nur für einen Programm-Schritt (nicht einmal einen Programm-Zyklus) low.
Ach so und der Fehler ist heute aufgetretten und ich habe mitgelogt, allerdings schlauer bin ich aus dem Log nicht geworden:
Code:
08:34:49.195 -> bumper obstacle!
08:34:49.195 -> triggerObstacle
08:34:49.443 -> ==> changeOp:EscapeReverse->Mow
08:34:51.294 -> 11:29:25 ctlDur=0.02 op=EscapeReverse->Mow freem=219291 sp=2772EFC bat=28.09(0.66) chg=0.65(0.03) tg=-11.75,4.98 x=-10.10 y=2.37 delta=2.09 tow=282909000 lon=10.43173795 lat=52.44015775 h=106.4 n=4366.61 e=-2454.20 d=2.35 sol=2 age=0.09
08:34:52.225 -> driveReverseStopTime
08:34:52.225 -> continue operation with virtual obstacle
08:34:52.356 -> addObstacle -10.42,2.82
08:34:52.356 -> ==> changeOp:Mow
08:34:52.356 -> OP_MOW
08:34:52.356 -> Map::startMowing
08:34:52.356 -> findObstacleSafeMowPoint checking -11.75,4.98
08:34:52.356 -> findPath (-10.07,2.26) (-11.75,4.98)
08:34:52.356 -> path finder is enabled
08:34:52.356 -> freem=214707
08:34:52.356 -> starting path-finder
08:34:52.356 -> .finish nodes=184 duration=93
08:34:52.356 -> node pt=-11.75,4.98
08:34:52.356 -> node pt=-11.01,2.61
08:34:52.356 -> node pt=-10.61,2.21
08:34:52.356 -> node pt=-10.21,2.21
08:34:52.356 -> node pt=-10.07,2.26
08:34:52.356 -> WARN: PID unmet cycle time Ta=0.10 TaMax=0.07
08:34:52.356 -> WARN: PID unmet cycle time Ta=0.11 TaMax=0.07
08:34:56.318 -> 11:29:30 ctlDur=0.02 op=Mow freem=214843 sp=2774286 bat=28.14(0.50) chg=0.64(0.03) tg=-10.21,2.21 x=-10.07 y=2.25 delta=2.08 tow=282914200 lon=10.43173845 lat=52.44015654 h=106.4 n=4366.50 e=-2454.15 d=2.36 sol=2 age=0.08
08:35:01.341 -> 11:29:35 ctlDur=0.02 op=Mow freem=214843 sp=2775610 bat=28.18(0.41) chg=0.64(0.04) tg=-10.21,2.21 x=-10.07 y=2.28 delta=2.09 tow=282919200 lon=10.43173844 lat=52.44015681 h=106.4 n=4366.51 e=-2454.15 d=2.36 sol=2 age=1.13
08:35:06.365 -> 11:29:40 ctlDur=0.02 op=Mow freem=214843 sp=277699A bat=28.18(0.40) chg=0.66(0.03) tg=-10.21,2.21 x=-10.11 y=2.25 delta=-2.89 tow=282924200 lon=10.43173791 lat=52.44015650 h=106.4 n=4366.50 e=-2454.19 d=2.35 sol=2 age=0.09
08:35:11.385 -> 11:29:45 ctlDur=0.02 op=Mow freem=214843 sp=2777D23 bat=28.08(0.54) chg=0.66(0.03) tg=-10.21,2.21 x=-10.11 y=2.24 delta=-2.93 tow=282929200 lon=10.43173790 lat=52.44015642 h=106.4 n=4366.49 e=-2454.19 d=2.35 sol=2 age=0.18
08:35:16.379 -> 11:29:50 ctlDur=0.02 op=Mow freem=214843 sp=27790AE bat=28.11(0.48) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282934200 lon=10.43173804 lat=52.44015674 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:35:21.400 -> 11:29:55 ctlDur=0.02 op=Mow freem=214843 sp=277A437 bat=28.14(0.46) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282939200 lon=10.43173831 lat=52.44015674 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.20
08:35:26.423 -> 11:30:0 ctlDur=0.02 op=Mow freem=214843 sp=277B7C2 bat=28.15(0.46) chg=0.66(0.03) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282944200 lon=10.43173831 lat=52.44015673 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:35:27.122 -> ERROR: odometry error rpm=0.00,0.00
08:35:28.155 -> motor fault recover counter 1
08:35:31.449 -> 11:30:5 ctlDur=0.02 op=Mow freem=214843 sp=277CB4D bat=28.17(0.39) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282949200 lon=10.43173832 lat=52.44015672 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.30
08:35:36.441 -> 11:30:10 ctlDur=0.02 op=Mow freem=214843 sp=277DED7 bat=28.19(0.34) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282954200 lon=10.43173832 lat=52.44015673 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.22
08:35:38.239 -> resetting recoverMotorFaultCounter
08:35:41.099 -> batTemp=0.0  cpuTemp=48
08:35:41.099 -> ERROR: odometry error rpm=0.00,0.00
08:35:41.465 -> 11:30:15 ctlDur=0.02 op=Mow freem=214843 sp=277F260 bat=28.20(0.31) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282959200 lon=10.43173833 lat=52.44015674 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.27
08:35:42.131 -> motor fault recover counter 1
08:35:46.489 -> 11:30:20 ctlDur=0.02 op=Mow freem=214843 sp=27805EB bat=28.20(0.33) chg=0.68(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282964200 lon=10.43173834 lat=52.44015673 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=1.20
08:35:51.510 -> 11:30:25 ctlDur=0.02 op=Mow freem=214843 sp=2781975 bat=28.18(0.37) chg=0.66(0.03) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282969200 lon=10.43173833 lat=52.44015672 h=106.4 n=4366.50 e=-2454.17 d=2.36 sol=2 age=1.20
08:35:52.176 -> resetting recoverMotorFaultCounter
08:35:55.041 -> ERROR: odometry error rpm=0.00,0.00
08:35:56.072 -> motor fault recover counter 1
08:35:56.537 -> 11:30:30 ctlDur=0.02 op=Mow freem=214843 sp=2782CFE bat=28.18(0.38) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282974400 lon=10.43173804 lat=52.44015650 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.30
08:36:01.526 -> 11:30:35 ctlDur=0.02 op=Mow freem=214843 sp=2784089 bat=28.19(0.34) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=282979400 lon=10.43173833 lat=52.44015675 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=1.29
08:36:06.145 -> resetting recoverMotorFaultCounter
08:36:06.544 -> 11:30:40 ctlDur=0.02 op=Mow freem=214843 sp=2785414 bat=28.20(0.30) chg=0.66(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.94 tow=282984400 lon=10.43173805 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.35
08:36:09.107 -> ERROR: odometry error rpm=0.00,0.00
08:36:10.137 -> motor fault recover counter 1
08:36:11.570 -> 11:30:45 ctlDur=0.02 op=Mow freem=214843 sp=278679E bat=28.20(0.30) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282989400 lon=10.43173832 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=1.30
08:36:16.591 -> 11:30:50 ctlDur=0.02 op=Mow freem=214843 sp=2787B28 bat=28.19(0.33) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.28 delta=-2.94 tow=282994400 lon=10.43173831 lat=52.44015675 h=106.4 n=4366.50 e=-2454.18 d=2.36 sol=2 age=0.17
08:36:20.214 -> resetting recoverMotorFaultCounter
08:36:21.612 -> 11:30:55 ctlDur=0.02 op=Mow freem=214843 sp=2788EB6 bat=28.17(0.38) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=282999400 lon=10.43173833 lat=52.44015651 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.37
08:36:23.112 -> ERROR: odometry error rpm=0.00,0.00
08:36:24.142 -> motor fault recover counter 1
08:36:26.640 -> 11:31:0 ctlDur=0.02 op=Mow freem=214843 sp=278A240 bat=28.18(0.36) chg=0.67(0.04) tg=-10.21,2.21 x=-10.08 y=2.27 delta=-2.94 tow=283004400 lon=10.43173834 lat=52.44015675 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.42
08:36:31.630 -> 11:31:5 ctlDur=0.02 op=Mow freem=214843 sp=278B5CB bat=28.19(0.32) chg=0.65(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283009400 lon=10.43173832 lat=52.44015652 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.38
08:36:34.189 -> resetting recoverMotorFaultCounter
08:36:36.655 -> 11:31:10 ctlDur=0.02 op=Mow freem=214843 sp=278C954 bat=28.19(0.30) chg=0.66(0.04) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283014400 lon=10.43173832 lat=52.44015652 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.24
08:36:37.220 -> ERROR: odometry error rpm=0.00,0.00
08:36:38.251 -> motor fault recover counter 1
08:36:41.275 -> batTemp=0.0  cpuTemp=48
08:36:41.674 -> 11:31:15 ctlDur=0.02 op=Mow freem=214843 sp=278DCDF bat=28.19(0.31) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.94 tow=283019400 lon=10.43173833 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.34
08:36:46.699 -> 11:31:20 ctlDur=0.02 op=Mow freem=214843 sp=278F06A bat=28.18(0.35) chg=0.66(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283024400 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:36:47.929 -> sending encryptMode=0 encryptChallenge=0
08:36:48.294 -> resetting recoverMotorFaultCounter
08:36:51.294 -> ERROR: odometry error rpm=0.00,0.00
08:36:51.692 -> 11:31:25 ctlDur=0.02 op=Mow freem=214843 sp=27903F4 bat=28.16(0.39) chg=0.66(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283029400 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:36:52.325 -> motor fault recover counter 1
08:36:56.717 -> 11:31:30 ctlDur=0.02 op=Mow freem=214843 sp=279177D bat=28.17(0.34) chg=0.67(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283034600 lon=10.43173811 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.53
08:37:01.738 -> 11:31:35 ctlDur=0.02 op=Mow freem=214843 sp=2792B08 bat=28.18(0.31) chg=0.65(0.04) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283039600 lon=10.43173811 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.49
08:37:02.370 -> resetting recoverMotorFaultCounter
08:37:05.398 -> ERROR: odometry error rpm=0.00,0.00
08:37:06.429 -> motor fault recover counter 1
08:37:06.762 -> 11:31:40 ctlDur=0.02 op=Mow freem=214843 sp=2793E91 bat=28.19(0.30) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283044600 lon=10.43173833 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.61
08:37:11.781 -> 11:31:45 ctlDur=0.02 op=Mow freem=214843 sp=279521A bat=28.18(0.32) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283049600 lon=10.43173832 lat=52.44015654 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.51
08:37:16.468 -> resetting recoverMotorFaultCounter
08:37:16.767 -> 11:31:50 ctlDur=0.02 op=Mow freem=214843 sp=27965A4 bat=28.16(0.37) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283054600 lon=10.43173831 lat=52.44015654 h=106.4 n=4366.50 e=-2454.18 d=2.35 sol=2 age=0.58
08:37:19.527 -> ERROR: odometry error rpm=0.00,0.00
08:37:20.558 -> motor fault recover counter 1
08:37:21.787 -> 11:31:55 ctlDur=0.02 op=Mow freem=214843 sp=279792E bat=28.16(0.36) chg=0.64(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283059600 lon=10.43173832 lat=52.44015652 h=106.4 n=4366.50 e=-2454.18 d=2.34 sol=2 age=1.38
08:37:26.813 -> 11:32:0 ctlDur=0.02 op=Mow freem=214843 sp=2798CB8 bat=28.17(0.32) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283064600 lon=10.43173833 lat=52.44015653 h=106.4 n=4366.50 e=-2454.17 d=2.35 sol=2 age=0.57
08:37:30.611 -> resetting recoverMotorFaultCounter
08:37:31.845 -> 11:32:5 ctlDur=0.02 op=Mow freem=214843 sp=279A043 bat=28.17(0.30) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283069600 lon=10.43173832 lat=52.44015654 h=106.4 n=4366.50 e=-2454.18 d=2.34 sol=2 age=1.58
08:37:33.572 -> ERROR: odometry error rpm=0.00,0.00
08:37:34.603 -> motor fault recover counter 1
08:37:36.866 -> 11:32:10 ctlDur=0.02 op=Mow freem=214843 sp=279B3CD bat=28.17(0.30) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283074600 lon=10.43173835 lat=52.44015653 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.58
08:37:41.424 -> batTemp=0.0  cpuTemp=47
08:37:41.856 -> 11:32:15 ctlDur=0.02 op=Mow freem=214843 sp=279C757 bat=28.15(0.34) chg=0.64(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283079600 lon=10.43173834 lat=52.44015653 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.68
08:37:44.659 -> resetting recoverMotorFaultCounter
08:37:46.909 -> 11:32:20 ctlDur=0.02 op=Mow freem=214843 sp=279DAE0 bat=28.14(0.38) chg=0.67(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283084600 lon=10.43173810 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.70
08:37:47.641 -> ERROR: odometry error rpm=0.00,0.00
08:37:48.675 -> motor fault recover counter 1
08:37:51.900 -> 11:32:25 ctlDur=0.02 op=Mow freem=214843 sp=279EE6A bat=28.14(0.35) chg=0.65(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283089600 lon=10.43173834 lat=52.44015652 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.70
08:37:56.924 -> 11:32:30 ctlDur=0.02 op=Mow freem=214843 sp=27A01F4 bat=28.15(0.32) chg=0.66(0.03) tg=-10.21,2.21 x=-10.08 y=2.25 delta=-2.93 tow=283094600 lon=10.43173834 lat=52.44015653 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.69
08:37:58.752 -> resetting recoverMotorFaultCounter
08:38:01.712 -> ERROR: odometry error rpm=0.00,0.00
08:38:01.912 -> 11:32:35 ctlDur=0.02 op=Mow freem=214843 sp=27A157E bat=28.16(0.30) chg=0.67(0.03) tg=-10.21,2.21 x=-10.08 y=2.28 delta=-2.93 tow=283099800 lon=10.43173834 lat=52.44015681 h=106.4 n=4366.51 e=-2454.17 d=2.34 sol=2 age=0.49
08:38:02.744 -> motor fault recover counter 1
08:38:06.929 -> 11:32:40 ctlDur=0.02 op=Mow freem=214843 sp=27A2908 bat=28.15(0.32) chg=0.68(0.03) tg=-10.21,2.21 x=-10.10 y=2.28 delta=-2.93 tow=283104800 lon=10.43173810 lat=52.44015681 h=106.4 n=4366.51 e=-2454.17 d=2.34 sol=2 age=0.79
08:38:11.953 -> 11:32:45 ctlDur=0.02 op=Mow freem=214843 sp=27A3C92 bat=28.14(0.36) chg=0.64(0.03) tg=-10.21,2.21 x=-10.10 y=2.25 delta=-2.93 tow=283109800 lon=10.43173810 lat=52.44015654 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.79
08:38:12.818 -> resetting recoverMotorFaultCounter
08:38:15.751 -> ERROR: odometry error rpm=0.00,0.00
08:38:16.750 -> motor fault recover counter 1
08:38:16.983 -> 11:32:50 ctlDur=0.02 op=Mow freem=214843 sp=27A501B bat=28.13(0.37) chg=0.66(0.03) tg=-10.21,2.21 x=-10.09 y=2.25 delta=-2.92 tow=283114800 lon=10.43173812 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.56
08:38:22.001 -> 11:32:55 ctlDur=0.02 op=Mow freem=214843 sp=27A63A5 bat=28.14(0.33) chg=0.65(0.03) tg=-10.21,2.21 x=-10.09 y=2.25 delta=-2.92 tow=283119800 lon=10.43173814 lat=52.44015651 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.80
08:38:26.822 -> resetting recoverMotorFaultCounter
08:38:27.024 -> 11:33:0 ctlDur=0.02 op=Mow freem=214843 sp=27A7730 bat=28.15(0.30) chg=0.66(0.03) tg=-10.21,2.21 x=-10.09 y=2.25 delta=-2.92 tow=283124800 lon=10.43173813 lat=52.44015653 h=106.4 n=4366.50 e=-2454.17 d=2.34 sol=2 age=0.65
08:38:29.815 -> ERROR: odometry error rpm=0.00,0.00
08:38:30.844 -> motor fault recover counter 1

Ausgelöst wurde alles durch ein Bumper obstacle, und danach versucht er loszulegen, bricht aber sofort wieder ab mit ODO-Fehler und das in Dauerschleife. Warum der Mower nicht einfach den ODO-Fehler wirft und gut ist, aber nein der bleibt die Ganze Zeit im Status Mow und rührt sich nicht vom Fleck
 
Oben