Sunray modding Spielwiese

Prompt (Anfrage) : Hier stehen einige defines eines c++ codes, bitte übersetzte die englischen erklärungen dahinter ins deutsche und gib es als code wiedereinfügbar aus:

ChatGPT: Klar, ich helfe dir dabei, die englischen Erklärungen zu übersetzen! Bitte gib mir den C++-Code mit den #define-Anweisungen und den englischen Kommentaren, und ich werde sie ins Deutsche übersetzen.

EINFÜGEN DER MODESCTION ---> ANTWORT:

Code:
////////////////////////////////////////////////////////////////////////////////////////////////////
//Modsection START
//Bitte beachte, dass es Fehler gibt. Wenn du jedoch Fehler findest, die den Betrieb des Mähers auf einem Gebiet vollständig stoppen, lass es mich bitte wissen...
#define ROBOT_CONTROL_CYCLE         20    // (ms) Zykluszeit beim Mähen
#define ROBOT_IDLE_CYCLE            20    // (ms) Zykluszeit beim Laden
//Experimentelle Modfunktionen/Optionen/Geschwindigkeiten/Zeit usw. für verschiedene Bewegungsoperationen. Bitte lies die Beschreibungen. Viel Spaß.
//Allgemeine Mähzeiten und Geschwindigkeiten mit ihren Parameterbedingungen. Dieser Abschnitt ist der einfachste, um ihn an die eigenen Bedürfnisse anzupassen... also fühl dich frei und passe ihn einfach an, wie du es auf dem Rasen haben möchtest
#define OVERRIDE_MOW_SPEED          false  // Dies ist eine Übergangslösung, damit die Geschwindigkeit bei .325 nicht sofort auf die gewünschte Geschwindigkeit gesetzt wird
#define MOWSPEED                    0.50  // (m/s) Normale Mähgeschwindigkeit, wie du sie in der App einstellen würdest
#define MOWSPINUPTIME               10000  // (ms) Fügt Zeit hinzu, um den Mähmotor vor dem Starten der Bewegung zu drehen, verwende einen hohen Wert, wenn du ESCAPE_LAWN aktivierst, um eine gute Ablesung der Leerlaufdrehzahl des Mähmotors zu erhalten
#define OVERLOADSPEED               0.16  // (m/s) Wenn ein Überlaststrom eines Motortreibers erkannt wird, verwendet der Mäher OVERLOADSPEED
#define TRACKSLOWSPEED              0.25  // (m/s) z.B. die Dockinggeschwindigkeit oder Funktionen der Zukunft
#define NEARWAYPOINTSPEED           0.25  // (m/s) Die Geschwindigkeit des Mähers, wenn er einen Wegpunkt erreicht/verlässt
#define NEARWAYPOINTDISTANCE        0.50  // (m) Der Abstand des Mähers, wenn er sich einem Wegpunkt nähert oder diesen verlässt, wodurch NEARWAYPOINTSPEED des Mähers ausgelöst wird
#define FLOATSPEED                  0.25  // (m/s) Bei GPS-FLOAT-SOLUATION wird der Mäher FLOATSPEED verwenden
#define SONARSPEED                  0.15  // (m/s) Wenn Sonar aktiviert und verwendet wird, wird der Mäher SONARSPEED beim Sonar-Trigger verwenden
#define OBSTACLEAVOIDANCESPEED      0.35  // (m/s) Bei Ausweichoperationen vor Hindernissen wird der Mäher OBSTACLEAVOIDANCESPEED verwenden
#define DOCKSPEED                   0.60  // (m/s) Die Geschwindigkeit, mit der der Mäher den Dockpfad nach dem Mähen oder beim Auslösen des Dockens erreicht
#define DOCKPATHSPEED               0.30  // (m/s) Die Geschwindigkeit des Mähers auf dem Dockpfad
#define ESCAPE_REVERSE_WAY          0.40  // (m) Der Abstand, den der Mäher rückwärts fährt, wenn ESCAPE_REVERSE aktiviert wird, wenn ein Hindernis erkannt wird, z.B. durch Stoßfänger oder GPS (keine Geschwindigkeit)
#define ESCAPE_FORWARD_WAY          0.35  // (m) Der Abstand, den der Mäher vorwärts fährt, wenn ESCAPE_FORWARD aktiviert wird, wenn ein Hindernis durch OBSTACLE_ROTATION (keine Rotation) erkannt wird
#define GLOBALSPEEDLIMIT            true  // Wenn true, werden MOTOR_MAX_SPEED und MOTOR_MIN_SPEED mögliche Fehler oder Eingaben direkt in motor.cpp begrenzen
#define MOTOR_MAX_SPEED             0.60  // (m/s) Maximale Mähgeschwindigkeit --> hat wenig mit der Konfiguration der Geschwindigkeiten zu tun: dient als Sicherheitsmechanismus
#define MOTOR_MIN_SPEED             0.05  // (m/s) Minimale Mähgeschwindigkeit --> hat wenig mit der Konfiguration der Geschwindigkeiten zu tun: dient als Sicherheitsmechanismus
#define DISTANCE_RAMP               true  // Verwendet NEARWAYPOINTDISTANCE, MOTOR_MIN_SPEED und die tatsächliche Set-Geschwindigkeit, um eine indirekte Verzögerungsrampe zum nächsten Wegpunkt zu berechnen. Wenn dies aktiviert ist, wird NEARWAYPOINTSPEED in linetracker.cpp deaktiviert
#define DISTANCE_RAMP_MINSPEED      0.15  // (m/s) Dies ist die minimale Geschwindigkeit der Rampe
//Rotationsgeschwindigkeiten, auch diese lassen sich leicht an die eigenen Erwartungen anpassen --> wird auf angularRamp() mit weniger Parametern geändert
#define ROTATION_RAMP               true  // Verwendet eine Rampe für angletotargetfits (sehr gut), ROTATETOTARGETSPEEDs sind deaktiviert, wenn dies aktiviert ist
#define ROTATION_RAMP_MAX           75   // (deg/s) Maximale Rotationsgeschwindigkeit
#define ROTATION_RAMP_MIN           18    // (deg/s) Minimale Rotationsgeschwindigkeit
#define ROTATETOTARGETSPEED1        65.0  // (deg/s) Wenn der Winkelunterschied zum Zielpunkt mehr als ANGLEDIFF1 beträgt, wird dieser Wert verwendet...   Warnung, ein hoher Wert führt zu extremem Getriebemotorstress (auf eigenes Risiko testen, 65deg/s ist immer noch sicher und schnell)
#define ROTATETOTARGETSPEED2        40.0  // (deg/s) Wenn der Winkelunterschied zum Zielpunkt zwischen ANGLEDIFF1 und ANGLEDIFF2 liegt, wird dieser Wert verwendet...
#define ROTATETOTARGETSPEED3        25.0  // (deg/s) Wenn der Winkelunterschied zum Zielpunkt weniger als ANGLEDIFF2 beträgt, wird dieser Wert verwendet...
#define ANGLEDIFF1                  30.0  // (deg) Wenn der Winkel zum Zielpunkt mehr als ANGLEDIFF1 beträgt --> wird ROTATETOTARGETSPEED1 verwendet
#define ANGLEDIFF2                  15.0  // (deg) Wenn der Winkel zum Zielpunkt zwischen ANGLEDIFF1 und ANGLEDIFF2 liegt --> wird ROTATETOTARGETSPEED2 verwendet, bei einem kleineren Wert wird ROTATETOTARGETSPEED3 verwendet...
#define ANGLEPRECISE                5.0   // (deg) Wenn der Winkel zum Zielpunkt innerhalb von 5° liegt, fährt der Mäher mit dem Linetracker.cpp Stanley-Code und der NEARWAYPOINT-Einstellung fort
#define TRANSITION_ANGLE            25    // (deg) Wenn der nächste Punkt diesen Winkel unterschreitet, stoppt der Mäher nicht vollständig, sondern macht eine Übergangsbewegung mit TRANSITION_SPEED
#define TRANSITION_SPEED            0.10  // (m/s) Geschwindigkeit für den Übergang zum nächsten Punktwinkel
//Verwende einen PID-Regler für den Mähmotor, um eine Drehzahl statt PWM einzustellen? Wenn du dies verwendest (es wird eine Konsolenausgabe mit Daten nach 10 Sekunden erfolgen, wenn du den Mähmotor aktivierst und dies aktiviert ist)
//CONFIG-HINWEIS: Für die folgenden Optionen ist es wichtig, ob du eine Mähmotordodometrie hast: USE_MOW_RPM_SET, ADAPTIVE_SPEED_MODE, ESCAPE_LAWN_MODE. Wenn du keine Odometrie hast: Verwende Modus 1 in beiden Fällen und setze USE_MOW_RPM_SET auf false, wenn du Odometrie hast, verwende Modus 2 in beiden Fällen und setze USE_MOW_RPM_SET auf true (empfohlen)
#define USE_MOW_RPM_SET             false  // Verwendet RPM statt PWM, um den Mähmotor zu steuern (RPM_FAULT_DETECTION von orig Sunray sollte für alle RPM-basierten Funktionen auf TRUE gesetzt werden!!)
#define MOWMOTOR_RPM_OFFSET         310   // Kompensiert kleine RPM-Offsets (positiv, wenn die RPM-Ablesung unter dem Sollwert liegt)
#define MOWMOTOR_PID_KP             0.0032 // (0.0024 Mähmotortreiber DRV8308) (0.0018 JYQD) Dies reicht aus, um den Batterieverbrauch im Laufe der Zeit zu kompensieren und einen langsamen Hochlauf zu ermöglichen. Es könnte einen Controller-Offset zur RPM geben, der berücksichtigt werden muss... RPM_OFFSET
#define MOWMOTOR_PID_KI             0.01  // (0.04 (Mähmotortreiber DRV8308/JYQD))
#define MOWMOTOR_PID_KD             0.00  // (0.0000 (Mähmotortreiber DRV8308/JYQD))
//adaptive Geschwindigkeitseinstellungen basierend auf RPM oder Last des Mähmotors (berücksichtige, ob du eine Mähmotordodometrie hast)
#define ADAPTIVE_SPEED              true  // Wenn true, wird die Mähgeschwindigkeit an die RPM oder MOWMOTORPOWER des Mähmotors bei allen Vorwärtsgeschwindigkeitsoperationen angepasst (am besten)
#define ADAPTIVE_SPEED_MODE         1     // (1, 2) Adaptive Geschwindigkeitsmodi. Modus 1 - verwendet die Mähmotorkraftmessung zum Beschleunigen/Verlangsamen; Modus 2 - verwendet die RPM-Messung des Mähmotors zum Beschleunigen/Verlangsamen (2: am besten)
#define ADAPTIVE_SPEED_USE_MINS

