created rover_statuses.py for Ground Control data -- very very basic version without any GUI interaction, just data pulling from system_statuses topic

This commit is contained in:
MatthewTaylor24
2018-01-20 14:27:56 -08:00
parent 0e99c86778
commit 5cfa5aef3b
3 changed files with 105 additions and 13 deletions

View File

@@ -11,12 +11,26 @@
</component>
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="system_statuses_node.py" pinned="false" current-in-tab="true">
<file leaf-file-name="system_statuses_node.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/system_statuses_node.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="372">
<caret line="105" column="55" lean-forward="true" selection-start-line="105" selection-start-column="55" selection-end-line="105" selection-end-column="55" />
<folding />
<state relative-caret-position="-732">
<caret line="17" column="63" lean-forward="false" selection-start-line="17" selection-start-column="36" selection-end-line="17" selection-end-column="63" />
<folding>
<element signature="e#22#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="rover_statuses.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/rover_statuses.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="708">
<caret line="43" column="40" lean-forward="false" selection-start-line="43" selection-start-column="40" selection-end-line="43" selection-end-column="40" />
<folding>
<element signature="e#22#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -35,12 +49,21 @@
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/camera_2_updater.py" />
<option value="$PROJECT_DIR$/system_statuses.py" />
<option value="$PROJECT_DIR$/node_statuses.py" />
<option value="$PROJECT_DIR$/system_statuses_node.py" />
<option value="$PROJECT_DIR$/rover_statuses.py" />
</list>
</option>
</component>
@@ -159,6 +182,14 @@
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/system_statuses.py" />
<entry file="file://$PROJECT_DIR$/node_statuses.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="72">
<caret line="3" column="8" lean-forward="false" selection-start-line="3" selection-start-column="8" selection-end-line="3" selection-end-column="8" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/camera_2_updater.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="216">
@@ -171,9 +202,21 @@
</entry>
<entry file="file://$PROJECT_DIR$/system_statuses_node.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="372">
<caret line="105" column="55" lean-forward="true" selection-start-line="105" selection-start-column="55" selection-end-line="105" selection-end-column="55" />
<folding />
<state relative-caret-position="-732">
<caret line="17" column="63" lean-forward="false" selection-start-line="17" selection-start-column="36" selection-end-line="17" selection-end-column="63" />
<folding>
<element signature="e#22#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/rover_statuses.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="708">
<caret line="43" column="40" lean-forward="false" selection-start-line="43" selection-start-column="40" selection-end-line="43" selection-end-column="40" />
<folding>
<element signature="e#22#43#0" expanded="true" />
</folding>
</state>
</provider>
</entry>

View File

@@ -0,0 +1,51 @@
#!/usr/bin/env python
import rospy, os.path
from system_statuses.msg import RoverSysStatus
class RoverStatuses:
def __init__(self):
rospy.init_node('RoverStatuses')
self.pub = rospy.Publisher('rover_statuses_chatter', RoverSysStatus, queue_size=10)
# Test Subscription for updating camera_undercarriage
rospy.Subscriber('rover_system_status_chatter', RoverSysStatus, self.__sub_callback)
self.msg = RoverSysStatus()
def __sub_callback(self, data):
self.msg.UTC_GPS_time = data.UTC_GPS_time
self.msg.bogie_connection_1 = data.bogie_connection_1
self.msg.bogie_connection_2 = data.bogie_connection_2
self.msg.bogie_connection_3 = data.bogie_connection_3
self.msg.arm_connection_status = data.arm_connection_status
self.msg.arm_end_effector_connection_statuses = data.arm_end_effector_connection_statuses
self.msg.camera_zed = data.camera_zed
self.msg.camera_undercarriage = data.camera_undercarriage
self.msg.camera_chassis = data.camera_chassis
self.msg.camera_main_navigation = data.camera_main_navigation
self.msg.sample_containment_connection_status = data.sample_containment_connection_status
self.msg.tower_connection_status = data.tower_connection_status
self.msg.chassis_pan_tilt_connection_status = data.chassis_pan_tilt_connection_status
self.msg.GPS_connection_status = data.GPS_connection_status
self.msg.jetson_CPU = data.jetson_CPU
self.msg.jetson_RAM = data.jetson_RAM
self.msg.jetson_EMMC = data.jetson_EMMC
self.msg.jetson_NVME_SSD = data.jetson_NVME_SSD
self.msg.FrSky_controller_connection_status = data.FrSky_controller_connection_status
rospy.loginfo(self.msg)
def run(self):
rospy.Subscriber('rover_system_status_chatter', RoverSysStatus, self.__sub_callback)
# Update GUI Here? (Most likely)
rospy.spin()
if __name__ == '__main__':
rover_statuses = RoverStatuses()
rover_statuses.run()

View File

@@ -22,8 +22,6 @@ class SystemStatuses:
self.msg = RoverSysStatus()
self.__set_msg_values()
# self.__set_cameras()
# self.__UTC_GPS_Time()
# Simple Subscriber test boolean -- camera_2_updated.py
# self.hasCameraUndercarriageChanged = False
@@ -107,8 +105,8 @@ class SystemStatuses:
def run(self):
r = rospy.Rate(10)
rospy.loginfo(self.msg)
self.pub.publish(self.msg)
# rospy.loginfo(self.msg)
# self.pub.publish(self.msg)
while not rospy.is_shutdown():
if (self.msg.camera_zed != os.path.exists(self.system_path_locations[0]) or
self.msg.camera_undercarriage != os.path.exists(self.system_path_locations[1]) or