RUI3 (RAK Unified Interface 3) - RAK4631
RAKBleCus.h
Go to the documentation of this file.
1 #ifndef __RAK_BLE_CUS_H__
2 #define __RAK_BLE_CUS_H__
3 
4 #ifdef SUPPORT_BLE
5 
6 #include <inttypes.h>
7 #include "WString.h"
8 
9 #include "RAKBleUart.h"
10 #include "udrv_ble.h"
11 
12 using namespace std;
13 
22 {
23  protected:
24  private:
25  uint8_t serviceUUID[16];
26  public:
34  RAKBleService(uint8_t service_uuid[]);
35 
48  void begin();
49 };
50 
55 {
56  protected:
57  private:
58  uint16_t characteristicUUID;
59  uint32_t characteristicProperties;
60  uint8_t characteristicPermission;
61  uint16_t len;
62  public:
69  RAKBleCharacteristic(uint16_t characteristicUUID);
70 
84  void setProperties(RAK_CHARS_PROPERTIES prop);
85 
99  void setPermission(RAK_CHARS_SECURITY_REQ read_write_perm);
100 
114  void setFixedLen(uint16_t fixed_len);
115 
128  void begin();
129 
143  void notify(uint8_t *notify_data);
144 
158  void write(uint8_t *send_data);
159 
174  bool notifyEnabled(void);
175 
189  void setCccdWriteCallback(void (*userFunc) (uint16_t, uint8_t *));
190 
204  void setWriteCallback(void (*userFunc) (uint16_t, uint8_t *));
205 };
206 
211  public:
218  void init();
219 
226  void start();
227  private:
228 };
229 
236 #endif
237 
238 #endif
239 
240 
RAK_CHARS_SECURITY_REQ
Definition: RAKBleUart.h:20
Definition: RAKBleCus.h:21
Definition: RAKBleCus.h:54
Definition: RAKBleCus.h:210
RAK_CHARS_PROPERTIES
Definition: RAKBleUart.h:27