Hier noch der Teilrest:

Code:
#define ADAPTIVE_SPEED true  // wenn true, passt die Mähgeschwindigkeit je nach Drehzahl oder Leistung des Mähmotors bei allen Vorwärtsbewegungen an (empfohlen)
#define ADAPTIVE_SPEED_MODE 1  // (1,2) adaptive Geschwindigkeitsmodi. 1=Verwendung der Mähmotorleistung, 2=Verwendung der Drehzahl des Mähmotors (besser)
#define ADAPTIVE_SPEED_USE_MINSPEED true  // false: verwendet MOTOR_MIN_SPEED als niedrigste Geschwindigkeit, true: verwendet ADAPTIVE_SPEED_MINSPEED als niedrigste Geschwindigkeit
#define ADAPTIVE_SPEED_MINSPEED 0.05  // (m/s) minimale Geschwindigkeit bei hoher Mähmotorbelastung
#define MOWPOWERMAX_AUTO false  // (experimentell) verwendet automatisch die höchste erkannte Mähmotorleistung während des Betriebs. Wenn true, wird MOWPOWERMAX ignoriert
#define MOWPOWERMIN 40.0  // (Watt) Leerlauf- oder Mindestlastleistung des Mähmotors – darunter fährt der Mäher mit maximaler Geschwindigkeit
#define MOWPOWERMAX 90.0  // (Watt) maximale Mähmotorlast – der Mäher fährt dann mit minimaler Geschwindigkeit
#define MOW_RPM_DEADZONE 200  // (rpm) Totzone vor der Geschwindigkeitsreduzierung, z. B. wenn MOW_RPM_NORMAL = 3000, Zone = 2800...3000
#define MOW_RPM_NORMAL 3200  // (rpm) normale Mähdrehzahl (wird nur verwendet, wenn USE_MOW_RPM_SET = true)
#define MOW_RPM_SLOW 3600  // (rpm) langsame Mähdrehzahl
#define MOW_RPM_RETRY 3600  // (rpm) Mähdrehzahl beim erneuten Mähen nach ESCAPE_LAWN (wird nur für ESCAPE_LAWN verwendet)
#define MOW_PWM_NORMAL 195  // (pwm) normaler Mäh-PWM-Wert (nur verwendet, wenn USE_MOW_RPM_SET = false)
#define MOW_PWM_SLOW 215  // (pwm) langsamer Mäh-PWM-Wert bei keepslow
#define MOW_PWM_RETRY 235  // (pwm) Mäh-PWM-Wert beim erneuten Mähen nach ESCAPE_LAWN

