Add chain home processing information and cleared some issues

This commit is contained in:
2026-05-28 14:57:32 -07:00
parent b0cf9c6f4e
commit f502c0ec38
2 changed files with 12 additions and 7 deletions

BIN
.work_note2.swp Normal file

Binary file not shown.

View File

@@ -127,7 +127,6 @@ struct target_data_structure {
std::string registration; // will be null for no registration std::string registration; // will be null for no registration
float length; // in meters float length; // in meters
float beam; // in meters float beam; // in meters
float altitude; // in meters
int vessel_type; // AIS type code or aircraft type int vessel_type; // AIS type code or aircraft type
uint32_t mmsi; // AIS unique identifier; ICAO hex address for aircraft uint32_t mmsi; // AIS unique identifier; ICAO hex address for aircraft
float course; // course over ground, degrees, based on true north float course; // course over ground, degrees, based on true north
@@ -151,8 +150,8 @@ struct target_data_to_shader_structure {
float reflectivity; // derivied from vessel_type (see table below) float reflectivity; // derivied from vessel_type (see table below)
float height_estimate; // derived from vessel_type (see table below) float height_estimate; // derived from vessel_type (see table below)
float noiseglint; // derived from vessel_type (see table below) float noiseglint; // derived from vessel_type (see table below)
int32_t police_boat // this indicates that the target is for the roaming police boat. 1 = police boat int32_t police_boat; // this indicates that the target is for the roaming police boat. 1 = police boat
int type // target type (0 for boat 1 for aircraft) int type; // target type (0 for boat 1 for aircraft)
}; };
Please note that height and material are not included in the data received from the simulator Please note that height and material are not included in the data received from the simulator
@@ -997,8 +996,8 @@ Here is the data items for the table in the Postgres database:
1. float length 1. float length
2. float beam 2. float beam
3. int32_t material - 1 for metal, 2 for wood, 3 for fiberglass 3. int32_t material - 1 for metal, 2 for wood, 3 for fiberglass
4. timestamp elapsed_seconds 4. time_t timestamp - use to check to see if this has already been processed
5. binary may_need_update (this if a randome value is applied to any part of the target 5. int32_t may_need_update (this if a randome value is applied to any part of the target
and that the user may want to update the database. This and that the user may want to update the database. This
will not force the user to do the update, a later will not force the user to do the update, a later
database editing program will use this. database editing program will use this.
@@ -1105,7 +1104,7 @@ struct RadarMaterialProfile {
float noiseGlint; // simulated signal scintillation float noiseGlint; // simulated signal scintillation
}; };
RadarMaterialProfile getMaterialProfile(int aisTypeCode) { RadarMaterialProfile getMaterialProfile(int vessel_type) {
RadarMaterialProfile profile; RadarMaterialProfile profile;
switch(vessel_type) { // vessel_type is in the target_data_structure switch(vessel_type) { // vessel_type is in the target_data_structure
@@ -1173,6 +1172,12 @@ Data synchronization between threads must be managed explicitly using std::mutex
and the marine traffic control radars. It will already have the longitude and latitude of the and the marine traffic control radars. It will already have the longitude and latitude of the
police boat radar as it will be processing the location of the police boat radar from the police boat radar as it will be processing the location of the police boat radar from the
simulator. simulator.
8. Instructions regarding chain home. If the current active radar is chain home, we
need to drop all boat target and any target that is not within 300 miles from the
latitude and longitude of the chain home radar station. Furthermore all traffic from the
raspberry PI's need to be discarded for chain home. All chain home target traffic will be
beyond range for all of the other radars; therefore all such targets shall be discarded if
the active radar is not chain home.
7. Critical Section: Assert a std::mutex to gain safe writing access to the 7. Critical Section: Assert a std::mutex to gain safe writing access to the
double-buffered array driving the SSBO, copy the structural contents, and double-buffered array driving the SSBO, copy the structural contents, and
clear the mutex immediately. May I suggest that this activity be performed clear the mutex immediately. May I suggest that this activity be performed
@@ -1181,7 +1186,7 @@ Data synchronization between threads must be managed explicitly using std::mutex
and the simulator may not updata every screen update. If that's the case, the and the simulator may not updata every screen update. If that's the case, the
traffic cop will not do anything. Also note that the SSBO maximum target capability traffic cop will not do anything. Also note that the SSBO maximum target capability
will be 200. Oldest targets shall not be sent to the SSBO if the limit is reached. will be 200. Oldest targets shall not be sent to the SSBO if the limit is reached.
Lets include the maximum in memory copy of the database and SSBO shouse be Lets include the maximum in memory copy of the database and SSBO should be
a value in the settings.h file. a value in the settings.h file.