FastArduino  v1.8
C++ library to build fast but small Arduino/AVR projects
i2c::I2CSyncLCStatusDebugManager< MODE_, STATUS_HOOK_, DEBUG_HOOK_ > Class Template Reference

Synchronous I2C Manager for ATmega architecture with status notification and debug facilities and support for dynamic proxies. More...

#include <fastarduino/i2c_handler_atmega.h>

Inheritance diagram for i2c::I2CSyncLCStatusDebugManager< MODE_, STATUS_HOOK_, DEBUG_HOOK_ >:
Collaboration diagram for i2c::I2CSyncLCStatusDebugManager< MODE_, STATUS_HOOK_, DEBUG_HOOK_ >:

Public Member Functions

 I2CSyncLCStatusDebugManager (lifecycle::AbstractLifeCycleManager &lifecycle_manager, STATUS_HOOK_ status_hook, DEBUG_HOOK_ debug_hook)
 
 I2CSyncLCStatusDebugManager (lifecycle::AbstractLifeCycleManager &lifecycle_manager, STATUS_HOOK_ status_hook, DEBUG_HOOK_ debug_hook)
 
- Public Member Functions inherited from i2c::AbstractI2CSyncManager< ATmegaI2CSyncHandler< MODE_, HAS_STATUS_, I2C_STATUS_HOOK >, MODE_, HAS_LC_, I2C_STATUS_HOOK, HAS_DEBUG_, 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::AbstractI2CSyncATmegaManager< MODE_, true, true, I2C_STATUS_HOOK, true, I2C_DEBUG_HOOK >
using ABSTRACT_FUTURE = typename PARENT::ABSTRACT_FUTURE
 
using PROXY = typename PARENT::template PROXY< T >
 
using FUTURE = typename PARENT::template FUTURE< OUT, IN >
 
- Public Types inherited from i2c::AbstractI2CSyncManager< ATmegaI2CSyncHandler< MODE_, HAS_STATUS_, I2C_STATUS_HOOK >, MODE_, HAS_LC_, I2C_STATUS_HOOK, HAS_DEBUG_, I2C_DEBUG_HOOK >
using ABSTRACT_FUTURE = future::AbstractFakeFuture
 
using PROXY = typename LC::template PROXY< T >
 
using FUTURE = future::FakeFuture< OUT, IN >
 
- Protected Types inherited from i2c::AbstractI2CSyncManager< ATmegaI2CSyncHandler< MODE_, HAS_STATUS_, I2C_STATUS_HOOK >, MODE_, HAS_LC_, I2C_STATUS_HOOK, HAS_DEBUG_, I2C_DEBUG_HOOK >
using ARCH_HANDLER = ATmegaI2CSyncHandler< MODE_, HAS_STATUS_, I2C_STATUS_HOOK >
 
using MODE_TRAIT = I2CMode_trait< MODE_ >
 
using I2C_TRAIT = board_traits::TWI_trait
 
using REG8 = board_traits::REG8
 
using DEBUG = I2CDebugSupport< HAS_DEBUG_, I2C_DEBUG_HOOK >
 
using LC = I2CLifeCycleSupport< HAS_LC_ >
 

Detailed Description

template<I2CMode MODE_, typename STATUS_HOOK_ = I2C_STATUS_HOOK, typename DEBUG_HOOK_ = I2C_DEBUG_HOOK>
class i2c::I2CSyncLCStatusDebugManager< MODE_, STATUS_HOOK_, DEBUG_HOOK_ >

Synchronous I2C Manager for ATmega architecture with status notification and debug facilities and support for dynamic proxies.

Synchronous I2C Manager for ATtiny architecture with status notification and debug facilities and support for dynamic proxies.

Template Parameters
MODE_the I2C mode for this manager
STATUS_HOOK_the type of the hook to be called. This can be a simple function pointer (of type I2C_STATUS_HOOK) or a Functor class (or Functor class reference). Using a Functor class will generate smaller code.
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.
See also
i2c::I2CMode

Definition at line 1333 of file i2c_handler_atmega.h.


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