changed low freq. clock source to IRC

Dependencies:   BLE_API mbed nRF51822_IRC

Fork of BLE_ANCS_SDAPI by devsar devsar

Committer:
ytsuboi
Date:
Sun Jul 06 13:10:16 2014 +0000
Revision:
2:6d0f581488b6
Parent:
1:f0edc06f2d29
changed low freq. clock source to IRC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
devsar 0:1f985a7c0a8b 1 INTRODUCTION
devsar 0:1f985a7c0a8b 2 ============
devsar 0:1f985a7c0a8b 3 This is a POC (Proof of Concept) for implementing
devsar 0:1f985a7c0a8b 4 ANCS (Apple Notification Center Service)with
ytsuboi 1:f0edc06f2d29 5 mbed HRM1017 platform.
devsar 0:1f985a7c0a8b 6
devsar 0:1f985a7c0a8b 7 The code is not meant to be use for implementation,
devsar 0:1f985a7c0a8b 8 whatsoever.
devsar 0:1f985a7c0a8b 9
devsar 0:1f985a7c0a8b 10 I'm not intent to further enhancing this code.
devsar 0:1f985a7c0a8b 11 The sole purpose is to show that we can use
devsar 0:1f985a7c0a8b 12 SoftDevice client api for doing ANCS with NRF51822-mkit.
devsar 0:1f985a7c0a8b 13 (At this time, BLE API doesn't expose Gatt Client API)
devsar 0:1f985a7c0a8b 14
devsar 0:1f985a7c0a8b 15 This program code are bypassing mbed BLE API and use
devsar 0:1f985a7c0a8b 16 Soft Device (S110) Gatt Client API directly.
devsar 0:1f985a7c0a8b 17
devsar 0:1f985a7c0a8b 18 If you want to explore the code, S110 API Reference will
devsar 0:1f985a7c0a8b 19 be handy.
devsar 0:1f985a7c0a8b 20
devsar 0:1f985a7c0a8b 21 I know, there are many bugs, and things not implemented
devsar 0:1f985a7c0a8b 22 correctly. But again, the purpose of this code is just
devsar 0:1f985a7c0a8b 23 to show thant Gatt Client API is indeed doable.
devsar 0:1f985a7c0a8b 24
devsar 0:1f985a7c0a8b 25
devsar 0:1f985a7c0a8b 26 WHAT NEXT?
devsar 0:1f985a7c0a8b 27 ==========
devsar 0:1f985a7c0a8b 28 Since with this code, ANCS with mbed (NRF51822-mkit) is
devsar 0:1f985a7c0a8b 29 doable, the next step is to implement GATT CLIENT API on
devsar 0:1f985a7c0a8b 30 mbed BLE API.
devsar 0:1f985a7c0a8b 31 That should make programming more understandable (and
devsar 0:1f985a7c0a8b 32 perhaps portable to other platform) than using SD API
devsar 0:1f985a7c0a8b 33 directly.
devsar 0:1f985a7c0a8b 34
devsar 0:1f985a7c0a8b 35
devsar 0:1f985a7c0a8b 36 HOW TO TEST THIS OUT?
devsar 0:1f985a7c0a8b 37 =====================
devsar 0:1f985a7c0a8b 38 You gonna need:
devsar 0:1f985a7c0a8b 39 1. iOS7 (iPhone/iPad)
devsar 0:1f985a7c0a8b 40 *recomended: iPush Test, free app to generate test notification.
devsar 0:1f985a7c0a8b 41 but if you can generate notification by yourself
devsar 0:1f985a7c0a8b 42 anything will be sufficient.
ytsuboi 1:f0edc06f2d29 43 2. mbed HRM1017, connected to PC (9,600bps)
devsar 0:1f985a7c0a8b 44 (debug log and the notification itself will
devsar 0:1f985a7c0a8b 45 be print out via usb com port).
devsar 0:1f985a7c0a8b 46 *teraterm etc is needed to access com port.
devsar 0:1f985a7c0a8b 47 (depend on your platform)
devsar 0:1f985a7c0a8b 48
devsar 0:1f985a7c0a8b 49 Ready for the action!
ytsuboi 1:f0edc06f2d29 50 1. Compile the code, transfer the hex file to mbed.
ytsuboi 1:f0edc06f2d29 51 2. Use teraterm etc, to connect to mbed com port.
ytsuboi 1:f0edc06f2d29 52 3. It will automatically reset. LED1(advertise) should turn on.
devsar 0:1f985a7c0a8b 53 You should see Appendix 1 Log.
devsar 0:1f985a7c0a8b 54 4. On iOS7, select "Settings", "Bluetooth".
devsar 0:1f985a7c0a8b 55 You should see "ANCC" on the devices list.
devsar 0:1f985a7c0a8b 56 Click it to connect. LED2(connected) should turn on.
devsar 0:1f985a7c0a8b 57 5. A Dialog will appear: "Bluetooth Pairing Request"
devsar 0:1f985a7c0a8b 58 Press "Pair"
devsar 0:1f985a7c0a8b 59 You should see Appendix 2 Log.
devsar 0:1f985a7c0a8b 60
devsar 0:1f985a7c0a8b 61 That's it you ready to receive notification.
devsar 0:1f985a7c0a8b 62 There's a free app on app store for generating
devsar 0:1f985a7c0a8b 63 push notification. Search "push test" on app store.
devsar 0:1f985a7c0a8b 64
devsar 0:1f985a7c0a8b 65 6. Run iPush Test app
devsar 0:1f985a7c0a8b 66 7. Click "Local Push Test"
devsar 0:1f985a7c0a8b 67 8. You will receive notification in about 1 minute.
devsar 0:1f985a7c0a8b 68
devsar 0:1f985a7c0a8b 69
devsar 0:1f985a7c0a8b 70
devsar 0:1f985a7c0a8b 71 Appendix 1 (Program Start Log)
devsar 0:1f985a7c0a8b 72 ==============================
devsar 0:1f985a7c0a8b 73 Program started
devsar 0:1f985a7c0a8b 74 timers_init()
devsar 0:1f985a7c0a8b 75 ble_stack_init()
devsar 0:1f985a7c0a8b 76 gap_params_init()
devsar 0:1f985a7c0a8b 77 set_128_uuid()
devsar 0:1f985a7c0a8b 78 advertising_init()
devsar 0:1f985a7c0a8b 79 conn_params_init()
devsar 0:1f985a7c0a8b 80 sec_params_init()
devsar 0:1f985a7c0a8b 81 advertising_start()
devsar 0:1f985a7c0a8b 82
devsar 0:1f985a7c0a8b 83 Appendix 2 (iOS Connect and Pairing)
devsar 0:1f985a7c0a8b 84 ====================================
devsar 0:1f985a7c0a8b 85 Event: BLE_GAP_EVT_CONNECTED (Connection established.)
devsar 0:1f985a7c0a8b 86 Event: BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP (Primary Service Discovery Response event.)
devsar 0:1f985a7c0a8b 87 Found ANCS service, start handle: 15, end handle: 24
devsar 0:1f985a7c0a8b 88 Event: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.)
devsar 0:1f985a7c0a8b 89 Found char: Control PointEvent: BLE_GATTS_EVT_WRITE (Write operation performed.)
devsar 0:1f985a7c0a8b 90 Event: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.)
devsar 0:1f985a7c0a8b 91 Found char: Notification SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.)
devsar 0:1f985a7c0a8b 92 Found char: Data SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP (Characteristic Discovery Response event.)
devsar 0:1f985a7c0a8b 93 Event: BLE_GATTC_EVT_DESC_DISC_RSP (Descriptor Discovery Response event.)
devsar 0:1f985a7c0a8b 94 Found NS CCC
devsar 0:1f985a7c0a8b 95 Event: BLE_GATTC_EVT_DESC_DISC_RSP (Descriptor Discovery Response event.)
devsar 0:1f985a7c0a8b 96 Found DS CCC
devsar 0:1f985a7c0a8b 97 Event: BLE_GAP_EVT_SEC_PARAMS_REQUEST (Request to provide security parameters.)
devsar 0:1f985a7c0a8b 98 Event: BLE_GAP_EVT_AUTH_STATUS (Authentication procedure completed with status.)
devsar 0:1f985a7c0a8b 99 Event: BLE_GAP_EVT_CONN_SEC_UPDATE (Connection security updated.)
devsar 0:1f985a7c0a8b 100 Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
devsar 0:1f985a7c0a8b 101 NS subscribe success.
devsar 0:1f985a7c0a8b 102 Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
devsar 0:1f985a7c0a8b 103 DS subscribe success.
devsar 0:1f985a7c0a8b 104
devsar 0:1f985a7c0a8b 105 Appendix 3 (Receiving Notification)
devsar 0:1f985a7c0a8b 106 ===================================
devsar 0:1f985a7c0a8b 107 Event: BLE_GATTC_EVT_HVX (Handle Value Notification or Indication event.)
devsar 0:1f985a7c0a8b 108 Event ID: 0 (Notification Added)
devsar 0:1f985a7c0a8b 109 Event Flags: 0 ((no flags))
devsar 0:1f985a7c0a8b 110 Category ID: 0 (Other)
devsar 0:1f985a7c0a8b 111 Category Count: 1
devsar 0:1f985a7c0a8b 112 Notification ID: 6 0 0 0
devsar 0:1f985a7c0a8b 113 Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
devsar 0:1f985a7c0a8b 114 CP write success.
devsar 0:1f985a7c0a8b 115 Event: BLE_GATTC_EVT_HVX (Handle Value Notification or Indication event.)
devsar 0:1f985a7c0a8b 116 Title:(10)iPush Test
devsar 0:1f985a7c0a8b 117
devsar 0:1f985a7c0a8b 118 Link
devsar 0:1f985a7c0a8b 119 ====
devsar 0:1f985a7c0a8b 120 1. ANCS
devsar 0:1f985a7c0a8b 121 https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html
devsar 0:1f985a7c0a8b 122