Added GPU Temperature to Jetson msg & pull data. Tested after ssh to jetson, but does not work on VM

This commit is contained in:
MatthewTaylor24
2018-01-27 17:35:33 -08:00
parent e1a3b4ebe2
commit 33112d20b9
4 changed files with 53 additions and 42 deletions

View File

@@ -2,3 +2,4 @@ float64 jetson_CPU
float64 jetson_RAM float64 jetson_RAM
float64 jetson_EMMC float64 jetson_EMMC
float64 jetson_NVME_SSD float64 jetson_NVME_SSD
float64 jetson_GPU_temp

View File

@@ -14,16 +14,16 @@
<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="true">
<entry file="file://$PROJECT_DIR$/system_statuses_node.py"> <entry file="file://$PROJECT_DIR$/system_statuses_node.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="812"> <state relative-caret-position="137">
<caret line="132" column="41" lean-forward="true" selection-start-line="132" selection-start-column="41" selection-end-line="132" selection-end-column="41" /> <caret line="116" column="57" lean-forward="true" selection-start-line="116" selection-start-column="57" selection-end-line="116" selection-end-column="57" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
<element signature="e#5786#6077#0" expanded="false" /> <element signature="e#6122#6413#0" expanded="false" />
<element signature="e#6434#6534#0" expanded="false" /> <element signature="e#6842#6942#0" expanded="false" />
<element signature="e#6587#6809#0" expanded="false" /> <element signature="e#6995#7217#0" expanded="false" />
<element signature="e#6860#6995#0" expanded="false" /> <element signature="e#7268#7403#0" expanded="false" />
<element signature="e#7047#7538#0" expanded="false" /> <element signature="e#7455#7946#0" expanded="false" />
<marker date="1517095289793" expanded="true" signature="5734:7538" ph="..." /> <marker date="1517103102832" expanded="true" signature="6070:7946" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -32,8 +32,8 @@
<file leaf-file-name="rover_statuses.py" pinned="false" current-in-tab="false"> <file leaf-file-name="rover_statuses.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/rover_statuses.py"> <entry file="file://$PROJECT_DIR$/rover_statuses.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="370"> <state relative-caret-position="226">
<caret line="59" column="36" lean-forward="false" selection-start-line="59" selection-start-column="36" selection-end-line="59" selection-end-column="36" /> <caret line="53" column="62" lean-forward="false" selection-start-line="53" selection-start-column="62" selection-end-line="53" selection-end-column="62" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
</folding> </folding>
@@ -56,8 +56,8 @@
<option value="$PROJECT_DIR$/system_statuses.py" /> <option value="$PROJECT_DIR$/system_statuses.py" />
<option value="$PROJECT_DIR$/node_statuses.py" /> <option value="$PROJECT_DIR$/node_statuses.py" />
<option value="$PROJECT_DIR$/camera_2_updater.py" /> <option value="$PROJECT_DIR$/camera_2_updater.py" />
<option value="$PROJECT_DIR$/rover_statuses.py" />
<option value="$PROJECT_DIR$/system_statuses_node.py" /> <option value="$PROJECT_DIR$/system_statuses_node.py" />
<option value="$PROJECT_DIR$/rover_statuses.py" />
</list> </list>
</option> </option>
</component> </component>
@@ -68,10 +68,10 @@
<sorting>DEFINITION_ORDER</sorting> <sorting>DEFINITION_ORDER</sorting>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="413" /> <option name="x" value="1063" />
<option name="y" value="52" /> <option name="y" value="534" />
<option name="width" value="2300" /> <option name="width" value="1650" />
<option name="height" value="1525" /> <option name="height" value="1043" />
</component> </component>
<component name="ProjectView"> <component name="ProjectView">
<navigator currentView="ProjectPane" proportions="" version="1"> <navigator currentView="ProjectPane" proportions="" version="1">
@@ -88,6 +88,7 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scratches" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
@@ -99,7 +100,6 @@
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="Scratches" />
<pane id="Scope" /> <pane id="Scope" />
</panes> </panes>
</component> </component>
@@ -137,7 +137,8 @@
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="413" y="52" width="2300" height="1525" extended-state="0" /> <frame x="1063" y="534" width="1650" height="1043" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
@@ -145,7 +146,7 @@
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" /> <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.08041958" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.11233211" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" /> <window_info id="Docker" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" /> <window_info id="SciView" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
@@ -180,12 +181,12 @@
<caret line="124" column="61" lean-forward="false" selection-start-line="124" selection-start-column="61" selection-end-line="124" selection-end-column="61" /> <caret line="124" column="61" lean-forward="false" selection-start-line="124" selection-start-column="61" selection-end-line="124" selection-end-column="61" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
<element signature="e#5786#6077#0" expanded="false" /> <element signature="e#6122#6413#0" expanded="false" />
<element signature="e#6434#6534#0" expanded="false" /> <element signature="e#6842#6942#0" expanded="false" />
<element signature="e#6587#6809#0" expanded="false" /> <element signature="e#6995#7217#0" expanded="false" />
<element signature="e#6860#6995#0" expanded="false" /> <element signature="e#7268#7403#0" expanded="false" />
<element signature="e#7047#7538#0" expanded="false" /> <element signature="e#7455#7946#0" expanded="false" />
<marker date="1517095289793" expanded="true" signature="5734:7538" ph="..." /> <marker date="1517103102832" expanded="true" signature="6070:7946" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -206,12 +207,12 @@
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
<element signature="e#5786#6077#0" expanded="false" /> <element signature="e#6122#6413#0" expanded="false" />
<element signature="e#6434#6534#0" expanded="false" /> <element signature="e#6842#6942#0" expanded="false" />
<element signature="e#6587#6809#0" expanded="false" /> <element signature="e#6995#7217#0" expanded="false" />
<element signature="e#6860#6995#0" expanded="false" /> <element signature="e#7268#7403#0" expanded="false" />
<element signature="e#7047#7538#0" expanded="false" /> <element signature="e#7455#7946#0" expanded="false" />
<marker date="1517095289793" expanded="true" signature="5734:7538" ph="..." /> <marker date="1517103102832" expanded="true" signature="6070:7946" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -237,8 +238,8 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/rover_statuses.py"> <entry file="file://$PROJECT_DIR$/rover_statuses.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="370"> <state relative-caret-position="226">
<caret line="59" column="36" lean-forward="false" selection-start-line="59" selection-start-column="36" selection-end-line="59" selection-end-column="36" /> <caret line="53" column="62" lean-forward="false" selection-start-line="53" selection-start-column="62" selection-end-line="53" selection-end-column="62" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
</folding> </folding>
@@ -247,16 +248,16 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/system_statuses_node.py"> <entry file="file://$PROJECT_DIR$/system_statuses_node.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="812"> <state relative-caret-position="137">
<caret line="132" column="41" lean-forward="true" selection-start-line="132" selection-start-column="41" selection-end-line="132" selection-end-column="41" /> <caret line="116" column="57" lean-forward="true" selection-start-line="116" selection-start-column="57" selection-end-line="116" selection-end-column="57" />
<folding> <folding>
<element signature="e#22#34#0" expanded="true" /> <element signature="e#22#34#0" expanded="true" />
<element signature="e#5786#6077#0" expanded="false" /> <element signature="e#6122#6413#0" expanded="false" />
<element signature="e#6434#6534#0" expanded="false" /> <element signature="e#6842#6942#0" expanded="false" />
<element signature="e#6587#6809#0" expanded="false" /> <element signature="e#6995#7217#0" expanded="false" />
<element signature="e#6860#6995#0" expanded="false" /> <element signature="e#7268#7403#0" expanded="false" />
<element signature="e#7047#7538#0" expanded="false" /> <element signature="e#7455#7946#0" expanded="false" />
<marker date="1517095289793" expanded="true" signature="5734:7538" ph="..." /> <marker date="1517103102832" expanded="true" signature="6070:7946" ph="..." />
</folding> </folding>
</state> </state>
</provider> </provider>

View File

@@ -51,6 +51,7 @@ class RoverStatuses:
self.jetson_msg.jetson_RAM = data.jetson_RAM self.jetson_msg.jetson_RAM = data.jetson_RAM
self.jetson_msg.jetson_EMMC = data.jetson_EMMC self.jetson_msg.jetson_EMMC = data.jetson_EMMC
self.jetson_msg.jetson_NVME_SSD = data.jetson_NVME_SSD self.jetson_msg.jetson_NVME_SSD = data.jetson_NVME_SSD
self.jetson_msg.jetson_GPU_temp = data.jetson_GPU_temp
rospy.loginfo(self.jetson_msg) rospy.loginfo(self.jetson_msg)
def __gps_callback(self, data): def __gps_callback(self, data):

View File

@@ -110,6 +110,12 @@ class SystemStatuses:
self.jetson_msg.jetson_EMMC = self.__used_percent_fs(self.file_systems_EMMC_NVMe_SSD[0]) self.jetson_msg.jetson_EMMC = self.__used_percent_fs(self.file_systems_EMMC_NVMe_SSD[0])
self.jetson_msg.jetson_NVME_SSD = self.__used_percent_fs(self.file_systems_EMMC_NVMe_SSD[1]) self.jetson_msg.jetson_NVME_SSD = self.__used_percent_fs(self.file_systems_EMMC_NVMe_SSD[1])
# Temperature
sensor_temperatures = subprocess.check_output("sensors | grep temp", shell=True)
parsed_temps = sensor_temperatures.replace("\xc2\xb0C","").replace("(crit = ","").replace("temp1:","")\
.replace("\n","").replace("+","").split()
self.jetson_msg.jetson_GPU_temp = parsed_temps[4]
# EMMC and NVMe_SSD used % calculation # EMMC and NVMe_SSD used % calculation
def __used_percent_fs(self, pathname): def __used_percent_fs(self, pathname):
statvfs = os.statvfs(pathname) statvfs = os.statvfs(pathname)
@@ -146,6 +152,7 @@ class SystemStatuses:
self.previous_jetson_RAM = self.jetson_msg.jetson_RAM self.previous_jetson_RAM = self.jetson_msg.jetson_RAM
self.previous_jetson_EMMC = self.jetson_msg.jetson_EMMC self.previous_jetson_EMMC = self.jetson_msg.jetson_EMMC
self.previous_jetson_NVME_SSD = self.jetson_msg.jetson_NVME_SSD self.previous_jetson_NVME_SSD = self.jetson_msg.jetson_NVME_SSD
self.previous_jetson_GPU_temp = self.jetson_msg.jetson_GPU_temp
def __set_previous_frsky_value(self): def __set_previous_frsky_value(self):
self.previous_FrSky_controller_connection_status = self.FrSky_msg.FrSky_controller_connection_status self.previous_FrSky_controller_connection_status = self.FrSky_msg.FrSky_controller_connection_status
@@ -185,7 +192,8 @@ class SystemStatuses:
if (self.jetson_msg.jetson_CPU != self.previous_jetson_CPU or if (self.jetson_msg.jetson_CPU != self.previous_jetson_CPU or
self.jetson_msg.jetson_RAM != self.previous_jetson_RAM or self.jetson_msg.jetson_RAM != self.previous_jetson_RAM or
self.jetson_msg.jetson_EMMC != self.previous_jetson_EMMC or self.jetson_msg.jetson_EMMC != self.previous_jetson_EMMC or
self.jetson_msg.jetson_NVME_SSD != self.previous_jetson_NVME_SSD): self.jetson_msg.jetson_NVME_SSD != self.previous_jetson_NVME_SSD or
self.jetson_msg.jetson_GPU_temp != self.previous_jetson_GPU_temp):
self.__set_previous_jetson_values() self.__set_previous_jetson_values()
self.pub_jetson.publish(self.jetson_msg) self.pub_jetson.publish(self.jetson_msg)