MAXREFDES117# Code Documentation  V01.00
Heart Rate / SpO2 Monitor
 All Data Structures Files Functions Variables Typedefs Macros Pages
SoftI2CMaster.h File Reference
#include <avr/io.h>
#include <Arduino.h>

Go to the source code of this file.

Macros

#define SOFTI2DMASTER_H_
 
#define I2C_TIMEOUT   100
 
#define I2C_NOINTERRUPT   0
 
#define I2C_SLOWMODE   1
 
#define FAC   1
 
#define I2C_CPUFREQ   (F_CPU/FAC)
 
#define _SOFTI2C_H   1
 
#define I2C_FASTMODE   0
 
#define I2C_TIMEOUT_DELAY_LOOPS   (I2C_CPUFREQ/1000UL)*I2C_TIMEOUT/4000UL
 
#define I2C_MAX_STRETCH   1
 
#define I2C_DELAY_COUNTER   (((I2C_CPUFREQ/25000L)/2-19)/3)
 
#define I2C_READ   1
 
#define I2C_WRITE   0
 
#define SDA_DDR   (_SFR_IO_ADDR(SDA_PORT) - 1)
 
#define SCL_DDR   (_SFR_IO_ADDR(SCL_PORT) - 1)
 
#define SDA_OUT   _SFR_IO_ADDR(SDA_PORT)
 
#define SCL_OUT   _SFR_IO_ADDR(SCL_PORT)
 
#define SDA_IN   (_SFR_IO_ADDR(SDA_PORT) - 2)
 
#define SCL_IN   (_SFR_IO_ADDR(SCL_PORT) - 2)
 
#define __tmp_reg__   0
 

Functions

boolean __attribute__ ((noinline)) i2c_init(void)
 
void i2c_delay_half (void)
 
void i2c_wait_scl_high (void)
 
boolean i2c_init (void)
 
bool i2c_start (uint8_t addr)
 
bool i2c_rep_start (uint8_t addr)
 
void i2c_start_wait (uint8_t addr)
 
void i2c_stop (void)
 
bool i2c_write (uint8_t value)
 
uint8_t i2c_read (bool last)
 

Macro Definition Documentation

#define __tmp_reg__   0

Definition at line 199 of file SoftI2CMaster.h.

#define _SOFTI2C_H   1

Definition at line 85 of file SoftI2CMaster.h.

#define FAC   1

Definition at line 81 of file SoftI2CMaster.h.

#define I2C_CPUFREQ   (F_CPU/FAC)

Definition at line 82 of file SoftI2CMaster.h.

#define I2C_DELAY_COUNTER   (((I2C_CPUFREQ/25000L)/2-19)/3)

Definition at line 174 of file SoftI2CMaster.h.

#define I2C_FASTMODE   0

Definition at line 129 of file SoftI2CMaster.h.

#define I2C_MAX_STRETCH   1

Definition at line 161 of file SoftI2CMaster.h.

#define I2C_NOINTERRUPT   0

Definition at line 79 of file SoftI2CMaster.h.

#define I2C_READ   1

Definition at line 187 of file SoftI2CMaster.h.

#define I2C_SLOWMODE   1

Definition at line 80 of file SoftI2CMaster.h.

#define I2C_TIMEOUT   100

Definition at line 78 of file SoftI2CMaster.h.

#define I2C_TIMEOUT_DELAY_LOOPS   (I2C_CPUFREQ/1000UL)*I2C_TIMEOUT/4000UL

Definition at line 159 of file SoftI2CMaster.h.

#define I2C_WRITE   0

Definition at line 188 of file SoftI2CMaster.h.

#define SCL_DDR   (_SFR_IO_ADDR(SCL_PORT) - 1)

Definition at line 192 of file SoftI2CMaster.h.

#define SCL_IN   (_SFR_IO_ADDR(SCL_PORT) - 2)

Definition at line 196 of file SoftI2CMaster.h.

#define SCL_OUT   _SFR_IO_ADDR(SCL_PORT)

Definition at line 194 of file SoftI2CMaster.h.

#define SDA_DDR   (_SFR_IO_ADDR(SDA_PORT) - 1)

Definition at line 191 of file SoftI2CMaster.h.

#define SDA_IN   (_SFR_IO_ADDR(SDA_PORT) - 2)

Definition at line 195 of file SoftI2CMaster.h.

#define SDA_OUT   _SFR_IO_ADDR(SDA_PORT)

Definition at line 193 of file SoftI2CMaster.h.

#define SOFTI2DMASTER_H_

Definition at line 59 of file SoftI2CMaster.h.

Function Documentation

void __attribute__ ( (noinline)  )
void i2c_delay_half ( void  )

Definition at line 207 of file SoftI2CMaster.h.

boolean i2c_init ( void  )

Definition at line 272 of file SoftI2CMaster.h.

uint8_t i2c_read ( bool  last)

Definition at line 462 of file SoftI2CMaster.h.

bool i2c_rep_start ( uint8_t  addr)

Definition at line 313 of file SoftI2CMaster.h.

bool i2c_start ( uint8_t  addr)

Definition at line 295 of file SoftI2CMaster.h.

void i2c_start_wait ( uint8_t  addr)

Definition at line 338 of file SoftI2CMaster.h.

void i2c_stop ( void  )

Definition at line 365 of file SoftI2CMaster.h.

void i2c_wait_scl_high ( void  )

Definition at line 225 of file SoftI2CMaster.h.

bool i2c_write ( uint8_t  value)

Definition at line 385 of file SoftI2CMaster.h.