#define ESCAPE_LAWN true  // wenn true, fährt der Mäher zurück, wenn er blockiert ist (anhand von Drehzahl/Leistung des Mähmotors)
#define ESCAPE_LAWN_MODE 1  // (1,2) ESCAPE_LAWN Modi. 1=Verwendung der Mähmotorleistung, 2=Verwendung der Drehzahl (besser)
#define CHANGE_SPEED_SET true  // wenn true, wechselt der Mäher in den Langsam-Modus, wenn ESCAPE_LAWN oder keepslow aktiviert ist
#define MOW_POWERtr_STALL 80  // (%) ESCAPE_LAWN wird über diesem Prozentsatz von MOWPOWERMAX ausgelöst
#define MOW_POWERtr_SLOW 70  // (%) keepslow wird über diesem Prozentsatz von MOWPOWERMAX ausgelöst
#define MOW_RPMtr_STALL 65  // (%) ESCAPE_LAWN wird unter diesem Prozentsatz von MOW_RPM_NORMAL ausgelöst
#define MOW_RPMtr_SLOW 80  // (%) keepslow wird unter diesem Prozentsatz von MOW_RPM_NORMAL ausgelöst
#define NO_GPS_OBSTACLE true  // GPS-Hindernis nach ESCAPE_LAWN ignorieren
#define NO_GPS_OBSTACLE_DEADTIME 7000  // (ms) GPS-Hindernis für diese Zeit nach ESCAPE_LAWN ignorieren
#define TEST_WAIT_BEFORE_REVERSE false  // nur Test: vor dem Rückwärtsfahren warten
#define MOW_RPMtr_WAITZONE 5  // (%) Wartezone für Übergänge (kein Eingreifen in diesem Bereich)
#define MOW_RECOVERY_WAIT_TIME 3000  // (ms) Wartezeit, damit der Mäher sich von einer Blockade erholen kann
#define ESCAPELAWNSPEED 0.35  // (m/s) Rückwärtsgeschwindigkeit bei ESCAPE_LAWN
#define ESCAPELAWNDISTANCE 0.40  // (m) Rückwärtsentfernung bei ESCAPE_LAWN
#define ESCAPELAWNWAITTIME 5000  // (ms) Wartezeit nach dem 2. ESCAPE
#define ESCAPELAWNTIMER 20000  // (ms) Timer zum Zurücksetzen des Wiederholungszählers
#define ESCAPELAWN_DEADTIME 4000  // (ms) Sperrzeit für den nächsten ESCAPE
#define ESCAPELAWN_DELAY 100  // (ms) Wartezeit zwischen Erkennung und Reaktion
#define MAXRETRY 5  // maximale Anzahl von Wiederholungen, bevor Fehler/Hindernis ausgelöst wird
#define MAXRETRYOBSTACLE true  // wenn true, wird bei erreichter Wiederholungsgrenze ein Hindernis statt eines Fehlers ausgelöst
#define RETRYSLOWSPEED 0.15  // (m/s) Mähgeschwindigkeit beim Wiederholen
#define KEEPSLOWSPEED 0.25  // (m/s) langsame Mähgeschwindigkeit bei keepslow
#define RETRYSLOWTIME 25000  // (ms) Dauer der langsamen Wiederholung
#define KEEPSLOWTIME 25000  // (ms) Dauer des langsamen Fahrens bei keepslow

