Custom Serial Chat Profile.
Copyright (c) 2017-2018 Microchip Technology Inc. and its subsidiaries.
#include <asf.h>
#include "string.h"
#include "ble_utils.h"
#include "ble_manager.h"
#include "cscp.h"
#include "cscs.h"
Functions | |
at_ble_status_t | csc_notification_confirmation_handler (void *params) |
csc_notification_confirmation_handler called by ble manager to give the status of notification sent More... | |
void | csc_prf_buf_init (uint8_t *databuf, uint16_t datalen) |
buffer initialization function More... | |
at_ble_status_t | csc_prf_char_changed_handler (void *params) |
characteristic change handler function More... | |
at_ble_status_t | csc_prf_characteristic_found_handler (void *params) |
characteristic found handler invoked by ble manager More... | |
at_ble_status_t | csc_prf_connected_state_handler (void *params) |
Connection handler invoked by ble manager. More... | |
at_ble_status_t | csc_prf_descriptor_found_handler (void *params) |
client descriptor found handler invoked by ble manager More... | |
void | csc_prf_dev_adv (void) |
device advertisement handler function More... | |
at_ble_status_t | csc_prf_disconnect_event_handler (void *params) |
device disconnected handler function More... | |
at_ble_status_t | csc_prf_discovery_complete_handler (void *params) |
Discovery Complete handler invoked by ble manager. More... | |
void | csc_prf_init (void *param) |
profile initialization function More... | |
at_ble_status_t | csc_prf_notification_handler (void *params) |
invoked by ble manager on receiving notification More... | |
void | csc_prf_send_data (uint8_t *databuf, uint16_t datalen) |
profile send data function More... | |
at_ble_status_t | csc_prf_service_found_handler (void *params) |
Service found handler invoked by ble manager. More... | |
at_ble_status_t | csc_prf_write_notification_handler (void *params) |
invoked by ble manager for setting the notification More... | |
void | notify_recv_ntf_handler (recv_ntf_callback_t recv_ntf_fn) |
to user about the new data received More... | |
Variables | |
app_csc_data_t | app_csc_info |
static const ble_gap_event_cb_t | csc_gap_handle |
static const ble_gatt_client_event_cb_t | csc_gatt_client_handle |
static const ble_gatt_server_event_cb_t | csc_gatt_server_handle |
recv_ntf_callback_t | recv_ntf_cb |
at_ble_status_t csc_notification_confirmation_handler | ( | void * | params | ) |
csc_notification_confirmation_handler called by ble manager to give the status of notification sent
Notification confirmation handler.
[in] | at_ble_cmd_complete_event_t | address of the cmd completion |
References AT_BLE_SUCCESS, DBG_LOG_DEV, and at_ble_cmd_complete_event_t::status.
void csc_prf_buf_init | ( | uint8_t * | databuf, |
uint16_t | datalen | ||
) |
buffer initialization function
CSC profile buffer initialization.
References app_csc_data::buff_len, and app_csc_data::buff_ptr.
at_ble_status_t csc_prf_char_changed_handler | ( | void * | params | ) |
characteristic change handler function
Service characteristic change handler function.
References AT_BLE_SUCCESS.
at_ble_status_t csc_prf_characteristic_found_handler | ( | void * | params | ) |
characteristic found handler invoked by ble manager
Handler for characteristic found.
References AT_BLE_SUCCESS, and app_csc_data::csc_char.
at_ble_status_t csc_prf_connected_state_handler | ( | void * | params | ) |
Connection handler invoked by ble manager.
Handler for connection event.
References at_ble_primary_service_discover_by_uuid(), AT_BLE_SUCCESS, AT_BLE_UUID_128, app_csc_data::conn_params, app_csc_data::csc_serv, CSC_SERVICE_UUID, CSC_UUID_128_LEN, DBG_LOG, DBG_LOG_DEV, app_csc_data::devicedb, app_csc_data::discover_role, DISCOVER_SERVICE, END_HANDLE, at_ble_connected_t::handle, at_ble_primary_service_found_t::service_uuid, START_HANDLE, status, at_ble_uuid_t::type, and at_ble_uuid_t::uuid.
at_ble_status_t csc_prf_descriptor_found_handler | ( | void * | params | ) |
client descriptor found handler invoked by ble manager
Handler for descriptor found.
References AT_BLE_SUCCESS, and app_csc_data::csc_desc.
void csc_prf_dev_adv | ( | void | ) |
device advertisement handler function
CSC profile advertisement function.
References ADV_DATA_128_UUID_TYPE, ADV_DATA_NAME_DATA, ADV_DATA_NAME_LEN, ADV_DATA_NAME_TYPE, ADV_TYPE_LEN, APP_CSC_ADV_TIMEOUT, APP_CSC_FAST_ADV, at_ble_adv_data_set(), AT_BLE_ADV_FP_ANY, AT_BLE_ADV_GEN_DISCOVERABLE, at_ble_adv_start(), AT_BLE_ADV_TYPE_UNDIRECTED, AT_BLE_GAP_PERIPHERAL_SLV, at_ble_set_dev_config(), AT_BLE_SUCCESS, CSC_SERVICE_UUID, CSC_UUID_128_LEN, DBG_LOG, NULL, and SCAN_RESP_LEN.
at_ble_status_t csc_prf_disconnect_event_handler | ( | void * | params | ) |
device disconnected handler function
References ALL_UNUSED, AT_BLE_SUCCESS, and app_csc_data::devicedb.
at_ble_status_t csc_prf_discovery_complete_handler | ( | void * | params | ) |
Discovery Complete handler invoked by ble manager.
Handler for discovery complete.
References 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_primary_service_found_t::conn_handle, at_ble_characteristic_found_t::conn_handle, app_csc_data::conn_params, app_csc_data::csc_char, app_csc_data::csc_serv, DBG_LOG, DBG_LOG_DEV, app_csc_data::devicedb, at_ble_primary_service_found_t::end_handle, at_ble_connected_t::handle, at_ble_primary_service_found_t::start_handle, at_ble_discovery_complete_t::status, and at_ble_characteristic_found_t::value_handle.
void csc_prf_init | ( | void * | param | ) |
profile initialization function
CSC profile initialization function.
References ALL_UNUSED, AT_BLE_SUCCESS, ble_advertisement_data_set(), BLE_GAP_EVENT_TYPE, BLE_GATT_CLIENT_EVENT_TYPE, BLE_GATT_SERVER_EVENT_TYPE, ble_mgr_events_callback_handler(), app_csc_data::buff_len, app_csc_data::buff_ptr, csc_serv_init(), DBG_LOG, REGISTER_CALL_BACK, and status.
at_ble_status_t csc_prf_notification_handler | ( | void * | params | ) |
invoked by ble manager on receiving notification
References AT_BLE_SUCCESS, at_ble_notification_recieved_t::char_len, at_ble_notification_recieved_t::char_value, csc_report_ntf::conn_handle, at_ble_notification_recieved_t::conn_handle, csc_report_ntf::recv_buff, csc_report_ntf::recv_buff_len, and recv_ntf_cb.
void csc_prf_send_data | ( | uint8_t * | databuf, |
uint16_t | datalen | ||
) |
profile send data function
CSC profile send data function.
References app_csc_data::buff_len, app_csc_data::conn_params, csc_serv_send_data(), and at_ble_connected_t::handle.
at_ble_status_t csc_prf_service_found_handler | ( | void * | params | ) |
Service found handler invoked by ble manager.
Handler for service found.
References AT_BLE_SUCCESS, app_csc_data::csc_serv, and DBG_LOG_DEV.
at_ble_status_t csc_prf_write_notification_handler | ( | void * | params | ) |
invoked by ble manager for setting the notification
Handler for configuring the notification for remote device.
References at_ble_characteristic_write(), AT_BLE_FAILURE, AT_BLE_SUCCESS, at_ble_descriptor_found_t::conn_handle, app_csc_data::csc_desc, data, DBG_LOG, at_ble_descriptor_found_t::desc_handle, and UNUSED.
void notify_recv_ntf_handler | ( | recv_ntf_callback_t | recv_ntf_fn | ) |
to user about the new data received
Function call the user defined callback for sending the receive data.
References recv_ntf_cb.
app_csc_data_t app_csc_info |
|
static |
|
static |
|
static |
recv_ntf_callback_t recv_ntf_cb |