Skip to content

Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

  • namespace hal The foundation of libhal containing, interfaces, utilities and soft drivers.
    • class accelerometer Acceleration sensing hardware abstraction interface.
      • struct read_t Result from reading the accelerometer.
    • class adc Analog to Digital Converter (ADC) hardware abstraction interface.
      • struct read_t Result from reading the adc.
    • class angular_velocity_sensor angular velocity sensor hardware abstraction interface
      • struct read_t angular velocity reading from the sensor
    • struct bit_limits Similar to std::numeric_limits<T> except that this object can give properties of integral types of arbitrary bit widths.
    • struct bit_mask Represents a bit mask of contiguous bits.
    • class bit_modify
    • class bit_value
    • struct byte_mask Helper for generating byte position masks.
    • class can Controller Area Network (CAN bus) hardware abstraction interface.
      • struct message_t A CAN message.
      • struct send_t Feedback from sending data over the CAN BUS.
      • struct settings Generic settings for a can peripheral.
    • class can_router Route CAN messages received on the can bus to callbacks based on ID.
    • namespace cortex_m libhal drivers for the ARM Cortex-M series of processors
      • class dwt_counter A counter with a frequency fixed to the CPU clock rate.
      • class interrupt Cortex M series interrupt controller.
        • class exception_number represents an interrupt request number along with helper functions for setting up the interrupt controller registers.
      • class systick_timer SysTick driver for the ARM Cortex Mx series chips.
    • class current_sensor current sensor hardware abstraction interface
      • struct read_t current reading from the sensor
    • class dac Digital to Analog Converter (DAC) hardware abstraction interface.
      • struct write_t Feedback from writing a voltage to the dac.
    • class distance_sensor Linear distance hardware abstraction interface.
      • struct read_t Result from sampling the distance sensor.
    • namespace error Error objects, templates, and constants.
      • struct invalid_option_t Used for defining static_asserts that should always fail, but only if the static_assert line is hit via if constexpr control block. Prefer to NOT use this directly but to useinvalid_option instead.
    • namespace esp8266 libhal compatible libraries for the esp8266 device and microcontroller
    • class gyroscope Angular velocity sensing hardware abstraction interface.
      • struct read_t Result from reading the gyroscope.
    • class i2c Inter-integrated Circuit (I2C) hardware abstract interface.
      • struct settings Generic settings for a standard I2C device.
      • struct transaction_t Feedback from performing a transaction on the i2c bus.
    • class input_pin Digital input pin hardware abstraction interface.
      • struct level_t Input pin level reading structure.
      • struct settings Generic settings for input pins.
    • class interrupt_pin Digital interrupt pin hardware abstraction.
      • struct settings Generic settings for interrupt pins.
    • namespace literals Namespace containing user defined literals for the hal standard units.
    • namespace lpc40 libhal drivers for the lpc40 series of microcontrollers from NXP
      • class adc Analog to digital converter.
        • struct channel Channel specific information.
      • class can
      • class clock Allows user code to manipulate and retrieve the various system clocks speeds.
        • struct configuration Clock configuration object.
          • struct cpu_t cpu clock control config struct
          • struct pll_t phase locked loops config struct
          • struct spifi_t spifi clock control config struct
          • struct usb_t usb clock control config struct
      • class i2c
      • class input_pin Input pin implementation for the lpc40xx.
      • class interrupt_pin Interrupt pin implementation for the lpc40xx.
      • class output_pin Output pin implementation for the lpc40xx.
      • class pin lpc40xx pin multiplexing and control driver used drivers and apps seeking to tune the pins.
      • class power Power control for lpc40xx peripherals.
      • class pwm pwm driver for the lpc40xx series of micro controllers
        • struct channel Channel specific information.
      • class spi
        • struct bus_info Information used to configure the spi bus.
      • class uart Implementation of the UART peripheral for the LPC40xx family of microcontrollers.
    • class magnetometer Magnetic field strength sensing hardware abstraction interface.
      • struct read_t Result from reading the accelerometer.
    • namespace micromod
      • namespace v1
    • namespace mock
      • struct adc Mock adc implementation for use in unit tests and simulations.
      • struct can Mock can implementation for use in unit tests and simulations.
      • struct dac Mock dac implementation for use in unit tests and simulations with a spy function for write() __
      • struct input_pin mock input_pin implementation for use in unit tests and simulations.
      • struct interrupt_pin mock interrupt_pin implementation for use in unit tests and simulations.
      • struct motor Mock motor implementation for use in unit tests and simulations with a spy function for power() __
      • struct output_pin mock output pin for use in unit tests and simulations
      • struct pwm Mock pwm implementation for use in unit tests and simulations with spy functions for frequency() andduty_cycle() .
      • struct servo Mock servo implementation for use in unit tests and simulations with a spy function for position() __
      • struct steady_clock mock steady_clock implementation for use in unit tests and simulations.
      • struct timer Mock timer implementation for use in unit tests and simulations with spy functions for schedule() , clear(), andis_running() __
      • struct write_only_spi Mock spi implementation for use in unit tests and simulations with a spy functions for configure() and a record for thetransfer() out data. The record ignores the in buffer and just stores the data being sent so it can be inspected later.
    • class motor Hardware abstraction for an open loop rotational actuator.
      • struct power_t Feedback from setting the motor power.
    • class move_interceptor Use this to perform changes on an object its move constructor is executed.
    • namespace mpl
    • struct nibble_mask Helper for generating nibble position masks.
    • class output_pin Digital output pin hardware abstraction.
      • struct level_t Pin level reading structure.
      • struct set_level_t Feedback from setting the pin state.
      • struct settings Generic settings for output pins.
    • class overflow_counter Extend a counter's count from an arbitrary bit width to 64-bits by detecting overflows in the count. Each detected overflow is added to an overflow counter which is combined with the current count in order create a count up to 64-bits in length.
    • class pwm Pulse Width Modulation (PWM) channel hardware abstraction.
    • class read_into Non-blocking callable for reading serial data into a buffer.
    • class read_uint32 Read bytes from serial port and convert to integer.
    • class read_upto Discard received bytes until the sequence is found.
    • namespace rmd
    • class rotation_sensor Rotation measuring hardware abstraction interface.
      • struct read_t Result from reading the rotation sensor.
    • class serial Hardware abstract interface for the serial communication protocol.
      • struct flush_t Feedback from performing a flush operation.
      • struct read_t Return type for serial read operations.
      • struct settings Generic settings for a standard serial device.
      • struct write_t Return type for serial write operations.
    • class servo Hardware abstraction for a closed loop position controlled rotational actuator.
      • struct position_t Feedback from setting the servo position.
      • struct range_error Error information indicating the range of the servo.
    • class skip_past Discard received bytes until the sequence is found.
    • namespace soft
      • class adc_multiplexer A driver for an ADC multiplexer that manages and reads ADC mux pins. This driver is intended to be used with multiplexers that use digital signals. An ADC multiplexer can be used to expand the number of input channels of an ADC.
      • class adc_mux_pin A class that represents a multiplexer pin for ADC.
      • class inert_accelerometer Inert implementation of acceleration sensing hardware.
      • class inert_adc Inert implementation of Analog to Digital Converter (ADC) hardware.
      • class inert_dac Inert implementation of Digital to Analog Converter (DAC) hardware.
      • class inert_distance_sensor Inert implementation of linear distance hardware.
      • class inert_gyroscope Inert implementation of angular velocity sensing hardware.
      • class inert_input_pin Inert implementation of digital input pin hardware.
      • class inert_interrupt_pin Inert implementation of digital interrupt pin hardware.
      • class inert_magnetometer Inert implementation of magnetic field strength sensing hardware.
      • class inert_motor Inert implementation of open loop motorized actuator hardware.
      • class inert_output_pin Inert implementation of digital output pin hardware.
      • class inert_pwm Inert implementation of Pulse Width Modulation (PWM) channel hardware.
      • class inert_rotation_sensor Inert implementation of rotation measuring hardware.
      • class inert_steady_clock Inert implementation of steady clock mechanism.
      • class inert_temperature_sensor Inert implementation of temperature sensing hardware.
      • class inert_timer Inert implementation of timer hardware.
      • class input_pin_inverter
      • class minimum_speed_i2c A i2c wrapper to ensure that the lowesti2c device frequency is used.
      • class output_pin_inverter
      • class rc_servo Generic RC servo driver.
        • struct settings Information about the RC servo needed to control it properly.
    • class spi Serial peripheral interface (SPI) communication protocol hardware abstract interface.
      • struct settings Generic settings for a standard SPI device.
      • struct transfer_t Feedback from performing a transfer on the spi bus.
    • class spy_handler Helper utility for making mocks for class functions that return status.
    • class static_callable General class which will be used to allow for signature to be used and then split by the below class.
    • class static_callable< owner_class, reference_designator, return_t(args_t... p_args)> Specialization of static_callable with the return type and arguments split up.
    • class static_list static_list is a non-owning non-allocating doubly linked list container with O(1) memory utilization.
      • class item Item/node within the static linked list.
      • class item_iterator Iterator for the static list.
    • class steady_clock Hardware abstraction interface for a steady clock mechanism.
      • struct frequency_t Result from requesting the operating frequency of the steady clock.
      • struct uptime_t Result from calling uptime.
    • class steady_clock_timeout Timeout object based on hal::steady_clock .
    • namespace stm32f1
      • struct clock_tree
        • struct ahb_t Defines the configuration of the dividers beyond system clock mux.
        • struct pll_t Defines the configuration of the PLL.
        • struct rtc_t Defines the configuration for the RTC.
      • class output_pin Output pin implementation for the stm32::f10x.
    • class stream_fill Non-blocking callable for reading serial data into a buffer.
    • class stream_fill_upto Discard received bytes until the sequence is found.
    • class stream_find Discard received bytes until the sequence is found.
    • class stream_parse Read bytes from stream and convert to integer.
    • class stream_skip Skip number of bytes in a byte stream.
    • class temperature_sensor Temperature sensing hardware abstraction interface.
      • struct read_t Result from reading the temperature sensor.
    • class timer Timer hardware abstraction interface.
      • struct cancel_t Feedback from cancelling a timer.
      • struct is_running_t Feedback after checking if the timer is running.
      • struct out_of_bounds_error Error type indicating that the desired time delay is not achievable with this timer.
      • struct schedule_t Feedback from scheduling a timer.
  • class packet_manager
  • struct ranges
  • namespace std