11import rospy
2+ import yaml
23from std_msgs .msg import String , Bool , Float32 , Float64
34from pacmod_msgs .msg import PositionWithSpeed , PacmodCmd , SystemRptInt , SystemRptFloat , VehicleSpeedRpt
45
@@ -22,6 +23,16 @@ def __init__(self):
2223 # "rostopic info /pacmod/parsed_tx/X" on the command line.
2324 # check update file good
2425
26+ # Load settings
27+ with open ("./config/settings.yaml" , "r" ) as file :
28+ self .settings = yaml .safe_load (file )
29+
30+ # Assign constants from settings
31+ self .TURN_RIGHT = self .settings ["turn_signals" ]["TURN_RIGHT" ]
32+ self .TURN_NONE = self .settings ["turn_signals" ]["TURN_NONE" ]
33+ self .TURN_LEFT = self .settings ["turn_signals" ]["TURN_LEFT" ]
34+ self .TURN_HAZARD = self .settings ["turn_signals" ]["TURN_HAZARD" ]
35+
2536 self .turn_blink_pub = rospy .Publisher ('/pacmod/as_rx/turn_cmd' , PacmodCmd , queue_size = 1 )
2637 # Define blink cmd
2738 self .turn_cmd = PacmodCmd ()
@@ -34,7 +45,7 @@ def __init__(self):
3445
3546 def rate (self ):
3647 """Requested update frequency, in Hz"""
37- return 0.5
48+ return self . settings [ "blink_distress" ][ "update_frequency" ]
3849
3950 def initialize (self ):
4051 """Run first"""
@@ -55,10 +66,10 @@ def update(self, Allstate):
5566 #self.turn_cmd = PacmodCmd()
5667 # TODO change to actual direction in Part 2
5768 if Allstate .intent .intent == "HALTING" :
58- if self .turn_cmd .ui16_cmd == TURN_NONE :
59- self .turn_cmd .ui16_cmd = TURN_LEFT
60- elif self .turn_cmd .ui16_cmd == TURN_LEFT :
61- self .turn_cmd .ui16_cmd = TURN_RIGHT
69+ if self .turn_cmd .ui16_cmd == self . TURN_NONE :
70+ self .turn_cmd .ui16_cmd = self . TURN_LEFT
71+ elif self .turn_cmd .ui16_cmd == self . TURN_LEFT :
72+ self .turn_cmd .ui16_cmd = self . TURN_RIGHT
6273 else :
6374 self .turn_cmd .ui16_cmd = TURN_NONE
6475 self .turn_blink_pub .publish (self .turn_cmd )
0 commit comments