ble nano hid over gatt
Dependencies: BLE_API mbed-dev nRF51822
Diff: HIDController_BLE.cpp
- Revision:
- 29:ec548c473d50
- Parent:
- 28:1f843a3daab0
- Child:
- 30:f9ebc769118d
--- a/HIDController_BLE.cpp Tue Aug 23 15:25:30 2016 +0000 +++ b/HIDController_BLE.cpp Wed Aug 24 01:27:46 2016 +0000 @@ -32,7 +32,6 @@ static BLEProtocol::Address_t peerAddress; - static volatile Status_t controllerStatus; static void updateBatteryLevel() { @@ -87,7 +86,7 @@ peerAddress.type = params->peerAddrType; memcpy(peerAddress.address, params->peerAddr, Gap::ADDR_LEN); - controllerStatus = CONNECTING; + controllerStatus = CONNECTED; } static void onDisconnect(const Gap::DisconnectionCallbackParams_t *params) { @@ -103,36 +102,38 @@ } static void passkeyDisplayCallback(Gap::Handle_t handle, const SecurityManager::Passkey_t passkey) { + /* printf("Input passKey: "); for (unsigned i = 0; i < Gap::ADDR_LEN; i++) { printf("%c", passkey[i]); } printf("\r\n"); + */ } static void securitySetupCompletedCallback(Gap::Handle_t handle, SecurityManager::SecurityCompletionStatus_t status) { if (status == SecurityManager::SEC_STATUS_SUCCESS) { + /* printf("Security success %d\r\n", status); - printf("Set whitelist\r\n"); + */ Gap::Whitelist_t whitelist; whitelist.size = 1; whitelist.capacity = 1; whitelist.addresses = &peerAddress; BLE::Instance(BLE::DEFAULT_INSTANCE).gap().setWhitelist(whitelist); - printf("Set Advertising Policy Mode\r\n"); + //printf("Set Advertising Policy Mode\r\n"); // BLE::Instance(BLE::DEFAULT_INSTANCE).gap().setAdvertisingPolicyMode(Gap::ADV_POLICY_FILTER_SCAN_REQS); // BLE::Instance(BLE::DEFAULT_INSTANCE).gap().setAdvertisingPolicyMode(Gap::ADV_POLICY_FILTER_CONN_REQS); BLE::Instance(BLE::DEFAULT_INSTANCE).gap().setAdvertisingPolicyMode(Gap::ADV_POLICY_FILTER_ALL_REQS); - controllerStatus = CONNECTED; } else { - printf("Security failed %d\r\n", status); + //printf("Security failed %d\r\n", status); } } static void securitySetupInitiatedCallback(Gap::Handle_t, bool allowBonding, bool requireMITM, SecurityManager::SecurityIOCapabilities_t iocaps) { - printf("Security setup initiated\r\n"); + // printf("Security setup initiated\r\n"); } static void bleInitComplete(BLE::InitializationCompleteCallbackContext *params) { @@ -143,11 +144,11 @@ controllerStatus = DISCONNECTED; /**< Minimum Connection Interval in 1.25 ms units, see BLE_GAP_CP_LIMITS.*/ - uint16_t minConnectionInterval = Gap::MSEC_TO_GAP_DURATION_UNITS(24); + uint16_t minConnectionInterval = Gap::MSEC_TO_GAP_DURATION_UNITS(20); /**< Maximum Connection Interval in 1.25 ms units, see BLE_GAP_CP_LIMITS.*/ - uint16_t maxConnectionInterval = Gap::MSEC_TO_GAP_DURATION_UNITS(44); + uint16_t maxConnectionInterval = Gap::MSEC_TO_GAP_DURATION_UNITS(40); /**< Slave Latency in number of connection events, see BLE_GAP_CP_LIMITS.*/ - uint16_t slaveLatency = 4; + uint16_t slaveLatency = 4; /**< Connection Supervision Timeout in 10 ms units, see BLE_GAP_CP_LIMITS.*/ uint16_t connectionSupervisionTimeout = 32 * 100; Gap::ConnectionParams_t connectionParams = { @@ -298,7 +299,7 @@ } void HIDController::queueCurrentReportData() { - if (!connected) return; + if (!connected()) return; if (keyboardService) { printf("queueCurrentReportData\r\n"); keyboardService->queueCurrentReportData();