[Grbl_Esp32 Issue#74] PlatformIO compiling conflict with “limit.h”

未分类 bolang 3个月前 (10-14) 43次浏览

Issue #74 | 状态: 已关闭 | 作者: lienbacher | 创建时间: 2018-12-29


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)

#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.h files 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


#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:



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
-v, –verbose 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
|-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
| | |-- 1.0
| |-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.1.0
| |-- 1.0
|-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
|-- 1.0
|-- 2.1.2
| |-- 1.0
| |-- 1.0
| |-- 1.0
| | |-- 1.0
|-- 1.0.5
| |-- 1.0
| |-- 1.0
|-- 1.0
| |-- 1.0
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:

> Executing task: platformio run < Processing nodemcu-32s (platform: espressif32; board: nodemcu-32s; framework: arduino) ----------------------------------------------------------------------------------------------------------------------------------------------------- Verbose mode can be enabled via
-v, --verbose 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
|-- 0.6.2
| |-- 1.0
|-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.0
|-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
|-- 1.0
| |-- 1.0
| |-- 1.0
|-- 1.0.3
|-- 1.0.5
| |-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
|-- 2.1.2
| |-- 1.0
| |-- 1.0
| |-- 1.0
| | |-- 1.0
|-- 1.1.0
| |-- 1.0
|-- 1.0
| |-- 1.0
|-- 1.0
|-- 1.0
| |-- 1.0
| |-- 1.0
| |-- 1.0
| | |-- 1.0
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: del at 0x7f909b393af0>
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:


原始Issue: https://github.com/bdring/Grbl_Esp32/issues/74

喜欢 (0)