gnss_data.py
Go to the documentation of this file.
1 from .utils.widgets import MicrostrainWidget, MicrostrainPlugin
2 from .utils.subscribers import GNSSFixInfoMonitor, NavSatFixMonitor
3 
4 _WIDGET_NAME = 'GNSSData'
5 
7 
8  def __init__(self, node):
9  # Initialize the parent class
10  super(GNSSDataWidget, self).__init__(node, _WIDGET_NAME)
11 
12  def _configure(self):
13  # Set up the subscriber status monitors
14  self._gnss_1_fix_info_monitor = GNSSFixInfoMonitor(self._node, self._node_name, "gnss1/fix_info")
15  self._gnss_2_fix_info_monitor = GNSSFixInfoMonitor(self._node, self._node_name, "gnss2/fix_info")
18 
19  # Hide the warning label
20  self.gnss_not_available_label.hide()
21 
22  def run(self):
23  # Dual Antenna Only widgets (GQ7)
24  dual_antenna_widgets = [
25  self.gnss_2_widget
26  ]
27 
28  # Hide or show the widgets
29  self.hide_show_widgets(dual_antenna_widgets, self._device_report_monitor.has_dual_antenna)
30 
31  # If the device is connected and there is no GNSS data, display a warning, otherwise display GNSS data
32  if self._device_report_monitor.connected and not self._device_report_monitor.has_gnss:
33  self.gnss_widget.hide()
34  self.gnss_not_available_label.setText('GNSS data not available for device %s' % self._device_report_monitor.model_name_string)
35  self.gnss_not_available_label.show()
36  return
37  else:
38  self.gnss_not_available_label.hide()
39  self.gnss_widget.show()
40 
41  # Update device specific data
42  self._update_gnss_1_data()
43  self._update_gnss_2_data()
44 
46  # Fix Info
47  self.gnss_1_fix_type_label.setText(self._gnss_1_fix_info_monitor.fix_type_string)
48  self.gnss_1_sv_count_label.setText(self._gnss_1_fix_info_monitor.num_sv_string)
49  self.gnss_1_position_uncertainty_label.setText(self._gnss_1_nav_sat_fix_monitor.position_uncertainty_string)
50 
52  # Fix Info
53  self.gnss_2_fix_type_label.setText(self._gnss_2_fix_info_monitor.fix_type_string)
54  self.gnss_2_sv_count_label.setText(self._gnss_2_fix_info_monitor.num_sv_string)
55  self.gnss_2_position_uncertainty_label.setText(self._gnss_2_nav_sat_fix_monitor.position_uncertainty_string)
56 
57 
59 
60  def __init__(self, context):
61  # Initialize the parent class
62  super(GNSSDataPlugin, self).__init__(context, _WIDGET_NAME, GNSSDataWidget)


microstrain_inertial_rqt
Author(s): Parker Hannifin Corp
autogenerated on Wed Mar 22 2023 02:35:20