Hello,
Everything is working, but I try to find ways to speed up my DSP+inference. Out of curiosity, I printed out offset and length of edge impulse callback.
Can someone explain why the output is toggling between 1 and 120. Is this normal?
My continous slice buffer is currently 1000. Can I get performance increase if my buffer size is 2^N or other nicely divisible number? That toggling seems inefficient.
static int get_signal_data(size_t offset, size_t length, float *out_ptr) {
for (size_t i = 0; i < length; i++) {
out_ptr[i] = (data_buffer + offset)[i];
}
printk(“offset %d, length %d\n”, offset, length); //added this to investigate
return EIDSP_OK;
}signal.total_length = 1000; signal.get_data = &get_signal_data; res = run_classifier_continuous(&signal, &result, false);
Output:
offset 999, length 1
offset 0, length 120
offset 119, length 1
offset 120, length 160
offset 279, length 1
offset 280, length 160
offset 439, length 1
offset 440, length 160
offset 599, length 1
offset 600, length 160
offset 759, length 1
offset 760, length 160
offset 919, length 1
offset 920, length 80