FastArduino  v1.8
C++ library to build fast but small Arduino/AVR projects
i2c_handler_common.h File Reference

Common I2C Manager API. More...

#include <stdint.h>
#include "boards/board_traits.h"
#include "bits.h"
#include "i2c.h"
#include "streams.h"
#include "future.h"
#include "lifecycle.h"
#include "queue.h"
#include "utilities.h"
Include dependency graph for i2c_handler_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  i2c::I2CLightCommand
 Light atomic I2C command as prepared by an I2C device. More...
 
class  i2c::I2CCommand< T >
 Atomic I2C command as used internally by an asynchronous I2C Manager. More...
 
class  i2c::AbstractI2CSyncManager< ARCH_HANDLER_, MODE_, HAS_LC_, STATUS_HOOK_, HAS_DEBUG_, DEBUG_HOOK_ >
 Abstract synchronous I2C Manager for all MCU architectures. More...
 

Namespaces

 i2c
 Define API to define and manage I2C devices.
 

Typedefs

using i2c::I2C_DEBUG_HOOK = void(*)(DebugStatus status, uint8_t data)
 The default debugging hook type. More...
 
using i2c::I2C_STATUS_HOOK = void(*)(Status expected, Status actual)
 The default status observer hook type. More...
 

Enumerations

enum  i2c::DebugStatus : uint8_t {
  i2c::DebugStatus::START = 0,
  i2c::DebugStatus::REPEAT_START,
  i2c::DebugStatus::SLAW,
  i2c::DebugStatus::SLAR,
  i2c::DebugStatus::SEND,
  i2c::DebugStatus::RECV,
  i2c::DebugStatus::RECV_LAST,
  i2c::DebugStatus::STOP,
  i2c::DebugStatus::SEND_OK,
  i2c::DebugStatus::SEND_ERROR,
  i2c::DebugStatus::RECV_OK,
  i2c::DebugStatus::RECV_ERROR
}
 List of debug states that are reported by the I2C Manager in debug mode. More...
 

Detailed Description

Common I2C Manager API.

This is automatically included by other header files, you should never include it directly in your programs.

Definition in file i2c_handler_common.h.