TeensyMowerWebControl for esp32

Oh adjust here too, then even more mistakes will come
#define STANDARD true //choose normal code for one Perimetersensor
//#define FUERSTRUPRECHT true //choose for two Perimetersensor and Fürst Ruprecht Stepper application

Code:
pfod.cpp:1708: error: 'pinBatterySwitch' was not declared in this scope
     digitalWrite(pinBatterySwitch, 0);
                  ^
C:\Users\info\OneDrive\Dokumente\Arduino\teensymower\pfod.cpp: In member function 'void RemoteControl::sendTestOdoMenu(boolean)':
pfod.cpp:1941: error: 'class Robot' has no member named 'perimeterMagLeft'
     serialPort->print(robot->perimeterMagLeft);                                     //FR:perimeterMag
                              ^
pfod.cpp:1943: error: 'class Robot' has no member named 'perimeterNoiseLeft'
     serialPort->print(int(robot->perimeterNoiseLeft));                              //FR:perimeterNoise
                                  ^
C:\Users\info\OneDrive\Dokumente\Arduino\teensymower\pfod.cpp: In member function 'void RemoteControl::sendConsoleMenu(boolean)':
pfod.cpp:2178: error: 'class Robot' has no member named 'html_line'
    serialPort->print(robot->html_line);   
                             ^
C:\Users\info\OneDrive\Dokumente\Arduino\teensymower\pfod.cpp: In member function 'void RemoteControl::run()':
pfod.cpp:2313: error: 'class Robot' has no member named 'perimeterMagLeft'
         serialPort->print(robot->perimeterMagLeft);                         //FR:perimeterMag
                                  ^
'ERR_MOTOR_FRONT_LEFT' was not declared in this scope
 
in pfod.h is missing:

#define STANDARD true //if you are NOT Fürst Ruprecht
//#define FUERSTRUPRECHT true //if you are Fürst Ruprecht
 
So müsste es doch eigentlich sein?
Code:
#define STANDARD true  //choose normal code for one Perimetersensor
#define FUERSTRUPRECHT false          //choose for two Perimetersensor and Fürst Ruprecht Stepper application

Aber:
'ERR_MOTOR_FRONT_LEFT' was not declared in this scope
 
nein: der Compiler prüft nicht, ob das Statement wahr oder falsch ist. Wenn Standard definiert/vorhanden ist, dann wird der code mit compiliert. deßhalb kann man true, false, was auch immer definieren - spielt keine Rolle. Wenn beide Statements vorhanden sind, werden beide Varianten compiliert.
Wußte ich letzte Woche auch nocht nicht.
 
//#define DUE true //if you use DUE-CPU
#define TEENSY true //if you use Teensy4.1-CPU
#define STANDARD true //if you are NOT Fürst Ruprecht
//#define FUERSTRUPRECHT true //if you are Fürst Ruprecht
#define USECONSOLE true //if you want to send the arduino-console-Output to your mobile/tablet
//#define USEPFOD true //if you use the arduino-pfod-V3-app
 
Er ignoriert #define FUERSTRUPRECHT

Sieht man im Code sehr gut, bei #define useStepperMenu
ist der Code dunkel also nicht aktiv.
 

Attachments

  • Screen.png
    Screen.png
    478.2 KB · Views: 3
So ich habe jetzt in der cpp und h Datei eingefügt:
Code:
//#define DUE true //if you use DUE-CPU
#define TEENSY true //if you use Teensy4.1-CPU
#define STANDARD true //if you are NOT Fürst Ruprecht
//#define FUERSTRUPRECHT true //if you are Fürst Ruprecht
#define USECONSOLE true //if you want to send the arduino-console-Output to your mobile/tablet
//#define USEPFOD true //if you use the arduino-pfod-V3-app

Ergebnis kommt gleich, sieht aber besser aus.
 
Ok nächster Fehler pfod.cpp:
'pinBatterySwitch' was not declared in this scope
 
robot->ShowMessage("Pin BatterySwitch = ");robot->ShowMessageln("OFF");
delay(1000);
digitalWrite(pinBatterySwitch, 0);

Kannst Du rauslöschen. Habe ich reingesetzt, weil sonst der Mäher nicht in jedem Betriebszustand abschaltet - Bernard ist informiert
 
Mir fehlt glaube ich noch was:
'class Robot' has no member named 'html_line'
 
robot->ShowMessage("Pin BatterySwitch = ");robot->ShowMessageln("OFF");
delay(1000);
digitalWrite(pinBatterySwitch, 0);

Kannst Du rauslöschen. Habe ich reingesetzt, weil sonst der Mäher nicht in jedem Betriebszustand abschaltet - Bernard ist informiert
Yes it's useless because mower shutdown with the delay .

for compiler to know the platform and not use the code inside

#if defined(__arm__) && defined(TEENSYDUINO)
here it's a teensy
#else
here a due
#endif
 
Back
Top