Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822
Fork of BLE_HeartRate by
main.cpp@64:4ced7a1586b0, 2015-06-12 (annotated)
- Committer:
- ReneM92
- Date:
- Fri Jun 12 08:30:07 2015 +0000
- Revision:
- 64:4ced7a1586b0
- Parent:
- 63:3c5ca3832415
- Child:
- 65:5a78321ef3d3
MrFeedback going out;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ktownsend | 0:87a7fc231fae | 1 | /* mbed Microcontroller Library |
| ktownsend | 0:87a7fc231fae | 2 | * Copyright (c) 2006-2013 ARM Limited |
| ktownsend | 0:87a7fc231fae | 3 | * |
| ktownsend | 0:87a7fc231fae | 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| ktownsend | 0:87a7fc231fae | 5 | * you may not use this file except in compliance with the License. |
| ktownsend | 0:87a7fc231fae | 6 | * You may obtain a copy of the License at |
| ktownsend | 0:87a7fc231fae | 7 | * |
| ktownsend | 0:87a7fc231fae | 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| ktownsend | 0:87a7fc231fae | 9 | * |
| ktownsend | 0:87a7fc231fae | 10 | * Unless required by applicable law or agreed to in writing, software |
| ktownsend | 0:87a7fc231fae | 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| ktownsend | 0:87a7fc231fae | 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ktownsend | 0:87a7fc231fae | 13 | * See the License for the specific language governing permissions and |
| ktownsend | 0:87a7fc231fae | 14 | * limitations under the License. |
| ktownsend | 0:87a7fc231fae | 15 | */ |
| ktownsend | 0:87a7fc231fae | 16 | |
| ktownsend | 0:87a7fc231fae | 17 | #include "mbed.h" |
| Rohit Grover |
10:2436164b692e | 18 | #include "BLEDevice.h" |
| ReneM92 | 63:3c5ca3832415 | 19 | #include "ble_feedback.h" |
| ReneM92 | 63:3c5ca3832415 | 20 | |
| ktownsend | 0:87a7fc231fae | 21 | |
| rgrover1 | 52:6bbf62943106 | 22 | /* Enable the following if you need to throttle the connection interval. This has |
| rgrover1 | 52:6bbf62943106 | 23 | * the effect of reducing energy consumption after a connection is made; |
| rgrover1 | 52:6bbf62943106 | 24 | * particularly for applications where the central may want a fast connection |
| rgrover1 | 52:6bbf62943106 | 25 | * interval.*/ |
| rgrover1 | 52:6bbf62943106 | 26 | #define UPDATE_PARAMS_FOR_LONGER_CONNECTION_INTERVAL 0 |
| rgrover1 | 52:6bbf62943106 | 27 | |
| ReneM92 | 64:4ced7a1586b0 | 28 | //BLEDevice ble; |
| rgrover1 | 47:430545f41113 | 29 | DigitalOut led1(LED1); |
| ReneM92 | 63:3c5ca3832415 | 30 | Serial pc(USBTX, USBRX); // tx, rx |
| ktownsend | 0:87a7fc231fae | 31 | |
| rgrover1 | 39:6390604f904c | 32 | static volatile bool triggerSensorPolling = false; |
| Rohit Grover |
36:ea2a1b4f51c1 | 33 | |
| ReneM92 | 64:4ced7a1586b0 | 34 | /*void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) |
| ktownsend | 0:87a7fc231fae | 35 | { |
| rgrover1 | 46:ee7c55907f36 | 36 | ble.startAdvertising(); // restart advertising |
| ReneM92 | 64:4ced7a1586b0 | 37 | }*/ |
| ReneM92 | 64:4ced7a1586b0 | 38 | /* |
| Rohit Grover |
11:1d9aafee4984 | 39 | void periodicCallback(void) |
| Rohit Grover |
11:1d9aafee4984 | 40 | { |
| rgrover1 | 47:430545f41113 | 41 | led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ |
| rgrover1 | 47:430545f41113 | 42 | |
| rgrover1 | 39:6390604f904c | 43 | /* Note that the periodicCallback() executes in interrupt context, so it is safer to do |
| rgrover1 | 39:6390604f904c | 44 | * heavy-weight sensor polling from the main thread. */ |
| ReneM92 | 64:4ced7a1586b0 | 45 | //triggerSensorPolling = true; |
| ReneM92 | 64:4ced7a1586b0 | 46 | //} |
| Rohit Grover |
11:1d9aafee4984 | 47 | |
| ktownsend | 0:87a7fc231fae | 48 | int main(void) |
| ktownsend | 0:87a7fc231fae | 49 | { |
| ReneM92 | 64:4ced7a1586b0 | 50 | //led1 = 1; |
| ReneM92 | 64:4ced7a1586b0 | 51 | //Ticker ticker; |
| ReneM92 | 64:4ced7a1586b0 | 52 | //ticker.attach(periodicCallback, 1); // blink LED every second |
| ktownsend | 0:87a7fc231fae | 53 | |
| ReneM92 | 64:4ced7a1586b0 | 54 | //ble.onDisconnection(disconnectionCallback); |
| ktownsend | 0:87a7fc231fae | 55 | |
| rgrover1 | 45:98c5a34b07a4 | 56 | /* Setup primary service. */ |
| ReneM92 | 64:4ced7a1586b0 | 57 | //uint8_t battery = 100; |
| ReneM92 | 64:4ced7a1586b0 | 58 | FeedbackService FService(); |
| Rohit Grover |
3:24e2b056d229 | 59 | |
| mbedAustin | 55:3a7d497a3e03 | 60 | // infinite loop |
| ReneM92 | 64:4ced7a1586b0 | 61 | /* while (1) { |
| ReneM92 | 64:4ced7a1586b0 | 62 | // check for trigger from periodicCallback() |
| ReneM92 | 64:4ced7a1586b0 | 63 | if ( ble.getGapState().connected) { |
| Rohit Grover |
36:ea2a1b4f51c1 | 64 | triggerSensorPolling = false; |
| Rohit Grover |
36:ea2a1b4f51c1 | 65 | |
| ReneM92 | 63:3c5ca3832415 | 66 | battery--; |
| mbedAustin | 55:3a7d497a3e03 | 67 | |
| ReneM92 | 63:3c5ca3832415 | 68 | if (battery == 0) { |
| ReneM92 | 63:3c5ca3832415 | 69 | battery = 100; |
| Rohit Grover |
36:ea2a1b4f51c1 | 70 | } |
| ReneM92 | 63:3c5ca3832415 | 71 | pc.printf("\n\r geschreven %d \n\r", FService.getTest()); |
| ReneM92 | 63:3c5ca3832415 | 72 | FService.updateBatteryValue(battery); |
| Rohit Grover |
36:ea2a1b4f51c1 | 73 | } else { |
| mbedAustin | 55:3a7d497a3e03 | 74 | ble.waitForEvent(); // low power wait for event |
| Rohit Grover |
36:ea2a1b4f51c1 | 75 | } |
| ReneM92 | 64:4ced7a1586b0 | 76 | }*/ |
| ktownsend | 0:87a7fc231fae | 77 | } |
