Salut @aurel,
We attented the TTN conference last time when the lorawan example was demonstrated. Once I arrived at home after the show, I succeeded in building properly the firmware for the lora portenta vision shield .
Unfortunately, with the actual arduino-build script on example-portenta-lorawan, I do not arrive at compiling for our new training model on Edge Impulse.
Our use case in the city of Leuven is where we want to use TTNv3 for trash detection at 50 places. I had hoped the script still worked as it performed well the first time in September. Maybe some update has been done on your side that messed things up.
Here are my arduino-cli outcomes:
> $ arduino-cli version
> arduino-cli.exe alpha Version: 0.19.3 Commit: 12f1afc2 Date: 2021-10-12T10:15:19Z
$ arduino-cli core list
ID Installed Latest Name
arduino:mbed_edge 2.5.2 2.5.2 Arduino Mbed OS Edge Boards
arduino:mbed_nano 2.5.2 2.5.2 Arduino Mbed OS Nano Boards
arduino:mbed_nicla 2.5.2 2.5.2 Arduino Mbed OS Nicla Boards
arduino:mbed_portenta 2.5.2 2.5.2 Arduino Mbed OS Portenta Boards
arduino:mbed_rp2040 2.5.2 2.5.2 Arduino Mbed OS RP2040 Boards
arduino:samd_beta 1.6.25 1.6.25 Arduino SAMD (32-bits ARM Cortex-M0+) Beta Boards
arduino:samd 1.8.11 1.8.11 Arduino SAMD Boards (32-bits ARM Cortex-M0+)
sensebox:samd 1.3.3 1.3.3 senseBox SAMD Boards
SODAQ:avr 1.1.1 1.1.1 SODAQ AVR Boards
SODAQ:samd 1.6.11 1.6.11 SODAQ SAMD (32-bits ARM Cortex-M0+) Boards
STMicroelectronics:stm32 2.1.0 2.1.0 STM32 boards groups (Board to be selected from Tools submenu 'Board part number')
arduino:mbed 2.5.2 2.5.2 [DEPRECATED] [DEPRECATED - Please install standalone packages] Arduino Mbed OS Boards
$ arduino-cli board list
Port Protocol Type Board Name FQBN Core
COM3 serial Unknown
COM40 serial Serial Port (USB) Arduino Portenta H7 (M7 core) arduino:mbed:envie_m7 arduino:mbed
Serial Port (USB) Arduino Portenta H7 (M7 core) arduino:mbed_portenta:envie_m7 arduino:mbed_portenta
Serial Port (USB) Arduino Portenta H7 (ThreadDebug) arduino:mbed:envie_m7_thread_debug arduino:mbed
$ arduino-cli lib list
Name Installed Available Location Description
Adafruit_BusIO 1.7.2 - LIBRARY_LOCATION_USER -
Adafruit_FONA_Library 1.3.8 - LIBRARY_LOCATION_USER -
Adafruit_GFX_Library 1.10.7 - LIBRARY_LOCATION_USER -
Adafruit_MQTT_Library 2.1.0 - LIBRARY_LOCATION_USER -
Adafruit_SCD30 1.0.5 - LIBRARY_LOCATION_USER -
Adafruit_SleepyDog_Library 1.4.0 - LIBRARY_LOCATION_USER -
Adafruit_SSD1306 2.4.3 - LIBRARY_LOCATION_USER -
Adafruit_Unified_Sensor 1.1.4 - LIBRARY_LOCATION_USER -
Arduino_Pro_Tutorials 1.0.4 - LIBRARY_LOCATION_USER -
BME680 1.0.10 - LIBRARY_LOCATION_USER -
BSEC_Software_Library 1.6.1480 - LIBRARY_LOCATION_USER -
FlashStorage 1.0.0 - LIBRARY_LOCATION_USER -
MKRWAN 1.0.13 1.1.0 LIBRARY_LOCATION_USER Support library for MKR WAN 1300/1310
MKRWAN_v2 1.3.2 - LIBRARY_LOCATION_USER -
PCF8523 1.0.0 - LIBRARY_LOCATION_USER -
RTClib 1.14.1 - LIBRARY_LOCATION_USER -
SenseBoxMCU-Lib-master 1.4.1 - LIBRARY_LOCATION_USER -
SparkFun_SCD30_Arduino_Library 1.0.12 - LIBRARY_LOCATION_USER -
ThingSpeak 2.0.1 - LIBRARY_LOCATION_USER -
TinyGPSPLUS 1.0.2 - LIBRARY_LOCATION_USER -
TinyWireM 1.1.0 - LIBRARY_LOCATION_USER -
USBHost 1.0.5 - LIBRARY_LOCATION_USER -
WiFi101 0.16.1 - LIBRARY_LOCATION_USER -
At the beginning of the running script and after 10’ of ‘Still building’ the result is:
$ sh arduino-build.sh --build
arduino-build.sh: line 20: rev: command not found
arduino-build.sh: line 24: ((: exe alpha Version: 0: syntax error in expression (error token is “alpha Version: 0”)
arduino-build.sh: line 30: ((: exe alpha Version: 0: syntax error in expression (error token is “alpha Version: 0”)
arduino-build.sh: line 57: ((: exe alpha Version: 0: syntax error in expression (error token is “alpha Version: 0”)
Building firmware-arduino-portenta
Still building…
Flag --build-properties has been deprecated, please use --build-property instead.
Still building…
Still building…
Still building…
…
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:225:7: error: ‘DigitalOut’ in namespace ‘mbed’ does not name a type
mbed::DigitalOut led_red(LED_RED);
^~~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:226:7: error: ‘DigitalOut’ in namespace ‘mbed’ does not name a type
mbed::DigitalOut led_green(LED_GREEN);
^~~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:227:7: error: ‘DigitalOut’ in namespace ‘mbed’ does not name a type
mbed::DigitalOut led_blue(LED_BLUE);
^~~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp: In member function ‘void EiDevicePortenta::set_state(tEiState)’:
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:236:9: error: ‘led_red’ was not declared in this scope
led_red.write(1);
^~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:237:9: error: ‘led_green’ was not declared in this scope
led_green.write(1);
^~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:237:9: note: suggested alternative: ‘degrees’
led_green.write(1);
^~~~~~~~~
degrees
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:238:9: error: ‘led_blue’ was not declared in this scope
led_blue.write(1);
^~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:238:9: note: suggested alternative: ‘_glue’
led_blue.write(1);
^~~~~~~~
_glue
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:242:9: error: ‘led_red’ was not declared in this scope
led_red.write(1);
^~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:243:9: error: ‘led_green’ was not declared in this scope
led_green.write(0);
^~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:243:9: note: suggested alternative: ‘degrees’
led_green.write(0);
^~~~~~~~~
degrees
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:244:9: error: ‘led_blue’ was not declared in this scope
led_blue.write(1);
^~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:244:9: note: suggested alternative: ‘_glue’
led_blue.write(1);
^~~~~~~~
_glue
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:249:13: error: ‘led_red’ was not declared in this scope
led_red.write(0);
^~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:250:13: error: ‘led_green’ was not declared in this scope
led_green.write(1);
^~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:250:13: note: suggested alternative: ‘degrees’
led_green.write(1);
^~~~~~~~~
degrees
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:251:13: error: ‘led_blue’ was not declared in this scope
led_blue.write(1);
^~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:251:13: note: suggested alternative: ‘_glue’
led_blue.write(1);
^~~~~~~~
_glue
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:254:13: error: ‘led_red’ was not declared in this scope
led_red.write(1);
^~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:255:13: error: ‘led_green’ was not declared in this scope
led_green.write(1);
^~~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:255:13: note: suggested alternative: ‘degrees’
led_green.write(1);
^~~~~~~~~
degrees
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:256:13: error: ‘led_blue’ was not declared in this scope
led_blue.write(1);
^~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:256:13: note: suggested alternative: ‘_glue’
led_blue.write(1);
^~~~~~~~
_glue
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp: In function ‘void ei_printf(const char*, …)’:
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:323:5: error: ‘va_start’ was not declared in this scope
va_start(args, format);
^~~~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:323:5: note: suggested alternative: ‘stat’
va_start(args, format);
^~~~~~~~
stat
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:325:5: error: ‘va_end’ was not declared in this scope
va_end(args);
^~~~~~
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:325:5: note: suggested alternative: ‘rand’
va_end(args);
^~~~~~
rand
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp: At global scope:
C:\Users\wim\Desktop\example-portenta-lorawan-master\src\ingestion-sdk-platform\portenta\ei_device_portenta.cpp:357:7: error: ‘Stream’ in namespace ‘mbed’ does not name a type
mbed::Stream* ei_get_serial() {
^~~~~~
Still building…
Still building…
Still building…
Still building…
Error during build: exit status 1
Any clue was the cause is of the build error when compiling the *.cpp files files? Very awkward because the first time all went smoothly, but now ?
I would really appreciate if you could deal with this one as we really want to work out this EI and lorawan use case.
Bàv, Wim