[hal, wpilib] Fix LED key and byte order (#8110)

This commit is contained in:
Thad House
2025-07-22 17:45:10 -07:00
committed by GitHub
parent 60098b0685
commit cd0e7fb7d7
6 changed files with 23 additions and 23 deletions

View File

@@ -27,9 +27,9 @@ public class AddressableLEDBuffer implements LEDReader, LEDWriter {
*/
@Override
public void setRGB(int index, int r, int g, int b) {
m_buffer[index * 3] = (byte) b;
m_buffer[index * 3] = (byte) r;
m_buffer[(index * 3) + 1] = (byte) g;
m_buffer[(index * 3) + 2] = (byte) r;
m_buffer[(index * 3) + 2] = (byte) b;
}
/**
@@ -50,7 +50,7 @@ public class AddressableLEDBuffer implements LEDReader, LEDWriter {
*/
@Override
public int getRed(int index) {
return m_buffer[index * 3 + 2] & 0xFF;
return m_buffer[index * 3] & 0xFF;
}
/**
@@ -72,7 +72,7 @@ public class AddressableLEDBuffer implements LEDReader, LEDWriter {
*/
@Override
public int getBlue(int index) {
return m_buffer[index * 3] & 0xFF;
return m_buffer[index * 3 + 2] & 0xFF;
}
/**

View File

@@ -24,9 +24,9 @@ class AddressableLEDBufferTest {
var buffer = new AddressableLEDBuffer(1);
buffer.setHSV(0, h, s, v);
assertAll(
() -> assertEquals((byte) r, buffer.m_buffer[2], "R value didn't match"),
() -> assertEquals((byte) r, buffer.m_buffer[0], "R value didn't match"),
() -> assertEquals((byte) g, buffer.m_buffer[1], "G value didn't match"),
() -> assertEquals((byte) b, buffer.m_buffer[0], "B value didn't match"));
() -> assertEquals((byte) b, buffer.m_buffer[2], "B value didn't match"));
}
static Stream<Arguments> hsvToRgbProvider() {

View File

@@ -73,32 +73,32 @@ class AddressableLEDSimTest {
System.out.println(Arrays.toString(data));
assertEquals(9, data.length);
assertEquals((byte) 0, data[0]);
assertEquals((byte) 255, data[0]);
assertEquals((byte) 0, data[1]);
assertEquals((byte) 255, data[2]);
assertEquals((byte) 0, data[2]);
assertEquals((byte) 0, data[3]);
assertEquals((byte) 255, data[4]);
assertEquals((byte) 0, data[5]);
assertEquals((byte) 255, data[6]);
assertEquals((byte) 0, data[6]);
assertEquals((byte) 0, data[7]);
assertEquals((byte) 0, data[8]);
assertEquals((byte) 255, data[8]);
assertTrue(callback.wasTriggered());
data = callback.getSetValue();
assertEquals((byte) 0, data[0]);
assertEquals((byte) 255, data[0]);
assertEquals((byte) 0, data[1]);
assertEquals((byte) 255, data[2]);
assertEquals((byte) 0, data[2]);
assertEquals((byte) 0, data[3]);
assertEquals((byte) 255, data[4]);
assertEquals((byte) 0, data[5]);
assertEquals((byte) 255, data[6]);
assertEquals((byte) 0, data[6]);
assertEquals((byte) 0, data[7]);
assertEquals((byte) 0, data[8]);
assertEquals((byte) 255, data[8]);
}
}
}