SDK for TESAIoT Dev Kit
API reference & tutorials (ModusToolbox)
Loading...
Searching...
No Matches
Two layers of access — who can call what

There are exactly two caller layers, and they do not overlap:

  • C code compiled into proj_cm55 calls ai_engine_* and ai_model_staged_* directly. The on-board callers — the Edge AI page, the model-link task and the display bring-up — are inside the prebuilt libbento_cm55.a; lib/cm55_core/consumer_must_provide.txt lists the 35 ai_* symbols that archive calls. Compilable examples for your own code are in proj_cm55/examples/edge_ai/.
  • MicroPython runs on CM33_NS and cannot call ai_engine_* at all. It reaches this module only over the IPC model link — the edge_ai.* module (mp_module_edge_ai, exported from lib/mpy_secure/api.txt) sends MODEL_LINK_* commands that the model-link task services on CM55, and that task is what calls into this archive. A MicroPython program therefore never sees a C prototype from this page; it sees edge_ai.select(), edge_ai.result(), edge_ai.diag() and the rest, whose semantics are the ones documented here.

The examples on these pages are written against the public API; those for functions with no caller in the shipped firmware are marked Example (authored — no shipped call site)*.