CryptoAuthLib
Atmel CryptoAuthentication Library
swi_bitbang_at88ck9000.h
Go to the documentation of this file.
1 
44 #ifndef SWI_BITBANG_AT88CK9000_H_
45 #define SWI_BITBANG_AT88CK9000_H_
46 
47 #include "atca_status.h"
48 #include "timer_utilities.h"
49 
50 
51 #define MAX_SWI_BUSES 10
52 
53 
54 typedef struct
55 {
57 } SWIBuses;
58 
60 
61 
68 #define BIT_DELAY_1L delay_us(3)
71 #define BIT_DELAY_1H delay_us(3)
73 
76 #define BIT_DELAY_5 delay_us(24) // considering pin set delay
77 
80 #define BIT_DELAY_7 delay_us(32) // considering pin set delay
81 
84 #define RX_TX_DELAY delay_us(14)
85 
89 #define START_PULSE_TIME_OUT (255)
90 
101 #define ZERO_PULSE_TIME_OUT (26)
102 
112 void swi_set_pin(uint8_t id);
113 
117 void swi_enable(void);
118 
122 void swi_disable(void);
123 
129 void swi_set_signal_pin(uint8_t is_high);
130 
134 void swi_send_wake_token(void);
135 
142 void swi_send_bytes(uint8_t count, uint8_t *buffer);
143 
149 void swi_send_byte(uint8_t byte);
150 
159 ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer);
160 
161 #endif /* SWI_BITBANG_AT88CK9000_H_ */
ATCA_STATUS
Definition: atca_status.h:55
void swi_enable(void)
Configure GPIO pin for SWI signal as output.
Definition: swi_bitbang_at88ck9000.c:62
void swi_disable(void)
Configure GPIO pin for SWI signal as input.
Definition: swi_bitbang_at88ck9000.c:67
void swi_set_signal_pin(uint8_t is_high)
Set signal pin Low or High.
Definition: swi_bitbang_at88ck9000.c:73
void swi_send_bytes(uint8_t count, uint8_t *buffer)
Send a number of bytes.
Definition: swi_bitbang_at88ck9000.c:92
void swi_set_pin(uint8_t id)
Set SWI signal pin. Other functions will use this pin.
Definition: swi_bitbang_at88ck9000.c:57
#define MAX_SWI_BUSES
AT88CK9000 has 10 sets of GPIO pin dedicated for SWI.
Definition: swi_bitbang_at88ck9000.h:51
uint32_t pin_sda
Definition: i2c_bitbang_at88ck9000.c:54
void swi_send_byte(uint8_t byte)
Send one byte.
Definition: swi_bitbang_at88ck9000.c:127
Atmel Crypto Auth status codes.
void swi_send_wake_token(void)
Send a Wake Token.
Definition: swi_bitbang_at88ck9000.c:85
Definition: swi_bitbang_at88ck9000.h:54
ATCA_STATUS swi_receive_bytes(uint8_t count, uint8_t *buffer)
Receive a number of bytes.
Definition: swi_bitbang_at88ck9000.c:132
SWIBuses swi_buses_default
Definition: swi_bitbang_at88ck9000.c:49