Embedded Artistry Framework
Embedded Systems C++ Framework
Static Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
nRFTWIMTranslator Class Reference

#include <twim_helper.hpp>

Static Public Member Functions

static void setSCLPin (NordicTWIM inst, uint8_t port, uint8_t pin) noexcept
 
static void setSDAPin (NordicTWIM inst, uint8_t port, uint8_t pin) noexcept
 
static void setFrequency (NordicTWIM inst, embvm::i2c::baud freq) noexcept
 
static void setCallback (NordicTWIM inst, nRFTWIM_cb_t &cb) noexcept
 
static void disable (NordicTWIM inst) noexcept
 
static void enable (NordicTWIM inst) noexcept
 
static void disable_interrupts (NordicTWIM inst) noexcept
 
static void enable_interrupts (NordicTWIM inst) noexcept
 
static void set_interrupt_priority (NordicTWIM inst, uint8_t priority) noexcept
 
static void set_transfer_address (NordicTWIM inst, uint8_t address) noexcept
 
static embvm::i2c::status txrx_transfer_blocking (NordicTWIM inst, const uint8_t *tx_data, size_t tx_len, uint8_t *rx_data, size_t rx_len) noexcept
 
static embvm::i2c::status tx_transfer_blocking (NordicTWIM inst, const uint8_t *data, size_t length, bool no_stop) noexcept
 
static embvm::i2c::status rx_transfer_blocking (NordicTWIM inst, uint8_t *data, size_t length)
 
static embvm::i2c::status txrx_transfer (NordicTWIM inst, const uint8_t *tx_data, size_t tx_len, uint8_t *rx_data, size_t rx_len) noexcept
 Blocking Transfer Implementation. More...
 
static embvm::i2c::status tx_transfer (NordicTWIM inst, const uint8_t *data, size_t length, bool no_stop) noexcept
 Blocking Transfer Implementation. More...
 
static embvm::i2c::status rx_transfer (NordicTWIM inst, uint8_t *data, size_t length) noexcept
 
static void stop_condition (NordicTWIM inst) noexcept
 

Static Public Attributes

static constexpr bool NO_STOP = true
 
static constexpr bool STOP = false
 

Private Member Functions

 nRFTWIMTranslator ()=default
 This class can't be instantiated. More...
 
 ~nRFTWIMTranslator ()=default
 

Constructor & Destructor Documentation

◆ nRFTWIMTranslator()

nRFTWIMTranslator::nRFTWIMTranslator ( )
privatedefault

This class can't be instantiated.

◆ ~nRFTWIMTranslator()

nRFTWIMTranslator::~nRFTWIMTranslator ( )
privatedefault

Member Function Documentation

◆ disable()

void nRFTWIMTranslator::disable ( NordicTWIM  inst)
staticnoexcept

◆ disable_interrupts()

void nRFTWIMTranslator::disable_interrupts ( NordicTWIM  inst)
staticnoexcept

◆ enable()

void nRFTWIMTranslator::enable ( NordicTWIM  inst)
staticnoexcept

◆ enable_interrupts()

void nRFTWIMTranslator::enable_interrupts ( NordicTWIM  inst)
staticnoexcept

◆ rx_transfer()

embvm::i2c::status nRFTWIMTranslator::rx_transfer ( NordicTWIM  inst,
uint8_t data,
size_t  length 
)
staticnoexcept

◆ rx_transfer_blocking()

embvm::i2c::status nRFTWIMTranslator::rx_transfer_blocking ( NordicTWIM  inst,
uint8_t data,
size_t  length 
)
staticnoexcept

◆ set_interrupt_priority()

void nRFTWIMTranslator::set_interrupt_priority ( NordicTWIM  inst,
uint8_t  priority 
)
staticnoexcept

◆ set_transfer_address()

void nRFTWIMTranslator::set_transfer_address ( NordicTWIM  inst,
uint8_t  address 
)
staticnoexcept

◆ setCallback()

void nRFTWIMTranslator::setCallback ( NordicTWIM  inst,
nRFTWIM_cb_t cb 
)
staticnoexcept

◆ setFrequency()

void nRFTWIMTranslator::setFrequency ( NordicTWIM  inst,
embvm::i2c::baud  freq 
)
staticnoexcept

◆ setSCLPin()

void nRFTWIMTranslator::setSCLPin ( NordicTWIM  inst,
uint8_t  port,
uint8_t  pin 
)
staticnoexcept

◆ setSDAPin()

void nRFTWIMTranslator::setSDAPin ( NordicTWIM  inst,
uint8_t  port,
uint8_t  pin 
)
staticnoexcept

◆ stop_condition()

void nRFTWIMTranslator::stop_condition ( NordicTWIM  inst)
staticnoexcept

◆ tx_transfer()

embvm::i2c::status nRFTWIMTranslator::tx_transfer ( NordicTWIM  inst,
const uint8_t data,
size_t  length,
bool  no_stop 
)
staticnoexcept

Blocking Transfer Implementation.

Implementation note: If you clear the TWIM_EVENET_TXDSENT event, the data that is already loaded into the TX buffer will be re-sent. You must load the next TX byte and then clear the data.

References embvm::i2c::enqueued, get_converted_error(), getTWIInst(), interrupts_disable_(), interrupts_enable_(), kickoff_tx(), length, embvm::i2c::ok, and set_tx_buffer_().

Referenced by nRFi2cMaster< NordicTWIM0, nRFPinID< 0, 27 >, nRFPinID< 0, 26 > >::transfer_impl_().

◆ tx_transfer_blocking()

embvm::i2c::status nRFTWIMTranslator::tx_transfer_blocking ( NordicTWIM  inst,
const uint8_t data,
size_t  length,
bool  no_stop 
)
staticnoexcept

◆ txrx_transfer()

embvm::i2c::status nRFTWIMTranslator::txrx_transfer ( NordicTWIM  inst,
const uint8_t tx_data,
size_t  tx_len,
uint8_t rx_data,
size_t  rx_len 
)
staticnoexcept

Blocking Transfer Implementation.

Implementation note: If you clear the TWIM_EVENET_TXDSENT event, the data that is already loaded into the TX buffer will be re-sent. You must load the next TX byte and then clear the data.

References embvm::i2c::enqueued, get_converted_error(), getTWIInst(), interrupts_disable_(), interrupts_enable_(), kickoff_txrx(), embvm::i2c::ok, set_rx_buffer_(), and set_tx_buffer_().

Referenced by nRFi2cMaster< NordicTWIM0, nRFPinID< 0, 27 >, nRFPinID< 0, 26 > >::transfer_impl_().

◆ txrx_transfer_blocking()

embvm::i2c::status nRFTWIMTranslator::txrx_transfer_blocking ( NordicTWIM  inst,
const uint8_t tx_data,
size_t  tx_len,
uint8_t rx_data,
size_t  rx_len 
)
staticnoexcept

Member Data Documentation

◆ NO_STOP

constexpr bool nRFTWIMTranslator::NO_STOP = true
static

◆ STOP

constexpr bool nRFTWIMTranslator::STOP = false
static

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