#define MAP_STANLEY_CONTROL true  // Stanley-Parameter linear auf aktuelle Geschwindigkeit anwenden
#define STANLEYNORMALMUL false  // wenn true, werden Stanley-Werte in der App mit 10 multipliziert

#define DOCK_GPS_REBOOT true  // GPS beim Andocken/Abdocken neu starten?
#define DOCK_GPS_REBOOT_TIME 45000  // (ms) Wartezeit für GPS-Fix nach Neustart
#define DOCK_POINT_GPS_REBOOT 3  // Index des Dockpunkts zum Neustart des GPS
#define DOCK_SLOW_ONLY_LAST_POINTS 3  // Anzahl der letzten Dockpunkte, an denen nur langsam gefahren wird
#define DOCK_REVERSE_POINT 3  // ab welchem Punkt rückwärts zur Ladestation gefahren wird (abhängig von Vorder-/Hinterrädern)
#define DOCK_NO_ROTATION true  // Drehung am Dockpunkt deaktivieren – Mäher muss gerade anfahren
#define DOCK_NO_ROTATION_DISTANCE 0.60  // (m) Entfernung zum letzten Dockpunkt, um Drehung zu deaktivieren
#define DOCK_NO_ROTATION_TIMER 17000  // (ms) maximale Zeit zur Erreichung der Ladestation – danach Rückwärtsfahrt und erneuter Versuch
#define DOCK_NO_ROTATION_SPEED 0.20  // (m/s) Geschwindigkeit zur Ladestation ohne Drehung

#define GPS_COLD_RESET true  // GPS-Kaltstart anstelle von Warmstart
#define SOLUTION_TIMEOUT 5000  // (ms) Timeout für GPS-Lösung
#define GPS_RESET_WAIT_FIX true  // GPS zurücksetzen, wenn zu lange auf Fix gewartet wird
#define GPS_RESET_WAIT_FIX_TIME 5  // (min) Wartezeit für Fix vor GPS-Reset
#define NO_GPS_SIGNAL_TIMEOUT 20000  // (ms) Mäher arbeitet ohne gültiges GPS-Signal für diese Zeit weiter
#define GPS_JUMP_WAIT true  // bei GPS-Sprung warten?
#define GPS_JUMP_WAIT_TIME 30000  // (ms) Wartezeit bei GPS-Sprung

#define MOW_START_AT_WAYMOW false  // Mähmotor nur starten, wenn sich im Mähbereich befindet
#define WATCHDOG_CONTINUE false  // nach Watchdog-Reset weiter mähen
#define WATCHDOG_TIME 16000  // (ms) Watchdog-Reset-Zeit

