Nordic Semiconductor nRF5 AirFuel SDK  version 2.2.0
ble_wpts.h
Go to the documentation of this file.
1 /* Copyright (c) 2013 Nordic Semiconductor. All Rights Reserved.
2  *
3  * The information contained herein is property of Nordic Semiconductor ASA.
4  * Terms and conditions of usage are described in detail in NORDIC
5  * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
6  *
7  * Licensees are granted free, non-transferable use of the information. NO
8  * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
9  * the file.
10  *
11  */
12 
20 #ifndef BLE_WPTS_H__
21 #define BLE_WPTS_H__
22 
23 #include <stdint.h>
24 
25 #include "ble.h"
26 #include "ble_srv_common.h"
27 #include "wpt.h"
28 
30 typedef enum
31 {
39 
41 typedef struct
42 {
44  union
45  {
48  } data;
50 
51 
53 typedef struct ble_wpts_s ble_wpts_t;
54 
60 typedef void (*ble_wpts_evt_handler_t) (ble_wpts_t * p_wpts, ble_wpts_evt_t * p_evt);
61 
63 typedef struct
64 {
67  ble_srv_security_mode_t wpts_attr_md;
69 
71 typedef struct ble_wpts_s
72 {
74  uint16_t service_handle;
75  ble_gatts_char_handles_t pru_control_handles;
76  ble_gatts_char_handles_t ptu_static_handles;
77  ble_gatts_char_handles_t pru_alert_handles;
78  ble_gatts_char_handles_t pru_static_handles;
79  ble_gatts_char_handles_t pru_dynamic_handles;
80  uint16_t conn_handle;
81  uint8_t reboot_bit:1;
82 } ble_wpts_t;
83 
93 uint32_t ble_wpts_init(ble_wpts_t * p_wpts, const ble_wpts_init_t * p_wpts_init);
94 
102 void ble_wpts_on_ble_evt(ble_wpts_t * p_wpts, ble_evt_t * p_ble_evt);
103 
115 uint32_t ble_wpts_alert_send(ble_wpts_t * p_wpts, pru_alert_t * p_alert);
116 
117 
125 uint32_t ble_wpts_pru_static_set(ble_wpts_t * p_wpts, pru_static_t * p_pru_static);
126 
127 
135 uint32_t ble_wpts_pru_dynamic_set(ble_wpts_t * p_wpts, pru_dynamic_t * p_pru_dynamic);
136 
137 #endif // BLE_WPTS_H__
138 
PTU Static Parameter structure.
Definition: wpt.h:110
ble_gatts_char_handles_t pru_dynamic_handles
Definition: ble_wpts.h:79
ble_wpts_evt_handler_t evt_handler
Definition: ble_wpts.h:65
uint32_t ble_wpts_pru_static_set(ble_wpts_t *p_wpts, pru_static_t *p_pru_static)
Sets value of the PRU Static Parameter characteristic.
Definition: ble_wpts.c:769
PRU Control structure.
Definition: wpt.h:79
void(* ble_wpts_evt_handler_t)(ble_wpts_t *p_wpts, ble_wpts_evt_t *p_evt)
WPT Service event handler type.
Definition: ble_wpts.h:60
uint16_t service_handle
Definition: ble_wpts.h:74
struct ble_wpts_s ble_wpts_t
WPT Service status structure.
Definition: ble_wpts.h:53
PRU Alert Parameter structure.
Definition: wpt.h:145
uint16_t conn_handle
Definition: ble_wpts.h:80
uint32_t ble_wpts_init(ble_wpts_t *p_wpts, const ble_wpts_init_t *p_wpts_init)
Initialize the WPT Service.
Definition: ble_wpts.c:642
pru_static_t pru_static
Definition: ble_wpts.h:66
ble_wpts_evt_type_t
Definition: ble_wpts.h:30
uint32_t ble_wpts_pru_dynamic_set(ble_wpts_t *p_wpts, pru_dynamic_t *p_pru_dynamic)
Sets value of the PRU Dynamic Parameter characteristic.
Definition: ble_wpts.c:790
ble_wpts_evt_type_t evt_type
Definition: ble_wpts.h:43
ble_gatts_char_handles_t pru_control_handles
Definition: ble_wpts.h:75
uint32_t ble_wpts_alert_send(ble_wpts_t *p_wpts, pru_alert_t *p_alert)
Sends PRU alert if notification has been enabled.
Definition: ble_wpts.c:703
WPT Service event.
Definition: ble_wpts.h:41
PRU Static Parameter structure.
Definition: wpt.h:89
ble_gatts_char_handles_t pru_alert_handles
Definition: ble_wpts.h:77
WPT Service init structure.
Definition: ble_wpts.h:63
uint8_t reboot_bit
Definition: ble_wpts.h:81
pru_control_t pru_control
Definition: ble_wpts.h:46
void ble_wpts_on_ble_evt(ble_wpts_t *p_wpts, ble_evt_t *p_ble_evt)
WPT Service BLE stack event handler.
Definition: ble_wpts.c:196
ble_wpts_evt_handler_t evt_handler
Definition: ble_wpts.h:73
ble_gatts_char_handles_t ptu_static_handles
Definition: ble_wpts.h:76
ble_srv_security_mode_t wpts_attr_md
Definition: ble_wpts.h:67
WPT Service status structure.
Definition: ble_wpts.h:71
PRU Dynamic Parameter structure.
Definition: wpt.h:164
ble_gatts_char_handles_t pru_static_handles
Definition: ble_wpts.h:78
ptu_static_t ptu_static
Definition: ble_wpts.h:47