Web IDE only giving "Could not compile" and RAW compile data with any introduced error in a particular code?


#1

One of my codes gives only gives “Could not compile” and RAW compile data when introducing a coding error, no support or pointers from the compiler. With other codes it works as it should.

Below is the RAW data, in this particular case I blocked one of my variables “low” and this is what I get? I could introduce any error and get the same, no support from the compiler but the RAW data .

Could anyone make any sense of below “error data”, obvious misscunduct or are there any known occations when this can happen that I can get help from?

Processing  delta_light_pc1.ino
Checking library blynk...
Checking library AccelStepperSpark...
Installing library blynk 0.4.8 to lib/blynk ...
Installing library AccelStepperSpark 1.5.3 to lib/AccelStepperSpark ...
Library AccelStepperSpark 1.5.3 installed.
Library blynk 0.4.8 installed.
make -C ../modules/photon/user-part all
make[1]: Entering directory '/firmware/modules/photon/user-part'
make -C ../../../user 
make[2]: Entering directory '/firmware/user'
Building cpp file: src/delta_light_pc1.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-6-msrc/
arm-none-eabi-gcc -DSTM32_DEVICE -DSTM32F2XX -DPLATFORM_THREADING=1 -DPLATFORM_ID=6 -DPLATFORM_NAME=photon -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD006 -DUSBD_PID_CDC=0xC006 -DSPARK_PLATFORM -g3 -gdwarf-2 -Os -mcpu=cortex-m3 -mthumb -DINCLUDE_PLATFORM=1 -DPRODUCT_ID=6 -DPRODUCT_FIRMWARE_VERSION=65535 -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DSYSTEM_VERSION_STRING=0.6.2 -DRELEASE_BUILD -I./inc -I../wiring/inc -I../system/inc -I../services/inc -I../communication/src -I../hal/inc -I../hal/shared -I../hal/src/photon -I../hal/src/stm32f2xx -I../hal/src/stm32 -I../hal/src/photon/api -I../platform/shared/inc -I../platform/MCU/STM32F2xx/STM32_USB_Host_Driver/inc -I../platform/MCU/STM32F2xx/STM32_StdPeriph_Driver/inc -I../platform/MCU/STM32F2xx/STM32_USB_OTG_Driver/inc -I../platform/MCU/STM32F2xx/STM32_USB_Device_Driver/inc -I../platform/MCU/STM32F2xx/SPARK_Firmware_Driver/inc -I../platform/MCU/shared/STM32/inc -I../platform/MCU/STM32F2xx/CMSIS/Include -I../platform/MCU/STM32F2xx/CMSIS/Device/ST/Include -I../dynalib/inc -Isrc -I./libraries -Isrc -Isrc -Isrc -Isrc -Ilib/blynk/src -Ilib/AccelStepperSpark/src -I. -MD -MP -MF ../build/target/user/platform-6-msrc/delta_light_pc1.o.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DSPARK_PLATFORM_NET=BCM9WCDUSI09 -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc  -DLOG_INCLUDE_SOURCE_INFO=1 -DPARTICLE_USER_MODULE -DUSE_THREADING=0 -DUSE_SPI=SPI -DUSE_CS=A2 -DUSE_SPI=SPI -DUSE_CS=A2 -DUSE_THREADING=0 -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0x80A0000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=4 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,2,108 -D_WINSOCK_H -D_GNU_SOURCE -DLOG_MODULE_CATEGORY="\"app\""  -fno-exceptions -fno-rtti -fcheck-new -std=gnu++11 -c -o ../build/target/user/platform-6-msrc/delta_light_pc1.o src/delta_light_pc1.cpp
delta_light_pc1.ino: In function 'void pose_Dir0()':
delta_light_pc1.ino:257:21: error: 'low' was not declared in this scope
delta_light_pc1.ino: In function 'void pose_Dir60()':
delta_light_pc1.ino:271:21: error: 'low' was not declared in this scope
delta_light_pc1.ino: In function 'void pose_Dir120()':
delta_light_pc1.ino:284:21: error: 'low' was not declared in this scope
delta_light_pc1.ino: In function 'void pose_Dir180()':
delta_light_pc1.ino:298:21: error: 'low' was not declared in this scope
delta_light_pc1.ino: In function 'void pose_Dir240()':
delta_light_pc1.ino:311:21: error: 'low' was not declared in this scope
../build/module.mk:267: recipe for target '../build/target/user/platform-6-msrc/delta_light_pc1.o' failed
make[2]: *** [../build/target/user/platform-6-msrc/delta_light_pc1.o] Error 1
make[2]: Leaving directory '/firmware/user'
../../../build/recurse.mk:11: recipe for target 'user' failed
make[1]: Leaving directory '/firmware/modules/photon/user-part'
make[1]: *** [user] Error 2
../build/recurse.mk:11: recipe for target 'modules/photon/user-part' failed
make: *** [modules/photon/user-part] Error 2

#2

@Duke, it is difficult to advise without seeing the code that is creating the errors. However, given all the errors point to low not being defined, I would venture to say that you used lowercase low instead of uppercase LOW in some digitalWrite() instances.


#3

These do look rather clearly like useful pointers to me

with filename, line number, offending variable and “offence” (not declared) - what more do you expect?

And as such I’d second @peekay123’s suspicion about the case sensitivity of C/C++.


#4

@peekay123, @ScruffR I am very sorry for not being clear enough, I introduced that (low) error on purpose, the problem is that any error introduced to that particular code renders a “non supportive response” in the meaning not nicely formatted with line pointers etc, only the RAW file.

Like this:

Not like this :

and I like the later version a lot better…


#5

I see.
This behaviour seems to be depending on the target system version you are building for.
The more recent versions got some more elaborate/cluttered build outputs which gets hidden away behind the SHOW RAW button for some reason only Particle can answer :wink:
I do understand the more elaborate output for release candidate versions to get more info to stabilise the build, but for official releases the more concise output would clearly be preferable.

@KyleG, any chance to loop in Wojtek or Stefan on this?


#6

@Duke we’ve just deployed a fix for this behaviour with some more improvements! Can you confirm this is gone?


#7

@suda Yes it is gone, thanks!