|
M5UnitUnified 0.4.6 git rev:c61a63c
|
Adapter base class to treat M5HAL and TwoWire,GPIO,Serial,SPI... in the same way. More...
#include <adapter_base.hpp>
Classes | |
| class | Impl |
| Implementation base class (Pimpl pattern) More... | |
Public Types | |
| enum class | Type : uint8_t { Unknown , I2C , GPIO , UART , SPI } |
| Adapter type. More... | |
Public Member Functions | |
| Adapter () | |
| Default constructor (creates Unknown type adapter) | |
| Adapter (const Adapter &)=delete | |
| Adapter (Adapter &&) noexcept=default | |
| Adapter & | operator= (const Adapter &)=delete |
| Adapter & | operator= (Adapter &&) noexcept=default |
| Type | type () const |
| Gets the adapter type. | |
| virtual Adapter * | duplicate (const uint8_t) |
| Create a duplicate adapter with a different address. | |
Transaction control | |
| virtual void | beginTransaction () |
| Begin a bus transaction. | |
| virtual void | endTransaction () |
| End a bus transaction. | |
I2C read/write | |
| m5::hal::error::error_t | readWithTransaction (uint8_t *data, const size_t len) |
| Read data within a transaction. | |
| m5::hal::error::error_t | writeWithTransaction (const uint8_t *data, const size_t len, const uint32_t exparam=1) |
| Read data within a transaction. | |
| m5::hal::error::error_t | writeWithTransaction (const uint8_t reg, const uint8_t *data, const size_t len, const uint32_t exparam=1) |
| Read data within a transaction. | |
| m5::hal::error::error_t | writeWithTransaction (const uint16_t reg, const uint8_t *data, const size_t len, const uint32_t exparam=1) |
| Read data within a transaction. | |
| m5::hal::error::error_t | generalCall (const uint8_t *data, const size_t len) |
| Send a general call on the I2C bus. | |
GPIO RX pin operations | |
| 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 | readAnalogMilliVoltsRX (uint32_t &mv) |
| m5::hal::error::error_t | pulseInRX (uint32_t &duration, const int state, const uint32_t timeout_us) |
GPIO TX pin operations | |
| 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 | readAnalogMilliVoltsTX (uint32_t &mv) |
| m5::hal::error::error_t | pulseInTX (uint32_t &duration, const int state, const uint32_t timeout_us) |
Protected Member Functions | |
| Adapter (const Type t, Impl *impl) | |
Protected Attributes | |
| std::unique_ptr< Impl > | _impl {} |
Adapter base class to treat M5HAL and TwoWire,GPIO,Serial,SPI... in the same way.
|
strong |
Adapter type.
| Enumerator | |
|---|---|
| Unknown | Not yet assigned. |
| I2C | I2C bus. |
| GPIO | GPIO pins. |
| UART | UART serial. |
| SPI | SPI bus. |
|
inlinevirtual |
Begin a bus transaction.
Reimplemented in m5::unit::AdapterSPI.
|
inlinevirtual |
Create a duplicate adapter with a different address.
Reimplemented in m5::unit::AdapterI2C.
|
inlinevirtual |
End a bus transaction.
Reimplemented in m5::unit::AdapterSPI.