SDK for TESAIoT Dev Kit
API reference & tutorials (ModusToolbox)
Loading...
Searching...
No Matches
IPC Core (libbento_ipc.a)

Topics

 LCD console & panel
 Sensor hub
 Service
 UI containers
 Widget manager (IPC dispatch)
 Weak hooks (implement, don't call)
 Init & ordering
 Usage notes

Detailed Description

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/).

Variant
mtb-mpy and mtb-only

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.

Archive hazard: PAGE_ID_PLAYGROUND ordinal 7

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.