I’m working through demo_mic_array.py to see if I can understand how the program works.
I understand from a review of the code in MaixPy\ports\k210-freertos\mpy_support\Maix\Maix_mic_array.c that the process involves converting an image representing the highest sound levels in the region between and around the 6 mics on the 6+1 mic array board. This is in a 256 deep, 8 bit array so the map is 16x16 bytes. The image is obtained from a call to lib_mic_init, which is prototyped in MaixPy\ports\k210-freertos\platform\api\include\lib_mic.h, but I can’t find a matching lib_mic.c to see how the image is generated.
Digging further I can see that the functionaility is wrapped up in a precompiled binary, MaixPy\ports\k210-freertos\platform\api\lib_mic.a, and a dump of the symbol table in that file (riscv64-unknown-elf-objdump -t lib_mic.a) shows that there actually is a lib_mic.c source file… somwehere! I’ve looked everywhere for this with no luck.
Is there any reason why this file can’t be also included in the source tree for MaixPy? It would be great to understand how this module works and maybe opening it to the public up would results in code improvements.
Thanks for listening!