BLE FOTA APP

Dependencies:   BLE_API mbed

It doesn't work with the default FOTA bootloader. It use NVIC_SystemReset() to enter a bootloader.

Committer:
yihui
Date:
Fri Oct 10 03:36:28 2014 +0000
Revision:
1:a607cd9655d7
use NVIC_SystemReset() to run bootloader

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yihui 1:a607cd9655d7 1 /*
yihui 1:a607cd9655d7 2 Copyright (c) 2012 Nordic Semiconductor. All Rights Reserved.
yihui 1:a607cd9655d7 3
yihui 1:a607cd9655d7 4 The information contained herein is confidential property of Nordic Semiconductor. The use,
yihui 1:a607cd9655d7 5 copying, transfer or disclosure of such information is prohibited except by express written
yihui 1:a607cd9655d7 6 agreement with Nordic Semiconductor.
yihui 1:a607cd9655d7 7 */
yihui 1:a607cd9655d7 8 /**
yihui 1:a607cd9655d7 9 @addtogroup BLE_COMMON
yihui 1:a607cd9655d7 10 @{
yihui 1:a607cd9655d7 11 */
yihui 1:a607cd9655d7 12
yihui 1:a607cd9655d7 13
yihui 1:a607cd9655d7 14 #ifndef BLE_HCI_H__
yihui 1:a607cd9655d7 15 #define BLE_HCI_H__
yihui 1:a607cd9655d7 16
yihui 1:a607cd9655d7 17 /** @defgroup BLE_HCI_STATUS_CODES Bluetooth status codes
yihui 1:a607cd9655d7 18 * @{ */
yihui 1:a607cd9655d7 19
yihui 1:a607cd9655d7 20 #define BLE_HCI_STATUS_CODE_SUCCESS 0x00
yihui 1:a607cd9655d7 21 #define BLE_HCI_STATUS_CODE_UNKNOWN_BTLE_COMMAND 0x01
yihui 1:a607cd9655d7 22 #define BLE_HCI_STATUS_CODE_UNKNOWN_CONNECTION_IDENTIFIER 0x02
yihui 1:a607cd9655d7 23 /*0x03 Hardware Failure
yihui 1:a607cd9655d7 24 0x04 Page Timeout
yihui 1:a607cd9655d7 25 */
yihui 1:a607cd9655d7 26 #define BLE_HCI_AUTHENTICATION_FAILURE 0x05
yihui 1:a607cd9655d7 27 #define BLE_HCI_STATUS_CODE_PIN_OR_KEY_MISSING 0x06
yihui 1:a607cd9655d7 28 #define BLE_HCI_MEMORY_CAPACITY_EXCEEDED 0x07
yihui 1:a607cd9655d7 29 #define BLE_HCI_CONNECTION_TIMEOUT 0x08
yihui 1:a607cd9655d7 30 /*0x09 Connection Limit Exceeded
yihui 1:a607cd9655d7 31 0x0A Synchronous Connection Limit To A Device Exceeded
yihui 1:a607cd9655d7 32 0x0B ACL Connection Already Exists*/
yihui 1:a607cd9655d7 33 #define BLE_HCI_STATUS_CODE_COMMAND_DISALLOWED 0x0C
yihui 1:a607cd9655d7 34 /*0x0D Connection Rejected due to Limited Resources
yihui 1:a607cd9655d7 35 0x0E Connection Rejected Due To Security Reasons
yihui 1:a607cd9655d7 36 0x0F Connection Rejected due to Unacceptable BD_ADDR
yihui 1:a607cd9655d7 37 0x10 Connection Accept Timeout Exceeded
yihui 1:a607cd9655d7 38 0x11 Unsupported Feature or Parameter Value*/
yihui 1:a607cd9655d7 39 #define BLE_HCI_STATUS_CODE_INVALID_BTLE_COMMAND_PARAMETERS 0x12
yihui 1:a607cd9655d7 40 #define BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION 0x13
yihui 1:a607cd9655d7 41 #define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_LOW_RESOURCES 0x14
yihui 1:a607cd9655d7 42 #define BLE_HCI_REMOTE_DEV_TERMINATION_DUE_TO_POWER_OFF 0x15
yihui 1:a607cd9655d7 43 #define BLE_HCI_LOCAL_HOST_TERMINATED_CONNECTION 0x16
yihui 1:a607cd9655d7 44 /*
yihui 1:a607cd9655d7 45 0x17 Repeated Attempts
yihui 1:a607cd9655d7 46 0x18 Pairing Not Allowed
yihui 1:a607cd9655d7 47 0x19 Unknown LMP PDU
yihui 1:a607cd9655d7 48 */
yihui 1:a607cd9655d7 49 #define BLE_HCI_UNSUPPORTED_REMOTE_FEATURE 0x1A
yihui 1:a607cd9655d7 50 /*
yihui 1:a607cd9655d7 51 0x1B SCO Offset Rejected
yihui 1:a607cd9655d7 52 0x1C SCO Interval Rejected
yihui 1:a607cd9655d7 53 0x1D SCO Air Mode Rejected*/
yihui 1:a607cd9655d7 54 #define BLE_HCI_STATUS_CODE_INVALID_LMP_PARAMETERS 0x1E
yihui 1:a607cd9655d7 55 #define BLE_HCI_STATUS_CODE_UNSPECIFIED_ERROR 0x1F
yihui 1:a607cd9655d7 56 /*0x20 Unsupported LMP Parameter Value
yihui 1:a607cd9655d7 57 0x21 Role Change Not Allowed
yihui 1:a607cd9655d7 58 */
yihui 1:a607cd9655d7 59 #define BLE_HCI_STATUS_CODE_LMP_RESPONSE_TIMEOUT 0x22
yihui 1:a607cd9655d7 60 /*0x23 LMP Error Transaction Collision*/
yihui 1:a607cd9655d7 61 #define BLE_HCI_STATUS_CODE_LMP_PDU_NOT_ALLOWED 0x24
yihui 1:a607cd9655d7 62 /*0x25 Encryption Mode Not Acceptable
yihui 1:a607cd9655d7 63 0x26 Link Key Can Not be Changed
yihui 1:a607cd9655d7 64 0x27 Requested QoS Not Supported
yihui 1:a607cd9655d7 65 */
yihui 1:a607cd9655d7 66 #define BLE_HCI_INSTANT_PASSED 0x28
yihui 1:a607cd9655d7 67 #define BLE_HCI_PAIRING_WITH_UNIT_KEY_UNSUPPORTED 0x29
yihui 1:a607cd9655d7 68 #define BLE_HCI_DIFFERENT_TRANSACTION_COLLISION 0x2A
yihui 1:a607cd9655d7 69 /*
yihui 1:a607cd9655d7 70 0x2B Reserved
yihui 1:a607cd9655d7 71 0x2C QoS Unacceptable Parameter
yihui 1:a607cd9655d7 72 0x2D QoS Rejected
yihui 1:a607cd9655d7 73 0x2E Channel Classification Not Supported
yihui 1:a607cd9655d7 74 0x2F Insufficient Security
yihui 1:a607cd9655d7 75 0x30 Parameter Out Of Mandatory Range
yihui 1:a607cd9655d7 76 0x31 Reserved
yihui 1:a607cd9655d7 77 0x32 Role Switch Pending
yihui 1:a607cd9655d7 78 0x33 Reserved
yihui 1:a607cd9655d7 79 0x34 Reserved Slot Violation
yihui 1:a607cd9655d7 80 0x35 Role Switch Failed
yihui 1:a607cd9655d7 81 0x36 Extended Inquiry Response Too Large
yihui 1:a607cd9655d7 82 0x37 Secure Simple Pairing Not Supported By Host.
yihui 1:a607cd9655d7 83 0x38 Host Busy - Pairing
yihui 1:a607cd9655d7 84 0x39 Connection Rejected due to No Suitable Channel Found*/
yihui 1:a607cd9655d7 85 #define BLE_HCI_CONTROLLER_BUSY 0x3A
yihui 1:a607cd9655d7 86 #define BLE_HCI_CONN_INTERVAL_UNACCEPTABLE 0x3B
yihui 1:a607cd9655d7 87 #define BLE_HCI_DIRECTED_ADVERTISER_TIMEOUT 0x3C
yihui 1:a607cd9655d7 88 #define BLE_HCI_CONN_TERMINATED_DUE_TO_MIC_FAILURE 0x3D
yihui 1:a607cd9655d7 89 #define BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED 0x3E
yihui 1:a607cd9655d7 90
yihui 1:a607cd9655d7 91 /** @} */
yihui 1:a607cd9655d7 92
yihui 1:a607cd9655d7 93
yihui 1:a607cd9655d7 94 #endif // BLE_HCI_H__
yihui 1:a607cd9655d7 95
yihui 1:a607cd9655d7 96 /** @} */