CryptoAuthLib
Microchip CryptoAuthentication Library
hal_all_platforms_kit_hidapi.c File Reference

HAL for kit protocol over HID for any platform. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "hidapi.h"
#include "atca_hal.h"
#include "hal_all_platforms_kit_hidapi.h"
#include "hal/kit_protocol.h"

Functions

ATCA_STATUS hal_kit_hid_discover_buses (int i2c_buses[], int max_buses)
 discover cdc buses available for this hardware this maintains a list of logical to physical bus mappings freeing the application of the a-priori knowledge More...
 
ATCA_STATUS hal_kit_hid_discover_devices (int bus_num, ATCAIfaceCfg cfg[], int *found)
 discover any CryptoAuth devices on a given logical bus number More...
 
ATCA_STATUS hal_kit_hid_init (void *hal, ATCAIfaceCfg *cfg)
 HAL implementation of Kit USB HID init. More...
 
ATCA_STATUS hal_kit_hid_post_init (ATCAIface iface)
 HAL implementation of Kit HID post init. More...
 
ATCA_STATUS kit_phy_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS kit_phy_receive (ATCAIface iface, uint8_t *rxdata, int *rxsize)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS kit_phy_num_found (int8_t *num_found)
 Number of USB HID devices found. More...
 
ATCA_STATUS hal_kit_hid_send (ATCAIface iface, uint8_t *txdata, int txlength)
 HAL implementation of kit protocol send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_receive (ATCAIface iface, uint8_t *rxdata, uint16_t *rxsize)
 HAL implementation of send over USB HID. More...
 
ATCA_STATUS hal_kit_hid_wake (ATCAIface iface)
 Call the wake for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_idle (ATCAIface iface)
 Call the idle for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_sleep (ATCAIface iface)
 Call the sleep for kit protocol. More...
 
ATCA_STATUS hal_kit_hid_release (void *hal_data)
 Close the physical port for HID. More...
 

Variables

atcahid_t _gHid
 

Detailed Description

HAL for kit protocol over HID for any platform.