Hello Edge Impulse Team,
I started using your excelent plattform for a project but now im running into an error while trying to deploy a impulse to my Adafruit Feather M0 Lora board.
I exported my impulse as a C++ library and included it in my project as follows:
#include <Arduino.h>
#include <lmic.h>
#include <hal/hal.h>
#include <SPI.h>
#include <CayenneLPP.h>
#include <deviceConfig.h>
#include <Wire.h>
#include <config.h>
#include <Fsm.h>
#include <Adafruit_SleepyDog.h>
#include <VoltageSensor.h>
#include <Debug.h>
#include <AM2315_Sensor.h>
#include <GPS_Sensor.h>
#include "edge-impulse-sdk/classifier/ei_run_classifier.h"
Trying to compile just this include section gives me the following error:
In file included from src\main.cpp:15:
include/edge-impulse-sdk/dsp/spectral/../numpy.hpp:2176:31: error: expected ')' before '*' token
2176 | static int round(matrix_t *matrix) {
| ^
Whole compiler output:
Compiling .pio\build\adafruit_feather_m0\src\main.cpp.o
src\main.cpp:13: warning: ignoring #pragma region Include [-Wunknown-pragmas]
13 | #pragma region Include
|
src\main.cpp:35: warning: ignoring #pragma endregion [-Wunknown-pragmas]
35 | #pragma endregion
|
src\main.cpp:37: warning: ignoring #pragma region Initialize [-Wunknown-pragmas]
37 | #pragma region Initialize
|
src\main.cpp:102: warning: ignoring #pragma endregion [-Wunknown-pragmas]
102 | #pragma endregion
|
src\main.cpp:104: warning: ignoring #pragma region Setup [-Wunknown-pragmas]
104 | #pragma region Setup
|
src\main.cpp:191: warning: ignoring #pragma endregion [-Wunknown-pragmas]
191 | #pragma endregion
|
src\main.cpp:193: warning: ignoring #pragma region Main [-Wunknown-pragmas]
193 | #pragma region Main Loop
|
src\main.cpp:206: warning: ignoring #pragma endregion [-Wunknown-pragmas]
206 | #pragma endregion
|
src\main.cpp:208: warning: ignoring #pragma region Functions [-Wunknown-pragmas]
208 | #pragma region Functions
|
src\main.cpp:443: warning: ignoring #pragma endregion [-Wunknown-pragmas]
443 | #pragma endregion
|
In file included from src\main.cpp:15:
include/edge-impulse-sdk/dsp/spectral/../numpy.hpp:2176:31: error: expected ')' before '*' token
2176 | static int round(matrix_t *matrix) {
| ^
C:\users\yvome\.platformio\packages\framework-arduino-samd-adafruit\cores\arduino/Arduino.h:133:24: note: in definition of macro 'round'
133 | #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
| ^
C:\users\yvome\.platformio\packages\framework-arduino-samd-adafruit\cores\arduino/Arduino.h:133:23: note: to match this '('
133 | #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
| ^
include/edge-impulse-sdk/dsp/spectral/../numpy.hpp:2176:16: note: in expansion of macro 'round'
2176 | static int round(matrix_t *matrix) {
| ^~~~~
include/edge-impulse-sdk/dsp/spectral/../numpy.hpp:2176:31: error: expected ')' before '*' token
2176 | static int round(matrix_t *matrix) {
| ^
C:\users\yvome\.platformio\packages\framework-arduino-samd-adafruit\cores\arduino/Arduino.h:133:24: note: in definition of macro 'round'
133 | #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
| ^
C:\users\yvome\.platformio\packages\framework-arduino-samd-adafruit\cores\arduino/Arduino.h:133:22: note: to match this '('
133 | #define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
| ^
include/edge-impulse-sdk/dsp/spectral/../numpy.hpp:2176:16: note: in expansion of macro 'round'
2176 | static int round(matrix_t *matrix) {
| ^~~~~
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\Adafruit_USBD_CDC.cpp.o
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\Adafruit_USBD_Device.cpp.o
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\tinyusb\src\class\bth\bth_device.c.o
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\tinyusb\src\class\cdc\cdc_device.c.o
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\tinyusb\src\class\dfu\dfu_rt_device.c.o
*** [.pio\build\adafruit_feather_m0\src\main.cpp.o] Error 1
Compiling .pio\build\adafruit_feather_m0\FrameworkArduino\TinyUSB\Adafruit_TinyUSB_ArduinoCore\tinyusb\src\class\hid\hid_device.c.o
Any advice?
Thank you very much.