ESP32 tag initialization problem

I get a tag initialization error when compiling ESP-32 CAM using Arduino IDE 2.3.3

c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp: In function ‘TfLiteStatus tflite::{anonymous}::Prepare(TfLiteContext*, TfLiteNode*)’:
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1789:67: error: either all initializer clauses should be designated or none of them should be
1789 | .channels = input->dims->data[3], 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1793:68: error: either all initializer clauses should be designated or none of them should be
1793 | .channels = output->dims->data[3], 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1795:80: error: either all initializer clauses should be designated or none of them should be
1795 | data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp: In function ‘void tflite::{anonymous}::EvalQuantizedPerChannel(TfLiteContext*, TfLiteNode*, const TfLiteConvParams&, const NodeData&, const TfLiteEvalTensor*, const TfLiteEvalTensor*, const TfLiteEvalTensor*, TfLiteEvalTensor*)’:
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1883:58: error: either all initializer clauses should be designated or none of them should be
1883 | .channels = input_depth, 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1887:59: error: either all initializer clauses should be designated or none of them should be
1887 | .channels = output_depth, 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\conv.cpp:1889:80: error: either all initializer clauses should be designated or none of them should be
1889 | data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp: In function ‘void tflite::{anonymous}::EvalQuantizedPerChannel(TfLiteContext*, TfLiteNode*, const TfLiteDepthwiseConvParams&, const NodeData&, const TfLiteEvalTensor*, const TfLiteEvalTensor*, const TfLiteEvalTensor*, TfLiteEvalTensor*)’:
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1727:58: error: either all initializer clauses should be designated or none of them should be
1727 | .channels = input_depth, 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1731:59: error: either all initializer clauses should be designated or none of them should be
1731 | .channels = output_depth, 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1733:80: error: either all initializer clauses should be designated or none of them should be
1733 | data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp: In function ‘TfLiteStatus tflite::{anonymous}::Prepare(TfLiteContext*, TfLiteNode*)’:
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1836:67: error: either all initializer clauses should be designated or none of them should be
1836 | .channels = input->dims->data[3], 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1840:68: error: either all initializer clauses should be designated or none of them should be
1840 | .channels = output->dims->data[3], 1
| ^
c:\Users\joson\Documents\Arduino\libraries\cat_or_dog__inferencing\src\edge-impulse-sdk\tensorflow\lite\micro\kernels\depthwise_conv.cpp:1842:80: error: either all initializer clauses should be designated or none of them should be
1842 | data_dims_t filter_dims = {.width = filter_width, .height = filter_height, 0, 0};
| ^

exit status 1

Compilation error: exit status 1

platform:ESP32-cam /esp32-S2
built environment: Arduino IDE 2.3.3
Operating system version:windows 11

I have exact same problem

Perhaps related to this? Fix for compilation error when using arduino-esp32 core v3.x

There is a solution that can be solved according to Fix for compilation error when using arduino-esp32 core v3.x - #5 by quicksketch This method is not very friendly to beginners

Yes, the problem is that the Edge Impulse SDK is not compatible with the 3.x ESP32 Arduino library. The “easy” fix is to open the Board Manager in Arduino IDE, then downgrade the esp32 by Espressif Systems from 3.0.5 (the current version of the library) to 2.0.17 (the latest 2.x version of the library).

Edge Impulse says they’re fixing it upstream so hopefully it will start working with the 3.x library soon.

For what it’s worth though, the fix I described in the other post has been working great for me for weeks now.

1 Like