FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
Common I2C Manager API. More...
#include <stdint.h>
#include "boards/board_traits.h"
#include "bits.h"
#include "i2c.h"
#include "ios.h"
#include "future.h"
#include "queue.h"
#include "utilities.h"
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_, STATUS_HOOK_, HAS_DEBUG_, DEBUG_HOOK_ > |
Abstract synchronous I2C Manager for all MCU architectures. More... | |
Namespaces | |
namespace | 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 class | i2c::DebugStatus : uint8_t { i2c::START = 0 , i2c::REPEAT_START , i2c::SLAW , i2c::SLAR , i2c::SEND , i2c::RECV , i2c::RECV_LAST , i2c::STOP , i2c::SEND_OK , i2c::SEND_ERROR , i2c::RECV_OK , i2c::RECV_ERROR } |
List of debug states that are reported by the I2C Manager in debug mode. More... | |
enum class | i2c::I2CErrorPolicy : uint8_t { i2c::DO_NOTHING , i2c::CLEAR_ALL_COMMANDS , i2c::CLEAR_TRANSACTION_COMMANDS } |
I2C Manager policy to use in case of an error during I2C transaction. More... | |
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.