ICARUS OS (Intelligent Cooperative Architecture for Real-time Unified Systems) 0.1.0
Preemptive Real-Time Operating System for ARM Cortex-M7
Loading...
Searching...
No Matches
icarus_pipe_t Struct Reference

Message Pipe (Queue) More...

#include <types.h>

Data Fields

bool engaged
 true if pipe is initialized and active
 
uint16_t count
 Current number of bytes in buffer.
 
uint16_t max_count
 Maximum buffer capacity in bytes.
 
uint16_t enqueue_idx
 Write index (circular)
 
uint16_t dequeue_idx
 Read index (circular)
 
uint32_t tick_updated_at
 Last modification timestamp.
 
uint8_t buffer [512]
 Circular message buffer.
 

Detailed Description

Message Pipe (Queue)

Implements a circular buffer message queue for inter-task communication. Supports variable-length messages up to ICARUS_MAX_MESSAGE_BYTES.

Note
Memory footprint: ~140 bytes per pipe (with 128-byte buffer)
See also
docs/do178c/design/SDD.md Section 4.5 - Inter-Process Communication

Definition at line 169 of file types.h.

Field Documentation

◆ buffer

uint8_t icarus_pipe_t::buffer[512]

Circular message buffer.

Definition at line 176 of file types.h.

Referenced by __init_pipe(), __pipe_init(), __pipe_read_bytes(), and __pipe_write_bytes().

◆ count

uint16_t icarus_pipe_t::count

Current number of bytes in buffer.

Definition at line 171 of file types.h.

Referenced by __init_pipe(), __pipe_can_dequeue(), __pipe_get_count(), __pipe_init(), __pipe_read_bytes(), and __pipe_write_bytes().

◆ dequeue_idx

uint16_t icarus_pipe_t::dequeue_idx

Read index (circular)

Definition at line 174 of file types.h.

Referenced by __init_pipe(), __pipe_init(), and __pipe_read_bytes().

◆ engaged

bool icarus_pipe_t::engaged

true if pipe is initialized and active

Definition at line 170 of file types.h.

Referenced by __init_pipe(), and __pipe_init().

◆ enqueue_idx

uint16_t icarus_pipe_t::enqueue_idx

Write index (circular)

Definition at line 173 of file types.h.

Referenced by __init_pipe(), __pipe_init(), and __pipe_write_bytes().

◆ max_count

uint16_t icarus_pipe_t::max_count

Maximum buffer capacity in bytes.

Definition at line 172 of file types.h.

Referenced by __init_pipe(), __pipe_get_max_count(), __pipe_init(), __pipe_read_bytes(), and __pipe_write_bytes().

◆ tick_updated_at

uint32_t icarus_pipe_t::tick_updated_at

Last modification timestamp.

Definition at line 175 of file types.h.

Referenced by __init_pipe(), __pipe_init(), __pipe_read_bytes(), and __pipe_write_bytes().


The documentation for this struct was generated from the following file: