|
| 1 | +/* |
| 2 | +
|
| 3 | + * \file |
| 4 | + * \brief CryptoAuthLib Basic API methods - a simple crypto authentication API. |
| 5 | + * These methods manage a global ATCADevice object behind the scenes. They also |
| 6 | + * manage the wake/idle state transitions so callers don't need to. |
| 7 | + * |
| 8 | + * \copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries. |
| 9 | + * |
| 10 | + * \page License |
| 11 | + * |
| 12 | + * Subject to your compliance with these terms, you may use Microchip software |
| 13 | + * and any derivatives exclusively with Microchip products. It is your |
| 14 | + * responsibility to comply with third party license terms applicable to your |
| 15 | + * use of third party software (including open source software) that may |
| 16 | + * accompany Microchip software. |
| 17 | + * |
| 18 | + * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER |
| 19 | + * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED |
| 20 | + * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A |
| 21 | + * PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, |
| 22 | + * SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE |
| 23 | + * OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF |
| 24 | + * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE |
| 25 | + * FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL |
| 26 | + * LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED |
| 27 | + * THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR |
| 28 | + * THIS SOFTWARE. |
| 29 | +*/ |
| 30 | + |
| 31 | +#include <stdbool.h> |
| 32 | +#include "CryptoAuth_init.h" |
| 33 | + |
| 34 | +struct atca_command _gmyCommand; |
| 35 | +struct atca_iface _gmyIface; |
| 36 | +struct atca_device _gMyDevice = {&_gmyCommand, &_gmyIface}; |
| 37 | + |
| 38 | +ATCAIfaceCfg secureCfg = { |
| 39 | + .iface_type = ATCA_I2C_IFACE, |
| 40 | + .devtype = ATECC608A, |
| 41 | + .atcai2c.slave_address = 0xB0, |
| 42 | + .atcai2c.bus = 2, |
| 43 | + .atcai2c.baud = 100000, |
| 44 | + .wake_delay = 1560, |
| 45 | + .rx_retries = 20 |
| 46 | +}; |
| 47 | + |
| 48 | + |
| 49 | +bool CryptoAuth_Initialize(void) |
| 50 | +{ |
| 51 | + uint8_t calInitialzeStatus; |
| 52 | + calInitialzeStatus = atcab_init(&secureCfg); |
| 53 | + if (calInitialzeStatus != ATCA_SUCCESS) |
| 54 | + { |
| 55 | + return false; |
| 56 | + } |
| 57 | + else |
| 58 | + { |
| 59 | + atcab_lock_data_slot(0); |
| 60 | + return true; |
| 61 | + } |
| 62 | +} |
| 63 | + |
0 commit comments