Namespace Pamoja.Hal
Classes
- CommandPart
A part that is not there, answering commands with the replies it was given.
- DelayLog
A delay that records every wait it is asked for and sleeps through none of them, as
pamoja_hal::script::DelayLogdoes in Rust.
- I2cBus
One I2C bus, shared by the program and every driver built on it.
- I2cPart
A part that is not there, answering from 256 registers a byte wide.
- I2cStep
One transfer a script expects, and what the part answers.
- SerialPort
One serial port, shared by the program and every driver built on it.
- SerialStep
One step of a scripted port: Write(ReadOnlySpan<byte>) for a write the program is expected to make, and Read(ReadOnlySpan<byte>) for bytes the far end sends.
- SimulatedPart
A part that is not there, of any of the three kinds a simulated bus holds.
- SleepDelay
A delay that really waits: Sleep(int), rounded up to whole milliseconds, for a millisecond or more, and a spin on Stopwatch for a shorter wait, which the scheduler cannot keep. A sleep can run over by the scheduler's own latency.
- WordPart
A part that is not there, answering from 256 registers sixteen bits wide.
Structs
- SerialSettings
A port's speed and character format: eight data bits, with the parity and stop bits given.
Interfaces
- IDelay
What paces a driver that has to wait between pin changes, such as a stepper between steps. SleepDelay really waits; DelayLog counts every wait and waits for none, for a program run with nothing plugged in.
Enums
- I2cBusKind
What answers on an I2cBus.
- I2cFault
How a scripted step fails the transfer that reaches it.
- Parity
The parity bit each character on a serial line carries.
- SerialPortKind
What is on the other end of a serial port.