eBoard ①⑧⑨
Written for SIA 2017/2018
eagle_Twi.h File Reference

this file contains the Twi class More...

#include <inttypes.h>
#include <avr/interrupt.h>
#include <compat/twi.h>
#include "pins_arduino.h"
+ Include dependency graph for eagle_Twi.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TWI_FREQ   100000L
 
#define TWI_BUFFER_LENGTH   32
 
#define TWI_READY   0
 
#define TWI_MRX   1
 
#define TWI_MTX   2
 
#define TWI_SRX   3
 
#define TWI_STX   4
 
#define TWI_READY   0
 
#define TWI_MRX   1
 
#define TWI_MTX   2
 
#define TWI_SRX   3
 
#define TWI_STX   4
 
#define cbi(sfr, bit)   (_SFR_BYTE(sfr) &= ~_BV(bit))
 
#define sbi(sfr, bit)   (_SFR_BYTE(sfr) |= _BV(bit))
 

Functions

void twi_init (void)
 
void twi_disable (void)
 
void twi_setAddress (uint8_t)
 
void twi_setFrequency (uint32_t)
 
uint8_t twi_readFrom (uint8_t, uint8_t *, uint8_t, uint8_t)
 
uint8_t twi_writeTo (uint8_t, uint8_t *, uint8_t, uint8_t, uint8_t)
 
uint8_t twi_transmit (const uint8_t *, uint8_t)
 
void twi_attachSlaveRxEvent (void(*)(uint8_t *, int))
 
void twi_attachSlaveTxEvent (void(*)(void))
 
void twi_reply (uint8_t)
 
void twi_stop (void)
 
void twi_releaseBus (void)
 

Variables

static volatile uint8_t twi_state
 
static volatile uint8_t twi_slarw
 
static volatile uint8_t twi_sendStop
 
static volatile uint8_t twi_inRepStart
 
static void(* twi_onSlaveTransmit )(void)
 
static void(* twi_onSlaveReceive )(uint8_t *, int)
 
static uint8_t twi_masterBuffer [32]
 
static volatile uint8_t twi_masterBufferIndex
 
static volatile uint8_t twi_masterBufferLength
 
static uint8_t twi_txBuffer [32]
 
static volatile uint8_t twi_txBufferIndex
 
static volatile uint8_t twi_txBufferLength
 
static uint8_t twi_rxBuffer [32]
 
static volatile uint8_t twi_rxBufferIndex
 
static volatile uint8_t twi_error
 

Detailed Description

this file contains the Twi class

Last Updated:

Version
3.2.0a

Definition in file eagle_Twi.h.

Macro Definition Documentation

◆ cbi

#define cbi (   sfr,
  bit 
)    (_SFR_BYTE(sfr) &= ~_BV(bit))

Definition at line 65 of file eagle_Twi.h.

◆ sbi

#define sbi (   sfr,
  bit 
)    (_SFR_BYTE(sfr) |= _BV(bit))

Definition at line 69 of file eagle_Twi.h.

◆ TWI_BUFFER_LENGTH

#define TWI_BUFFER_LENGTH   32

Definition at line 27 of file eagle_Twi.h.

◆ TWI_FREQ

#define TWI_FREQ   100000L

Definition at line 17 of file eagle_Twi.h.

◆ TWI_MRX [1/2]

#define TWI_MRX   1

Definition at line 54 of file eagle_Twi.h.

◆ TWI_MRX [2/2]

#define TWI_MRX   1

Definition at line 54 of file eagle_Twi.h.

◆ TWI_MTX [1/2]

#define TWI_MTX   2

Definition at line 55 of file eagle_Twi.h.

◆ TWI_MTX [2/2]

#define TWI_MTX   2

Definition at line 55 of file eagle_Twi.h.

◆ TWI_READY [1/2]

#define TWI_READY   0

Definition at line 53 of file eagle_Twi.h.

◆ TWI_READY [2/2]

#define TWI_READY   0

Definition at line 53 of file eagle_Twi.h.

◆ TWI_SRX [1/2]

#define TWI_SRX   3

Definition at line 56 of file eagle_Twi.h.

◆ TWI_SRX [2/2]

#define TWI_SRX   3

Definition at line 56 of file eagle_Twi.h.

◆ TWI_STX [1/2]

#define TWI_STX   4

Definition at line 57 of file eagle_Twi.h.

◆ TWI_STX [2/2]

#define TWI_STX   4

Definition at line 57 of file eagle_Twi.h.

Function Documentation

◆ twi_attachSlaveRxEvent()

void twi_attachSlaveRxEvent ( void(*)(uint8_t *, int)  )

◆ twi_attachSlaveTxEvent()

void twi_attachSlaveTxEvent ( void(*)(void)  )

◆ twi_disable()

void twi_disable ( void  )

◆ twi_init()

void twi_init ( void  )

◆ twi_readFrom()

uint8_t twi_readFrom ( uint8_t  ,
uint8_t *  ,
uint8_t  ,
uint8_t   
)

◆ twi_releaseBus()

void twi_releaseBus ( void  )

◆ twi_reply()

void twi_reply ( uint8_t  )

◆ twi_setAddress()

void twi_setAddress ( uint8_t  )

◆ twi_setFrequency()

void twi_setFrequency ( uint32_t  )

◆ twi_stop()

void twi_stop ( void  )

◆ twi_transmit()

uint8_t twi_transmit ( const uint8_t *  ,
uint8_t   
)

◆ twi_writeTo()

uint8_t twi_writeTo ( uint8_t  ,
uint8_t *  ,
uint8_t  ,
uint8_t  ,
uint8_t   
)

Variable Documentation

◆ twi_error

volatile uint8_t twi_error
static

Definition at line 93 of file eagle_Twi.h.

◆ twi_inRepStart

volatile uint8_t twi_inRepStart
static

Definition at line 77 of file eagle_Twi.h.

◆ twi_masterBuffer

uint8_t twi_masterBuffer[32]
static

Definition at line 82 of file eagle_Twi.h.

◆ twi_masterBufferIndex

volatile uint8_t twi_masterBufferIndex
static

Definition at line 83 of file eagle_Twi.h.

◆ twi_masterBufferLength

volatile uint8_t twi_masterBufferLength
static

Definition at line 84 of file eagle_Twi.h.

◆ twi_onSlaveReceive

void(* twi_onSlaveReceive) (uint8_t *, int)
static

Definition at line 80 of file eagle_Twi.h.

◆ twi_onSlaveTransmit

void(* twi_onSlaveTransmit) (void)
static

Definition at line 79 of file eagle_Twi.h.

◆ twi_rxBuffer

uint8_t twi_rxBuffer[32]
static

Definition at line 90 of file eagle_Twi.h.

◆ twi_rxBufferIndex

volatile uint8_t twi_rxBufferIndex
static

Definition at line 91 of file eagle_Twi.h.

◆ twi_sendStop

volatile uint8_t twi_sendStop
static

Definition at line 76 of file eagle_Twi.h.

◆ twi_slarw

volatile uint8_t twi_slarw
static

Definition at line 75 of file eagle_Twi.h.

◆ twi_state

volatile uint8_t twi_state
static

Definition at line 74 of file eagle_Twi.h.

◆ twi_txBuffer

uint8_t twi_txBuffer[32]
static

Definition at line 86 of file eagle_Twi.h.

◆ twi_txBufferIndex

volatile uint8_t twi_txBufferIndex
static

Definition at line 87 of file eagle_Twi.h.

◆ twi_txBufferLength

volatile uint8_t twi_txBufferLength
static

Definition at line 88 of file eagle_Twi.h.