/**
 * @file
 * This are ASK 125kHz card commands.
 */
/**
 * @file
 * @defgroup baltech_api Baltech API
 * @{
 */
#ifndef __BRP_BALTECH_API_CMDS_ASK_H__
#define __BRP_BALTECH_API_CMDS_ASK_H__
#include "../typedefs.h"
/**
 * No Tag.
 */
#define BRP_ASK_ErrAskNoTag BRP_ERR_STATUS(0x3600, 0x01)
/**
 * Wrong length or wrong data.
 */
#define BRP_ASK_ErrAskRxdata BRP_ERR_STATUS(0x3600, 0x03)
/**
 * Parity error.
 */
#define BRP_ASK_ErrAskParity BRP_ERR_STATUS(0x3600, 0x05)
/**
 * Wrong command param (on HF).
 */
#define BRP_ASK_ErrAskParam BRP_ERR_STATUS(0x3600, 0x07)
/**
 * Another task requested control over HF via hf_request_control.
 */
#define BRP_ASK_ErrAskHfreqctrl BRP_ERR_STATUS(0x3600, 0x08)
/**
 * Missing Platform ID or Readerchip error.
 */
#define BRP_ASK_ErrAskHw BRP_ERR_STATUS(0x3600, 0x09)
/**
 * Hardware not supported.
 */
#define BRP_ASK_ErrAskHwNotSupported BRP_ERR_STATUS(0x3600, 0x0B)
/**
 * Returns data of SecuraKey tags (read only tag).
 * 
 * @param[in] protocol used to execute the command
 * @param[out] Data SecuraKey data.
 * @param[out] Data_len 
 * @param[in] mempool is used to store response data. Maybe NULL to use an internal mempool, in this case the data is only available until another command uses the internal mempool
 */
brp_errcode brp_ASK_SecuraKeyRead(brp_protocol protocol, brp_buf* Data, size_t* Data_len, brp_mempool *mempool);
/**
 * Returns data of G-Prox tags (read only tag).
 * 
 * @param[in] protocol used to execute the command
 * @param[out] Data G-Prox data.
 * @param[out] Data_len 
 * @param[in] mempool is used to store response data. Maybe NULL to use an internal mempool, in this case the data is only available until another command uses the internal mempool
 */
brp_errcode brp_ASK_GproxRead(brp_protocol protocol, brp_buf* Data, size_t* Data_len, brp_mempool *mempool);
/**
 * Returns data of Cotag tags (read only tag).
 * 
 * @param[in] protocol used to execute the command
 * @param[out] Data Cotag data.
 * @param[out] Data_len 
 * @param[in] mempool is used to store response data. Maybe NULL to use an internal mempool, in this case the data is only available until another command uses the internal mempool
 */
brp_errcode brp_ASK_CotagRead(brp_protocol protocol, brp_buf* Data, size_t* Data_len, brp_mempool *mempool);
#endif
/**
 * @}
 */