#define OBSTACLE_DETECTION_ROTATION true  // Blockierung durch Drehung erkennen (IMU erforderlich)
#define ROTATION_TIMEOUT 5000  // Drehzeit-Timeout zur Hinderniserkennung
#define ROTATION_TIME 1500  // erwartete Drehzeit ohne Yaw-Änderung
#define CHANGE_OBSTACLE_ROTATION true  // Hindernis-Rückwärtsfahrt nach mehreren blockierten Drehungen auslösen
#define OVERLOAD_ROTATION true  // Motorüberlastung bei blockierter Drehung vermeiden
#define MOWER_RADIUS_FRONT 0.45  // (m) Radius vorne zur Hindernispositionserkennung
#define MOWER_RADIUS_SIDES 0.25  // (m) Radius seitlich zur Hindernispositionserkennung
#define MOWER_RADIUS_BACK 0.20  // (m) Radius hinten zur Hindernispositionserkennung
#define OVERLOAD_ROTATION_DEADTIME 1000  // (ms) Sperrzeit für Überlastschutz bei Drehung
#define OBSTACLE_CHAINING true  // Hinderniserkennung auch während bestehender Vermeidung erlauben

#define DRV8308_FIX false  // DRV8308-Treiber-Fix (verwenden, wenn Treiber auf der Ladestation ausfällt)
#define DRVFIXITERATIONS 5  // Anzahl der Wiederholungen für Fix
#define DRVFIXTIMER 60000  // (ms) Zeitintervall für Fix
#define PWM_GEAR 1
#define PWM_MOW 1
#define MOVE_REGULARLY false  // regelmäßig in der Ladestation bewegen, um Motortreiber aktiv zu halten
#define MOVE_AGAIN_AFTER 9.0  // (min) Intervall, um sich erneut in der Ladestation zu bewegen
#define MOVING_TIME 400  // (ms) Bewegungszeit in der Ladestation
#define SWITCH_OFF_TRACTION_MOTORS false  // Antriebsmotoren in der Ladestation ausschalten?

#define SUNRAY_OUTPUT false  // Standardausgabe von Sunray aktivieren
#define OUTPUT_LOOPTIME false  // Schleifendauer ausgeben
#define DEBUG_OUTPUT false  // Debug-Ausgabe aktivieren
#define DEBUG_OUTPUT_TIME 100  // (ms) Intervall der Debug-Ausgabe
 
Zuletzt bearbeitet:
I am finally trying modded firmware (configMrTree.h) for ardumower sunray, but compiling stops on error:

Compilation error: 'NO_GPS_OBSTACLE' was not declared in this scope; did you mean 'SENS_OBSTACLE'?

It's latest version. What might be the problem?
 
Zuletzt bearbeitet:
Actually, those config_** are deprecated. Take the normal config.h in the folder and mess around with that. For now, please try the latest 322 Release. Its Not perfekt. But should Work.. If youre alittle into it, you could Check master. But i have to admit, i am Not Sure what i did Last there. When remembering, basically i tried to Copy everything to a new Branch to get Up with orig sunray. I am still at IT, in SunrayMod. I debug a orig Alfred Mower now there, so IT would perfom Like someone would expect from an expensives Hardware. I am ON a good way there, but i found so many issues with my own Code and with the serial Robot Driver. IT will Take some time for a good Release there. Sorry for the Auto capitals..
 
Moin zusammen,

bevor ich zum „Nörgelteil“ komme muss ich Mr. Tree und EinEinfach auch ausdrücklich nochmal sagen, was für eine großartige Arbeit sie hier machen und allen zur Verfügung stellen.

Ich arbeite im Augenblick mit der Sunray 1.0.322-6_Mod und CaSSAndRA Version: 0.219.0. Das Rover Board ist auf 1.30 zurück geflasht. Die Korrekturdaten erhalte ich per SAPOS NTRIP.

Testweise habe ich die Sunray 1.0.325 test verwendet und folgende Beobachtung gemacht.

Da das GPS Modul beim ersten OTA flashen weiter läuft, funktioniert einmalig auch der FIX der noch vorhanden ist.

Karte uploaden und Mähvorgang starten… allerdings ist der Abdockvorgang bereits ein Geduldsspiel. Er trifft die Punkte nicht genau und dreht sich häufiger bis der nächste Dockpunkt das gleiche Spiel verursacht.

Also Notaus gedrückt und das System neu gestartet. Ab diesem Zeitpunkt bleibt Invalid mit einer führenden null stehen. Nach dem Slash werden Satelliten gefunden und hochgezählt.

Außerdem gibt es jetzt häufiger offline Meldungen… (meine Vermutung: Watchdog GCM4?)

