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::KnobSourceof the baked domain (which Kconfig fragment statedCONFIG_NROS_DOMAIN_ID), 0 when no configure recorded one. - BOOT_
RMW_ LOCAL_ QUERYABLE - Issue 1549 –
Z_FEATURE_LOCAL_QUERYABLEfor the boot record: bits 0..7 the value, bits 8..15 theboot_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).
Nonewhen 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_publisherat 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
Nonewhere nobody stated it. Read bydeclared_qos::check/declared_qos::honourat 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
SchedContextslots 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
Nonewhen 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
cbscallback slots. Scales the build-timeARENA_SIZE(which is sized for the defaultMAX_CBS) linearly bycbs, so a per-entryExecutorSizingwith a caller-chosencbsgets 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-globalNROS_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).