Tested and connected with nRF Control panel in android device

Committer:
mbed_official
Date:
Thu Sep 19 18:01:32 2019 +0100
Revision:
81:921892507e54
Parent:
79:16042006e938
Merge pull request #249 from apalmieriGH/master

Update readme for BLE_HeartRate and BLE_Thermometer
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-ble

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 74:b082fa6d75eb 1 /* mbed Microcontroller Library
mbed_official 74:b082fa6d75eb 2 * Copyright (c) 2018 ARM Limited
mbed_official 74:b082fa6d75eb 3 *
mbed_official 74:b082fa6d75eb 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 74:b082fa6d75eb 5 * you may not use this file except in compliance with the License.
mbed_official 74:b082fa6d75eb 6 * You may obtain a copy of the License at
mbed_official 74:b082fa6d75eb 7 *
mbed_official 74:b082fa6d75eb 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 74:b082fa6d75eb 9 *
mbed_official 74:b082fa6d75eb 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 74:b082fa6d75eb 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 74:b082fa6d75eb 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 74:b082fa6d75eb 13 * See the License for the specific language governing permissions and
mbed_official 74:b082fa6d75eb 14 * limitations under the License.
mbed_official 74:b082fa6d75eb 15 */
mbed_official 74:b082fa6d75eb 16
mbed_official 74:b082fa6d75eb 17 #include <mbed.h>
mbed_official 74:b082fa6d75eb 18 #include "ble/BLE.h"
mbed_official 74:b082fa6d75eb 19
mbed_official 74:b082fa6d75eb 20 inline void print_error(ble_error_t error, const char* msg)
mbed_official 74:b082fa6d75eb 21 {
mbed_official 74:b082fa6d75eb 22 printf("%s: ", msg);
mbed_official 74:b082fa6d75eb 23 switch(error) {
mbed_official 74:b082fa6d75eb 24 case BLE_ERROR_NONE:
mbed_official 74:b082fa6d75eb 25 printf("BLE_ERROR_NONE: No error");
mbed_official 74:b082fa6d75eb 26 break;
mbed_official 74:b082fa6d75eb 27 case BLE_ERROR_BUFFER_OVERFLOW:
mbed_official 74:b082fa6d75eb 28 printf("BLE_ERROR_BUFFER_OVERFLOW: The requested action would cause a buffer overflow and has been aborted");
mbed_official 74:b082fa6d75eb 29 break;
mbed_official 74:b082fa6d75eb 30 case BLE_ERROR_NOT_IMPLEMENTED:
mbed_official 74:b082fa6d75eb 31 printf("BLE_ERROR_NOT_IMPLEMENTED: Requested a feature that isn't yet implement or isn't supported by the target HW");
mbed_official 74:b082fa6d75eb 32 break;
mbed_official 74:b082fa6d75eb 33 case BLE_ERROR_PARAM_OUT_OF_RANGE:
mbed_official 74:b082fa6d75eb 34 printf("BLE_ERROR_PARAM_OUT_OF_RANGE: One of the supplied parameters is outside the valid range");
mbed_official 74:b082fa6d75eb 35 break;
mbed_official 74:b082fa6d75eb 36 case BLE_ERROR_INVALID_PARAM:
mbed_official 74:b082fa6d75eb 37 printf("BLE_ERROR_INVALID_PARAM: One of the supplied parameters is invalid");
mbed_official 74:b082fa6d75eb 38 break;
mbed_official 74:b082fa6d75eb 39 case BLE_STACK_BUSY:
mbed_official 74:b082fa6d75eb 40 printf("BLE_STACK_BUSY: The stack is busy");
mbed_official 74:b082fa6d75eb 41 break;
mbed_official 74:b082fa6d75eb 42 case BLE_ERROR_INVALID_STATE:
mbed_official 74:b082fa6d75eb 43 printf("BLE_ERROR_INVALID_STATE: Invalid state");
mbed_official 74:b082fa6d75eb 44 break;
mbed_official 74:b082fa6d75eb 45 case BLE_ERROR_NO_MEM:
mbed_official 74:b082fa6d75eb 46 printf("BLE_ERROR_NO_MEM: Out of Memory");
mbed_official 74:b082fa6d75eb 47 break;
mbed_official 74:b082fa6d75eb 48 case BLE_ERROR_OPERATION_NOT_PERMITTED:
mbed_official 74:b082fa6d75eb 49 printf("BLE_ERROR_OPERATION_NOT_PERMITTED");
mbed_official 74:b082fa6d75eb 50 break;
mbed_official 74:b082fa6d75eb 51 case BLE_ERROR_INITIALIZATION_INCOMPLETE:
mbed_official 74:b082fa6d75eb 52 printf("BLE_ERROR_INITIALIZATION_INCOMPLETE");
mbed_official 74:b082fa6d75eb 53 break;
mbed_official 74:b082fa6d75eb 54 case BLE_ERROR_ALREADY_INITIALIZED:
mbed_official 74:b082fa6d75eb 55 printf("BLE_ERROR_ALREADY_INITIALIZED");
mbed_official 74:b082fa6d75eb 56 break;
mbed_official 74:b082fa6d75eb 57 case BLE_ERROR_UNSPECIFIED:
mbed_official 74:b082fa6d75eb 58 printf("BLE_ERROR_UNSPECIFIED: Unknown error");
mbed_official 74:b082fa6d75eb 59 break;
mbed_official 74:b082fa6d75eb 60 case BLE_ERROR_INTERNAL_STACK_FAILURE:
mbed_official 79:16042006e938 61 printf("BLE_ERROR_INTERNAL_STACK_FAILURE: internal stack failure");
mbed_official 79:16042006e938 62 break;
mbed_official 79:16042006e938 63 case BLE_ERROR_NOT_FOUND:
mbed_official 79:16042006e938 64 printf("BLE_ERROR_NOT_FOUND");
mbed_official 74:b082fa6d75eb 65 break;
mbed_official 74:b082fa6d75eb 66 }
mbed_official 74:b082fa6d75eb 67 printf("\r\n");
mbed_official 74:b082fa6d75eb 68 }
mbed_official 74:b082fa6d75eb 69
mbed_official 74:b082fa6d75eb 70 /** print device address to the terminal */
mbed_official 74:b082fa6d75eb 71 inline void print_address(const Gap::Address_t &addr)
mbed_official 74:b082fa6d75eb 72 {
mbed_official 74:b082fa6d75eb 73 printf("%02x:%02x:%02x:%02x:%02x:%02x\r\n",
mbed_official 74:b082fa6d75eb 74 addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]);
mbed_official 74:b082fa6d75eb 75 }
mbed_official 74:b082fa6d75eb 76
mbed_official 74:b082fa6d75eb 77 inline void print_mac_address()
mbed_official 74:b082fa6d75eb 78 {
mbed_official 74:b082fa6d75eb 79 /* Print out device MAC address to the console*/
mbed_official 74:b082fa6d75eb 80 Gap::AddressType_t addr_type;
mbed_official 74:b082fa6d75eb 81 Gap::Address_t address;
mbed_official 74:b082fa6d75eb 82 BLE::Instance().gap().getAddress(&addr_type, address);
mbed_official 74:b082fa6d75eb 83 printf("DEVICE MAC ADDRESS: ");
mbed_official 74:b082fa6d75eb 84 print_address(address);
mbed_official 74:b082fa6d75eb 85 }
mbed_official 74:b082fa6d75eb 86
mbed_official 74:b082fa6d75eb 87 inline const char* phy_to_string(Gap::Phy_t phy) {
mbed_official 74:b082fa6d75eb 88 switch(phy.value()) {
mbed_official 74:b082fa6d75eb 89 case Gap::Phy_t::LE_1M:
mbed_official 74:b082fa6d75eb 90 return "LE 1M";
mbed_official 74:b082fa6d75eb 91 case Gap::Phy_t::LE_2M:
mbed_official 74:b082fa6d75eb 92 return "LE 2M";
mbed_official 74:b082fa6d75eb 93 case Gap::Phy_t::LE_CODED:
mbed_official 74:b082fa6d75eb 94 return "LE coded";
mbed_official 74:b082fa6d75eb 95 default:
mbed_official 74:b082fa6d75eb 96 return "invalid PHY";
mbed_official 74:b082fa6d75eb 97 }
mbed_official 74:b082fa6d75eb 98 }