FastArduino
v1.9
C++ library to build fast but small Arduino/AVR projects
|
Asynchronous I2C Manager for ATmega architecture with debug facility and support for dynamic proxies. More...
#include <fastarduino/i2c_handler_atmega.h>
Public Member Functions | |
template<uint8_t SIZE> | |
I2CAsyncLCDebugManager (typename PARENT::I2CCOMMAND(&buffer)[SIZE], lifecycle::AbstractLifeCycleManager &lifecycle_manager, DEBUG_HOOK_ debug_hook) | |
Create an asynchronous I2C Manager for ATmega MCUs. More... | |
Public Member Functions inherited from i2c::AbstractI2CAsyncManager< MODE_, I2CErrorPolicy::CLEAR_ALL_COMMANDS, true, false, I2C_STATUS_HOOK, true, I2C_DEBUG_HOOK > | |
void | begin () |
Prepare and enable the MCU for I2C transmission. More... | |
void | end () |
Disable MCU I2C transmission. More... | |
void | begin_ () |
Prepare and enable the MCU for I2C transmission. More... | |
void | end_ () |
Disable MCU I2C transmission. More... | |
Additional Inherited Members | |
Public Types inherited from i2c::AbstractI2CAsyncManager< MODE_, I2CErrorPolicy::CLEAR_ALL_COMMANDS, true, false, I2C_STATUS_HOOK, true, I2C_DEBUG_HOOK > | |
using | ABSTRACT_FUTURE = future::AbstractFuture |
using | PROXY = typename LC::template PROXY< T > |
using | FUTURE = future::Future< OUT, IN > |
using | FUTURE_PROXY = PROXY< ABSTRACT_FUTURE > |
The type passed to callback functions registered alongside ISR. More... | |
using | I2CCOMMAND = I2CCommand< FUTURE_PROXY > |
The type of I2CCommand to use in the buffer passed to the constructor of this AbstractI2CAsyncManager. | |
Asynchronous I2C Manager for ATmega architecture with debug facility and support for dynamic proxies.
MODE_ | the I2C mode for this manager |
POLICY_ | the policy to use in case of an error during I2C transaction |
DEBUG_HOOK_ | the type of the hook to be called. This can be a simple function pointer (of type I2C_DEBUG_HOOK ) or a Functor class (or Functor class reference). Using a Functor class will generate smaller code. |
Definition at line 1041 of file i2c_handler_atmega.h.
|
inlineexplicit |
Create an asynchronous I2C Manager for ATmega MCUs.
SIZE | the size of I2CCommand buffer that will be queued for asynchronous handling |
buffer | a buffer of SIZE I2CCommand items, that will be used to queue I2C command for asynchronous handling |
lifecycle_manager | the AbstractLifeCycleManager used to handle the lifecycle of Future used by this I2C Manager |
debug_hook | the debug hook function or functor that is called during I2C transaction execution |
Definition at line 1059 of file i2c_handler_atmega.h.