Skip to content

Struct frame_state_t

ClassList > frame_state_t

Frame state. More...

  • #include <frame_core.h>

Public Attributes

Type Name
wfm_frame_desc_t d
wfm_frame_desc_layout_t dl
wfm_frame_t f
wfm_frame_layout_t l
int named
size_t nbits
uint8_t * one
uint8_t * own
int rx_checked
int rx_ok
int rx_symbols
int rx_units

Detailed Description

Allocate with frame_create().

Public Attributes Documentation

variable d

wfm_frame_desc_t frame_state_t::d;

The DESCRIPTION — fields and stages — which is what everything here delegates on. wfm_frame_t is one configuration of it, so the thirty-odd-argument constructor and the field-by-field builder produce the same kind of thing and share every method below. Its bits pointers address the owned copies, never the caller's arrays: a Python buffer is released the moment the call that supplied it returns.


variable dl

wfm_frame_desc_layout_t frame_state_t::dl;

The general layout, derived at build.


variable f

wfm_frame_t frame_state_t::f;

The four-field configuration, kept only when the object was built that way — it is what layout()'s NAMED view reports. A description built field by field has no preamble/sync/payload/crc to name, and layout() says so by reporting a zero total_bits rather than inventing offsets for fields that do not exist.


variable l

wfm_frame_layout_t frame_state_t::l;

Computed at create for the configured path; zero otherwise.


variable named

int frame_state_t::named;

Non-zero once the configured path filled f and l.


variable nbits

size_t frame_state_t::nbits;

variable one

uint8_t* frame_state_t::one;

One materialised frame, built at create (configured) or at build() (described) — which is also the proof the description CAN be materialised. bits() repeats this rather than regenerating, so every repeat is bit-identical by construction and a PN field cannot advance its register between them.


variable own

uint8_t* frame_state_t::own[WFM_FRAME_MAX_FIELDS];

Owned copies of every literal field; NULL for a generated kind.


variable rx_checked

int frame_state_t::rx_checked;

What the last frame_deframe() found, summed across the stages it reversed. Read-backs rather than a returned record: the call hands back BITS, and jm binds one return value. rx_checked == 0 means the description carries no reversible stage — which is not the same fact as a failed check, and an FER conflating them would score every unprotected frame as an error.


variable rx_ok

int frame_state_t::rx_ok;

variable rx_symbols

int frame_state_t::rx_symbols;

variable rx_units

int frame_state_t::rx_units;


The documentation for this class was generated from the following file native/inc/frame/frame_core.h