uTL
micro Template library
|
A virtual base class specialization. More...
#include <i2c.h>
Public Types | |
enum | Sequence { Sequence::BYTE =0, Sequence::ACK, Sequence::BYTEnACK } |
I2C transmit/receive sequence. More... | |
using | type = i2c_i< virtual_tag > |
Export type as identity meta-function. More... | |
Public Member Functions | |
Get/Set functions | |
uint32_t | clock () const |
void | clock (uint32_t c) |
set clock frequency of the bus [Hz] More... | |
User functions | |
void | start () |
void | stop () |
byte_t | rx_data (bool ack, Sequence seq=Sequence::BYTEnACK) |
Receive a byte from the i2c bus. More... | |
bool | tx_data (byte_t byte, Sequence seq=Sequence::BYTEnACK) |
Transmit a byte to the i2c bus. More... | |
Private Member Functions | |
Implementation requirements | |
virtual uint32_t | _clock () const =0 |
virtual void | _clock (uint32_t)=0 |
set clock frequency of the bus [Hz] More... | |
virtual void | _start ()=0 |
Send start functionality. More... | |
virtual void | _stop ()=0 |
Send stop functionality. More... | |
virtual byte_t | _rx_data (bool ack, Sequence seq)=0 |
Receive a byte from the i2c bus. More... | |
virtual bool | _tx_data (byte_t byte, Sequence seq)=0 |
Object lifetime | |
i2c_i ()=default | |
Allow constructor from derived only. More... | |
i2c_i (const type &)=delete | |
No copies. More... | |
type & | operator= (const type &)=delete |
virtual | ~i2c_i ()=default |
A virtual base class specialization.
impl_t | = virtual_tag |
using utl::i2c_i< virtual_tag >::type = i2c_i <virtual_tag> |
|
strong |
|
protecteddefault |
Allow constructor from derived only.
|
protecteddelete |
No copies.
|
virtualdefault |
Virtual default destructor
|
privatepure virtual |
Implemented in utl::i2c_bb_i< virtual_tag >.
|
privatepure virtual |
set clock frequency of the bus [Hz]
Implemented in utl::i2c_bb_i< virtual_tag >.
|
privatepure virtual |
Receive a byte from the i2c bus.
Implemented in utl::i2c_bb_i< virtual_tag >.
|
privatepure virtual |
Send start functionality.
Implemented in utl::i2c_bb_i< virtual_tag >.
|
privatepure virtual |
Send stop functionality.
Implemented in utl::i2c_bb_i< virtual_tag >.
|
privatepure virtual |
Transmit a byte to the i2c bus.
Implemented in utl::i2c_bb_i< virtual_tag >.
|
inline |
|
inline |
|
protecteddelete |
|
inline |
Receive a byte from the i2c bus.
ack | Optional ack bit.
|
seq | The operation sequence to execute
|
|
inline |
|
inline |
|
inline |
Transmit a byte to the i2c bus.
byte | The byte to send. |
seq | The operation sequence to execute
|