|
SDK for TESAIoT Dev Kit
API reference & tutorials (ModusToolbox)
|
Functions | |
| bool | deepcraft_task_init (void) |
| Call after cm55_ipc_communication_setup(); the archived display controller already does. | |
| void | deepcraft_task_request (bool start) |
| Start or stop the model link exactly as a MicroPython client would. | |
| void | deepcraft_task_select (uint32_t n) |
| Activates registry model n exactly as edge_ai.select(n); zero callers workspace-wide. | |
| void | deepcraft_task_watchdog (void) |
| Returns the model-link task to Ready; about 1 Hz from a context that never blocks. | |
DEEPCRAFT™ is a trademark of Infineon Technologies. This module is the CM55 side of the model link, and TESAIoT wrote it; the models at the far end of that link are Imagimob AB's, an Infineon Technologies company — see Edge AI (libbento_edge_ai.a).
Header: deepcraft_task.h. Implementation: archived deepcraft_task.c (libbento_cm55.a). The CM55 end of the DEEPCRAFT™ model link: it owns the command queue that MicroPython's edge_ai.* and the on-screen Edge AI page both post to, so a tap and a script produce the same READY / STOPPED events and the same CM33 sensor-rate changes. All four functions are called only from inside the archive today; every example is authored.
| bool deepcraft_task_init | ( | void | ) |
Call after cm55_ipc_communication_setup(); the archived display controller already does.
Create the model-link task + register the pipe client. Call AFTER cm55_ipc_communication_setup().
deepcraft_task.h:24). Its single caller is the archived display controller, tesaiot_display.c:231, guarded by BENTO_HAS_MODEL_LINK, with the in-source ordering rule quoted verbatim: "model-link peer — after pipe setup (ordering rule)" — i.e. after cm55_ipc_communication_setup(), ipc_sensorhub_init() and ipc_service_init(). Creates the task and registers the pipe client. Now inside the binary; consumers using the shipped display controller never call it. The authored example documents the ordering for a custom bring-up. | void deepcraft_task_request | ( | bool | start | ) |
Start or stop the model link exactly as a MicroPython client would.
Ask the model link to start or stop, exactly as a MicroPython client would. The on-screen page uses this instead of poking the inference engine directly, so the link emits its usual READY / STOPPED events and everything downstream – not least CM33 raising the accelerometer to the model's training rate – happens for a tap just as it does for a script.
deepcraft_task.h) — the page uses this instead of poking the engine, so the link emits its usual events and CM33 raises the accelerometer to the model's training rate for a tap just as for a script. Both callers are archived (page_edge_ai.c:361, :367). The real pattern to model: inside an LVGL button callback, paired with ai_engine_stop() / ai_engine_start(sel), gated by ai_engine_stack_words() != 0 (0 means the engine never started). | void deepcraft_task_select | ( | uint32_t | n | ) |
Activates registry model n exactly as edge_ai.select(n); zero callers workspace-wide.
Edge AI menu: activate registry model n (clean switch, no reload) exactly as a MicroPython edge_ai.select(n) does. On-screen parity with the dropdown on the Edge AI page — posts SELECT(0x90+n) on the model link's command queue.
n (clean switch, no reload) exactly as edge_ai.select(n) does, by posting SELECT(0x90+n) on the link's command queue. Zero callers workspace-wide (three definitions and two host-sim stubs). Authored. | void deepcraft_task_watchdog | ( | void | ) |
Returns the model-link task to Ready; about 1 Hz from a context that never blocks.
Return the model-link task to Ready if it has stopped draining its command queue. Call at about 1 Hz from a context that never blocks. Does nothing on a healthy board; see the definition for what it does and does not fix.
deepcraft_task.h). Its single caller is internal: deepcraft_task.c:1000, from a FreeRTOS software-timer callback, with WD_STRIKES = 2 — the task must be seen stalled on two consecutive ticks before the watchdog acts; one missed tick is not a strike. Does nothing on a healthy board.