Drv/Interfaces/docs/sdd.md
The Drv interfaces are a set of .fpp files that define FPP interfaces for driver components to implement. An FPP interface is an FPP file that defines a set of ports. A component that implements an FPP interface must implement handlers for the input ports and has access to the output ports of the interface.
The Drv.ByteStreamDriver is an interface for writing and reading to a driver that acts as a byte stream, such as TCP/UDP/UART. The Drv::TcpClient driver implements this interface.
The Drv.Gpio is an interface for writing and reading a single GPIO bit, and signaling a GPIO interrupt. The Drv::LinuxGpioDriver driver implements this interface.
The Drv.I2c is an interface for writing, reading, or writeRead to an I2C device. The Drv::LinuxI2cDriver driver implements this interface.
The Drv.Spi is an interface for writing and reading to an SPI device. The Drv::LinuxSpiDriver driver implements this interface.
The Drv.Tick is an interface for outputting a system tick along with a RawTime timestamp. The Svc::LinuxTimer driver is an example of a Linux-based timer that implements this interface.