@@ -111,10 +111,14 @@ void BLEHIDDevice::hidInfo(uint8_t country, uint8_t flags) {
111
111
BLECharacteristic* BLEHIDDevice::inputReport (uint8_t reportID) {
112
112
BLECharacteristic* inputReportCharacteristic = m_hidService->createCharacteristic ((uint16_t )0x2a4d , BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_NOTIFY);
113
113
BLEDescriptor* inputReportDescriptor = new BLEDescriptor (BLEUUID ((uint16_t )0x2908 ));
114
+ BLE2902* p2902 = new BLE2902 ();
115
+ inputReportCharacteristic->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
116
+ inputReportDescriptor->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
117
+ p2902->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
114
118
115
119
uint8_t desc1_val[] = {reportID, 0x01 };
116
120
inputReportDescriptor->setValue ((uint8_t *)desc1_val, 2 );
117
- inputReportCharacteristic->addDescriptor (new BLE2902 () );
121
+ inputReportCharacteristic->addDescriptor (p2902 );
118
122
inputReportCharacteristic->addDescriptor (inputReportDescriptor);
119
123
120
124
return inputReportCharacteristic;
@@ -128,6 +132,8 @@ BLECharacteristic* BLEHIDDevice::inputReport(uint8_t reportID) {
128
132
BLECharacteristic* BLEHIDDevice::outputReport (uint8_t reportID) {
129
133
BLECharacteristic* outputReportCharacteristic = m_hidService->createCharacteristic ((uint16_t )0x2a4d , BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE | BLECharacteristic::PROPERTY_WRITE_NR);
130
134
BLEDescriptor* outputReportDescriptor = new BLEDescriptor (BLEUUID ((uint16_t )0x2908 ));
135
+ outputReportCharacteristic->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
136
+ outputReportDescriptor->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
131
137
132
138
uint8_t desc1_val[] = {reportID, 0x02 };
133
139
outputReportDescriptor->setValue ((uint8_t *)desc1_val, 2 );
@@ -144,6 +150,8 @@ BLECharacteristic* BLEHIDDevice::outputReport(uint8_t reportID) {
144
150
BLECharacteristic* BLEHIDDevice::featureReport (uint8_t reportID) {
145
151
BLECharacteristic* featureReportCharacteristic = m_hidService->createCharacteristic ((uint16_t )0x2a4d , BLECharacteristic::PROPERTY_READ | BLECharacteristic::PROPERTY_WRITE);
146
152
BLEDescriptor* featureReportDescriptor = new BLEDescriptor (BLEUUID ((uint16_t )0x2908 ));
153
+ featureReportCharacteristic->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
154
+ featureReportDescriptor->setAccessPermissions (ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
147
155
148
156
uint8_t desc1_val[] = {reportID, 0x03 };
149
157
featureReportDescriptor->setValue ((uint8_t *)desc1_val, 2 );
0 commit comments