modm API documentation
modm::I2cMultiplexerChannel< multiplexer, channel > Class Template Reference

#include <modm/architecture/interface/i2c_multiplexer.hpp>

Inheritance diagram for modm::I2cMultiplexerChannel< multiplexer, channel >:
modm::I2cMaster modm::PeripheralDriver modm::I2c

Static Public Member Functions

static bool start (I2cTransaction *transaction, ConfigurationHandler handler=nullptr)
- Static Public Member Functions inherited from modm::I2cMaster
template<class... Signals>
static void connect (PullUps pullups=PullUps::External, ResetDevices reset=ResetDevices::Standard)
template<class SystemClock , baudrate_t baudrate = 100_kBd, percent_t tolerance = 5_pct>
static void initialize ()
static bool start (I2cTransaction *transaction, ConfigurationHandler handler=nullptr)
static void reset ()
static Error getErrorState ()
- Static Public Member Functions inherited from modm::PeripheralDriver
static void initialize ()
 initializes the peripheral, must be called before use.
static void configurePurpose ()
 configures a peripheral for a specific purpose
static void setParameter ()
 sets a parameter
static void getParameter ()
 returns a parameter
static bool getInterruptFlag ()
 Read an interrupt flag.
static void acknowledgeInterruptFlag ()
template<baudrate_t available, baudrate_t requested, percent_t tolerance>
static void assertBaudrateInTolerance ()
- Static Public Member Functions inherited from modm::I2c
template<class Scl >
static void resetDevices (uint32_t baudrate=100'000)

Static Public Attributes

static constexpr auto & i2cMultiplexer = multiplexer
- Static Public Attributes inherited from modm::I2cMaster
static constexpr size_t TransactionBufferSize = 8
 Number of transactions which can be queued in this driver.
- Static Public Attributes inherited from modm::I2c
static constexpr uint8_t Write = 0x00
 Add the Write bit to the slave address.
static constexpr uint8_t Read = 0x01
 Add the Read bit to the slave address.

Additional Inherited Members

- Public Typedefs inherited from modm::I2c
using ConfigurationHandler = void (*)()
 The signature of the configuration function.
- Public Types inherited from modm::I2cMaster
enum  Error : uint8_t {
  Error::NoError, Error::SoftwareReset, Error::AddressNack, Error::DataNack,
  Error::ArbitrationLost, Error::BusCondition, Error::BusBusy, Error::Unknown
 Errors that can happen during master operation. More...
enum  PullUps { PullUps::External, PullUps::Internal }
enum  ResetDevices : uint32_t { ResetDevices::NoReset = 0, ResetDevices::LowSpeed = 10'000, ResetDevices::Standard = 100'000, ResetDevices::Fast = 400'000 }
- Public Types inherited from modm::I2c
enum  DetachCause : uint8_t { DetachCause::NormalStop, DetachCause::ErrorCondition, DetachCause::FailedToAttach }
enum  TransactionState : uint8_t { TransactionState::Idle, TransactionState::Busy, TransactionState::Error }
 State of a I2c Transaction. More...
enum  Operation : uint8_t { Operation::Stop = 0, Operation::Restart = 1, Operation::Write = 2, Operation::Read = 3 }
 All possible I2C Operations. More...
enum  OperationAfterStart : uint8_t { OperationAfterStart::Stop = uint8_t(Operation::Stop), OperationAfterStart::Write = uint8_t(Operation::Write), OperationAfterStart::Read = uint8_t(Operation::Read) }
 Further operations after start operation. More...
enum  OperationAfterWrite : uint8_t { OperationAfterWrite::Stop = uint8_t(Operation::Stop), OperationAfterWrite::Restart = uint8_t(Operation::Restart), OperationAfterWrite::Write = uint8_t(Operation::Write) }
 Further operations after write operation. More...
enum  OperationAfterRead : uint8_t { OperationAfterRead::Stop = uint8_t(Operation::Stop), OperationAfterRead::Restart = uint8_t(Operation::Restart) }
 Further operations after read operation. More...

Detailed Description

template<auto & multiplexer, typename std::remove_reference_t< decltype (multiplexer)>::Channel channel>
class modm::I2cMultiplexerChannel< multiplexer, channel >

Interface of an I2C Multiplexer.

All I2C multiplexer driver should implement this interface.

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