74 void InitCommListeners();
76 bool HandleN2K_129029(std::shared_ptr<const Nmea2000Msg> n2k_msg);
77 bool HandleN2K_129025(std::shared_ptr<const Nmea2000Msg> n2k_msg);
78 bool HandleN2K_129026(std::shared_ptr<const Nmea2000Msg> n2k_msg);
79 bool HandleN2K_127250(std::shared_ptr<const Nmea2000Msg> n2k_msg);
80 bool HandleN2K_129540(std::shared_ptr<const Nmea2000Msg> n2k_msg);
82 bool HandleN0183_RMC(std::shared_ptr<const Nmea0183Msg> n0183_msg);
83 bool HandleN0183_HDT(std::shared_ptr<const Nmea0183Msg> n0183_msg);
84 bool HandleN0183_HDG(std::shared_ptr<const Nmea0183Msg> n0183_msg);
85 bool HandleN0183_HDM(std::shared_ptr<const Nmea0183Msg> n0183_msg);
86 bool HandleN0183_VTG(std::shared_ptr<const Nmea0183Msg> n0183_msg);
87 bool HandleN0183_GSV(std::shared_ptr<const Nmea0183Msg> n0183_msg);
88 bool HandleN0183_GGA(std::shared_ptr<const Nmea0183Msg> n0183_msg);
89 bool HandleN0183_GLL(std::shared_ptr<const Nmea0183Msg> n0183_msg);
111 bool HandleSignalK(std::shared_ptr<const SignalkMsg> sK_msg);
113 void OnDriverStateChange();
115 void OnWatchdogTimer(wxTimerEvent &event);
116 bool EvalPriority(std::shared_ptr<const NavMsg> msg,
118 std::unordered_map<std::string, int> &priority_map);
119 std::string GetPriorityKey(std::shared_ptr<const NavMsg> msg);
121 std::vector<std::string> GetPriorityMaps();
124 void UpdateAndApplyMaps(std::vector<std::string> new_maps);
125 bool LoadConfig(
void);
126 bool SaveConfig(
void);
129 wxTimer m_watchdog_timer;
155 void PresetWatchdogs();
156 void MakeHDTFromHDM();
157 void InitializePriorityContainers();
158 void PresetPriorityContainers();
160 std::string GetPriorityMap(std::unordered_map<std::string, int> &map);
161 void ApplyPriorityMap(std::unordered_map<std::string, int> &priority_map,
162 wxString &new_prio,
int category);
163 void ApplyPriorityMaps(std::vector<std::string> new_maps);
165 void ClearPriorityMaps();
166 void PresetPriorityContainer(
168 const std::unordered_map<std::string, int> &priority_map);
169 void SelectNextLowerPriority(
const std::unordered_map<std::string, int> &map,
179 std::unordered_map<std::string, int> priority_map_position;
180 std::unordered_map<std::string, int> priority_map_velocity;
181 std::unordered_map<std::string, int> priority_map_heading;
182 std::unordered_map<std::string, int> priority_map_variation;
183 std::unordered_map<std::string, int> priority_map_satellites;
185 int n_LogWatchdogPeriod;
189 DECLARE_EVENT_TABLE()