dtmc_linux
Linux implementations of the dtmc_base porting contracts — CAN bus, Modbus RTU/TCP, TCP sockets, TTY, WebSocket, CoAP, MQTT, HTTP, SDL display, and file-backed NVS — plus a set of demo and service applications that exercise each one.
dtmc_linux 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 | Headers |
|---|---|
| Serial / CAN | dtiox_linux_tty, dtiox_linux_canbus |
| TCP / WebSocket | dtiox_linux_tcp, dtiox_linux_websocket |
| Modbus RTU / TCP | dtiox_linux_modbus_rtu_master, dtiox_linux_modbus_tcp_master, dtiox_linux_modbus_tcp_slave |
| Networking | dtnetportal_mosquitto, dtnetportal_coap |
| HTTP | dthttpd_linux_socket |
| Display | dtdisplay_linux_sdl |
| Storage | dtnvblob_linux_file |
| Utilities | dtsha1 |
Demo and service applications
| App | What it shows |
|---|---|
demo_iox_tty / demo_iox_canbus |
TTY and CAN I/O streams |
demo_iox_tcp / demo_iox_modbus |
TCP socket and Modbus I/O |
demo_netportal_modbus / demo_netportal_tty |
Netportal over Modbus and TTY transports |
demo_netportal_mosquitto / demo_netportal_coap |
Netportal over MQTT and CoAP |
benchmark_netportal_simplex_modbus / benchmark_netportal_duplex_modbus |
Netportal throughput benchmarks |
demo_display_hello / demo_lvgl_card / hello_sdl2 |
SDL2 display and LVGL widget demos |
demo_write_kvp |
File-backed NVS key-value persistence |
run_test_coap / run_test_mosquitto / run_test_matter |
Protocol integration test runners |
test_all |
Full test suite |
Dependencies
dtmc_linux depends on dtcore, dtmc_base, and dtmc_services, which are included as git submodules under submodules/. After cloning, initialize them with:
git submodule update --init --recursive
Docs
See the dtmc_linux documentation site for the full API reference.