Expand description

Public traits for interfaces between Tock components.


Interfaces for analog to digital converter peripherals.
Interface for direct control of the analog comparators.
Bluetooth Low Energy HIL
The 8080 Bus Interface (used for LCD)
Interface for buzzer use.
Interface for CAN peripherals.
Interface for CRC computation.
Interface for digital to analog converters.
Interface for computing digests (hashes, cryptographic hashes, and HMACs) over data.
Interface for external interrupt controller.
Interfaces for accessing an entropy source.
Interface for reading, writing, and erasing flash storage pages.
HIL for General Purpose Input-Output (GPIO) pins.
Interface for GPIO pins that require split-phase operation to control.
Interface for Hasher
Interface for I2C master and slave peripherals.
Low level interface for Key-Value (KV) Stores
Interface for LEDs that abstract away polarity and pin.
Interface for a persistent log that stores distinct log entries.
Generic interface for nonvolatile memory.
Provides public/private key encryption
Interfaces for Pulse Width Modulation output.
Interface for sending and receiving IEEE 802.15.4 packets.
Interfaces for accessing a random number generator.
Interface for screens and displays.
Interfaces for environment sensors
Interfaces for SPI controller (master) and peripheral (slave) communication. We use the terms master/slave in some situations because the term peripheral can also refer to a hardware peripheral (e.g., memory-mapped I/O devices in ARM are called peripherals).
Interface for symmetric-cipher encryption
Interface for text screen and displays.
Hardware agnostic interfaces for time and timers within the Tock kernel.
Interface for touch input devices
Hardware interface layer (HIL) traits for UART communication.
Interface to USB controller hardware
Interface for USB HID (Human Interface Device) class


Shared interface for configuring components.