48 lines
1.8 KiB
C
48 lines
1.8 KiB
C
// chunk5's instrument panel and radio routines (DrawHeading ..
|
|
// ClampAltitudeOnTouchdown in src/chunk5.s): headings, compass, NAV /
|
|
// COM / transponder / DME readouts, VOR bearings and needles, RPM,
|
|
// altimeter pose, airspeed, slip/skid and the station geometry.
|
|
|
|
#ifndef CHUNK5_PANEL_H
|
|
#define CHUNK5_PANEL_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
void chunk5AnimateVOR2Needle(void);
|
|
// CheckForAbort: false when instrument bit 7 of $FC is clear (the
|
|
// caller returns immediately).
|
|
bool chunk5CheckForAbort(void);
|
|
// ComputeStationDelta: X = station slot offset; deviation in $B6/$B7.
|
|
// Returns the carry its final subtract leaves (UpdateADFIndicator
|
|
// chains an SBC on it).
|
|
bool chunk5ComputeStationDelta(uint8_t slot);
|
|
// ComputeStationDistance (LA4D2): result in $BE/$BF.
|
|
void chunk5ComputeStationDistance(void);
|
|
void chunk5DrawAllRadios(void);
|
|
void chunk5DrawCarbHeatAndLights(void);
|
|
void chunk5DrawCom1(void);
|
|
void chunk5DrawDME(void);
|
|
void chunk5DrawHeading(void);
|
|
void chunk5DrawMagCompass(void);
|
|
void chunk5DrawNav1(void);
|
|
void chunk5DrawNav2(void);
|
|
void chunk5DrawOMI(void);
|
|
void chunk5DrawRPM(void);
|
|
void chunk5DrawVOR1(void);
|
|
void chunk5DrawVOR1IndicatorChanges(void);
|
|
void chunk5DrawVOR2(void);
|
|
void chunk5DrawVOR2IndicatorChanges(void);
|
|
void chunk5DrawXPNDR(void);
|
|
void chunk5RequestNAV1Lookup(void);
|
|
void chunk5RequestNAV2Lookup(void);
|
|
// Set3DigitString: ValueForString into the 3-byte string at `str`.
|
|
void chunk5Set3DigitString(uint16_t str);
|
|
void chunk5UpdateAirspeedDerivedValue(void);
|
|
void chunk5UpdateAltimeterPose(void);
|
|
void chunk5UpdateMagneticHeading(void);
|
|
void chunk5UpdateSlipSkid(void);
|
|
void chunk5UpdateVOR1Bearing(void);
|
|
void chunk5UpdateVOR2Bearing(void);
|
|
|
|
#endif
|