You're not viewing the latest version. Click here to go to latest.
logo
libhal
Links
Initializing search
    libhal
    • ðŸĄ Home
    • 🚀 Getting Started
    • 📖 User Guide
    • 📚 Contributor Guides
    • 📊 Project Information
    • ðŸ§Đ APIs
    libhal
    • ðŸĄ Home
    • 🚀 Getting Started
      • ðŸ§ą Fundamentals of libhal
      • 🔗 Interfaces in Software Development and libhal
      • ðŸŽŊ Debugging Code with PyOCD
      • 🎚ïļ Configuration
      • ðŸŠĪ Error Handling in libhal using Boost.LEAF
      • ⚖ïļ Policies & FAQ
      • 📜 Design Philosophy
      • 🗃ïļ Organization
      • ðŸŽĻ Style Guide
      • ðŸ”đ Library Development Guide
      • ðŸ’ŧ VSCode Setup
      • 🏗ïļ Architectural Design Decisions
      • ðŸŸĒ Library Status ðŸ”ī
      • About
        • Namespace List
        • Namespace hal
        • Namespace hal::cortex_m
        • Namespace hal::error
        • Namespace hal::esp8266
        • Namespace hal::literals
        • Namespace hal::lpc40
        • Namespace hal::micromod
        • Namespace hal::micromod::v1
        • Namespace hal::mock
        • Namespace hal::mpl
        • Namespace hal::rmd
        • Namespace hal::soft
        • Namespace hal::stm32f1
      • 🗂ïļ Files
      • ⛓ïļ Hierarchy
        • Class List
        • Class hal::accelerometer
        • Struct hal::accelerometer::read_t
        • Class hal::adc
        • Struct hal::adc::read_t
        • Class hal::angular_velocity_sensor
        • Struct hal::angular_velocity_sensor::read_t
        • Struct hal::bit_limits
        • Struct hal::bit_mask
        • Class hal::bit_modify
        • Class hal::bit_value
        • Struct hal::byte_mask
        • Class hal::can
        • Struct hal::can::message_t
        • Struct hal::can::send_t
        • Struct hal::can::settings
        • Class hal::can_router
        • Struct hal::can_router::route
        • Class hal::cortex_m::dwt_counter
        • Class hal::cortex_m::interrupt
        • Class hal::cortex_m::interrupt::exception_number
        • Class hal::cortex_m::systick_timer
        • Class hal::current_sensor
        • Struct hal::current_sensor::read_t
        • Class hal::dac
        • Struct hal::dac::write_t
        • Class hal::distance_sensor
        • Struct hal::distance_sensor::read_t
        • Struct hal::error::invalid_option_t
        • Class hal::esp8266::at
        • Struct hal::esp8266::at::read_t
        • Struct hal::esp8266::at::socket_config
        • Struct hal::esp8266::at::write_t
        • Class hal::gyroscope
        • Struct hal::gyroscope::read_t
        • Class hal::i2c
        • Struct hal::i2c::settings
        • Struct hal::i2c::transaction_t
        • Class hal::input_pin
        • Struct hal::input_pin::level_t
        • Struct hal::input_pin::settings
        • Class hal::interrupt_pin
        • Struct hal::interrupt_pin::settings
        • Class hal::lpc40::adc
        • Struct hal::lpc40::adc::channel
        • Class hal::lpc40::can
        • Struct hal::lpc40::can::port
        • Class hal::lpc40::clock
        • Struct hal::lpc40::clock::configuration
        • Struct hal::lpc40::clock::configuration::cpu_t
        • Struct hal::lpc40::clock::configuration::pll_t
        • Struct hal::lpc40::clock::configuration::spifi_t
        • Struct hal::lpc40::clock::configuration::usb_t
        • Class hal::lpc40::i2c
        • Struct hal::lpc40::i2c::bus_info
        • Class hal::lpc40::input_pin
        • Class hal::lpc40::interrupt_pin
        • Class hal::lpc40::output_pin
        • Class hal::lpc40::pin
        • Class hal::lpc40::power
        • Class hal::lpc40::pwm
        • Struct hal::lpc40::pwm::channel
        • Class hal::lpc40::spi
        • Struct hal::lpc40::spi::bus_info
        • Class hal::lpc40::uart
        • Struct hal::lpc40::uart::port
        • Class hal::magnetometer
        • Struct hal::magnetometer::read_t
        • Struct hal::mock::adc
        • Struct hal::mock::can
        • Struct hal::mock::dac
        • Struct hal::mock::input_pin
        • Struct hal::mock::interrupt_pin
        • Struct hal::mock::motor
        • Struct hal::mock::output_pin
        • Struct hal::mock::pwm
        • Struct hal::mock::servo
        • Struct hal::mock::steady_clock
        • Struct hal::mock::timer
        • Struct hal::mock::write_only_spi
        • Class hal::motor
        • Struct hal::motor::power_t
        • Class hal::move_interceptor
        • Class hal::mpl::mpl3115a2
        • Struct hal::mpl::mpl3115a2::altitude_read_t
        • Struct hal::mpl::mpl3115a2::pressure_read_t
        • Struct hal::mpl::mpl3115a2::temperature_read_t
        • Struct hal::nibble_mask
        • Class hal::output_pin
        • Struct hal::output_pin::level_t
        • Struct hal::output_pin::set_level_t
        • Struct hal::output_pin::settings
        • Class hal::overflow_counter
        • Class hal::pwm
        • Struct hal::pwm::duty_cycle_t
        • Struct hal::pwm::frequency_t
        • Class hal::read_into
        • Class hal::read_uint32
        • Class hal::read_upto
        • Class hal::rmd::drc
        • Struct hal::rmd::drc::feedback_t
        • Class hal::rmd::drc_angular_velocity_sensor
        • Class hal::rmd::drc_motor
        • Class hal::rmd::drc_rotation_sensor
        • Class hal::rmd::drc_servo
        • Class hal::rmd::drc_temperature_sensor
        • Class hal::rmd::mc_x
        • Struct hal::rmd::mc_x::feedback_t
        • Class hal::rmd::mc_x_current_sensor
        • Class hal::rmd::mc_x_motor
        • Class hal::rmd::mc_x_rotation
        • Class hal::rmd::mc_x_servo
        • Class hal::rmd::mc_x_temperature
        • Class hal::rotation_sensor
        • Struct hal::rotation_sensor::read_t
        • Class hal::serial
        • Struct hal::serial::flush_t
        • Struct hal::serial::read_t
        • Struct hal::serial::settings
        • Struct hal::serial::write_t
        • Class hal::servo
        • Struct hal::servo::position_t
        • Struct hal::servo::range_error
        • Class hal::skip_past
        • Class hal::soft::adc_multiplexer
        • Class hal::soft::adc_mux_pin
        • Class hal::soft::inert_accelerometer
        • Class hal::soft::inert_adc
        • Class hal::soft::inert_dac
        • Class hal::soft::inert_distance_sensor
        • Class hal::soft::inert_gyroscope
        • Class hal::soft::inert_input_pin
        • Class hal::soft::inert_interrupt_pin
        • Class hal::soft::inert_magnetometer
        • Class hal::soft::inert_motor
        • Class hal::soft::inert_output_pin
        • Class hal::soft::inert_pwm
        • Class hal::soft::inert_rotation_sensor
        • Class hal::soft::inert_steady_clock
        • Class hal::soft::inert_temperature_sensor
        • Class hal::soft::inert_timer
        • Class hal::soft::input_pin_inverter
        • Class hal::soft::minimum_speed_i2c
        • Class hal::soft::output_pin_inverter
        • Class hal::soft::rc_servo
        • Struct hal::soft::rc_servo::settings
        • Class hal::spi
        • Struct hal::spi::settings
        • Struct hal::spi::transfer_t
        • Class hal::spy_handler
        • Class hal::static_callable
        • Class hal::static_callable< owner_class, reference_designator, return_t(args_t... p_args)>
        • Class hal::static_list
        • Class hal::static_list::item
        • Class hal::static_list::item_iterator
        • Class hal::steady_clock
        • Struct hal::steady_clock::frequency_t
        • Struct hal::steady_clock::uptime_t
        • Class hal::steady_clock_timeout
        • Struct hal::stm32f1::clock_tree
        • Struct hal::stm32f1::clock_tree::ahb_t
        • Struct hal::stm32f1::clock_tree::ahb_t::apb1_t
        • Struct hal::stm32f1::clock_tree::ahb_t::apb2_t
        • Struct hal::stm32f1::clock_tree::ahb_t::apb2_t::adc_t
        • Struct hal::stm32f1::clock_tree::pll_t
        • Struct hal::stm32f1::clock_tree::pll_t::usb_divider_t
        • Struct hal::stm32f1::clock_tree::rtc_t
        • Class hal::stm32f1::output_pin
        • Class hal::stream_fill
        • Class hal::stream_fill_upto
        • Class hal::stream_find
        • Class hal::stream_parse
        • Class hal::stream_skip
        • Class hal::temperature_sensor
        • Struct hal::temperature_sensor::read_t
        • Class hal::timer
        • Struct hal::timer::cancel_t
        • Struct hal::timer::is_running_t
        • Struct hal::timer::out_of_bounds_error
        • Struct hal::timer::schedule_t
        • Class hal::esp8266::at::packet_manager
        • Struct hal::soft::rc_servo::ranges
        • Namespace std
        • Dir libraries
        • Dir libraries/include
        • Dir libraries/include/libhal
        • File accelerometer.hpp
        • File accelerometer.hpp
        • File adc.hpp
        • File adc.hpp
        • File angular_velocity_sensor.hpp
        • File angular_velocity_sensor.hpp
        • File can.hpp
        • File can.hpp
        • File current_sensor.hpp
        • File current_sensor.hpp
        • File dac.hpp
        • File dac.hpp
        • File distance_sensor.hpp
        • File distance_sensor.hpp
        • File error.hpp
        • File error.hpp
        • File functional.hpp
        • File functional.hpp
        • File gyroscope.hpp
        • File gyroscope.hpp
        • File i2c.hpp
        • File i2c.hpp
        • File input_pin.hpp
        • File input_pin.hpp
        • File interrupt_pin.hpp
        • File interrupt_pin.hpp
        • File magnetometer.hpp
        • File magnetometer.hpp
        • File motor.hpp
        • File motor.hpp
        • File output_pin.hpp
        • File output_pin.hpp
        • File pwm.hpp
        • File pwm.hpp
        • File rotation_sensor.hpp
        • File rotation_sensor.hpp
        • File serial.hpp
        • File serial.hpp
        • File servo.hpp
        • File servo.hpp
        • File spi.hpp
        • File spi.hpp
        • File steady_clock.hpp
        • File steady_clock.hpp
        • File temperature_sensor.hpp
        • File temperature_sensor.hpp
        • File timeout.hpp
        • File timeout.hpp
        • File timer.hpp
        • File timer.hpp
        • File units.hpp
        • File units.hpp
        • Dir libraries/include/libhal-armcortex
        • File dwt_counter.hpp
        • File dwt_counter.hpp
        • File interrupt.hpp
        • File interrupt.hpp
        • File startup.hpp
        • File startup.hpp
        • File system_control.hpp
        • File system_control.hpp
        • File systick_timer.hpp
        • File systick_timer.hpp
        • Dir libraries/include/libhal-canrouter
        • File can_router.hpp
        • File can_router.hpp
        • Dir libraries/include/libhal-esp8266
        • File at.hpp
        • File at.hpp
        • Dir libraries/include/libhal-lpc40
        • File adc.hpp
        • File adc.hpp
        • File can.hpp
        • File can.hpp
        • File clock.hpp
        • File clock.hpp
        • File constants.hpp
        • File constants.hpp
        • File i2c.hpp
        • File i2c.hpp
        • File input_pin.hpp
        • File input_pin.hpp
        • File interrupt_pin.hpp
        • File interrupt_pin.hpp
        • File output_pin.hpp
        • File output_pin.hpp
        • File pin.hpp
        • File pin.hpp
        • File power.hpp
        • File power.hpp
        • File pwm.hpp
        • File pwm.hpp
        • File spi.hpp
        • File spi.hpp
        • File uart.hpp
        • File uart.hpp
        • Dir libraries/include/libhal-micromod
        • File micromod.hpp
        • File micromod.hpp
        • Dir libraries/include/libhal-mock
        • File adc.hpp
        • File adc.hpp
        • File can.hpp
        • File can.hpp
        • File dac.hpp
        • File dac.hpp
        • File input_pin.hpp
        • File input_pin.hpp
        • File interrupt_pin.hpp
        • File interrupt_pin.hpp
        • File motor.hpp
        • File motor.hpp
        • File output_pin.hpp
        • File output_pin.hpp
        • File pwm.hpp
        • File pwm.hpp
        • File servo.hpp
        • File servo.hpp
        • File spi.hpp
        • File spi.hpp
        • File steady_clock.hpp
        • File steady_clock.hpp
        • File testing.hpp
        • File testing.hpp
        • File timer.hpp
        • File timer.hpp
        • Dir libraries/include/libhal-mpl
        • File mpl3115a2.hpp
        • File mpl3115a2.hpp
        • Dir libraries/include/libhal-rmd
        • File drc.hpp
        • File drc.hpp
        • File mc_x.hpp
        • File mc_x.hpp
        • Dir libraries/include/libhal-soft
        • File adc_mux.hpp
        • File adc_mux.hpp
        • File i2c_minimum_speed.hpp
        • File i2c_minimum_speed.hpp
        • File inverter.hpp
        • File inverter.hpp
        • Dir libraries/include/libhal-soft/inert_drivers
        • File inert_accelerometer.hpp
        • File inert_accelerometer.hpp
        • File inert_adc.hpp
        • File inert_adc.hpp
        • File inert_dac.hpp
        • File inert_dac.hpp
        • File inert_distance_sensor.hpp
        • File inert_distance_sensor.hpp
        • File inert_gyroscope.hpp
        • File inert_gyroscope.hpp
        • File inert_input_pin.hpp
        • File inert_input_pin.hpp
        • File inert_interrupt_pin.hpp
        • File inert_interrupt_pin.hpp
        • File inert_magnetometer.hpp
        • File inert_magnetometer.hpp
        • File inert_motor.hpp
        • File inert_motor.hpp
        • File inert_output_pin.hpp
        • File inert_output_pin.hpp
        • File inert_pwm.hpp
        • File inert_pwm.hpp
        • File inert_rotation_sensor.hpp
        • File inert_rotation_sensor.hpp
        • File inert_steady_clock.hpp
        • File inert_steady_clock.hpp
        • File inert_temperature_sensor.hpp
        • File inert_temperature_sensor.hpp
        • File inert_timer.hpp
        • File inert_timer.hpp
        • File rc_servo.hpp
        • File rc_servo.hpp
        • Dir libraries/include/libhal-stm32f1
        • File clock.hpp
        • File clock.hpp
        • File constants.hpp
        • File constants.hpp
        • File output_pin.hpp
        • File output_pin.hpp
        • File pin.hpp
        • File pin.hpp
        • Dir libraries/include/libhal-util
        • File as_bytes.hpp
        • File as_bytes.hpp
        • File bit.hpp
        • File bit.hpp
        • File bit_limits.hpp
        • File bit_limits.hpp
        • File can.hpp
        • File can.hpp
        • File comparison.hpp
        • File comparison.hpp
        • File enum.hpp
        • File enum.hpp
        • File i2c.hpp
        • File i2c.hpp
        • File input_pin.hpp
        • File input_pin.hpp
        • File interrupt_pin.hpp
        • File interrupt_pin.hpp
        • File map.hpp
        • File map.hpp
        • File math.hpp
        • File math.hpp
        • File move_interceptor.hpp
        • File move_interceptor.hpp
        • File output_pin.hpp
        • File output_pin.hpp
        • File overflow_counter.hpp
        • File overflow_counter.hpp
        • File serial.hpp
        • File serial.hpp
        • File serial_coroutines.hpp
        • File serial_coroutines.hpp
        • File spi.hpp
        • File spi.hpp
        • File static_callable.hpp
        • File static_callable.hpp
        • File static_list.hpp
        • File static_list.hpp
        • File steady_clock.hpp
        • File steady_clock.hpp
        • File streams.hpp
        • File streams.hpp
        • File timeout.hpp
        • File timeout.hpp
        • File to_array.hpp
        • File to_array.hpp
        • File units.hpp
        • File units.hpp
        • Class Index
        • Modules
        • Related Pages
        • Class Members
        • Class Member Functions
        • Class Member Variables
        • Class Member Typedefs
        • Class Member Enums
        • Namespace Members
        • Namespace Member Functions
        • Namespace Member Variables
        • Namespace Member Typedefs
        • Namespace Member Enums
        • Functions
        • Macros
        • Variables
        • Links

    Links

    • Related Pages
    • Modules
    • Class List
    • Namespace ListNamespace List
    • Namespace Members
    • Namespace Member Functions
    • Namespace Member Variables
    • Namespace Member Typedefs
    • Namespace Member Enumerations
    • Class Index
    • Class Hierarchy
    • Class Members
    • Class Member Functions
    • Class Member Variables
    • Class Member Typedefs
    • Class Member Enumerations
    • Files
    • File Variables
    • File Functions
    • File Macros
    Previous
    Variables
    Made with Material for MkDocs