Skip to content

Commit 4a028d8

Browse files
committed
led subsystem
led subsystem
1 parent 91117a5 commit 4a028d8

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
\
2+
3+
public class LEDs extends SubsystemBase {
4+
5+
public class AddressableLEDs extends SubsystemBase {
6+
7+
private final AddressableLED ledStrip;
8+
private final AddressableLEDBuffer ledBuffer;
9+
10+
public LEDs (int port, int leds) {
11+
12+
this.ledStrip = new AddressableLED(port);
13+
this.ledBuffer = new AddressableLEDBuffer(leds);
14+
15+
this.ledStrip.setLength(leds);
16+
this.ledStrip.start();
17+
}
18+
19+
@Override
20+
public void periodic() {
21+
// This method will be called once per scheduler run
22+
23+
// Update the buffer with the pattern
24+
pattern.applyTo(m_ledBuffer);
25+
26+
// Set the LEDs
27+
ledBuffer.setData(m_ledBuffer);
28+
}
29+
30+
// Colors include Color.kRed, Color.kOrange, Color.kYellow, Color.kGreen
31+
LEDPattern pattern = LEDPattern.progressMaskLayer(() -> m_elevator.getHeight() / m_elevator.getMaxHeight());
32+
pattern.applyTo(m_ledBuffer);
33+
m_led.setData(m_ledBuffer);
34+
}
35+
public void setSolidPatternC1(){
36+
37+
LEDPattern green = LEDPattern.solid(Color.kGreen);
38+
green.applyTo(m_ledBuffer);
39+
m_led.setData(m_ledBuffer);
40+
}
41+
42+
public void setSolidPatternC2() {
43+
44+
LEDPattern purple = LEDPattern.solid(Color.kPurple);
45+
red.applyTo(m_ledBuffer);
46+
m_led.setData(m_ledBuffer);
47+
}
48+
public void setSolidPatternA1() {
49+
50+
LEDPattern teal = LEDPattern.solid(Color.kTeal);
51+
teal.applyTo(m_ledBuffer);
52+
m_led.setData(m_ledBuffer);
53+
}
54+
55+
public void setSolidPatternA2() {
56+
57+
LEDPattern purple = LEDPattern.solid(Color.kPurple);
58+
red.applyTo(m_ledBuffer);
59+
m_led.setData(m_ledBuffer);
60+
}
61+
62+
public void setRainbowPattern(){}
63+
private final LEDPattern m_rainbow = LEDPattern.rainbow(255, 128);
64+
65+
private static final Distance kLedSpacing = Meters.of(1 / 120.0);
66+
private final LEDPattern m_scrollingRainbow =
67+
m_rainbow.scrollAtAbsoluteSpeed(MetersPerSecond.of(1), kLedSpacing);
68+
69+
public void setYellowProgressMask(){
70+
LEDPattern pattern = LEDPattern.progressMaskLayer(() -> m_elevator.getHeight() / m_elevator.getMaxHeight());
71+
pattern.applyTo(m_ledBuffer);
72+
m_led.setData(m_ledBuffer);
73+
}
74+
75+
public void setRedProgressMask(){
76+
LEDPattern pattern = LEDPattern.progressMaskLayer(() -> m_elevator.getHeight() / m_elevator.getMaxHeight());
77+
pattern.applyTo(m_ledBuffer);
78+
m_led.setData(m_ledBuffer);}
79+
80+
81+
public void seBlueAndGreenFlamesPattern(){
82+
LEDPattern steps = LEDPattern.steps(Map.of(0, Color.kGreen, 0.5, Color.kBlue));
83+
steps.applyTo(m_ledBuffer);
84+
85+
// Write the data to the LED strip
86+
m_led.setData(m_ledBuffer);
87+
}
88+

0 commit comments

Comments
 (0)