Skip to content

Commit 9bc1e5b

Browse files
committed
Fix AddressableLEDSim API
1 parent 13d283e commit 9bc1e5b

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

subprojects/robotpy-wpilib/semiwrap/simulation/AddressableLEDSim.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,16 @@ classes:
3636
ignore: true
3737
cpp_code: |
3838
[](wpi::sim::AddressableLEDSim &self, std::span<wpi::AddressableLED::LEDData> &data) {
39-
self.SetData(data.data(), data.size());
39+
if (data.size() != self.GetLength()) {
40+
std::string msg = fmt::format("data must have length {} (got {})", self.GetLength(), data.size());
41+
throw py::value_error(msg);
42+
}
43+
self.SetData(data.data());
4044
}
4145
RegisterStartCallback:
4246
GetStart:
4347
SetStart:
4448
GetGlobalData:
49+
ignore: true
4550
SetGlobalData:
51+
ignore: true

subprojects/robotpy-wpilib/tests/test_wpilib_simulation.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ def test_wpilib_simulation():
66

77

88
def test_addressableled_sim():
9-
sim = wpilib.simulation.AddressableLEDSim.createForIndex(0)
109
led = wpilib.AddressableLED(0)
11-
assert not sim.getRunning()
12-
led.start()
13-
assert sim.getRunning()
10+
sim = wpilib.simulation.AddressableLEDSim(led)
11+
assert not sim.getStart()
12+
led.setStart(1)
13+
assert sim.getStart()
1414

1515
data = [
1616
wpilib.AddressableLED.LEDData(1, 2, 3),
@@ -21,5 +21,5 @@ def test_addressableled_sim():
2121
led.setData(data)
2222
assert sim.getData() == data
2323

24-
led.stop()
25-
assert not sim.getRunning()
24+
led.setStart(0)
25+
assert not sim.getStart()

0 commit comments

Comments
 (0)