Skip to content

dtmc_base

Portable C building blocks for embedded firmware and host tooling — concurrency primitives, networking abstractions, and small algorithms — designed to compile cleanly across Zephyr, RTOS, and Linux without scattered #ifdefs.

Current release: v1.0.9

dtmc_base is part of the Embedded Applications Lab — a set of working applications based on a set of reusable libraries across MCU, Linux, and RTOS targets.


What's inside

Area Examples
Concurrency dttasker, dtsemaphore, dtlock, dtbufferqueue
Networking / I/O dtnetportal, dtiox, dtframer, dtnetbridge
Hardware facades dtgpiopin, dtadc, dtdisplay, dtdotstar
Storage dtnvblob, dtradioconfig
Diagnostics dtruntime, dttasker_registry, dtbusywork

How portability works

Most of the library is plain, platform-independent C. Where OS or hardware integration is unavoidable, dtmc_base defines a small porting contract — nine header-only interfaces you implement once per platform:

dtsemaphore  dtlock  dttasker  dtcpu  dtruntime  dtgpiopin  dtiox  dtnvblob  dtbufferqueue

Everything else builds on top of those without knowing the underlying OS.


Supported targets

Zephyr  ·  FreeRTOS-style RTOS  ·  Linux (reference port, testing, tooling)


Docs

See the dtmc_base documentation site for the full API reference and porting guide.