Bei meinen Versuchen die Fehler einzugrenzen, bin ich darauf gestoßen, dass der Pi3B(+) evtl. problematische Kernel/Treiber für USB verwendet. Wer hat denn noch einen Pi3 im Einsatz?

Ich hänge noch ein paar Log-Snipsel von Fehlern ran, die ich mit der 322-6 nicht habe:

Code:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 ERROR Exception on /_dash-update-component [POST]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1255, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     cb = self.callback_map[output]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: '..state-progress-bar.children...state-progress-bar.class_name...state-progress-bar-container.className..'
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: The above exception was the direct cause of the following exception:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     response = self.full_dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.handle_user_exception(e)
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1306, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     raise KeyError(msg) from missing_callback_function
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: "Callback function not found for output '..state-progress-bar.children...state-progress-bar.class_name...state-progress-bar-container.className..', perhaps you forgot to prepend the '@'?"
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 ERROR Exception on /_dash-update-component [POST]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1255, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     cb = self.callback_map[output]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: '..linear-speed.children...angular-speed.children..'
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: The above exception was the direct cause of the following exception:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     response = self.full_dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.handle_user_exception(e)
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1306, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     raise KeyError(msg) from missing_callback_function
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: "Callback function not found for output '..linear-speed.children...angular-speed.children..', perhaps you forgot to prepend the '@'?"
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 ERROR Exception on /_dash-update-component [POST]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1255, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     cb = self.callback_map[output]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: 'speedsetpoint-offcanvas.children'
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: The above exception was the direct cause of the following exception:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     response = self.full_dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.handle_user_exception(e)
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1306, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     raise KeyError(msg) from missing_callback_function
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: "Callback function not found for output 'speedsetpoint-offcanvas.children', perhaps you forgot to prepend the '@'?"
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 ERROR Exception on /_dash-update-component [POST]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1255, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     cb = self.callback_map[output]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: 'modal-error-map-upload.is_open'
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: The above exception was the direct cause of the following exception:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     response = self.full_dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.handle_user_exception(e)
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1306, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     raise KeyError(msg) from missing_callback_function
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: "Callback function not found for output 'modal-error-map-upload.is_open', perhaps you forgot to prepend the '@'?"
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 ERROR Exception on /_dash-update-component [POST]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1255, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     cb = self.callback_map[output]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: 'modal-info-body.children'
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: The above exception was the direct cause of the following exception:
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: Traceback (most recent call last):
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 1473, in wsgi_app
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     response = self.full_dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 882, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.handle_user_exception(e)
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 880, in full_dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     rv = self.dispatch_request()
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/flask/app.py", line 865, in dispatch_request
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)  # type: ignore[no-any-return]
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:   File "/home/ardumower/.local/lib/python3.9/site-packages/dash/dash.py", line 1306, in dispatch
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]:     raise KeyError(msg) from missing_callback_function
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: KeyError: "Callback function not found for output 'modal-info-body.children', perhaps you forgot to prepend the '@'?"
Jun 18 15:01:39 CaSSAndRA-Pi-3B python3[586]: 2025-06-18 15:01:39 INFO RX: CON:AT+P,1,13.15440489,52.46129205,


Code:
Jun 18 15:04:43 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:43 ERROR Exception in communication occured, trying to reconnect
Jun 18 15:04:43 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:43 ERROR 'utf-8' codec can't decode byte 0xb5 in position 65: invalid start byte
Jun 18 15:04:53 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:53 INFO Connecting...
Jun 18 15:04:53 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:53 INFO Connection successful
Jun 18 15:04:53 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:53 INFO Send command to robot: setPositionMode
Jun 18 15:04:53 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:53 INFO RX: CON:AT+V
Jun 18 15:04:53 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:53 INFO RX: V,Sunraymod,1.0.325,0,0,Adafruit Grand Central M4,AM,XX,XX,77:06:87:48:53:35:37:4e:36:20:20:20:ff:03:33:47,0x86
Jun 18 15:04:54 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:54 ERROR Exception in communication occured, trying to reconnect
Jun 18 15:04:54 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:04:54 ERROR 'utf-8' codec can't decode byte 0xb5 in position 65: invalid start byte
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO Connecting...
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO Connection successful
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO Send command to robot: setPositionMode
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO RX: CON:AT+V
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO RX: V,Sunraymod,1.0.325,0,0,Adafruit Grand Central M4,AM,XX,XX,77:06:87:48:53:35:37:4e:36:20:20:20:ff:03:33:47,0x86
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO RX: CON:AT+S
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO RX: S,27.12,-1.74,0.44,-2.03,0,0,4,157.03,0,0.00,0.00,0.57,34,0.01,0,-332420,0.00,-1,0,0x73
Jun 18 15:05:04 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:04 INFO RX: CON:AT+P,1,13.15440489,52.46129205,
Jun 18 15:05:05 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:05 INFO RX: P,0x50
Jun 18 15:05:05 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:05 ERROR Exception in communication occured, trying to reconnect
Jun 18 15:05:05 CaSSAndRA-Pi-3B python3[579]: 2025-06-18 15:05:05 ERROR 'utf-8' codec can't decode byte 0xb5 in position 65: invalid start byte

