#include <avr32/io.h>
#include "board.h"
#include "print_funcs.h"
#include "gpio.h"
#include "pm.h"
#include "twi.h"
Macros | |
#define | EEPROM_ADDR_LGT 3 |
#define | EEPROM_ADDRESS 0x50 |
#define | PATTERN_TEST_LENGTH (sizeof(test_pattern)/sizeof(U8)) |
Constants to define the sent and received pattern. More... | |
#define | TWI_MEM_ADDR 1 |
#define | TWI_MEM_DATA 2 |
#define | TWI_MEM_IDLE 0 |
#define | TWI_MEM_SIZE 20 |
Defines & Variables to manage a virtual TWI memory. More... | |
#define | TWI_SPEED 50000 |
#define | VIRTUALMEM_ADDR_START 0x123456 |
Functions | |
int | main (void) |
Main function. More... | |
static void | twi_slave_rx (U8 u8_value) |
Manage the received data on TWI. More... | |
static void | twi_slave_stop (void) |
Manage stop transfer reception on TWI. More... | |
static U8 | twi_slave_tx (void) |
Transmit a data on TWI. More... | |
Variables | |
U8 | s_memory [TWI_MEM_SIZE] ={0} |
U8 | s_status_cmd = TWI_MEM_IDLE |
U32 | s_u32_addr |
U8 | s_u8_addr_pos |
const U8 | test_pattern [] |
#define EEPROM_ADDR_LGT 3 |
Referenced by twi_slave_rx().
#define EEPROM_ADDRESS 0x50 |
Referenced by main().
#define PATTERN_TEST_LENGTH (sizeof(test_pattern)/sizeof(U8)) |
Constants to define the sent and received pattern.
#define TWI_MEM_ADDR 1 |
Referenced by twi_slave_rx().
#define TWI_MEM_DATA 2 |
Referenced by twi_slave_rx(), and twi_slave_tx().
#define TWI_MEM_IDLE 0 |
Referenced by twi_slave_rx(), and twi_slave_stop().
#define TWI_MEM_SIZE 20 |
Defines & Variables to manage a virtual TWI memory.
Referenced by twi_slave_rx(), and twi_slave_tx().
#define TWI_SPEED 50000 |
Referenced by main().
#define VIRTUALMEM_ADDR_START 0x123456 |
Referenced by twi_slave_rx(), and twi_slave_tx().
int main | ( | void | ) |
Main function.
References twi_options_t::chip, cpu_irq_enable, EEPROM_ADDRESS, FOSC0, gpio_enable_module(), init_dbg_rs232(), irq_initialize_vectors, opt, twi_options_t::pba_hz, pm_switch_to_osc0(), print_dbg(), twi_slave_fct_t::rx, twi_options_t::speed, status, twi_slave_fct_t::stop, twi_slave_fct, twi_slave_init(), twi_slave_rx(), twi_slave_stop(), twi_slave_tx(), TWI_SPEED, TWI_SUCCESS, and twi_slave_fct_t::tx.
|
static |
Manage the received data on TWI.
References EEPROM_ADDR_LGT, s_memory, s_status_cmd, s_u32_addr, s_u8_addr_pos, TWI_MEM_ADDR, TWI_MEM_DATA, TWI_MEM_IDLE, TWI_MEM_SIZE, and VIRTUALMEM_ADDR_START.
Referenced by main().
|
static |
Manage stop transfer reception on TWI.
References s_status_cmd, and TWI_MEM_IDLE.
Referenced by main().
|
static |
Transmit a data on TWI.
References s_memory, s_status_cmd, s_u32_addr, TWI_MEM_DATA, TWI_MEM_SIZE, and VIRTUALMEM_ADDR_START.
Referenced by main().
U8 s_memory[TWI_MEM_SIZE] ={0} |
Referenced by twi_slave_rx(), and twi_slave_tx().
U8 s_status_cmd = TWI_MEM_IDLE |
Referenced by twi_slave_rx(), twi_slave_stop(), and twi_slave_tx().
U32 s_u32_addr |
Referenced by twi_slave_rx(), and twi_slave_tx().
U8 s_u8_addr_pos |
Referenced by twi_slave_rx().