Made corrections to radar managment to add testing

This commit is contained in:
2026-06-10 09:14:19 -07:00
parent 1898a2e17a
commit e923dc2c42
2 changed files with 58 additions and 0 deletions

View File

@@ -102,6 +102,42 @@ struct target_data_to_thread_1_structure {
uint32_t mmsi;
};
/* ============================================================
* RADAR MANAGEMENT
* Components: Thread 1 (startup, scope switching), Traffic Cop (Thread 2)
* ============================================================ */
/* Index constants for radar_management[] and current_radar.
* Array slot 0 (RADAR_NONE) is unused padding so current_radar
* can be used as a direct index into radar_management[]. */
constexpr int RADAR_NONE = 0;
constexpr int RADAR_CHAIN_HOME = 1;
constexpr int RADAR_MARINE_ASCOPE = 2;
constexpr int RADAR_MARINE_TRAFFIC = 3;
constexpr int RADAR_POLICE_BOAT = 4;
constexpr int RADAR_COUNT = 5; // valid indices: 1-4; 0 is unused
/* Per-radar operational state.
* Indexed by RADAR_* constants above; slot 0 is unused.
* Components: Thread 1 (startup init, scope switching),
* Traffic Cop (Thread 2, range filtering) */
struct radar_management_structure {
int testing; // 1 = radar component is under development/testing, 0 = not in testing
int operatable; // 1 = radar is built and fully functional, 0 = not yet built
int available; // 1 = enabled by exhibit operator at startup, 0 = disabled
int selected; // 1 = currently active/displayed, 0 = not active
};
// Array of radar states, indexed by RADAR_* constants.
// radar_management[0] is unused padding.
// Components: Thread 1, Traffic Cop (Thread 2)
extern radar_management_structure radar_management[RADAR_COUNT];
// Index of the currently active radar (RADAR_NONE through RADAR_POLICE_BOAT).
// 0 means no radar selected (e.g. intro screen).
// Components: Thread 1, Traffic Cop (Thread 2), all scope renderers
extern int current_radar;
/* ============================================================
* THREAD MUTEXES
* Defined in global_data.cpp; extern declared here.