|
SDK for TESAIoT Dev Kit
API reference & tutorials (ModusToolbox)
|
Topics | |
| LCD console & panel | |
| Sensor hub | |
| Service | |
| UI containers | |
| Widget manager (IPC dispatch) | |
| Weak hooks (implement, don't call) | |
| Init & ordering | |
| Usage notes | |
ipc_core is the CM55-side IPC receiver family: the pipe clients that turn messages from CM33_NS (MicroPython on mtb-mpy, the C application on mtb-only) into LVGL widgets, console text, sensor snapshots and service calls. It ships as one prebuilt archive, template/lib/ipc_core/COMPONENT_CM55/COMPONENT_HARDFP/TOOLCHAIN_GCC_ARM/libbento_ipc.a, built from five source files that do not ship (dist/ipc_core/PROVENANCE.txt): ipc_service.c, ipc_lcd.c, ipc_ui.c, ui_widget_mgr.c, ipc_sensorhub.c. Only the headers ship, in two identical copies (template/lib/ipc_core/include/ and template/bento_libs/claw/common/modules/).
CM55 is variant-agnostic: the only compile-time MicroPython gate on this core is proj_cm55/Makefile:237 and the version label. Every entry in this reference therefore applies to both zips.
dist/ipc_core/PROVENANCE.txt records the fact that governs whether this archive is usable in your project at all:
PAGE_ID_PLAYGROUND ordinal compiled into this archive: 7 Valid ONLY for a project whose page_id_t gives that value. Linking it into a project with a different page order succeeds with no diagnostic and compares the wrong page. Check yours: grep -n PAGE_ID_PLAYGROUND proj_cm55/modules/*/page_manager.h
The archive's one-shot auto-navigate (lcd.print() jumping to Playground on a fresh MicroPython session) compares the current page against the literal value 7. If your page_id_t enum in page_manager.h — a per-project file, never shared — puts PAGE_ID_PLAYGROUND anywhere else, the link succeeds, nothing warns, and the auto-navigate lands on the wrong page. Run the grep above before every link.