Repository navigation
README: SPI is implemented, the opening names the consumers, the status says what is proven on a Nano - #29
Merged
Merged
Conversation
…us says what is proven on a Nano The status no longer says I2C is the only bus (examples/spi finds an RC522 on an SPI bus); the component-agnostic sentence stays. The opening paragraph says a machine describes itself over its link and that consumers serve it to other worlds from that description alone (SiLA 2, MCP), with nothing protocol-specific on the board. The examples heading for the SiLA and MCP examples says they are two consumers of the same machine. The status adds what is proven on a Nano. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
README only: four edits, each checked against the code and the examples.
include/oneMachine/discover/spi.h(discover::SpiScan) andexamples/spi(an RC522 on an SPI bus next to a BMP280 on I2C). Nothing else in the README ordocs/says I2C is the only bus.examples/silaandexamples/mcp, which both read theexamples/silamachine's description over its link and nothing else.role::Link, opsm,c,r,include/oneMachine/role/link.h); the firmware ofexamples/silaincludes onlyoneMachine/role/*and Arduino (examples/sila/src/main.cpp,machine.h,kinds.h), with no protocol library, vocabulary or generated file (docs/consumers.md, "What the machine provides");examples/mcphas no firmware of its own.One wording change, and why
The requested sentence said "read and command all eight roles".
vinis ananalogrole: it is read-only in both consumers (vin_gethas no_set; the SiLAVinfeature has no command), so seven roles take a command (led,lamp,step,mode,note,duty,ping). The sentence says that; revert to the shorter wording if you prefer it.Where claim 4 comes from (ran, on a Nano: ATmega328P, the
examples/silafirmware)unitelabs-sila0.10.0, a different codebase from thesila20.14.0 the gateway is built on, against the gateway on the Nano. It read all eight features and commandedled,lamp,step,mode,note,dutyandping; 124 checks passed, and the command frames on the link were decoded withtest/state/frame_decode.py. Out-of-range values (SetLevel(250),SetValue(7)onstep, an unknownmodelabel, 17 characters,Duty100.01 and -0.1) were validation errors with no frame sent.led,lamp,step,mode,note,duty(12.36 → 12.4, the device's value) andping(fired twice, read back 2), readvinand the whole machine withstatus, and for "set the lamp to 300" and "set the duty to 101 percent" it declined and asked, sending nothing. Eight command frames in the whole session, none for the two refusals.level 200, clamped true).The runs are not scripts in this repository (the SiLA end-to-end run needs a second Python environment and a clone of
sila_base, the MCP one needs the Inspector from npm); the examples' READMEs carry the expected output of real runs, anddocs/consumers.md("Adding a consumer", step 4) asks for exactly this check with a client you did not write.🤖 Generated with Claude Code