Skip to content

Commit e20e3df

Browse files
authored
Merge pull request #285 from thedropbears/climber_light_patterns
Make the leds show climber state
2 parents a4f1c07 + 19e0661 commit e20e3df

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

components/led_component.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ def reef_offset(self, offset: float) -> None:
152152
self.keep_alive()
153153
self.is_reef_offset_flashing = True
154154

155+
def climber_deploying(self) -> None:
156+
colour = Color.kRed if is_red() else Color.kBlue
157+
self.pattern = LEDPattern.blink(LEDPattern.solid(colour), 0.15)
158+
self.keep_alive()
159+
160+
def climber_retracting(self) -> None:
161+
self.pattern = LEDPattern.blink(LEDPattern.solid(Color.kMagenta), 0.15)
162+
self.keep_alive()
163+
155164
def execute(self) -> None:
156165
if time.monotonic() - self.last_update_time > RESET_TIMEOUT:
157166
self.pattern = LEDPattern.solid(wpilib.Color.kBlack)

controllers/climber.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44

55
from components.chassis import ChassisComponent
66
from components.climber import ClimberComponent
7+
from components.led_component import LightStrip
78
from utilities.game import cage_pos, is_red
89

910

1011
class ClimberStateMachine(StateMachine):
12+
status_lights: LightStrip
1113
climber: ClimberComponent
1214
chassis: ChassisComponent
1315

@@ -22,6 +24,7 @@ def retract(self) -> None:
2224

2325
@state(first=True, must_finish=True)
2426
def deploying(self, initial_call) -> None:
27+
self.status_lights.climber_deploying()
2528
if initial_call:
2629
self.climber.go_to_deploy()
2730

@@ -48,8 +51,9 @@ def deploying(self, initial_call) -> None:
4851

4952
@state(must_finish=True)
5053
def retracting(self) -> None:
51-
self.chassis.stop_snapping()
54+
self.status_lights.climber_retracting()
5255
self.climber.start_pid_update()
56+
self.chassis.stop_snapping()
5357
self.climber.go_to_retract()
5458
if self.climber.is_retracted():
5559
self.done()

0 commit comments

Comments
 (0)