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 = 0positions 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