M5UnitUnified 0.1.2 git rev:98f967c
Loading...
Searching...
No Matches
m5::unit::AdapterI2C Class Reference

I2C access adapter. More...

#include <adapter_i2c.hpp>

Inheritance diagram for m5::unit::AdapterI2C:
m5::unit::Adapter

Classes

class  BusImpl
 
class  I2CImpl
 

Public Member Functions

 AdapterI2C (m5::hal::bus::Bus *bus, const uint8_t addr, const uint32_t clock)
 
 AdapterI2C (m5::hal::bus::Bus &bus, const uint8_t addr, const uint32_t clock)
 
I2CImplimpl ()
 
const I2CImplimpl () const
 
uint8_t address () const
 
void setAddress (const uint8_t addr)
 
uint32_t clock () const
 
void setClock (const uint32_t clock)
 
int16_t scl () const
 
int16_t sda () const
 
virtual Adapterduplicate (const uint8_t addr) override
 
Temporary API
Warning
Functionality required for a specific unit
Will be improved when integrated with M5HAL
bool begin ()
 
bool end ()
 
bool pushPin ()
 
bool popPin ()
 
- Public Member Functions inherited from m5::unit::Adapter
 Adapter (const Adapter &)=delete
 
 Adapter (Adapter &&) noexcept=default
 
Adapteroperator= (const Adapter &)=delete
 
Adapteroperator= (Adapter &&) noexcept=default
 
Type type () const
 
m5::hal::error::error_t readWithTransaction (uint8_t *data, const size_t len)
 
m5::hal::error::error_t writeWithTransaction (const uint8_t *data, const size_t len, const uint32_t exparam=1)
 
m5::hal::error::error_t writeWithTransaction (const uint8_t reg, const uint8_t *data, const size_t len, const uint32_t exparam=1)
 
m5::hal::error::error_t writeWithTransaction (const uint16_t reg, const uint8_t *data, const size_t len, const uint32_t exparam=1)
 
m5::hal::error::error_t generalCall (const uint8_t *data, const size_t len)
 
m5::hal::error::error_t pinModeRX (const gpio::Mode m)
 
m5::hal::error::error_t writeDigitalRX (const bool high)
 
m5::hal::error::error_t readDigitalRX (bool &high)
 
m5::hal::error::error_t writeAnalogRX (const uint16_t v)
 
m5::hal::error::error_t readAnalogRX (uint16_t &v)
 
m5::hal::error::error_t pulseInRX (uint32_t &duration, const int state, const uint32_t timeout_us)
 
m5::hal::error::error_t pinModeTX (const gpio::Mode m)
 
m5::hal::error::error_t writeDigitalTX (const bool high)
 
m5::hal::error::error_t readDigitalTX (bool &high)
 
m5::hal::error::error_t writeAnalogTX (const uint16_t v)
 
m5::hal::error::error_t readAnalogTX (uint16_t &v)
 
m5::hal::error::error_t pulseInTX (uint32_t &duration, const int state, const uint32_t timeout_us)
 
uint32_t clock () const
 
void setClock (const uint32_t)
 
int16_t sda () const
 
int16_t scl () const
 
void pinMode (const uint8_t pin, const uint8_t mode)
 
void digitalWrite (const uint8_t pin, const uint8_t high)
 
bool begin ()
 
bool end ()
 

Protected Attributes

gpio::pin_backup_t _backupSCL {-1}
 
gpio::pin_backup_t _backupSDA {-1}
 
- Protected Attributes inherited from m5::unit::Adapter
std::unique_ptr< Impl_impl {}
 

Additional Inherited Members

- Public Types inherited from m5::unit::Adapter
enum class  Type : uint8_t {
  Unknown , I2C , GPIO , UART ,
  SPI
}
 
- Protected Member Functions inherited from m5::unit::Adapter
 Adapter (const Type t, Impl *impl)
 

Detailed Description

I2C access adapter.

Member Function Documentation

◆ duplicate()

Adapter * AdapterI2C::duplicate ( const uint8_t addr)
overridevirtual

Reimplemented from m5::unit::Adapter.