Hard limited jetson statuses to once every five seconds.

This commit is contained in:
2018-03-15 15:34:14 -07:00
parent 9c1e2d801c
commit 3dd67cb982

View File

@@ -10,6 +10,7 @@ import subprocess
from rover_status.msg import CameraStatuses, BogieStatuses, FrSkyStatus, GPSInfo, MiscStatuses, JetsonInfo
from rover_control.msg import DriveCommandMessage
from std_msgs.msg import Empty
from time import time
#####################################
@@ -24,6 +25,8 @@ DEFAULT_MISC_TOPIC_NAME = "misc_status"
DEFAULT_REQUEST_UPDATE_TOPIC_NAME = "update_requested"
MAX_JETSON_UPDATE_HERTZ = 0.2
#####################################
# SystemStatuses Class Definition
@@ -87,6 +90,8 @@ class SystemStatuses:
# init all previous values
self.__update_all_previous_values()
self.last_jetson_message_sent = time()
# init all RoverSysMessage values
def __pull_new_message_values(self):
self.__set_gps_info()
@@ -247,8 +252,10 @@ class SystemStatuses:
self.jetson_msg.jetson_NVME_SSD != self.previous_jetson_NVME_SSD or
self.jetson_msg.jetson_GPU_temp != self.previous_jetson_GPU_temp or
self.manual_update_requested):
self.__set_previous_jetson_values()
self.pub_jetson.publish(self.jetson_msg)
if (time() - self.last_jetson_message_sent) > (1.0 / MAX_JETSON_UPDATE_HERTZ):
self.__set_previous_jetson_values()
self.pub_jetson.publish(self.jetson_msg)
self.last_jetson_message_sent = time()
# Placeholder FrSky Controller Check
if (self.FrSky_msg.FrSky_controller_connection_status != self.previous_FrSky_controller_connection_status or