Skip to content

Struct OpenSkyhawk::DrumFlag

ClassList > OpenSkyhawk > DrumFlag

Optional 2-state (or N-state) flag tape — hemisphere N/S · E/W, or a mode letter. More...

  • #include <DrumDisplay.h>

Public Attributes

Type Name
uint16_t address
DCS-BIOS address that drives the flag.
uint8_t atVisualCol
visual column the flag cell is inserted at (after this many digits)
bool enabled
false ⇒ no flag tape rendered (default)
const char * faces
face string, one char per state, e.g. "NS" / "EW" (nFaces = strlen)
uint16_t mask
field mask (A_4E_C_*_AM); 0xFFFF for whole-word
uint16_t steps = 0
positions across the range; 0 ⇒ nFaces−1 (a full-scale flag)
float widthMm
flag cell width, mm (wider than a digit so a broad 'W' fits)

Detailed Description

Note:

OFF by default (enabled = false). Position is configurable (not hardcoded rightmost). Populate address / mask from the A4EC constants. The face is round(value/mask · steps), clamped to the face count.

Note:

steps matters because the A-4E-C does not drive every flag over the same range: the ASN-41 hemisphere arrives at HALF scale (nav.lua sets 0.0 or 0.5 for N/S and E/W, so steps = 2), while MagVar and the BDHI DME flag use the full range (0 or 1, so steps = 1). A half-scale flag read as full scale never reaches its second face.

Public Attributes Documentation

variable address

DCS-BIOS address that drives the flag.

uint16_t OpenSkyhawk::DrumFlag::address;


variable atVisualCol

visual column the flag cell is inserted at (after this many digits)

uint8_t OpenSkyhawk::DrumFlag::atVisualCol;


variable enabled

false ⇒ no flag tape rendered (default)

bool OpenSkyhawk::DrumFlag::enabled;


variable faces

face string, one char per state, e.g. "NS" / "EW" (nFaces = strlen)

const char* OpenSkyhawk::DrumFlag::faces;


variable mask

field mask (A_4E_C_*_AM); 0xFFFF for whole-word

uint16_t OpenSkyhawk::DrumFlag::mask;


variable steps

positions across the range; 0 ⇒ nFaces−1 (a full-scale flag)

uint16_t OpenSkyhawk::DrumFlag::steps;


variable widthMm

flag cell width, mm (wider than a digit so a broad 'W' fits)

float OpenSkyhawk::DrumFlag::widthMm;



The documentation for this class was generated from the following file Firmware/Libraries/DrumDisplay/DrumDisplay.h