Skip to main content

Module config

Module config 

Source
Expand description

Build-time configurable constants.

Values are set via environment variables at build time. See build.rs for env var names and defaults.

Modules§

arena_model
Issue 1190 – the arena derivation’s MODEL, as the consts it summed.

Constants§

ARENA_ACTION_CLIENTS
How many callback slots the arena derivation budgeted at ActionClient size (set via NROS_EXECUTOR_ACTION_CLIENTS, default MAX_CBS). Issue 0900.
ARENA_SIZE
Executor arena size in bytes (derived from MAX_CBS, RX_BUF_SIZE and ACTION_CLIENTS).
BOOT_DOMAIN_SOURCE
Issue 1550 – the boot_report::KnobSource of the baked domain (which Kconfig fragment stated CONFIG_NROS_DOMAIN_ID), 0 when no configure recorded one.
BOOT_RMW_LOCAL_QUERYABLE
Issue 1549 – Z_FEATURE_LOCAL_QUERYABLE for the boot record: bits 0..7 the value, bits 8..15 the boot_report::KnobSource.
DECLARED_PARAM_SERVICE_SHAPES
phase-446 F3 – per node, the contract’s declared parameters as the parameter services see them: [params, name_bytes, prefixes, prefix_bytes, strings, byte_arrays, bool_arrays, word_arrays, string_arrays] (NROS_DECLARED_PARAM_SERVICE_SHAPE). None when the contract does not declare every node’s parameters.
DECLARED_PUBLISHER_QOS_ROWS
issue 1608 – the same for every PUBLISHER the system declared something about, from the sizing descriptor’s publisher rows. Read by declared_qos::honour_publisher at every publisher registration.
DECLARED_QOS_ROWS
phase-454 W10 – the QoS this image’s system DECLARED, per subscription: its history DEPTH and (issue 1256) its RELIABILITY and DURABILITY, each None where nobody stated it. Read by declared_qos::check / declared_qos::honour at every subscription registration (NROS_ENTITY_DECLARED_DEPTHS + the sizing descriptor).
DEFAULT_RX_BUF_SIZE
Default subscription receive buffer size in bytes (set via NROS_SUBSCRIPTION_BUFFER_SIZE, default 1024).
MAX_AGE_MONITORS
Contract-monitor AGE rows one executor can watch (set via NROS_EXECUTOR_MAX_AGE_MONITORS, derived from the contract’s age_rows, default 8). phase-496 W1.
MAX_CBS
Maximum number of executor callback slots (set via NROS_EXECUTOR_MAX_CBS, default 4).
MAX_MONITORS
Contract-monitor RATE/LATENCY rows one executor can watch (set via NROS_EXECUTOR_MAX_MONITORS, derived from the contract’s monitor_rows, default 8). phase-496 W1.
MAX_NODES
Maximum number of Nodes attached to a single Executor (set via NROS_EXECUTOR_MAX_NODES, default 4). Phase 104.C.2.
MAX_SC
Maximum number of SchedContext slots per executor (set via NROS_EXECUTOR_MAX_SC, default 8). Phase 110.B.
MAX_SHUTDOWN_CBS
Shutdown-hook slots PER PHASE – one table this size for pre-shutdown hooks and a second for on-shutdown hooks (set via NROS_EXECUTOR_MAX_SHUTDOWN_CBS, default 2). Issue 0790.
MAX_VIOLATIONS
Contract-violation ring depth per executor, and the SWD record’s slot count (set via NROS_EXECUTOR_MAX_VIOLATIONS, default 8). The ring keeps the LATEST entries. phase-474 I1.
MONITOR_ARM_GRACE_MS
Arm the contract monitors anyway this many ms after the first spin, 0 = no deadline (set via NROS_MONITOR_ARM_GRACE_MS, default 0). phase-474 I2.
MONITOR_ARM_ON_CALL
Whether contract monitors wait for the application’s arm call (set via NROS_MONITOR_ARM_ON_CALL, default off = armed at the first spin). phase-474 I2.
PARAM_SERVICE_BUFFER_SIZE
Parameter service request/reply buffer size in bytes (set via NROS_PARAM_SERVICE_BUFFER_SIZE, default 4096). phase-446 F3: the FALLBACK – the buffer is param_service_buffer_bytes(), which derives it from the contract when nothing states it.
PARAM_SERVICE_BUFFER_STATED
phase-446 F3 – whether a rung STATED NROS_PARAM_SERVICE_BUFFER_SIZE (env, Kconfig, the board). A stated size wins over a derived one.
PARAM_SERVICE_INBOX_BYTES
phase-461 W2 – the parameter-service INBOX slot size a rung STATED (NROS_PARAM_SERVICE_INBOX_BYTES), or None when nobody stated one. A stated size wins over the size derived from the contract’s declared parameters (issue 1485: never 0, which is refused).
PARAM_SERVICE_INBOX_DEPTH
phase-461 W2 – requests one parameter-service queryable holds before the newest is dropped (NROS_PARAM_SERVICE_INBOX_DEPTH, default 1). The parameter clients are sequential; 4 is the action path’s depth and this family used to pay it.
TRACE_TAKES
Whether the callback trace emits a TAKE event per sample of every subscription by default (set via NROS_TRACE_TAKES, default off). phase-474 I3.
TRACE_TIMER_EVERY
One timer tick in this many gets its trace start/end pair by default, 0 = none (set via NROS_TRACE_TIMER_EVERY, default 1). phase-474 I3.
VIOLATION_DRAIN_REPORT
Whether a new executor starts with the drain-and-report hook on (set via NROS_VIOLATION_DRAIN_REPORT, default off). phase-474 I1.

Functions§

arena_size_for
phase-271 — default arena bytes for a per-entry executor holding cbs callback slots. Scales the build-time ARENA_SIZE (which is sized for the default MAX_CBS) linearly by cbs, so a per-entry ExecutorSizing with a caller-chosen cbs gets the same per-slot arena budget the global default used — a fat entry (more callbacks) gets a larger arena, a lean one a smaller one — without a workspace-global NROS_EXECUTOR_ARENA_SIZE. Floored at the full default so no per-entry executor is ever smaller than a single-slot build would have been (the arena is a worst-case upper bound; over-provision is safe, under-provision fails entity creation).