gq7_led.py
Go to the documentation of this file.
1 from .utils.widgets import MicrostrainWidget, MicrostrainPlugin
2 from .utils.subscribers import FilterStatusMonitor, GNSSAidingStatusMonitor, GQ7LedMonitor
3 
4 _WIDGET_NAME = 'GQ7LED'
5 
7 
8  def __init__(self, node):
9  # Initialize the parent class
10  super(GQ7LEDWidget, self).__init__(node, _WIDGET_NAME)
11 
12  def _configure(self):
13  # Set up the subscriber status monitors
14  self._gnss_1_aiding_status_monitor = GNSSAidingStatusMonitor(self._node, self._node_name, "gnss1/aiding_status")
15  self._gnss_2_aiding_status_monitor = GNSSAidingStatusMonitor(self._node, self._node_name, "gnss2/aiding_status")
17 
18  # Set up a special monitor for the GQ7 LED
20 
21  # Hide the warning label
22  self.gq7_led_not_available_label.hide()
23 
24  def run(self):
25  # If the device is connected and not a GQ7, display a warning
26  if self._device_report_monitor.connected and not self._device_report_monitor.is_gq7:
27  self.gq7_led_widget.hide()
28  self.gq7_led_not_available_label.setText('GQ7 LED not available for device %s, only available for GQ7 devices' % self._device_report_monitor.model_name_string)
29  self.gq7_led_not_available_label.show()
30  return
31  else:
32  self.gq7_led_not_available_label.hide()
33  self.gq7_led_widget.show()
34 
35  # Update device specific data
36  self._update_gq7_led()
37 
38  def _update_gq7_led(self):
39  self.gq7_led_status_label.setText(self._filter_status_monitor.filter_state_led_string)
40  self.gq7_led_icon_label.setText(self._gq7_led_monitor.gq7_led_icon)
41 
42 
44 
45  def __init__(self, context):
46  # Initialize the parent class
47  super(GQ7LEDPlugin, self).__init__(context, _WIDGET_NAME, GQ7LEDWidget)


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