Question/Issue:
Hello there, when running run_classifier of my input data I seem to be getting the error stated in the topic subject all of the time. Every time that I am classifying data, I will get this error at different time periods, sometimes I will receive this error immediately when I begin classifying data other times it is within minutes of classifying data. There is no real good explanation of why this error occurs and it appears in multiple locations so it is hard to pinpoint where I may be running into this error at.
Project ID:
147362
Context/Use case:
Flame detection based strictly off of temperature data.
I am running this on a cortex-M4 MCU (custom product implementation).
The port into my project was basically the standalone project that you linked.
The only difference is I am directly passing a buffer in with:
@matt001k - did you modify that error code to be EI_IMPULSE_DSP_ERROR_1?
I’ve gotten into trouble before using the signal_from_buffer() function. My guess is that you’re not passing in the address of your buf array correctly or the signal struct is malformed. All that function does is just set up the paging callback function for you (behind the scenes in the SDK library).
I might recommend constructing the callback function yourself. That usually makes it easier to debug how the actual transfer of data is occurring to the internal inferencing buffer (i.e. with a step-through debugger or even just using ei_printf() to print out your buffer).
I notices that this is an issue with memory allocation in the system. When the controller got into an actual running state there was quite a lot of other malloc’ing going on (snprintf, etc, etc) which caused our heap_4.c implementation of FreeRTOS heap to run out of space. The return code for this failure is EIDSP_OUT_OF_MEM = -1002.
Having visibility to this error could have saved quite a lot of time (I replaced that return with the value of ret).
Thanks for the help!