Hello!
First of all, what a great project! Thank you very much! I have abandoned the Arduino IDE recently in favor or PlatformIO and VSCode. Many things are easily interchangeable. So I’ve tried compiling the code with PIO and got a compiler error stating that INTMAX was not defined in this scope in Tasks.h. So I went to check, and found that Tasks.h includes a limits.h but seems to happen to include grblesp32s own limits.h instead of the one of the esp32 library thus fails to compile.
I have renamed the local limits.h to grbllimits.h, did the same to grbllimits.cpp and edited the include in grbl.h and now it compiles fine with only a bunch of warnings about unused variables (mostly task handles).
Thought this might be something worth considering.
Again, fantastic project! Thank you very much!
评论 (15)
#2 – luc-github 于 2018-12-29
Just updated with latest git from ESP32 and no conflict – could be a local library you are using ?
#3 – lienbacher 于 2018-12-29
Yes I saw the project is focused on Arduino IDE so not surprising it compiles fine there, pretty sure it’s just something that pops up using a different IDE. But the fact this fixed the issue so easily made me figure it might be a good idea to disambiguate common file names. The task.h is in ~/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos (Using MacOS).
here’s a paste of the build output: https://pastebin.com/8Zddh1nb
#4 – AlmightyFrog 于 2018-12-29
I don’t want to hijack thi issue, but I also tried to use platformio and failed.
Had posted it here https://github.com/espressif/arduino-esp32/issues/2083 but there was no success.
So no sure if that helps a little (to have another build output) or not.
Issue still exists, here a new build output with current code:
“-v, –verbose
Obsolete PIO Core v3.6.1 is used (previous was 3.6.2a3)
Please remove multiple PIO Cores from a system:
https://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system
Processing nodemcu-32s (platform: espressif32; board: nodemcu-32s; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via option“
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/nodemcu-32s.html
PLATFORM: Espressif 32 > NodeMCU-32S
SYSTEM: ESP32 240MHz 320KB RAM (4MB Flash)
DEBUG: CURRENT(esp-prog) EXTERNAL(esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
Converting Grbl_Esp32.ino
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 38 compatible libraries
Scanning dependencies...
Dependency Graph
|--
| |--
|--
|--
| |--
| | |--
| |--
| |--
|--
|--
|--
| |--
| |--
|--
|--
| |--
|--
|--
|--
| |--
|--
|--
| |--
| |--
| |--
| | |--
|--
| |--
| |--
|--
| |--
Compiling .pioenvs/nodemcu-32s/src/Grbl_Esp32.ino.cpp.o
Compiling .pioenvs/nodemcu-32s/src/coolant_control.cpp.o
Compiling .pioenvs/nodemcu-32s/src/eeprom.cpp.o
Compiling .pioenvs/nodemcu-32s/src/gcode.cpp.o
In file included from Grbl_Esp32/grbl.h:36:0,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from /home/user/Bastelprojekte/3rd/GrblEsp32/GrblEsp32/Grbl_Esp32.ino:21:
GrblEsp32/nutsbolts.h:60:0: warning: "bit" redefined
#define bit(n) (1 << n)
^
In file included from /tmp/tmpWr4ox2:1:0:
/home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:105:0: note: this is the location of the previous definition
#define bit(b) (1UL << (b))
^
In file included from Grbl_Esp32/grbl.h:36:0,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from GrblEsp32/coolantcontrol.cpp:24:
GrblEsp32/nutsbolts.h:60:0: warning: "bit" redefined
#define bit(n) (1 << n)
^
In file included from Grbl_Esp32/grbl.h:26:0,
from GrblEsp32/coolantcontrol.cpp:24:
/home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:105:0: note: this is the location of the previous definition
#define bit(b) (1UL << (b))
^
In file included from Grbl_Esp32/grbl.h:36:0,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/eeprom.cpp:21:
GrblEsp32/nutsbolts.h:60:0: warning: "bit" redefined
#define bit(n) (1 << n)
^
In file included from Grbl_Esp32/grbl.h:26:0,
from Grbl_Esp32/eeprom.cpp:21:
/home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:105:0: note: this is the location of the previous definition
#define bit(b) (1UL << (b))
^
In file included from Grbl_Esp32/grbl.h:36:0,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/gcode.cpp:25:
GrblEsp32/nutsbolts.h:60:0: warning: "bit" redefined
#define bit(n) (1 << n)
^
In file included from Grbl_Esp32/grbl.h:26:0,
from Grbl_Esp32/gcode.cpp:25:
/home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:105:0: note: this is the location of the previous definition
#define bit(b) (1UL << (b))
^
In file included from /home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:33:0,
from Grbl_Esp32/grbl.h:26,
from GrblEsp32/coolantcontrol.cpp:24:
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h: In function 'BaseTypet xTaskCreate(TaskFunctiont, const char, uint32t, void, UBaseTypet, void**)':
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:96:24: error: 'INT_MAX' was not declared in this scope
#define tskNOAFFINITY INTMAX
^
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:438:110: note: in expansion of macro 'tskNO_AFFINITY'
return xTaskCreatePinnedToCore( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pvCreatedTask, tskNO_AFFINITY );
^
In file included from /home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:33:0,
from /tmp/tmpWr4ox2:1:
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h: In function 'BaseTypet xTaskCreate(TaskFunctiont, const char, uint32t, void, UBaseTypet, void**)':
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:96:24: error: 'INT_MAX' was not declared in this scope
#define tskNOAFFINITY INTMAX
^
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:438:110: note: in expansion of macro 'tskNO_AFFINITY'
return xTaskCreatePinnedToCore( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pvCreatedTask, tskNO_AFFINITY );
^
In file included from /home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:33:0,
from Grbl_Esp32/grbl.h:26,
from Grbl_Esp32/eeprom.cpp:21:
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h: In function 'BaseTypet xTaskCreate(TaskFunctiont, const char, uint32t, void, UBaseTypet, void**)':
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:96:24: error: 'INT_MAX' was not declared in this scope
#define tskNOAFFINITY INTMAX
^
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:438:110: note: in expansion of macro 'tskNO_AFFINITY'
return xTaskCreatePinnedToCore( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pvCreatedTask, tskNO_AFFINITY );
^
In file included from /home/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:33:0,
from Grbl_Esp32/grbl.h:26,
from Grbl_Esp32/gcode.cpp:25:
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h: In function 'BaseTypet xTaskCreate(TaskFunctiont, const char, uint32t, void, UBaseTypet, void**)':
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:96:24: error: 'INT_MAX' was not declared in this scope
#define tskNOAFFINITY INTMAX
^
/home/user/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos/freertos/task.h:438:110: note: in expansion of macro 'tskNO_AFFINITY'
return xTaskCreatePinnedToCore( pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pvCreatedTask, tskNO_AFFINITY );
^
In file included from Grbl_Esp32/grbl.h:77:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from GrblEsp32/coolantcontrol.cpp:24:
GrblEsp32/servopen.h: At global scope:
GrblEsp32/servopen.h:70:21: warning: 'servoSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t servoSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:78:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from GrblEsp32/coolantcontrol.cpp:24:
GrblEsp32/solenoidpen.h:47:21: warning: 'solenoidSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t solenoidSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:54:0,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from GrblEsp32/coolantcontrol.cpp:24:
Grbl_Esp32/serial.h:40:21: warning: 'serialCheckTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t serialCheckTaskHandle = 0;
^
* [.pioenvs/nodemcu-32s/src/coolant_control.cpp.o] Error 1
In file included from Grbl_Esp32/grbl.h:77:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/eeprom.cpp:21:
GrblEsp32/servopen.h: At global scope:
GrblEsp32/servopen.h:70:21: warning: 'servoSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t servoSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:78:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/eeprom.cpp:21:
GrblEsp32/solenoidpen.h:47:21: warning: 'solenoidSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t solenoidSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:54:0,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/eeprom.cpp:21:
Grbl_Esp32/serial.h:40:21: warning: 'serialCheckTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t serialCheckTaskHandle = 0;
^
* [.pioenvs/nodemcu-32s/src/eeprom.cpp.o] Error 1
In file included from Grbl_Esp32/grbl.h:77:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from /home/user/Bastelprojekte/3rd/GrblEsp32/GrblEsp32/Grbl_Esp32.ino:21:
GrblEsp32/servopen.h: At global scope:
GrblEsp32/servopen.h:70:21: warning: 'servoSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t servoSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:78:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from /home/user/Bastelprojekte/3rd/GrblEsp32/GrblEsp32/Grbl_Esp32.ino:21:
GrblEsp32/solenoidpen.h:47:21: warning: 'solenoidSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t solenoidSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:54:0,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from /home/user/Bastelprojekte/3rd/GrblEsp32/GrblEsp32/Grbl_Esp32.ino:21:
Grbl_Esp32/serial.h:40:21: warning: 'serialCheckTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t serialCheckTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:77:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/gcode.cpp:25:
GrblEsp32/servopen.h: At global scope:
GrblEsp32/servopen.h:70:21: warning: 'servoSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t servoSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:78:0,
from Grbl_Esp32/jog.h:26,
from Grbl_Esp32/grbl.h:57,
from Grbl_Esp32/stepper.h:34,
from Grbl_Esp32/grbl.h:56,
from GrblEsp32/spindlecontrol.h:24,
from Grbl_Esp32/grbl.h:55,
from Grbl_Esp32/serial.h:24,
from Grbl_Esp32/grbl.h:54,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/gcode.cpp:25:
GrblEsp32/solenoidpen.h:47:21: warning: 'solenoidSyncTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t solenoidSyncTaskHandle = 0;
^
In file included from Grbl_Esp32/grbl.h:54:0,
from Grbl_Esp32/report.h:24,
from Grbl_Esp32/grbl.h:53,
from GrblEsp32/motioncontrol.h:30,
from Grbl_Esp32/grbl.h:49,
from Grbl_Esp32/eeprom.h:24,
from Grbl_Esp32/grbl.h:46,
from Grbl_Esp32/system.h:23,
from Grbl_Esp32/grbl.h:42,
from Grbl_Esp32/settings.h:28,
from Grbl_Esp32/grbl.h:41,
from Grbl_Esp32/tdef.h:4,
from Grbl_Esp32/grbl.h:38,
from Grbl_Esp32/config.h:40,
from Grbl_Esp32/grbl.h:35,
from Grbl_Esp32/gcode.cpp:25:
Grbl_Esp32/serial.h:40:21: warning: 'serialCheckTaskHandle' defined but not used [-Wunused-variable]
static TaskHandle_t serialCheckTaskHandle = 0;
^
* [.pioenvs/nodemcu-32s/src/Grbl_Esp32.ino.cpp.o] Error 1
* [.pioenvs/nodemcu-32s/src/gcode.cpp.o] Error 1
#5 – lienbacher 于 2018-12-29
exactly the issue. rename limits.h and limits.cpp to grbllimits, change include in grbl.h, and it wont hurt if you change the #ifndef LIMITSH to GRBLLIMITSH and it should compile.
#6 – AlmightyFrog 于 2018-12-29
@lienbacher you are right, that solves the issue.
Build runs through. Can’t check if binary is correct as I am not at home currently, but it looks promising.
Are you going to make a PR?
#7 – bdring 于 2018-12-29
There were a few other issues like this I had to deal with earlier. Go ahead and do a PR. It might be more than a week before I merge it due to traveling.
Please place a comment near the top of each file referencing the reason for the file rename.
#8 – lienbacher 于 2018-12-29
PR is filed, once again, thanks for this great work!
#9 – escopecz 于 2020-05-20
I’m getting similar error with latest master branch:
“`
...
Indexing .pio/build/nodemcu-32s/libaf9/libUpdate.a
Compiling .pio/build/nodemcu-32s/libccd/EEPROM/EEPROM.cpp.o
Archiving .pio/build/nodemcu-32s/lib96a/libArduinoOTA.a
Indexing .pio/build/nodemcu-32s/lib96a/libArduinoOTA.a
Compiling .pio/build/nodemcu-32s/libad2/GrblEsp32/GrblEsp32/BTconfig.cpp.o
Compiling .pio/build/nodemcu-32s/libad2/GrblEsp32/GrblEsp32/Custom/atari_1020.cpp.o
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:36:8: error: 'TaskHandlet' does not name a type
static TaskHandle_t solenoidSyncTaskHandle = 0;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:37:8: error: 'TaskHandlet' does not name a type
static TaskHandle_t atariHomingTaskHandle = 0;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:38:1: error: 'int8t' does not name a type
int8t solenoidpwmchannum;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:39:1: error: 'uint16t' does not name a type
uint16t solenoidpull_count;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:41:1: error: 'uint8t' does not name a type
uint8t homingphase = HOMINGPHASEFULL_APPROACH;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:42:1: error: 'uint8t' does not name a type
uint8t currenttool;
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp: In function 'void machineinit()':
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:45:5: error: 'solenoidpull_count' was not declared in this scope
solenoidpullcount = 0; // initialize
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:46:20: error: 'CLIENTSERIAL' was not declared in this scope
grblmsgsendf(CLIENTSERIAL, MSGLEVEL_INFO, "Atari 1020 Solenoid");
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:46:35: error: 'MSGLEVEL_INFO' was not declared in this scope
grblmsgsendf(CLIENTSERIAL, MSGLEVEL_INFO, "Atari 1020 Solenoid");
^
.pio/libdeps/nodemcu-32s/GrblEsp32/GrblEsp32/Custom/atari1020.cpp:46:72: error: 'grblmsg_sendf' was not declared in this scope
grblmsgsendf(CLIENTSERIAL, MSGLEVEL_INFO, "Atari 1020 Solenoid");
...
`
I'm very new to this world, so maybe I did something wrong. I'm using PlatformIO. This is the only thing in my main.cpp:
`
#include
And I installed this library like this:
1. Go to Libraries
2. Click Install
3. Paste git@github.com:bdring/Grbl_Esp32.git` to the first field
4. Click Install
– It returned a success message.
#10 – bdring 于 2020-05-20
There is no main.cpp. This is an Arduino compatible project.
#11 – escopecz 于 2020-05-21
I get that. But based on this issue and the fact that this project has a platformio.ini file I understand that it works for folks on PlatformIO as well. The problem I have is probably that I’m not as experienced and I’m doing something wrong. Let’s back up a little.
In the readme of this repository there are no concrete steps how to compile this. It reads:
> For basic instructions on using Grbl use the gnea/grbl wiki.
So I followed their steps how to compile their project. One of the steps is:
> Click the File down-down menu, navigate to Examples->Grbl, and select GrblUpload
The example has only following line in it:
“cpp`
#include
Is this how to configure this project for compilation as well?
I installed this project as a PlatformIO library as I described above, but the grbl.h was not available. Thanks to VSCode's autocompletion I was able to find it in a folder like this:
`cpp“
#include
#12 – MitchBradley 于 2020-05-21
Have you tried “platformio run” without changing anything in the tree?
#13 – escopecz 于 2020-05-21
Thanks for the hint! I understand from your note that I should not use this project as a library but compile it directly. Do I understand it right?
So I cloned this repository, opened it in VSCode and click on the Build option. This is the output:
“-v, --verbose
> Executing task: platformio run <
Processing nodemcu-32s (platform: espressif32; board: nodemcu-32s; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/nodemcu-32s.html
PLATFORM: Espressif 32 1.12.1 > NodeMCU-32S
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
Converting Grbl_Esp32.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Looking for arduinoWebSockets library in registry
Found: https://platformio.org/lib/show/6149/ArduinoWebsockets
LibraryManager: Installing id=6149
ArduinoWebsockets @ 0.4.17 is already installed
Found 30 compatible libraries
Scanning dependencies...
Dependency Graph
|--
| |--
|--
| |--
|--
|--
|--
|--
|--
| |--
|--
| |--
| |--
|--
|--
| |--
| |--
|--
|--
| |--
|--
| |--
| |--
| |--
| | |--
|--
| |--
|--
| |--
|--
|--
| |--
| |--
| |--
| | |--
Building in release mode
Compiling .pio/build/nodemcu-32s/src/BTconfig.cpp.o
Compiling .pio/build/nodemcu-32s/src/Grbl_Esp32.ino.cpp.o
Compiling .pio/build/nodemcu-32s/src/commands.cpp.o
Compiling .pio/build/nodemcu-32s/src/coolant_control.cpp.o
Compiling .pio/build/nodemcu-32s/src/custom_code.cpp.o
Compiling .pio/build/nodemcu-32s/src/espresponse.cpp.o
Compiling .pio/build/nodemcu-32s/src/gcode.cpp.o
Assembler messages:
Fatal error: can't create .pio/build/nodemcu-32s/src/custom_code.cpp.o: No such file or directory
* [.pio/build/nodemcu-32s/src/custom_code.cpp.o] Error 1
Assembler messages:
Fatal error: can't create .pio/build/nodemcu-32s/src/commands.cpp.o: No such file or directory
* [.pio/build/nodemcu-32s/src/commands.cpp.o] Error 1
Assembler messages:
Fatal error: can't create .pio/build/nodemcu-32s/src/espresponse.cpp.o: No such file or directory
* [.pio/build/nodemcu-32s/src/espresponse.cpp.o] Error 1
Assembler messages:
Fatal error: can't create .pio/build/nodemcu-32s/src/gcode.cpp.o: No such file or directory
* [.pio/build/nodemcu-32s/src/gcode.cpp.o] Error 1
FileNotFoundError: [Errno 2] No such file or directory: '/home/jan/development/Grbl_Esp32/.pio/build/nodemcu-32s/.sconsign38.db.dblite':
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Script/Main.py", line 1381:
execmain(parser, values)
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Script/Main.py", line 1344:
_main(parser)
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Script/Main.py", line 1119:
nodes = buildtargets(fs, options, targets, target_top)
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Script/Main.py", line 1318:
jobs.run(postfunc = jobs_postfunc)
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Job.py", line 113:
postfunc()
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/Script/Main.py", line 1315:
SCons.SConsign.write()
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/SConsign.py", line 117:
syncmethod()
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/dblite.py", line 161:
self.osunlink(self.filename)
Exception ignored in:
Traceback (most recent call last):
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/dblite.py", line 143, in del
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/dblite.py", line 140, in close
File "/home/jan/.platformio/packages/tool-scons/script/../engine/SCons/dblite.py", line 161, in sync
FileNotFoundError: [Errno 2] No such file or directory: '/home/jan/development/Grbl_Esp32/.pio/build/nodemcu-32s/.sconsign38.db.dblite'
============================================================ [FAILED] Took 9.72 seconds ============================================================
The terminal process terminated with exit code: 1
Terminal will be reused by tasks, press any key to close it.
``
So I get a different error this way.
#14 - MitchBradley 于 2020-05-21
You did the right thing. There is some chance that it will work if you try it again. I have seen strange things like that happen with VSCode. My suspicion is that it is an interaction between Intellisense and platformio. I think that Intellisense - or some other "helper" process - may be trying to access files as they appear in the tree, for the purpose of indexing them. When it opens a file, that locks the file temporarily and prevents the compilation process from accessing them. There is a price to be paid for "smart" IDEs.
#15 - escopecz 于 2020-05-21
That was exactly it. Thank you!
The fix for my issue is to go to VSCode settings, search for "exclude" keyword and add **/.pio pattern. Then restart VSCode and build with [SUCCESS] Took 73.99 seconds at the end. :beers:
#1 – luc-github 于 2018-12-29
I compile with Arduino and all warnings and no issue and no warning so far since last clean
I do not use platformIO so can you share with which
limits.hfiles there is a conflict ? (which Tasks.h you refere to) the error should show where the other file is located.also can you share the warnings you see on your side ?
Thank you