Module kernel::hil

source ·
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.
  • HIL for Date Time interface
  • 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
  • Interfaces for interacting with debug hardware integrated in various SoCs. Currently allows reading the cycle counter.
  • Interface for I2C master and slave peripherals.
  • 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.