CryptoAuthLib
Atmel CryptoAuthentication Library
hal_swi_bitbang.c File Reference

ATCA Hardware abstraction layer for SWI bit banging. More...

#include <asf.h>
#include <string.h>
#include <stdio.h>
#include "atca_hal.h"
#include "hal_swi_bitbang.h"

Functions

ATCA_STATUS hal_swi_init (void *hal, ATCAIfaceCfg *cfg)
 hal_swi_init manages requests to initialize a physical interface. It manages use counts so when an interface has released the physical layer, it will disable the interface for some other use. You can have multiple ATCAIFace instances using the same bus, and you can have multiple ATCAIFace instances on multiple swi buses, so hal_swi_init manages these things and ATCAIFace is abstracted from the physical details. More...
 
ATCA_STATUS hal_swi_post_init (ATCAIface iface)
 HAL implementation of SWI post init. More...
 
ATCA_STATUS hal_swi_send (ATCAIface iface, uint8_t *txdata, int txlength)
 Send byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxlength)
 Receive byte(s) via SWI. More...
 
ATCA_STATUS hal_swi_wake (ATCAIface iface)
 Send Wake flag via SWI. More...
 
ATCA_STATUS hal_swi_idle (ATCAIface iface)
 Send Idle flag via SWI. More...
 
ATCA_STATUS hal_swi_sleep (ATCAIface iface)
 Send Sleep flag via SWI. More...
 
ATCA_STATUS hal_swi_release (void *hal_data)
 Manages reference count on given bus and releases resource if no more reference(s) exist. More...
 

Variables

ATCASWIMaster_tswi_hal_data [MAX_SWI_BUSES]
 Logical to physical bus mapping structure. More...
 
int swi_bus_ref_ct = 0
 total in-use count across buses More...
 

Detailed Description

ATCA Hardware abstraction layer for SWI bit banging.

Copyright (c) 2015 Atmel Corporation. All rights reserved.