Skip to content

Conversation

@BlakeFreer
Copy link
Contributor

No description provided.

- Remove the IOControl class. It is now the IOController interface. The
  class only forwarded behaviour to the underlying classes so it did not
  need to exist
    - Implements the interface on speedgoat, raspi, sil. Currently, the
      interface passes an abstract `iocontrol.[Analog,Digital]Pin` to
      each `Read` or `Write` function which requires each class to
      verify the pin's type. The fail on type mismatch behaviour is
      identical to what the `IOControl` class used to check, but with
      the logic further down. I intend to use th eh eh he eh eh
    - Updates hilapp to use the new interface
- Rename SetDigital to WriteDigital to be consistent with WriteAnalog
Previous heirarchy was `PinType -> Revision -> Pin`.
Now it is `Revision -> PinType -> Pin`.

This means every revision has the same structure (4 maps of pins for DI
DO AI AO) and we don't need to check if the revision has each.

Fix an import loop
@BlakeFreer BlakeFreer marked this pull request as draft November 24, 2025 04:42
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