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