i2c.h File Reference
#include <stdint.h>
#include "FreeRTOS.h"
#include "semphr.h"

Go to the source code of this file.

Data Structures

struct  KI2CConf
 
struct  KI2C
 

Macros

#define K_NUM_I2CS   YOTTA_CFG_HARDWARE_I2CCOUNT
 KubOS-HAL I2C Interface. More...
 
#define DEFAULT_I2C   YOTTA_CFG_HARDWARE_DEFAULTS_I2C
 

Enumerations

enum  KI2CNum { K_I2C1 = 0, K_I2C2 = 1 }
 
enum  I2CAddressingMode { K_ADDRESSINGMODE_7BIT = 0, K_ADDRESSINGMODE_10BIT }
 
enum  I2CRole { K_MASTER = 0, K_SLAVE }
 
enum  KI2CStatus {
  I2C_OK = 0, I2C_ERROR, I2C_ERROR_AF, I2C_ERROR_ADDR_TIMEOUT,
  I2C_ERROR_TIMEOUT, I2C_ERROR_NACK, I2C_ERROR_TXE_TIMEOUT, I2C_ERROR_BTF_TIMEOUT,
  I2C_ERROR_NULL_HANDLE
}
 

Functions

void k_i2c_init (KI2CNum i2c, KI2CConf *conf)
 
void k_i2c_terminate (KI2CNum i2c)
 
KI2CConf k_i2c_conf_defaults (void)
 
void k_i2c_default_init ()
 
void k_i2c_default_dev_init (KI2CNum i2c)
 
KI2CStatus k_i2c_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)
 
KI2CStatus k_i2c_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)
 
KI2Ckprv_i2c_get (KI2CNum i2c)
 
void kprv_i2c_dev_init (KI2CNum i2c)
 
void kprv_i2c_dev_terminate (KI2CNum i2c)
 
KI2CStatus kprv_i2c_master_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)
 
KI2CStatus kprv_i2c_master_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)
 
KI2CStatus kprv_i2c_slave_write (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)
 
KI2CStatus kprv_i2c_slave_read (KI2CNum i2c, uint16_t addr, uint8_t *ptr, int len)