IPC Protocol

Component Type: Protocol

Status: Implemented

Overview

The IPC Protocol exposes the Dawn simple binary protocol over two named pipes. It is intended for peer tasks running on the same MCU or simulator instance.

CProtoIpc uses one FIFO for inbound commands and one FIFO for outbound responses and notifications. The frame format and command set match the serial and UDP simple transports.

Configuration

Kconfig

  • CONFIG_DAWN_PROTO_IPC: enables the IPC protocol.

  • CONFIG_DAWN_PROTO_IPC_RX_PATH: default command FIFO path.

  • CONFIG_DAWN_PROTO_IPC_TX_PATH: default response FIFO path.

  • CONFIG_DAWN_PROTO_IPC_UNLINK_FIFO: remove FIFOs during deinit.

YAML

protocols:
  - id: ipc0
    type: ipc
    config:
      bindings:
        - io1
        - io2
      rx_path: "/var/pipe/dawn_rx"
      tx_path: "/var/pipe/dawn_tx"

Supported fields:

  • config.bindings: standard IO binding list.

  • config.rx_path: FIFO path used by Dawn to receive commands.

  • config.tx_path: FIFO path used by Dawn to send responses.

External Control

ControlIO: supported.

CProtoIpc supports runtime start/stop control through CIOControl. When stopped, the worker thread no longer polls the receive FIFO.

TriggerIO: not supported.

Doxygen