#include "twim.h"
Functions | |
ISR (twim_master_interrupt_handler, CONF_TWIM_IRQ_GROUP, CONF_TWIM_IRQ_LEVEL) | |
TWI interrupt handler. More... | |
status_code_t | twim_chained_transfer (volatile avr32_twim_t *twim, volatile twim_transfer_t *first, volatile twim_transfer_t *second, bool tenbit) |
Perform Chained transfers to a TWI compatible slave device. More... | |
void | twim_disable_interrupt (volatile avr32_twim_t *twim) |
Disable the TWI interrupts and clear its status register. More... | |
status_code_t | twim_master_init (volatile avr32_twim_t *twim, const twim_options_t *opt) |
Initialize the twi master module. More... | |
status_code_t | twim_probe (volatile avr32_twim_t *twim, uint32_t chip_addr) |
Test if a chip answers for a given twi address. More... | |
status_code_t | twim_read (volatile avr32_twim_t *twim, uint8_t *buffer, uint32_t nbytes, uint32_t saddr, bool tenbit) |
Read multiple bytes from a TWI compatible slave device. More... | |
status_code_t | twim_read_packet (volatile avr32_twim_t *twim, const twim_package_t *package) |
Read multiple bytes from a TWI compatible slave device. More... | |
status_code_t | twim_set_speed (volatile avr32_twim_t *twim, uint32_t speed, uint32_t pba_hz) |
Set the twim bus speed in conjunction with the clock frequency. More... | |
uint8_t | twim_status (void) |
Information about the current status of the TWI Bus. More... | |
status_code_t | twim_write (volatile avr32_twim_t *twim, uint8_t const *buffer, uint32_t nbytes, uint32_t saddr, bool tenbit) |
Write multiple bytes to a TWI compatible slave device. More... | |
status_code_t | twim_write_packet (volatile avr32_twim_t *twim, const twim_package_t *package) |
Write multiple bytes to a TWI compatible slave device. More... | |
Variables | |
static volatile twim_transfer_status_t | transfer_status |
static volatile avr32_twim_t * | twim_inst |
static volatile uint32_t | twim_it_mask |
static volatile bool | twim_next =false |
static volatile const twim_package_t * | twim_package |
static volatile uint8_t * | twim_rx_data = NULL |
static volatile uint32_t | twim_rx_nb_bytes = 0 |
static const volatile uint8_t * | twim_tx_data = NULL |
static volatile uint32_t | twim_tx_nb_bytes = 0 |
ISR | ( | twim_master_interrupt_handler | , |
CONF_TWIM_IRQ_GROUP | , | ||
CONF_TWIM_IRQ_LEVEL | |||
) |
TWI interrupt handler.
References AVR32_TWIM_IER_NAK_MASK, AVR32_TWIM_SR_STD_MASK, twim_package_t::buffer, twim_package_t::length, status, transfer_status, TWI_ARBITRATION_LOST, TWI_RECEIVE_NACK, twim_inst, twim_it_mask, twim_next, twim_rx_data, twim_rx_nb_bytes, twim_tx_data, and twim_tx_nb_bytes.
|
static |
Status of the bus transfer
Referenced by ISR(), twim_chained_transfer(), twim_master_init(), twim_read(), twim_read_packet(), twim_write(), and twim_write_packet().
|
static |
Pointer to the instance 1 of the TWIM registers for IT.
Referenced by ISR(), twim_chained_transfer(), twim_read(), twim_read_packet(), twim_status(), twim_write(), and twim_write_packet().
|
static |
IT mask.
Referenced by ISR(), twim_read(), twim_read_packet(), twim_write(), and twim_write_packet().
If Internal Address access is used
Referenced by ISR(), twim_chained_transfer(), twim_read(), twim_read_packet(), twim_write(), and twim_write_packet().
|
static |
Pointer to twim package
|
static |
Pointer to the applicative TWI receive buffer.
Referenced by ISR(), twim_chained_transfer(), twim_read(), and twim_read_packet().
|
static |
Remaining number of bytes to receive.
Referenced by ISR(), twim_read(), and twim_read_packet().
|
static |
Pointer to the applicative TWI transmit buffer.
Referenced by ISR(), twim_chained_transfer(), twim_read_packet(), twim_write(), and twim_write_packet().
|
static |
Remaining number of bytes to transmit.
Referenced by ISR(), twim_chained_transfer(), twim_read_packet(), twim_write(), and twim_write_packet().