MiraOS  v1.0 2016-02-20
Enumerations | Functions
mira_i2c.h File Reference

MiraOS I2C driver. More...

#include <stdint.h>

Go to the source code of this file.

Enumerations

enum  MiraI2CSpeed { MIRA_I2C_NORMAL_BUS_SPEED = 100000, MIRA_I2C_FAST_BUS_SPEED = 400000 }
 Supported I2C bus speeds. More...
 
enum  MiraI2CPullupMode { MIRA_I2C_NO_PULLUPS = 0, MIRA_I2C_USE_PULLUPS = 1 }
 Supported pull-up options for the I2C bus. More...
 

Functions

void mira_i2c_init (MiraI2CSpeed speed, MiraI2CPullupMode pullups)
 Initialize the I2C driver. More...
 
uint8_t mira_i2c_single_send (uint8_t address, uint8_t data)
 Send a single byte. More...
 
uint8_t mira_i2c_single_receive (uint8_t address, uint8_t *data_pointer)
 Receive a single byte. More...
 
uint8_t mira_i2c_burst_send (uint8_t address, uint8_t *data_pointer, uint8_t length)
 Send multiple bytes. More...
 
uint8_t mira_i2c_burst_receive (uint8_t address, uint8_t *data_pointer, uint8_t length)
 Receive multiple bytes. More...
 

Detailed Description

MiraOS I2C driver.

Author
LumenRadio AB
Date
17 Jan 2016 The MiraOS library provides functions for controlling the Mira radio module, sending/receiving messages, controlling peripherals, etc.
See also
http://docs.lumenrad.io/mira

Enumeration Type Documentation

Supported pull-up options for the I2C bus.

Enumerator
MIRA_I2C_NO_PULLUPS 

Do not enable internal pull-ups (external pull-up must be present)

MIRA_I2C_USE_PULLUPS 

Enable internal pull-ups

Supported I2C bus speeds.

Enumerator
MIRA_I2C_NORMAL_BUS_SPEED 

100KHz I2C

MIRA_I2C_FAST_BUS_SPEED 

400KHz I2C

Function Documentation

uint8_t mira_i2c_burst_receive ( uint8_t  address,
uint8_t *  data_pointer,
uint8_t  length 
)

Receive multiple bytes.

Parameters
address7 bit I2C chip address (without R/W bit)
data_pointerpointer to where to write received byte
lengthnumber of bytes
Returns
void
uint8_t mira_i2c_burst_send ( uint8_t  address,
uint8_t *  data_pointer,
uint8_t  length 
)

Send multiple bytes.

Parameters
address7 bit I2C chip address (without R/W bit)
data_pointerpointer to data to send
lengthnumber of bytes
Returns
void
void mira_i2c_init ( MiraI2CSpeed  speed,
MiraI2CPullupMode  pullups 
)

Initialize the I2C driver.

Parameters
speedBus speed
pullupsUse internal pull-ups
Returns
void
uint8_t mira_i2c_single_receive ( uint8_t  address,
uint8_t *  data_pointer 
)

Receive a single byte.

Parameters
address7 bit I2C chip address (without R/W bit)
data_pointerpointer to where to write received byte
Returns
void
uint8_t mira_i2c_single_send ( uint8_t  address,
uint8_t  data 
)

Send a single byte.

Parameters
address7 bit I2C chip address (without R/W bit)
datadata byte to send
Returns
void