mbed libraries for KL25Z

Dependents:   FRDM_RGBLED

i2c_api.h

Committer:
emilmont
Date:
2012-11-09
Revision:
8:c14af7958ef5
Child:
9:663789d7729f

File content as of revision 8:c14af7958ef5:

/* mbed Microcontroller Library - i2c_api
 * Copyright (c) 2009-2011 ARM Limited. All rights reserved.
 */
#ifndef MBED_I2C_API_H
#define MBED_I2C_API_H

#include "device.h"

#if DEVICE_I2C

#ifdef __cplusplus
extern "C" {
#endif

I2CName i2c_init(PinName sda, PinName scl);

void i2c_frequency (I2CName i2c, int hz);
int  i2c_start     (I2CName i2c);
void i2c_stop      (I2CName i2c);
int  i2c_read      (I2CName i2c, int address, char *data, int length, int stop); 
int  i2c_write     (I2CName i2c, int address, const char *data, int length, int stop);
void i2c_reset     (I2CName i2c);
int  i2c_byte_read (I2CName i2c, int last);
int  i2c_byte_write(I2CName i2c, int data);

#if DEVICE_I2CSLAVE
void i2c_slave_mode   (I2CName i2c, int enable_slave);
int  i2c_slave_receive(I2CName i2c);
int  i2c_slave_read   (I2CName i2c, char *data, int length);
int  i2c_slave_write  (I2CName i2c, const char *data, int length);
void i2c_slave_address(I2CName i2c, int idx, uint32_t address, uint32_t mask);
#endif

#ifdef __cplusplus
}
#endif

#endif

#endif