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.utils.widgets.MicrostrainWidget._device_report_monitor
_device_report_monitor
Definition: widgets.py:31
microstrain_inertial_rqt.utils.subscribers.NavSatFixMonitor
Definition: subscribers.py:452
microstrain_inertial_rqt.utils.widgets.MicrostrainWidget._node_name
_node_name
Definition: widgets.py:28
microstrain_inertial_rqt.utils.widgets.MicrostrainWidget._node
_node
Definition: widgets.py:25
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._gnss_2_nav_sat_fix_monitor
_gnss_2_nav_sat_fix_monitor
Definition: gnss_data.py:17
microstrain_inertial_rqt.utils.widgets.MicrostrainWidget.hide_show_widgets
def hide_show_widgets(widgets, show)
Definition: widgets.py:72
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._update_gnss_2_data
def _update_gnss_2_data(self)
Definition: gnss_data.py:51
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._update_gnss_1_data
def _update_gnss_1_data(self)
Definition: gnss_data.py:45
microstrain_inertial_rqt.gnss_data.GNSSDataWidget
Definition: gnss_data.py:6
microstrain_inertial_rqt.gnss_data.GNSSDataPlugin
Definition: gnss_data.py:58
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._gnss_1_nav_sat_fix_monitor
_gnss_1_nav_sat_fix_monitor
Definition: gnss_data.py:16
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._configure
def _configure(self)
Definition: gnss_data.py:12
microstrain_inertial_rqt.utils.subscribers.GNSSFixInfoMonitor
Definition: subscribers.py:52
microstrain_inertial_rqt.gnss_data.GNSSDataWidget.__init__
def __init__(self, node)
Definition: gnss_data.py:8
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._gnss_2_fix_info_monitor
_gnss_2_fix_info_monitor
Definition: gnss_data.py:15
microstrain_inertial_rqt.gnss_data.GNSSDataWidget.run
def run(self)
Definition: gnss_data.py:22
microstrain_inertial_rqt.gnss_data.GNSSDataPlugin.__init__
def __init__(self, context)
Definition: gnss_data.py:60
microstrain_inertial_rqt.gnss_data.GNSSDataWidget._gnss_1_fix_info_monitor
_gnss_1_fix_info_monitor
Definition: gnss_data.py:14
microstrain_inertial_rqt.utils.widgets.MicrostrainWidget
Definition: widgets.py:11
microstrain_inertial_rqt.utils.widgets.MicrostrainPlugin
Definition: widgets.py:80


microstrain_inertial_rqt
Author(s): Parker Hannifin Corp
autogenerated on Fri Apr 18 2025 02:52:41