2828#include " GATT.h"
2929
3030GATTClass::GATTClass () :
31- _genericAccessService(" 1800 " ),
32- _deviceNameCharacteristic(" 2a00 " , BLERead, 20 ),
33- _appearanceCharacteristic(" 2a01 " , BLERead, 2 ),
34- _genericAttributeService(" 1801 " ),
35- _servicesChangedCharacteristic(" 2a05 " , BLEIndicate, 4 )
31+ _genericAccessService(NULL ),
32+ _deviceNameCharacteristic(NULL ),
33+ _appearanceCharacteristic(NULL ),
34+ _genericAttributeService(NULL ),
35+ _servicesChangedCharacteristic(NULL )
3636{
37- _genericAccessService.retain ();
38- _genericAttributeService.retain ();
39-
40- _genericAccessService.addCharacteristic (&_deviceNameCharacteristic);
41- _genericAccessService.addCharacteristic (&_appearanceCharacteristic);
42-
43- _genericAttributeService.addCharacteristic (&_servicesChangedCharacteristic);
4437}
4538
4639GATTClass::~GATTClass ()
@@ -50,13 +43,29 @@ GATTClass::~GATTClass()
5043
5144void GATTClass::begin ()
5245{
46+ _genericAccessService = new BLELocalService (" 1800" );
47+ _deviceNameCharacteristic = new BLELocalCharacteristic (" 2a00" , BLERead, 20 );
48+ _appearanceCharacteristic = new BLELocalCharacteristic (" 2a01" , BLERead, 2 );
49+ _genericAttributeService = new BLELocalService (" 1801" );
50+ _servicesChangedCharacteristic = new BLELocalCharacteristic (" 2a05" , BLEIndicate, 4 );
51+
52+ _genericAccessService->retain ();
53+ _deviceNameCharacteristic->retain ();
54+ _appearanceCharacteristic->retain ();
55+ _genericAttributeService->retain ();
56+ _servicesChangedCharacteristic->retain ();
57+
58+ _genericAccessService->addCharacteristic (_deviceNameCharacteristic);
59+ _genericAccessService->addCharacteristic (_appearanceCharacteristic);
60+ _genericAttributeService->addCharacteristic (_servicesChangedCharacteristic);
61+
5362 setDeviceName (" Arduino" );
5463 setAppearance (0x000 );
5564
5665 clearAttributes ();
5766
58- addService (& _genericAccessService);
59- addService (& _genericAttributeService);
67+ addService (_genericAccessService);
68+ addService (_genericAttributeService);
6069}
6170
6271void GATTClass::end ()
@@ -66,12 +75,12 @@ void GATTClass::end()
6675
6776void GATTClass::setDeviceName (const char * deviceName)
6877{
69- _deviceNameCharacteristic. writeValue (deviceName);
78+ _deviceNameCharacteristic-> writeValue (deviceName);
7079}
7180
7281void GATTClass::setAppearance (uint16_t appearance)
7382{
74- _appearanceCharacteristic. writeValue ((uint8_t *)&appearance, sizeof (appearance));
83+ _appearanceCharacteristic-> writeValue ((uint8_t *)&appearance, sizeof (appearance));
7584}
7685
7786void GATTClass::addService (BLEService& service)
0 commit comments