SDK docs menu

Guides

What the simulation covers

Every value on the simulated board comes from a model of a part. A model covers some of what the real part does, and some models rest on assumptions. When the simulation and your physical board disagree, check what the model covers before you conclude the firmware is wrong.

Check a part's model

Part.status says how far each part is simulated, and note says what its model leaves out:

for part in board.parts(status="partial"):
    print(part.ref, part.note)

On the website, a panel's Model chip shows the same. In the hardlabs shell, use scope.

Problems during a run

Board.problems lists the firmware's crashes, failed asserts and unexpected restarts. It also lists behaviour the simulation may not cover. The pytest plugin adds this list to every failing test's report.

for p in board.problems():
    print(p["source"], p["title"], p.get("detail", ""))