modbluetooth_card10.h 10.47 KiB
#pragma once
/*
* card10 related BLE defines. They are taken from the cordio (not card10!)
* BLE stack which is used by the card10.
*/
#define ATT_SUCCESS 0x00 /*!< \brief Operation successful */
#define ATT_ERR_HANDLE 0x01 /*!< \brief Invalid handle */
#define ATT_ERR_READ 0x02 /*!< \brief Read not permitted */
#define ATT_ERR_WRITE 0x03 /*!< \brief Write not permitted */
#define ATT_ERR_INVALID_PDU 0x04 /*!< \brief Invalid pdu */
#define ATT_ERR_AUTH 0x05 /*!< \brief Insufficient authentication */
#define ATT_ERR_NOT_SUP 0x06 /*!< \brief Request not supported */
#define ATT_ERR_OFFSET 0x07 /*!< \brief Invalid offset */
#define ATT_ERR_AUTHOR 0x08 /*!< \brief Insufficient authorization */
#define ATT_ERR_QUEUE_FULL 0x09 /*!< \brief Prepare queue full */
#define ATT_ERR_NOT_FOUND 0x0A /*!< \brief Attribute not found */
#define ATT_ERR_NOT_LONG 0x0B /*!< \brief Attribute not long */
#define ATT_ERR_KEY_SIZE 0x0C /*!< \brief Insufficient encryption key size */
#define ATT_ERR_LENGTH 0x0D /*!< \brief Invalid attribute value length */
#define ATT_ERR_UNLIKELY 0x0E /*!< \brief Other unlikely error */
#define ATT_ERR_ENC 0x0F /*!< \brief Insufficient encryption */
#define ATT_ERR_GROUP_TYPE 0x10 /*!< \brief Unsupported group type */
#define ATT_ERR_RESOURCES 0x11 /*!< \brief Insufficient resources */
#define ATT_ERR_DATABASE_OUT_OF_SYNC \
0x12 /*!< \brief Client out of synch with database */
#define ATT_ERR_VALUE_NOT_ALLOWED 0x13 /*!< \brief Value not allowed */
#define ATT_ERR_WRITE_REJ 0xFC /*!< \brief Write request rejected */
#define ATT_ERR_CCCD 0xFD /*!< \brief CCCD improperly configured */
#define ATT_ERR_IN_PROGRESS 0xFE /*!< \brief Procedure already in progress */
#define ATT_ERR_RANGE 0xFF /*!< \brief Value out of range */
/**@}*/
/** \name Proprietary Internal Error Codes
* These codes may be sent to application but are not present in any ATT PDU.
*/
/**@{*/
#define ATT_ERR_MEMORY 0x70 /*!< \brief Out of memory */
#define ATT_ERR_TIMEOUT 0x71 /*!< \brief Transaction timeout */
#define ATT_ERR_OVERFLOW 0x72 /*!< \brief Transaction overflow */
#define ATT_ERR_INVALID_RSP 0x73 /*!< \brief Invalid response PDU */
#define ATT_ERR_CANCELLED 0x74 /*!< \brief Request cancelled */
#define ATT_ERR_UNDEFINED 0x75 /*!< \brief Other undefined error */
#define ATT_ERR_REQ_NOT_FOUND \
0x76 /*!< \brief Required characteristic not found */
#define ATT_ERR_MTU_EXCEEDED \
0x77 /*!< \brief Attribute PDU length exceeded MTU size */
#define ATT_CONTINUING 0x78 /*!< \brief Procedure continuing */
#define ATT_RSP_PENDING \
0x79 /*!< \brief Responsed delayed pending higher layer */
#define DM_CBACK_START 0x20 /*!< \brief DM callback event starting value */
/*! \brief DM callback events */
enum { DM_RESET_CMPL_IND = DM_CBACK_START, /*!< \brief Reset complete */
DM_ADV_START_IND, /*!< \brief Advertising started */
DM_ADV_STOP_IND, /*!< \brief Advertising stopped */
DM_ADV_NEW_ADDR_IND, /*!< \brief New resolvable address has been generated */
DM_SCAN_START_IND, /*!< \brief Scanning started */
DM_SCAN_STOP_IND, /*!< \brief Scanning stopped */
DM_SCAN_REPORT_IND, /*!< \brief Scan data received from peer device */
DM_CONN_OPEN_IND, /*!< \brief Connection opened */
DM_CONN_CLOSE_IND, /*!< \brief Connection closed */
DM_CONN_UPDATE_IND, /*!< \brief Connection update complete */
DM_SEC_PAIR_CMPL_IND, /*!< \brief Pairing completed successfully */
DM_SEC_PAIR_FAIL_IND, /*!< \brief Pairing failed or other security failure */
DM_SEC_ENCRYPT_IND, /*!< \brief Connection encrypted */
DM_SEC_ENCRYPT_FAIL_IND, /*!< \brief Encryption failed */
DM_SEC_AUTH_REQ_IND, /*!< \brief PIN or OOB data requested for pairing */
DM_SEC_KEY_IND, /*!< \brief Security key indication */
DM_SEC_LTK_REQ_IND, /*!< \brief LTK requested for encyption */
DM_SEC_PAIR_IND, /*!< \brief Incoming pairing request from master */
DM_SEC_SLAVE_REQ_IND, /*!< \brief Incoming security request from slave */
DM_SEC_CALC_OOB_IND, /*!< \brief Result of OOB Confirm Calculation Generation */
DM_SEC_ECC_KEY_IND, /*!< \brief Result of ECC Key Generation */
DM_SEC_COMPARE_IND, /*!< \brief Result of Just Works/Numeric Comparison Compare Value Calculation */
DM_SEC_KEYPRESS_IND, /*!< \brief Keypress indication from peer in passkey security */
DM_PRIV_RESOLVED_ADDR_IND, /*!< \brief Private address resolved */
DM_PRIV_GENERATE_ADDR_IND, /*!< \brief Private resolvable address generated */
DM_CONN_READ_RSSI_IND, /*!< \brief Connection RSSI read */
DM_PRIV_ADD_DEV_TO_RES_LIST_IND, /*!< \brief Device added to resolving list */
DM_PRIV_REM_DEV_FROM_RES_LIST_IND, /*!< \brief Device removed from resolving list */
DM_PRIV_CLEAR_RES_LIST_IND, /*!< \brief Resolving list cleared */
DM_PRIV_READ_PEER_RES_ADDR_IND, /*!< \brief Peer resolving address read */
DM_PRIV_READ_LOCAL_RES_ADDR_IND, /*!< \brief Local resolving address read */
DM_PRIV_SET_ADDR_RES_ENABLE_IND, /*!< \brief Address resolving enable set */
DM_REM_CONN_PARAM_REQ_IND, /*!< \brief Remote connection parameter requested */
DM_CONN_DATA_LEN_CHANGE_IND, /*!< \brief Data length changed */
DM_CONN_WRITE_AUTH_TO_IND, /*!< \brief Write authenticated payload complete */
DM_CONN_AUTH_TO_EXPIRED_IND, /*!< \brief Authenticated payload timeout expired */
DM_PHY_READ_IND, /*!< \brief Read PHY */
DM_PHY_SET_DEF_IND, /*!< \brief Set default PHY */
DM_PHY_UPDATE_IND, /*!< \brief PHY update */
DM_ADV_SET_START_IND, /*!< \brief Advertising set(s) started */
DM_ADV_SET_STOP_IND, /*!< \brief Advertising set(s) stopped */
DM_SCAN_REQ_RCVD_IND, /*!< \brief Scan request received */
DM_EXT_SCAN_START_IND, /*!< \brief Extended scanning started */
DM_EXT_SCAN_STOP_IND, /*!< \brief Extended scanning stopped */
DM_EXT_SCAN_REPORT_IND, /*!< \brief Extended scan data received from peer device */
DM_PER_ADV_SET_START_IND, /*!< \brief Periodic advertising set started */
DM_PER_ADV_SET_STOP_IND, /*!< \brief Periodic advertising set stopped */
DM_PER_ADV_SYNC_EST_IND, /*!< \brief Periodic advertising sync established */
DM_PER_ADV_SYNC_EST_FAIL_IND, /*!< \brief Periodic advertising sync establishment failed */
DM_PER_ADV_SYNC_LOST_IND, /*!< \brief Periodic advertising sync lost */
DM_PER_ADV_SYNC_TRSF_EST_IND, /*!< \brief Periodic advertising sync transfer established */
DM_PER_ADV_SYNC_TRSF_EST_FAIL_IND, /*!< \brief Periodic advertising sync transfer establishment failed */
DM_PER_ADV_SYNC_TRSF_IND, /*!< \brief Periodic advertising sync info transferred */
DM_PER_ADV_SET_INFO_TRSF_IND, /*!< \brief Periodic advertising set sync info transferred */
DM_PER_ADV_REPORT_IND, /*!< \brief Periodic advertising data received from peer device */
DM_REMOTE_FEATURES_IND, /*!< \brief Remote features from peer device */
DM_READ_REMOTE_VER_INFO_IND, /*!< \brief Remote LL version information read */
DM_CONN_IQ_REPORT_IND, /*!< \brief IQ samples from CTE of received packet from peer device */
DM_CTE_REQ_FAIL_IND, /*!< \brief CTE request failed */
DM_CONN_CTE_RX_SAMPLE_START_IND, /*!< \brief Sampling received CTE started */
DM_CONN_CTE_RX_SAMPLE_STOP_IND, /*!< \brief Sampling received CTE stopped */
DM_CONN_CTE_TX_CFG_IND, /*!< \brief Connection CTE transmit parameters configured */
DM_CONN_CTE_REQ_START_IND, /*!< \brief Initiating connection CTE request started */
DM_CONN_CTE_REQ_STOP_IND, /*!< \brief Initiating connection CTE request stopped */
DM_CONN_CTE_RSP_START_IND, /*!< \brief Responding to connection CTE request started */
DM_CONN_CTE_RSP_STOP_IND, /*!< \brief Responding to connection CTE request stopped */
DM_READ_ANTENNA_INFO_IND, /*!< \brief Antenna information read */
DM_L2C_CMD_REJ_IND, /*!< \brief L2CAP Command Reject */
DM_ERROR_IND, /*!< \brief General error */
DM_HW_ERROR_IND, /*!< \brief Hardware error */
DM_VENDOR_SPEC_IND /*!< \brief Vendor specific event */
};
/** \name ATT Callback Events
* Events related to ATT transactions.
*/
/**@{*/
#define ATT_CBACK_START 0x02 /*!< \brief ATT callback event starting value */
/*! \brief ATT client callback events */
enum /*!< \brief Internal note: event values match method values */
{
ATTC_FIND_INFO_RSP = ATT_CBACK_START, /*!< \brief Find information response */
ATTC_FIND_BY_TYPE_VALUE_RSP, /*!< \brief Find by type value response */
ATTC_READ_BY_TYPE_RSP, /*!< \brief Read by type value response */
ATTC_READ_RSP, /*!< \brief Read response */
ATTC_READ_LONG_RSP, /*!< \brief Read long response */
ATTC_READ_MULTIPLE_RSP, /*!< \brief Read multiple response */
ATTC_READ_BY_GROUP_TYPE_RSP, /*!< \brief Read group type response */
ATTC_WRITE_RSP, /*!< \brief Write response */
ATTC_WRITE_CMD_RSP, /*!< \brief Write command response */
ATTC_PREPARE_WRITE_RSP, /*!< \brief Prepare write response */
ATTC_EXECUTE_WRITE_RSP, /*!< \brief Execute write response */
ATTC_HANDLE_VALUE_NTF, /*!< \brief Handle value notification */
ATTC_HANDLE_VALUE_IND, /*!< \brief Handle value indication */
/* ATT server callback events */
ATTS_HANDLE_VALUE_CNF, /*!< \brief Handle value confirmation */
ATTS_CCC_STATE_IND, /*!< \brief Client chracteristic configuration state change */
ATTS_DB_HASH_CALC_CMPL_IND, /*!< \brief Database hash calculation complete */
/* ATT common callback events */
ATT_MTU_UPDATE_IND /*!< \brief Negotiated MTU value */
};
/*! \brief ATT callback events */
#define ATT_CBACK_END ATT_MTU_UPDATE_IND /*!< \brief ATT callback event ending value */
/**@}*/