Alert Notification Profile declarations.
Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | app_anp_data |
struct | time_val |
time data structure More... | |
Macros | |
#define | AD_TYPE_128BIT_UUID_LEN (16) |
#define | AD_TYPE_16BIT_UUID_LEN (2) |
ADV type UUID Type & Length. More... | |
#define | AD_TYPE_32BIT_UUID_LEN (4) |
#define | ADV_TYPE_LEN (0x1) |
#define | ANCS_CHAR_CONTROL_POINT "\xD9\xD9\xAA\xFD\xBD\x9B\x21\x98\xA8\x49\xE1\x45\xF3\xD8\xD1\x69" |
#define | ANCS_CHAR_DATA_SOURCE "\xFB\x7B\x7C\xCE\x6A\xB3\x44\xBE\xB5\x4B\xD6\x24\xE9\xC6\xEA\x22" |
#define | ANCS_CHAR_NOTIFICATION_SOURCE_UUID "\xBD\x1D\xA2\x99\xE6\x25\x58\x8C\xD9\x42\x01\x63\x0D\x12\xBF\x9F" |
#define | ANP_ADV_DATA_APPEARANCE_DATA ("\x00\x40") |
#define | ANP_ADV_DATA_APPEARANCE_LEN (2) |
Appearance type & Length. More... | |
#define | ANP_ADV_DATA_APPEARANCE_TYPE (0x19) |
#define | ANP_ADV_DATA_NAME_DATA ("AT-ANS") |
#define | ANP_ADV_DATA_NAME_LEN (6) |
Advertisement Name Type Length & data. More... | |
#define | ANP_ADV_DATA_NAME_TYPE (0x9) |
#define | ANP_ADV_DATA_SERVSOLICITATION_128UUID_TYPE (0x15) |
#define | ANP_ADV_DATA_SERVSOLICITATION_16UUID_TYPE (0x14) |
#define | ANP_MAX_CHARACTERISTIC (3) |
No of Characteristics and No of decriptors. More... | |
#define | ANP_MAX_DESCRIPTOR (3) |
#define | ANP_SOLICITATION_LEN (16) |
ANCS Service Solicitation Info. More... | |
#define | APP_ANP_ADV_TIMEOUT (655) |
APP_ANP_ADV_TIMEOUT Advertising time-out between 0x0001 and 0x028F in seconds, 0x0000 disables time-out. More... | |
#define | APP_ANP_FAST_ADV (160) |
Advertisement Interval. More... | |
#define | AT_DISCOVER_SUCCESS (10) |
#define | CATEGORY_ID_INCOMINGCALL (1) |
Alert Types. More... | |
#define | CATEGORY_ID_MISSEDCALL (2) |
#define | END_HANDLE (0xFFFF) |
#define | FALSE (0) |
True False. More... | |
#define | NOTIFICATION_ADDED (0) |
Notification status. More... | |
#define | NOTIFICATION_REMOVED (2) |
#define | SCAN_RESP_LEN (10) |
Scan Response length. More... | |
#define | START_HANDLE (0x1) |
start and end handle More... | |
#define | TRUE (1) |
Typedefs | |
typedef struct app_anp_data | app_anp_data_t |
typedef struct time_val | time_val_t |
time data structure More... | |
Enumerations | |
enum | ble_discovery_role { DISCOVER_IDLE = 0, DISCOVER_SERVICE, DISCOVER_INCLUDE_SERVICE, DISCOVER_CHARACTERISTIC, DISCOVER_DESCRIPTOR } |
type of attribute discovery More... | |
Functions | |
void | anp_client_adv (void) |
does all the profile initialization and starts the advertisement More... | |
void | anp_client_char_changed_handler (at_ble_characteristic_changed_t *params) |
Handler for char changed handler. More... | |
at_ble_status_t | anp_client_characteristic_found_handler (void *params) |
Handler for characteristic found event. More... | |
at_ble_status_t | anp_client_connected_state_handler (void *params) |
Handler for connection event. More... | |
at_ble_status_t | anp_client_descriptor_found_handler (void *params) |
Handler for descriptor found event. More... | |
at_ble_status_t | anp_client_disconnected_event_handler (void *params) |
Handler for disconnection event. More... | |
at_ble_status_t | anp_client_discovery_complete_handler (void *params) |
Handler for discovery complete event. More... | |
void | anp_client_init (void *params) |
Function used for profile initialization and also enable the advertisement. More... | |
at_ble_status_t | anp_client_notification_handler (void *params) |
Handler for notification event. More... | |
at_ble_status_t | anp_client_service_found_handler (void *params) |
Handler for service found event. More... | |
at_ble_status_t | anp_client_write_notification_handler (void *param) |
Handler for enabling the notification. More... | |
at_ble_status_t | anp_client_write_response_handler (void *params) |
Handler for write response. More... | |
void | anp_info_init (void) |
Initialize the profile specific information. More... | |
#define AD_TYPE_128BIT_UUID_LEN (16) |
#define AD_TYPE_16BIT_UUID_LEN (2) |
ADV type UUID Type & Length.
#define AD_TYPE_32BIT_UUID_LEN (4) |
#define ADV_TYPE_LEN (0x1) |
#define ANCS_CHAR_CONTROL_POINT "\xD9\xD9\xAA\xFD\xBD\x9B\x21\x98\xA8\x49\xE1\x45\xF3\xD8\xD1\x69" |
Referenced by anp_client_characteristic_found_handler().
#define ANCS_CHAR_DATA_SOURCE "\xFB\x7B\x7C\xCE\x6A\xB3\x44\xBE\xB5\x4B\xD6\x24\xE9\xC6\xEA\x22" |
Referenced by anp_client_characteristic_found_handler().
#define ANCS_CHAR_NOTIFICATION_SOURCE_UUID "\xBD\x1D\xA2\x99\xE6\x25\x58\x8C\xD9\x42\x01\x63\x0D\x12\xBF\x9F" |
Referenced by anp_client_characteristic_found_handler().
#define ANP_ADV_DATA_APPEARANCE_DATA ("\x00\x40") |
#define ANP_ADV_DATA_APPEARANCE_LEN (2) |
Appearance type & Length.
#define ANP_ADV_DATA_APPEARANCE_TYPE (0x19) |
#define ANP_ADV_DATA_NAME_DATA ("AT-ANS") |
#define ANP_ADV_DATA_NAME_LEN (6) |
Advertisement Name Type Length & data.
#define ANP_ADV_DATA_NAME_TYPE (0x9) |
#define ANP_ADV_DATA_SERVSOLICITATION_128UUID_TYPE (0x15) |
#define ANP_ADV_DATA_SERVSOLICITATION_16UUID_TYPE (0x14) |
#define ANP_MAX_CHARACTERISTIC (3) |
No of Characteristics and No of decriptors.
#define ANP_MAX_DESCRIPTOR (3) |
#define ANP_SOLICITATION_LEN (16) |
ANCS Service Solicitation Info.
#define APP_ANP_ADV_TIMEOUT (655) |
APP_ANP_ADV_TIMEOUT Advertising time-out between 0x0001 and 0x028F in seconds, 0x0000 disables time-out.
Referenced by anp_client_adv().
#define APP_ANP_FAST_ADV (160) |
Advertisement Interval.
This is the reference manual for the Time Information Profile
Referenced by anp_client_adv().
#define AT_DISCOVER_SUCCESS (10) |
Referenced by anp_client_discovery_complete_handler().
#define CATEGORY_ID_INCOMINGCALL (1) |
Alert Types.
Referenced by anp_client_notification_handler().
#define CATEGORY_ID_MISSEDCALL (2) |
#define END_HANDLE (0xFFFF) |
Referenced by anp_client_connected_state_handler().
#define FALSE (0) |
True False.
Referenced by anp_client_disconnected_event_handler(), anp_client_write_notification_handler(), and anp_info_init().
#define NOTIFICATION_ADDED (0) |
Notification status.
Referenced by anp_client_notification_handler().
#define NOTIFICATION_REMOVED (2) |
Referenced by anp_client_notification_handler().
#define SCAN_RESP_LEN (10) |
Scan Response length.
#define START_HANDLE (0x1) |
start and end handle
Referenced by anp_client_connected_state_handler().
#define TRUE (1) |
Referenced by anp_client_discovery_complete_handler(), and anp_client_write_notification_handler().
typedef struct app_anp_data app_anp_data_t |
typedef struct time_val time_val_t |
time data structure
enum ble_discovery_role |
void anp_client_adv | ( | void | ) |
does all the profile initialization and starts the advertisement
does all the profile initialization and starts the advertisement
References APP_ANP_ADV_TIMEOUT, APP_ANP_FAST_ADV, AT_BLE_ADV_FP_ANY, AT_BLE_ADV_GEN_DISCOVERABLE, at_ble_adv_start(), AT_BLE_ADV_TYPE_UNDIRECTED, AT_BLE_SUCCESS, and DBG_LOG.
Referenced by app_disconnected_event_handler(), and main().
void anp_client_char_changed_handler | ( | at_ble_characteristic_changed_t * | params | ) |
Handler for char changed handler.
[in] | characteristic | changed event parameter containing details like characteristic handle,value |
at_ble_status_t anp_client_characteristic_found_handler | ( | void * | params | ) |
Handler for characteristic found event.
[in] | characteristic | found event parameter containing details like characteristic handle,uuid |
References ANCS_CHAR_CONTROL_POINT, ANCS_CHAR_DATA_SOURCE, ANCS_CHAR_NOTIFICATION_SOURCE_UUID, AT_BLE_SUCCESS, at_ble_characteristic_found_t::char_handle, app_anp_data::char_info, at_ble_characteristic_found_t::char_uuid, at_ble_characteristic_found_t::conn_handle, ancs_prf::control_point_char, ancs_prf::data_source_char, DBG_LOG_DEV, ancs_prf::notification_source_char, at_ble_characteristic_found_t::properties, at_ble_uuid_t::uuid, and at_ble_characteristic_found_t::value_handle.
at_ble_status_t anp_client_connected_state_handler | ( | void * | params | ) |
Handler for connection event.
[in] | connected | event parameter containing details like handle |
References ancs_enable(), ancs_prf::ancs_serv, at_ble_primary_service_discover_by_uuid(), AT_BLE_SUCCESS, app_anp_data::conn_params, DBG_LOG, app_anp_data::devicedb, END_HANDLE, at_ble_connected_t::handle, at_ble_primary_service_found_t::service_uuid, and START_HANDLE.
at_ble_status_t anp_client_descriptor_found_handler | ( | void * | params | ) |
Handler for descriptor found event.
[in] | descriptor | found event parameter containing details like descriptor handle,uuid |
References AT_BLE_SUCCESS, at_ble_descriptor_found_t::conn_handle, DBG_LOG_DEV, at_ble_descriptor_found_t::desc_handle, at_ble_descriptor_found_t::desc_uuid, ancs_prf::notification_source_desc, and at_ble_uuid_t::uuid.
at_ble_status_t anp_client_disconnected_event_handler | ( | void * | params | ) |
Handler for disconnection event.
[in] | disconnected | event parameter containing details like handle |
References AT_BLE_SUCCESS, app_anp_data::devicedb, and FALSE.
at_ble_status_t anp_client_discovery_complete_handler | ( | void * | params | ) |
Handler for discovery complete event.
[in] | discovery | complete event which contains result of discovery event |
References ancs_prf::ancs_serv, at_ble_characteristic_discover_all(), at_ble_descriptor_discover_all(), AT_BLE_DISC_ALL_CHAR, AT_BLE_DISC_BY_UUID_SVC, AT_BLE_DISC_DESC_CHAR, AT_BLE_SUCCESS, AT_DISCOVER_SUCCESS, at_ble_characteristic_found_t::char_handle, at_ble_characteristic_found_t::conn_handle, app_anp_data::conn_params, ancs_prf::data_source_char, DBG_LOG, app_anp_data::devicedb, at_ble_primary_service_found_t::end_handle, at_ble_connected_t::handle, ancs_prf::notification_source_char, at_ble_cmd_complete_event_t::operation, at_ble_primary_service_found_t::start_handle, at_ble_cmd_complete_event_t::status, TRUE, and at_ble_characteristic_found_t::value_handle.
void anp_client_init | ( | void * | params | ) |
Function used for profile initialization and also enable the advertisement.
Function used for profile initialization and also enable the advertisement.
References ancs_init(), anp_info_init(), AT_BLE_SUCCESS, ble_advertisement_data_set(), BLE_GAP_EVENT_TYPE, BLE_GATT_CLIENT_EVENT_TYPE, ble_mgr_events_callback_handler(), DBG_LOG, REGISTER_CALL_BACK, and UNUSED.
Referenced by main().
at_ble_status_t anp_client_notification_handler | ( | void * | params | ) |
Handler for notification event.
[in] | notification | received parameter containing the notification value |
References AT_BLE_SUCCESS, CATEGORY_ID_INCOMINGCALL, at_ble_notification_recieved_t::char_value, DBG_LOG, NOTIFICATION_ADDED, and NOTIFICATION_REMOVED.
at_ble_status_t anp_client_service_found_handler | ( | void * | params | ) |
Handler for service found event.
[in] | service | found event parameter containing details like service handle,uuid |
References ancs_prf::ancs_serv, AT_BLE_SUCCESS, at_ble_primary_service_found_t::conn_handle, DBG_LOG_DEV, at_ble_primary_service_found_t::end_handle, and at_ble_primary_service_found_t::start_handle.
at_ble_status_t anp_client_write_notification_handler | ( | void * | param | ) |
Handler for enabling the notification.
References at_ble_characteristic_write(), AT_BLE_FAILURE, AT_BLE_SUCCESS, at_ble_descriptor_found_t::conn_handle, DBG_LOG, at_ble_descriptor_found_t::desc_handle, FALSE, ancs_prf::notification_source_desc, TRUE, and UNUSED.
at_ble_status_t anp_client_write_response_handler | ( | void * | params | ) |
Handler for write response.
[in] | write | response parameter contating the result of write request |
[in] | write | response parameter contacting the result of write request |
References AT_BLE_SUCCESS.
void anp_info_init | ( | void | ) |
Initialize the profile specific information.
Initialize the profile specific information.
References app_anp_data::devicedb, app_anp_data::discover_role, DISCOVER_SERVICE, and FALSE.
Referenced by anp_client_init().