Skip to content

Commit eb41880

Browse files
committed
hw2.4
1 parent 67eab16 commit eb41880

2 files changed

Lines changed: 24 additions & 5 deletions

File tree

config/settings.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
turn_signals:
2+
TURN_RIGHT: 0
3+
TURN_NONE: 1
4+
TURN_LEFT: 2
5+
TURN_HAZARD: 3
6+
7+
blink_distress:
8+
update_frequency: 0.5

homework/blink.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import rospy
2+
import yaml
23
from std_msgs.msg import String, Bool, Float32, Float64
34
from 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

Comments
 (0)