Beste Grüße

Martin
 
Nun, leider ist in der .322 das NTRIP nicht wirklich umgesetzt. Zur 325 kann ich nichts sagen. Die von mir solltest du auf keinen Fall nehmen! Ich gehe davon aus das du die originale meinst....... ogott XD ich sehe gerade du hast die SunrayMod 325 drauf. also wenn es das testrelease ist.. nun, das geht halbwegs. Viel glück jedenfalls^^, bei mir läuft es mit diversen Bugs auch auf dem Ardumower... ich rate dir nur zur Vorsicht! Es gibt dort ein Problem mit dem HTTP server, der hängt oft 1 sekunde in einer while schleife. Bei mir lokal ist das gefixt, sollte aber mit deinem Problem eigentlich nichts zu tun haben. Jedoch wird Cassandra da disconnected bzw. Disconnected sich selbst nach 1 sekunde. Mit der UART oder seriellen Verbindung kenne ich mich leider nicht aus.
 
Die Ublox Firmware 1.51 habe ich bei mir installiert. Hatte aber Probleme mit der Basisstation, da hat nur geholfen die Konfiguration von Ardusimple zu nehmen. Nur die Werte aus dem Ardumower Wiki genügen nicht, da kommt einfach kein RTK Signal. Ob man auf dem Ardumower auch die Konfigurationsdaten von Adusimple nehmen kann, habe ich nicht getestet, da habe ich aktuell nur das was im Ardumower Wiki steht. Aktuell bin ich aber noch mit der Firmware 1.0.276 von Sven (Svolo) unterwegs.
Mein Ardumower zieht bei normaler Grashöhe ca. 0,5A, bei etwas höherem Gras, kann es 1,0 - 1,9 A sein, lt. App.
 
@Mr. Tree
Krass.. super Arbeit! Wirklich Respekt und danke schön für die Mühe!

Sorry für den unnützen Beitrag, aber ich habe den Ardumower jetzt schon in der 3. Saison am laufen. Das Grundstück ist 1800m² groß mit sehr anspruchsvollen Hindernissen und Gelände. Sehr viele Beete, Bäume, Hang, enge Durchfahrten mit GPS-Reflexionen. Bisher musste ich den immer Babysitten und habe 2..3 Tage für das gesamte Gelänge gebraucht. Ständige Watchdog Resets, IMU Timeouts, unkontrolliertes in Beete fahren, etc. Ich war immer wieder dabei zu versuchen das zu fixen.. Hatte oft die Hardware in Verdacht.. irgendwelche Wackelkontakte, kalte Lötstellen, defekte Platinen. An der Software habe ich zwar auch Kleinigkeiten gemacht und immer wieder rumgespielt, aber mangels Zeit und ehrlicherweise auch dem nötigen Engagement, bei weitem nicht das, was du hier in der Zeit auf die Beine gestellt hast.

Den Beitrag schreibe ich jetzt, weil ich total begeistert bin. Habe deinen letzten Release genommen.. die Config angepasst.. und er hat heute mit nur 3 Hängern die komplette Fläche geschafft. Und die 3 Hänger lassen sich mit Kartenoptimierung noch fixen. Ich habe jetzt endlich die Hoffnung und Aussicht, dass das bald komplett alleine läuft. Mega.. Danke schön für die Zeit und Arbeit!
 
Also, wenn du die 322 meinst, ja... Das ist auch mein Failsafe Backup. Besonders bei schwierigen GPS Situationen ist die ungeschlagen, und solche Situationen wie du sie vom Grundstück beschreibst habe ich auch, nur ohne Hügel. Viel Gestrüpp , Bäume und sogar wald. Dazu muss ich sagen das ich die Änderungen von @WhatATest 's CE Version bzgl. GPS Bibliothek und sbas Deaktivierung mit eingebaut hatte. Das ist leider gerade wieder raus, weil ich es nicht hinbekommen hatte. Mittlerweile bin ich der Meinung, das ich mir die bessere GPS Stabilität nicht eingebildet hatte. Es muss an den Änderungen von whatatest gelegen haben.

Ansonsten bin ich ganz bei dir, mein Anspruch ist auch, dass der Mower zu 90% nach start wieder im Dock steht! Alles andere ist sinnlos und muss gefixt werden! Die Hardware ist da, die Sensoren sind da. Alles eine Softwarefrage.
 
