Understanding the Relationship Between helloworld.py and mt9m114.c in OpenMV

I am working with the OpenMV-H7 R1 board, which uses the MT9M114 sensor. I am using this GitHub repository: GitHub - openmv/openmv: OpenMV Camera Module.

How is the helloworld.py file in the \scripts\examples\00-HelloWorld directory related to the mt9m114.c file in the \drivers\sensors directory? Can someone provide a code map and explain the folder structure?

Thanks in advance.

Hi, the OpenMV Cam H7 runs MicroPython. The Hello World file is run by the MicroPython VM onboard. The Python functions you call directly invoke C code under the hood that captures images.

Can you please explain how c code is invoking from python level function call,
at least for single function call [eg: sensor.reset()] or
any references link to understand the flow from micro python to c

thanks

Hi, read this: MicroPython Internals — MicroPython latest documentation

As for understanding the C code. See here: openmv/modules/py_csi.c at master · openmv/openmv · GitHub

Just follow the objects.