Hi
I’m trying to make a project to detect object using a esp32-cam and arduino ide 1.8. I’ve used edge impulse to have the library and the code that should be uploaded in the ESP32-CAM Board. Then when i tried to compile and upload it, I got warnning and errors. What’s wrong ?
errors messages from Arduino IDE
Arduino: 1.8.9 (Windows 10), Board: “AI Thinker ESP32-CAM, 240MHz (WiFi/BT), QIO, 80MHz”
WARNING: Category ‘Data processing’ in library ObjectDetec_ESP32-CAM_inferencing is not valid. Setting to ‘Uncategorized’
In file included from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/common.h:29:0,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/kernels/pooling.h:23,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/micro_mutable_op_resolver.h:33,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/all_ops_resolver.h:19,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/inferencing_engines/tflite_helper.h:35,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/inferencing_engines/tflite_eon.h:28,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:44,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/ObjectDetec_ESP32-CAM_inferencing.h:49,
from C:\Users\HP\AppData\Local\Temp\arduino_modified_sketch_951403\esp32_camera.ino:27:
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h: In function ‘T tflite::TfLiteRound(T)’:
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:26:35: error: ‘round’ is not a member of ‘std’
#define TF_LITE_GLOBAL_STD_PREFIX std
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:32:12: note: in expansion of macro ‘TF_LITE_GLOBAL_STD_PREFIX’
return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:35:1: note: in expansion of macro ‘DECLARE_STD_GLOBAL_SWITCH1’
DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:26:35: note: suggested alternative:
#define TF_LITE_GLOBAL_STD_PREFIX std
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:32:12: note: in expansion of macro ‘TF_LITE_GLOBAL_STD_PREFIX’
return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:35:1: note: in expansion of macro ‘DECLARE_STD_GLOBAL_SWITCH1’
DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
^
In file included from C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/esp32-hal.h:34:0,
from C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/Arduino.h:35,
from sketch\esp32_camera.ino.cpp:1:
C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/newlib/math.h:278:15: note: ‘round’
extern double round _PARAMS((double));
^
In file included from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/common.h:29:0,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/reference/integer_ops/pooling.h:21,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/kernels/pooling.h:23,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/micro_mutable_op_resolver.h:33,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/micro/all_ops_resolver.h:19,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/inferencing_engines/tflite_helper.h:35,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/inferencing_engines/tflite_eon.h:28,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/classifier/ei_run_classifier.h:44,
from C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/ObjectDetec_ESP32-CAM_inferencing.h:49,
from C:\Users\HP\AppData\Local\Temp\arduino_modified_sketch_951403\esp32_camera.ino:27:
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h: In function ‘T tflite::TfLiteExpm1(T)’:
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:26:35: error: ‘expm1’ is not a member of ‘std’
#define TF_LITE_GLOBAL_STD_PREFIX std
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:32:12: note: in expansion of macro ‘TF_LITE_GLOBAL_STD_PREFIX’
return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:36:1: note: in expansion of macro ‘DECLARE_STD_GLOBAL_SWITCH1’
DECLARE_STD_GLOBAL_SWITCH1(TfLiteExpm1, expm1);
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:26:35: note: suggested alternative:
#define TF_LITE_GLOBAL_STD_PREFIX std
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:32:12: note: in expansion of macro ‘TF_LITE_GLOBAL_STD_PREFIX’
return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
^
C:\Users\HP\Documents\Arduino\libraries\ObjectDetec_ESP32-CAM_inferencing\src/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:36:1: note: in expansion of macro ‘DECLARE_STD_GLOBAL_SWITCH1’
DECLARE_STD_GLOBAL_SWITCH1(TfLiteExpm1, expm1);
^
In file included from C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/esp32-hal.h:34:0,
from C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32/Arduino.h:35,
from sketch\esp32_camera.ino.cpp:1:
C:\Users\HP\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6/tools/sdk/include/newlib/math.h:290:15: note: ‘expm1’
extern double expm1 _PARAMS((double));
^
C:\Users\HP\AppData\Local\Temp\arduino_modified_sketch_951403\esp32_camera.ino: At global scope:
esp32_camera:119:20: error: ‘CAMERA_FB_IN_PSRAM’ was not declared in this scope
.fb_location = CAMERA_FB_IN_PSRAM,
^
esp32_camera:120:18: error: ‘CAMERA_GRAB_WHEN_EMPTY’ was not declared in this scope
.grab_mode = CAMERA_GRAB_WHEN_EMPTY,
^
esp32_camera:121:1: error: ‘camera_config_t’ has no non-static data member named ‘fb_location’
};
^
exit status 1
‘CAMERA_FB_IN_PSRAM’ was not declared in this scope
This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.