Zuletzt bearbeitet:
Übrigens, für alle Alfred Nutzer: ich habe kein Release gemacht weil ich meinen eigenen Ansprüchen nicht gerecht werde, ich wünschte ich hätte mehr Zeit... Aber: der aktuelle master in dem SunrayMod git Repository von mir funktioniert sehr gut, jedenfalls bei mir. Achtung, wer das ausprobieren möchte: die rm18 aus dem repo muss auf den mcu geflasht werden! Anleitung dazu äquivalent zur offiziellen Anleitung. Für die config des mowers muss als Vorlage die im Alfred Ordner vorhandene config alfred_MrTree verwendet werden!
 
I installed the 0.322 code in my mower.
I can't get it running though :( Which is probably my configuration mistake.

First I made the mistake that I used code for a mowmotor with RPM, which I don't have. It's just a simple motor so it has to be controlled with PWM.
The mower keeps 'seeing' obstactes and stops working.

Who could help me to get a step further?
 
Because the 322 Version has unproven and faulty mowpower Option, you could Take a Chance and try the 325 from master in SunrayMod git Repository, it has been reworked there. Change adaptive Speed Mode and escape lawn Mode to power Option. Sorry i dont remember its numeric 1 or 2, please See the config descriptions. For now in this version, ON High Speed settings Mower will often slightly overshoot target Point, but should Not make critical failure. I have a plan to make 5hz GPS Work with high Mower speeds getting near target, but will Take some time. IT would be prediction based until a new Position ist coming from GPS but still using an CNC accel and decel Ramp in between those measurements according to runtime iterations. For a better Operation, consider letting the Mower Not go over 50 cm/s or less during mow Operation.
 
Zuletzt bearbeitet:
Hallo,
ich habe die Treiber für Gear und Mow genauso eingestellt wie bei der Sunray 324b bekomme mit der Version aber Treiber Error:

using imu driver: MpuDriver
UBLOX::solutionTimeout


Error: motor driver left signaled fault
Error: motor driver right signaled fault
Error: motor driver mow signaled fault
motor.cpp - STOP IMMEDIATELY
Motor::setMowState PWM OFF
Motor::waitMowMotor() trying to wait for mowmotor....
==> changeOp:ImuCalibration(initiatedByOperator 0)->Idle
motor.cpp - STOP IMMEDIATELY
 
Hallo zusammen.
ich habe jetzt auch einen Ardumower mit Raspberry für Cassandra und Ntrip Client auf deine Version 325 hochgerüstet, da ich mit der originalen Software nur Probleme hatte.
Bei mir steht noch ein Ardumower mit der gleichen Konfiguration von meinem Nachbarn, auch den werde ich in den nächsten tagen updaten.

Wollt hiermit einfach noch mal danke sagen und biete mich gerne als Tester an. Solltest du Themen für die Programmierung haben, welche man gut abgeben kann, würde ich dich auch da unterstützen können.

Gruß
Sven
 
Eine frage habe ich auch gleich noch. Wofür ist das ? :

2025-07-17 22:30:22INFO RX: ------->Mower moving for DRV8038 Antistuck: Operation finished!
2025-07-17 22:30:21INFO RX: traction motors disabled
2025-07-17 22:30:21INFO RX: I AM ALIVE! Uptime: 1 h 24 m 0 s
2025-07-17 22:30:21INFO RX: INFO: unparsed GPS Message to be cleared.
2025-07-17 22:30:21INFO RX: traction motors enabled
2025-07-17 22:30:21INFO RX: ------->Mower moving for DRV8038 Antistuck: Starting...

Da meine Dockingstation noch nicht fertig ist, steht der Mäher zurzeit zum Laden im Haus und immer wenn die oben gezeigte Sequenz kommt, bewegen sich die Räder kurz. Muss den Mäher deshalb zum Laden immer aufbocken.

Danke schon mal.
 
Eine frage habe ich auch gleich noch. Wofür ist das ? :

2025-07-17 22:30:22INFO RX: ------->Mower moving for DRV8038 Antistuck: Operation finished!
2025-07-17 22:30:21INFO RX: traction motors disabled
2025-07-17 22:30:21INFO RX: I AM ALIVE! Uptime: 1 h 24 m 0 s
2025-07-17 22:30:21INFO RX: INFO: unparsed GPS Message to be cleared.
2025-07-17 22:30:21INFO RX: traction motors enabled
2025-07-17 22:30:21INFO RX: ------->Mower moving for DRV8038 Antistuck: Starting...

Da meine Dockingstation noch nicht fertig ist, steht der Mäher zurzeit zum Laden im Haus und immer wenn die oben gezeigte Sequenz kommt, bewegen sich die Räder kurz. Muss den Mäher deshalb zum Laden immer aufbocken.

Danke schon mal.
Stell mow_regulray... auf false im tuning Block . Dann ist alles gut.
Wie es genau hieß kann ich gerade nicht sagen aber ziemlich am Ende von dem Block.
 
Zuletzt bearbeitet:
Oben