Open HAL9000COM opened 1 week ago
The arduino core for esp32 updates to v3 has a lot of API changes, this library is not compatible with it.
Compilation error:
In file included from /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:23, from /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:5, from /mnt/c/Users/Luke/Documents/ESPECG/esp32/esp32.ino:9: /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/core/api/flatbuffer_conversions.h: In member function 'T* tflite::BuiltinDataAllocator::AllocatePOD()': /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/core/api/flatbuffer_conversions.h:46:24: warning: 'template<class _Tp> struct std::is_pod' is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations] 46 | static_assert(std::is_pod<T>::value, "Builtin data structure must be POD."); | ^~~~~~ In file included from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/stl_pair.h:60, from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/stl_algobase.h:64, from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/specfun.h:45, from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/cmath:1935, from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/math.h:36, from /home/hal/.arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal.h:30, from /home/hal/.arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/Arduino.h:36, from /tmp/arduino/sketches/1130CF3B5EA12452C750E870557ECC2E/sketch/esp32.ino.cpp:1: /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/type_traits:757:5: note: declared here 757 | is_pod | ^~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h: In instantiation of 'tflite::MicroInterpreter* eloq::tf::newInterpreter(tflite::MicroMutableOpResolver<numOps>*, const tflite::Model*, uint8_t*, size_t) [with unsigned char numOps = 1; uint8_t = unsigned char; size_t = unsigned int]': /home/hal/Arduino/libraries/EloquentTinyML/src/./eloquent_tinyml/tf.h:146:53: required from 'Eloquent::Error::Exception& Eloquent::TF::Sequential<numOps, tensorArenaSize>::begin(const unsigned char*) [with unsigned char numOps = 1; unsigned int tensorArenaSize = 81920]' /mnt/c/Users/Luke/Documents/ESPECG/esp32/esp32.ino:146:19: required from here /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:69: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context 31 | static ErrorReporter *reporter = new MicroErrorReporter(); | ^ In file included from /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:26: /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE' 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:69: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context 31 | static ErrorReporter *reporter = new MicroErrorReporter(); | ^ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE' 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:46: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context 31 | static ErrorReporter *reporter = new MicroErrorReporter(); | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE' 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:46: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context 31 | static ErrorReporter *reporter = new MicroErrorReporter(); | ^~~~~~~~~~~~~~~~~~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here 27 | void operator delete(void* p) {} | ^~~~~~~~ /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE' 27 | void operator delete(void* p) {} | ^~~~~~~~
This is a compiled library, so it will only work on the same settings I used to compile it (IDF 2.x). I need to figure it out how to support different IDF cores (probably will need to create another library).
The arduino core for esp32 updates to v3 has a lot of API changes, this library is not compatible with it.
Compilation error: