changed low freq. clock source to IRC

Dependencies:   BLE_API mbed nRF51822_IRC

Fork of BLE_ANCS_SDAPI by devsar devsar

README.txt

Committer:
ytsuboi
Date:
2014-07-06
Revision:
2:6d0f581488b6
Parent:
1:f0edc06f2d29

File content as of revision 2:6d0f581488b6:

INTRODUCTION
============
This is a POC (Proof of Concept) for implementing
ANCS (Apple Notification Center Service)with 
mbed HRM1017 platform.

The code is not meant to be use for implementation,
whatsoever.

I'm not intent to further enhancing this code.
The sole purpose is to show that we can use
SoftDevice client api for doing ANCS with NRF51822-mkit.
(At this time, BLE API doesn't expose Gatt Client API)

This program code are bypassing mbed BLE API and use
Soft Device (S110) Gatt Client API directly.

If you want to explore the code, S110 API Reference will
be handy.

I know, there are many bugs, and things not implemented
correctly. But again, the purpose of this code is just
to show thant Gatt Client API is indeed doable. 


WHAT NEXT?
==========
Since with this code, ANCS with mbed (NRF51822-mkit) is
doable, the next step is to implement GATT CLIENT API on 
mbed BLE API. 
That should make programming more understandable (and
perhaps portable to other platform) than using SD API
directly.


HOW TO TEST THIS OUT?
=====================
You gonna need:
1. iOS7 (iPhone/iPad)
   *recomended: iPush Test, free app to generate test notification.
    but if you can generate notification by yourself
    anything will be sufficient.
2. mbed HRM1017, connected to PC (9,600bps)
   (debug log and the notification itself will
     be print out via usb com port).
   *teraterm etc is needed to access com port.
    (depend on your platform) 
     
Ready for the action!
1. Compile the code, transfer the hex file to mbed.
2. Use teraterm etc, to connect to mbed com port. 
3. It will automatically reset. LED1(advertise) should turn on.
   You should see Appendix 1 Log.
4. On iOS7, select "Settings", "Bluetooth".
   You should see "ANCC" on the devices list.
   Click it to connect. LED2(connected) should turn on.
5. A Dialog will appear: "Bluetooth Pairing Request"
   Press "Pair"
   You should see Appendix 2 Log.

   That's it you ready to receive notification.
   There's a free app on app store for generating
   push notification. Search "push test" on app store.
 
6. Run iPush Test app
7. Click "Local Push Test"
8. You will receive notification in about 1 minute.

 

Appendix 1 (Program Start Log)
==============================
Program started
timers_init()
ble_stack_init()
gap_params_init()
set_128_uuid()
advertising_init()
conn_params_init()
sec_params_init()
advertising_start()

Appendix 2 (iOS Connect and Pairing)
====================================
Event: BLE_GAP_EVT_CONNECTED (Connection established.)
Event: BLE_GATTC_EVT_PRIM_SRVC_DISC_RSP  (Primary Service Discovery Response event.)
Found ANCS service, start handle: 15, end handle: 24
Event: BLE_GATTC_EVT_CHAR_DISC_RSP  (Characteristic Discovery Response event.)
Found char: Control PointEvent: BLE_GATTS_EVT_WRITE  (Write operation performed.)
Event: BLE_GATTC_EVT_CHAR_DISC_RSP  (Characteristic Discovery Response event.)
Found char: Notification SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP  (Characteristic Discovery Response event.)
Found char: Data SourceEvent: BLE_GATTC_EVT_CHAR_DISC_RSP  (Characteristic Discovery Response event.)
Event: BLE_GATTC_EVT_DESC_DISC_RSP  (Descriptor Discovery Response event.)
Found NS CCC
Event: BLE_GATTC_EVT_DESC_DISC_RSP  (Descriptor Discovery Response event.)
Found DS CCC
Event: BLE_GAP_EVT_SEC_PARAMS_REQUEST  (Request to provide security parameters.)
Event: BLE_GAP_EVT_AUTH_STATUS  (Authentication procedure completed with status.)
Event: BLE_GAP_EVT_CONN_SEC_UPDATE  (Connection security updated.)
Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
NS subscribe success.
Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
DS subscribe success.

Appendix 3 (Receiving Notification)
===================================
Event: BLE_GATTC_EVT_HVX  (Handle Value Notification or Indication event.)
Event ID: 0 (Notification Added)
Event Flags: 0 ((no flags))
Category ID: 0 (Other)
Category Count: 1
Notification ID: 6 0 0 0
Event: BLE_GATTC_EVT_WRITE_RSP (Write Response event.)
CP write success.
Event: BLE_GATTC_EVT_HVX  (Handle Value Notification or Indication event.)
Title:(10)iPush Test

Link
====
1. ANCS
   https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Introduction/Introduction.html