Skip to content

Evaluate signal_generator_cli - #594

Closed
potto216 wants to merge 21 commits into
tock:masterfrom
potto216:master
Closed

Evaluate signal_generator_cli#594
potto216 wants to merge 21 commits into
tock:masterfrom
potto216:master

Conversation

@potto216

@potto216 potto216 commented May 26, 2026

Copy link
Copy Markdown
Contributor

@jrvanwhy this is the code referred to in #590 and I have been using it to test the PR tock/tock#4827 (comment) . Can you suggest an approach to organize the code files? I still need to do an extensive review of the AI code.

  1. I could not find a libtock-rs UartController like the already existing SpiController--just the UART using the console. So, I committed one but wasn't sure if there was another data type I should be using.
  2. Although the signal_generator_cli example is "heavy" because it is divided into two code files and a documentation markdown file, I believe it is a good example for people new to libtock-rs to quickly try out the I/O on their board.
  3. I still need to validate the GPIO functionality.
  4. Not sure if this should be broken into two PRs, one for adding UART functionality to libtock-rs and another for the signal_generator_cli .

potto216 and others added 21 commits April 25, 2026 07:43
…ample

Add signal_generator_cli example with stable ASCII command protocol
…enerator-cli

Add GPIO engine and CLI commands to signal_generator_cli example
…troller

Add SPI CLI commands to signal-generator example and extend SpiController API
…upport

examples: add UART CLI with secondary capability gating
…t-configurations

docs: add serial protocol guidance and pyserial host harness
…ints-and-reset-command

Harden signal-generator-cli: validate payloads/timing, cap active generators, safe reset/stop, and standardize ERR namespace
…ng-and-handling

Add reusable signal-generator CLI parsing logic and unit tests
…-tests

Add UART controller API with fake/test coverage and CLI integration
@jrvanwhy

Copy link
Copy Markdown
Collaborator

@jrvanwhy this is the code referred to in #590 and I have been using it to test the PR tock/tock#4827 (comment) . Can you suggest an approach to organize the code files? I still need to do an extensive review of the AI code.

Cargo examples can be directories with multiple files inside them (documentation). I suggest using that to break up the example into reasonably-sized files.

1. I could not find a libtock-rs UartController like the already existing SpiController--just the UART using the console. So, I committed one but wasn't sure if there was another data type I should be using.

On first glance, it's not clear to me that the decision has been made to introduce the new UART API (tock/tock#4827), but assuming that decision is made then yes this seems fine. I think it's okay for Console and UART to be conceptually different things -- but that's a decision to be made in tock/tock rather than here.

4. Not sure if this should be broken into two PRs, one for adding UART functionality to libtock-rs and another for the signal_generator_cli .

Yes, that would be good. IMO we (Tock, I mean) should decide on the kernel API first before we add the UART functionality into libtock-rs. It is fine to keep open a draft PR with the API to demonstrate it.

@potto216

Copy link
Copy Markdown
Contributor Author

@jrvanwhy thanks for the feedback. In a couple weeks I'll split this PR into the following PRs:

  1. A PR for UART functionality in libtock-rs
  2. A PR for the signal_generator_cli with its documentation

I'll also split tock/tock#4827 (comment) into multiple PRs and start the process to have the transmit capability added to the virtual UART.

@potto216

potto216 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

closing this pull request because I will resubmit signal_generator_cli using different api

@potto216 potto216 closed this Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants