SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
SensorHal Class Referenceabstract

Abstract hardware abstraction layer. More...

#include <SensorCommBase.hpp>

Inheritance diagram for SensorHal:
[legend]

Public Member Functions

virtual void pinMode (uint8_t pin, uint8_t mode)=0
 Set the mode of a digital pin.
 
virtual void digitalWrite (uint8_t pin, uint8_t level)=0
 Write a digital value to a pin.
 
virtual uint8_t digitalRead (uint8_t pin)=0
 Read the digital value from a pin.
 
virtual uint32_t millis ()=0
 Get the current system time in milliseconds.
 
virtual void delay (uint32_t ms)=0
 Blocking delay for a given number of milliseconds.
 
virtual void delayMicroseconds (uint32_t us)=0
 Blocking delay for a given number of microseconds.
 
- Public Member Functions inherited from SensorHalCustom
 SensorHalCustom ()
 
void setCustomWrite (CustomWrite callback)
 Set a custom digitalWrite implementation.
 
void setCustomRead (CustomRead callback)
 Set a custom digitalRead implementation.
 
void setCustomMode (CustomMode callback)
 Set a custom pinMode implementation.
 

Additional Inherited Members

- Public Types inherited from SensorHalCustom
using CustomWrite = void(*)(uint8_t pin, uint8_t level)
 Set pin level (0/1)
 
using CustomRead = uint8_t(*)(uint8_t pin)
 Read pin level.
 
using CustomMode = void(*)(uint8_t pin, uint8_t mode)
 Set pin mode (INPUT/OUTPUT, etc.)
 
- Protected Attributes inherited from SensorHalCustom
CustomWrite writeCallback
 Custom digitalWrite, nullptr if not set.
 
CustomRead readCallback
 Custom digitalRead, nullptr if not set.
 
CustomMode modeCallback
 Custom pinMode, nullptr if not set.
 

Detailed Description

Abstract hardware abstraction layer.

Provides the basic I/O and timing functions required by sensor drivers.

Definition at line 468 of file SensorCommBase.hpp.

Member Function Documentation

◆ delay()

virtual void SensorHal::delay ( uint32_t  ms)
pure virtual

Blocking delay for a given number of milliseconds.

Parameters
msDelay duration in milliseconds.

Implemented in SensorCommCustomHal.

◆ delayMicroseconds()

virtual void SensorHal::delayMicroseconds ( uint32_t  us)
pure virtual

Blocking delay for a given number of microseconds.

Parameters
usDelay duration in microseconds.

Implemented in SensorCommCustomHal.

Referenced by SensorCommStatic::sensor_static_delay_us().

◆ digitalRead()

virtual uint8_t SensorHal::digitalRead ( uint8_t  pin)
pure virtual

Read the digital value from a pin.

Parameters
pinPin number.
Returns
uint8_t The read level (0 = LOW, 1 = HIGH).

Implemented in SensorCommCustomHal.

◆ digitalWrite()

virtual void SensorHal::digitalWrite ( uint8_t  pin,
uint8_t  level 
)
pure virtual

Write a digital value to a pin.

Parameters
pinPin number.
levelLogic level (0 = LOW, 1 = HIGH).

Implemented in SensorCommCustomHal.

◆ millis()

virtual uint32_t SensorHal::millis ( )
pure virtual

Get the current system time in milliseconds.

Returns
uint32_t Milliseconds since some epoch (e.g., boot).

Implemented in SensorCommCustomHal.

◆ pinMode()

virtual void SensorHal::pinMode ( uint8_t  pin,
uint8_t  mode 
)
pure virtual

Set the mode of a digital pin.

Parameters
pinPin number.
modeMode (e.g., INPUT, OUTPUT, INPUT_PULLUP).

Implemented in SensorCommCustomHal.


The documentation for this class was generated from the following file: