mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-30 02:31:44 +00:00
[hal, wpilib] Fix LED key and byte order (#8110)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user