Repository navigation
Conversation
Each declared lamp pin's output is connected back to MeshBenchInputs, which sends an 'L' message with the pin and level over the inputs socket. The workbench side reads the socket back, keeps each lamp's level and change count, and they reach NodeStat, nodes.stats and the board view, which draws a watched lamp lit or unlit. For #600.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For #600. This is the Renode half; the QEMU half needs the fork.
MeshBenchInputsin the generated platform description (gpio1: 3 -> inputs@35). The peripheral is now anIGPIOReceiver. On a change of level it sends an eight-byte'L'message (pin, level) over the inputs socket it already holds, and re-sends known levels when the workbench connects.ButtonSenderreads the socket back and keeps each lamp's level and change count. They reachNodeStat.Lamps,nodes.stats(lamps, keyed by pin) and the board view.engine.LampsWatchedis the one rule that decides which.Live test: RAK_4631 v1.17.1 repeater. Both LEDs (pins 35 and 36) change three times at boot and settle off:
{"35": {"changes": 3, "lit": false}, "36": {...}}. The repeater build does not flash them on transmit.Not done:
mb_lamp.cand the machine wiring in the fork, a release, and a pin bump. ESP32 lamps stay "not modelled" until then.