Nano RGB LED mesh

Dependents:   nRF51822

Fork of nrf51-sdk by Nordic Semiconductor

Files at this revision

API Documentation at this revision

Comitter:
vcoubard
Date:
Thu Apr 07 17:38:02 2016 +0100
Parent:
29:286940b7ee5a
Child:
31:c05fa48ed560
Commit message:
Synchronized with git rev c63391e0
Author: Liyou Zhou
Port modifications made to noridc files

Changed in this revision

source/nordic_sdk/components/ble/common/ble_conn_params.cpp Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/ble/device_manager/config/device_manager_cnfg.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/ble/device_manager/device_manager_peripheral.c Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/device/nrf51.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/drivers_nrf/pstorage/config/pstorage_platform.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/libraries/bootloader_dfu/dfu_init_template.c Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/libraries/bootloader_dfu/hci_transport/hci_mem_pool_internal.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/softdevice/common/softdevice_handler/ble_stack_handler_types.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/softdevice/s130/headers/ble_gap.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/softdevice/s130/headers/ble_types.h Show annotated file Show diff for this revision Revisions of this file
source/nordic_sdk/components/softdevice/s130/headers/nrf_svc.h Show annotated file Show diff for this revision Revisions of this file
--- a/source/nordic_sdk/components/ble/common/ble_conn_params.cpp	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/ble/common/ble_conn_params.cpp	Thu Apr 07 17:38:02 2016 +0100
@@ -34,17 +34,25 @@
 #include <stdlib.h>
 #include "nordic_common.h"
 #include "ble_hci.h"
-#include "app_timer.h"
 #include "ble_srv_common.h"
 #include "app_util.h"
 
+#ifdef USE_APP_TIMER
+#include "app_timer.h"
+#else
+#include "mbed.h"
+#endif
 
 static ble_conn_params_init_t m_conn_params_config;     /**< Configuration as specified by the application. */
 static ble_gap_conn_params_t  m_preferred_conn_params;  /**< Connection parameters preferred by the application. */
 static uint8_t                m_update_count;           /**< Number of Connection Parameter Update messages that has currently been sent. */
 static uint16_t               m_conn_handle;            /**< Current connection handle. */
 static ble_gap_conn_params_t  m_current_conn_params;    /**< Connection parameters received in the most recent Connect event. */
-APP_TIMER_DEF(m_conn_params_timer_id);                  /**< Connection parameters timer. */
+#ifdef USE_APP_TIMER
+static app_timer_id_t         m_conn_params_timer_id;   /**< Connection parameters timer. */
+#else
+static Ticker                 m_conn_params_timer;
+#endif
 
 static bool m_change_param = false;
 
@@ -68,10 +76,16 @@
 }
 
 
+#ifdef USE_APP_TIMER
 static void update_timeout_handler(void * p_context)
 {
     UNUSED_PARAMETER(p_context);
 
+#else /* #if !USE_APP_TIMER */
+static void update_timeout_handler(void)
+{
+    m_conn_params_timer.detach(); /* this is supposed to be a single-shot timer callback */
+#endif /* #if !USE_APP_TIMER */
     if (m_conn_handle != BLE_CONN_HANDLE_INVALID)
     {
         // Check if we have reached the maximum number of attempts
@@ -146,15 +160,24 @@
     m_conn_handle  = BLE_CONN_HANDLE_INVALID;
     m_update_count = 0;
 
+#ifdef USE_APP_TIMER
     return app_timer_create(&m_conn_params_timer_id,
                             APP_TIMER_MODE_SINGLE_SHOT,
                             update_timeout_handler);
+#else
+    return NRF_SUCCESS;
+#endif
 }
 
 
 uint32_t ble_conn_params_stop(void)
 {
+#ifdef USE_APP_TIMER
     return app_timer_stop(m_conn_params_timer_id);
+#else /* #if !USE_APP_TIMER */
+    m_conn_params_timer.detach();
+    return NRF_SUCCESS;
+#endif /* #if !USE_APP_TIMER */
 }
 
 
@@ -163,7 +186,9 @@
     // Start negotiation if the received connection parameters are not acceptable
     if (!is_conn_params_ok(&m_current_conn_params))
     {
+#ifdef USE_APP_TIMER
         uint32_t err_code;
+#endif
         uint32_t timeout_ticks;
 
         if (m_change_param)
@@ -189,11 +214,15 @@
                 timeout_ticks = m_conn_params_config.next_conn_params_update_delay;
             }
 
+#ifdef USE_APP_TIMER
             err_code = app_timer_start(m_conn_params_timer_id, timeout_ticks, NULL);
             if ((err_code != NRF_SUCCESS) && (m_conn_params_config.error_handler != NULL))
             {
                 m_conn_params_config.error_handler(err_code);
             }
+#else
+            m_conn_params_timer.attach(update_timeout_handler, timeout_ticks / 32768);
+#endif
         }
     }
     else
@@ -228,18 +257,24 @@
 
 static void on_disconnect(ble_evt_t * p_ble_evt)
 {
+#ifdef USE_APP_TIMER
     uint32_t err_code;
+#endif
 
     m_conn_handle = BLE_CONN_HANDLE_INVALID;
 
     // Stop timer if running
     m_update_count = 0; // Connection parameters updates should happen during every connection
 
+#ifdef USE_APP_TIMER
     err_code = app_timer_stop(m_conn_params_timer_id);
     if ((err_code != NRF_SUCCESS) && (m_conn_params_config.error_handler != NULL))
     {
         m_conn_params_config.error_handler(err_code);
     }
+#else
+    m_conn_params_timer.detach();
+#endif
 }
 
 
@@ -262,6 +297,7 @@
         }
         else
         {
+#ifdef USE_APP_TIMER
             uint32_t err_code;
 
             // Stop timer if running
@@ -270,6 +306,9 @@
             {
                 m_conn_params_config.error_handler(err_code);
             }
+#else /* #if !USE_APP_TIMER */
+            m_conn_params_timer.detach();
+#endif /* #if !USE_APP_TIMER */
         }
     }
 }
--- a/source/nordic_sdk/components/ble/device_manager/config/device_manager_cnfg.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/ble/device_manager/config/device_manager_cnfg.h	Thu Apr 07 17:38:02 2016 +0100
@@ -85,7 +85,7 @@
  *       be stored. In such cases, application will be notified with DM_DEVICE_CONTEXT_FULL 
  *       as event result at the completion of the security procedure.
  */
-#define DEVICE_MANAGER_MAX_BONDS         7
+#define DEVICE_MANAGER_MAX_BONDS         2
 
 
 /**
--- a/source/nordic_sdk/components/ble/device_manager/device_manager_peripheral.c	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/ble/device_manager/device_manager_peripheral.c	Thu Apr 07 17:38:02 2016 +0100
@@ -31,7 +31,6 @@
  */
 
 #include "device_manager.h"
-#include "app_trace.h"
 #include "pstorage.h"
 #include "ble_hci.h"
 #include "app_error.h"
@@ -162,7 +161,7 @@
  * @note That if ENABLE_DEBUG_LOG_SUPPORT is disabled, having DM_DISABLE_LOGS has no effect.
  * @{
  */
-#define nDM_DISABLE_LOGS        /**< Enable this macro to disable any logs from this module. */
+#define DM_DISABLE_LOGS        /**< Enable this macro to disable any logs from this module. */
 
 #ifndef DM_DISABLE_LOGS
 #define DM_LOG  app_trace_log  /**< Used for logging details. */
--- a/source/nordic_sdk/components/device/nrf51.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/device/nrf51.h	Thu Apr 07 17:38:02 2016 +0100
@@ -30,60 +30,6 @@
  *
  */
 
-
-/****************************************************************************************************//**
- * @file     nrf51.h
- *
- * @brief    CMSIS Cortex-M0 Peripheral Access Layer Header File for
- *           nrf51 from Nordic Semiconductor.
- *
- * @version  V522
- * @date     20. October 2015
- *
- * @note     Generated with SVDConv V2.81d 
- *           from CMSIS SVD File 'nrf51.svd' Version 522,
- *
- * @par      Copyright (c) 2013, Nordic Semiconductor ASA
- *           All rights reserved.
- *           
- *           Redistribution and use in source and binary forms, with or without
- *           modification, are permitted provided that the following conditions are met:
- *           
- *           * Redistributions of source code must retain the above copyright notice, this
- *           list of conditions and the following disclaimer.
- *           
- *           * Redistributions in binary form must reproduce the above copyright notice,
- *           this list of conditions and the following disclaimer in the documentation
- *           and/or other materials provided with the distribution.
- *           
- *           * Neither the name of Nordic Semiconductor ASA nor the names of its
- *           contributors may be used to endorse or promote products derived from
- *           this software without specific prior written permission.
- *           
- *           THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- *           AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- *           IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- *           DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- *           FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- *           DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- *           SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- *           CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- *           OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- *           OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *           
- *
- *******************************************************************************************************/
-
-
-
-/** @addtogroup Nordic Semiconductor
-  * @{
-  */
-
-/** @addtogroup nrf51
-  * @{
-  */
-
 #ifndef NRF51_H
 #define NRF51_H
 
--- a/source/nordic_sdk/components/drivers_nrf/pstorage/config/pstorage_platform.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/drivers_nrf/pstorage/config/pstorage_platform.h	Thu Apr 07 17:38:02 2016 +0100
@@ -75,7 +75,7 @@
 #define PSTORAGE_SWAP_ADDR          PSTORAGE_DATA_END_ADDR                                      /**< Top-most page is used as swap area for clear and update. */
 
 #define PSTORAGE_MAX_BLOCK_SIZE     PSTORAGE_FLASH_PAGE_SIZE                                    /**< Maximum size of block that can be registered with the module. Should be configured based on system requirements. And should be greater than or equal to the minimum size. */
-#define PSTORAGE_CMD_QUEUE_SIZE     10                                                          /**< Maximum number of flash access commands that can be maintained by the module for all applications. Configurable. */
+#define PSTORAGE_CMD_QUEUE_SIZE     2                                                           /**< Maximum number of flash access commands that can be maintained by the module for all applications. Configurable. */
 
 
 /** Abstracts persistently memory block identifier. */
--- a/source/nordic_sdk/components/libraries/bootloader_dfu/dfu_init_template.c	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/libraries/bootloader_dfu/dfu_init_template.c	Thu Apr 07 17:38:02 2016 +0100
@@ -151,6 +151,7 @@
 
 uint32_t dfu_init_postvalidate(uint8_t * p_image, uint32_t image_len)
 {
+#if NEED_CRC_CHECK /* disabled for now */
     uint16_t image_crc;
     uint16_t received_crc;
     
@@ -169,6 +170,7 @@
     {
         return NRF_ERROR_INVALID_DATA;
     }
+#endif /* NEED_CRC_CHECK */
 
     return NRF_SUCCESS;
 }
--- a/source/nordic_sdk/components/libraries/bootloader_dfu/hci_transport/hci_mem_pool_internal.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/libraries/bootloader_dfu/hci_transport/hci_mem_pool_internal.h	Thu Apr 07 17:38:02 2016 +0100
@@ -42,10 +42,10 @@
 #ifndef MEM_POOL_INTERNAL_H__
 #define MEM_POOL_INTERNAL_H__
 
-#define TX_BUF_SIZE       32u    /**< TX buffer size in bytes. */
-#define RX_BUF_SIZE       600u   /**< RX buffer size in bytes. */
+#define TX_BUF_SIZE       4u    /**< TX buffer size in bytes. */
+#define RX_BUF_SIZE       32u   /**< RX buffer size in bytes. */
 
-#define RX_BUF_QUEUE_SIZE 2u     /**< RX buffer element size. */
+#define RX_BUF_QUEUE_SIZE 8u     /**< RX buffer element size. */
  
 #endif // MEM_POOL_INTERNAL_H__
  
--- a/source/nordic_sdk/components/softdevice/common/softdevice_handler/ble_stack_handler_types.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/softdevice/common/softdevice_handler/ble_stack_handler_types.h	Thu Apr 07 17:38:02 2016 +0100
@@ -42,6 +42,7 @@
 #ifndef BLE_STACK_HANDLER_TYPES_H__
 #define BLE_STACK_HANDLER_TYPES_H__
 
+#define BLE_STACK_SUPPORT_REQD
 #ifdef BLE_STACK_SUPPORT_REQD
 
 #include <stdlib.h>
--- a/source/nordic_sdk/components/softdevice/s130/headers/ble_gap.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/softdevice/s130/headers/ble_gap.h	Thu Apr 07 17:38:02 2016 +0100
@@ -547,7 +547,9 @@
 {
   ble_gap_addr_t        peer_addr;              /**< Bluetooth address of the peer device. */
   ble_gap_addr_t        own_addr;               /**< Bluetooth address of the local device used during connection setup. */
+#if !defined(TARGET_MCU_NRF51_16K_S110) && !defined(TARGET_MCU_NRF51_32K_S110)
   uint8_t               role;                   /**< BLE role for this connection, see @ref BLE_GAP_ROLES */
+#endif
   uint8_t               irk_match :1;           /**< If 1, peer device's address resolved using an IRK. */
   uint8_t               irk_match_idx  :7;      /**< Index in IRK list where the address was matched. */
   ble_gap_conn_params_t conn_params;            /**< GAP Connection Parameters. */
--- a/source/nordic_sdk/components/softdevice/s130/headers/ble_types.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/softdevice/s130/headers/ble_types.h	Thu Apr 07 17:38:02 2016 +0100
@@ -54,6 +54,7 @@
 /** @} */
 
 
+#if 0 /* The following have been duplicated in blecommon.h */
 /** @defgroup BLE_UUID_VALUES Assigned Values for BLE UUIDs
  * @{ */
 /* Generic UUIDs, applicable to all services */
@@ -79,6 +80,7 @@
 #define BLE_UUID_GAP_CHARACTERISTIC_RECONN_ADDR       0x2A03 /**< Reconnection Address Characteristic. */
 #define BLE_UUID_GAP_CHARACTERISTIC_PPCP              0x2A04 /**< Peripheral Preferred Connection Parameters Characteristic. */
 /** @} */
+#endif /* The following have been duplicated in blecommon.h */
 
 
 /** @defgroup BLE_UUID_TYPES Types of UUID
@@ -89,6 +91,7 @@
 /** @} */
 
 
+#if 0 /* The following have been duplicated in blecommon.h */
 /** @defgroup BLE_APPEARANCES Bluetooth Appearance values
  *  @note Retrieved from http://developer.bluetooth.org/gatt/characteristics/Pages/CharacteristicViewer.aspx?u=org.bluetooth.characteristic.gap.appearance.xml
  * @{ */
@@ -142,6 +145,7 @@
 #define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_POD          5187 /**< Location Pod (Outdoor Sports Activity subtype). */
 #define BLE_APPEARANCE_OUTDOOR_SPORTS_ACT_LOC_AND_NAV_POD  5188 /**< Location and Navigation Pod (Outdoor Sports Activity subtype). */
 /** @} */
+#endif /* The following have been duplicated in blecommon.h */
 
 /** @brief Set .type and .uuid fields of ble_uuid_struct to specified uuid value. */
 #define BLE_UUID_BLE_ASSIGN(instance, value) do {\
--- a/source/nordic_sdk/components/softdevice/s130/headers/nrf_svc.h	Thu Apr 07 17:38:01 2016 +0100
+++ b/source/nordic_sdk/components/softdevice/s130/headers/nrf_svc.h	Thu Apr 07 17:38:02 2016 +0100
@@ -43,13 +43,14 @@
 #elif defined (__GNUC__)
 #define SVCALL(number, return_type, signature) \
   _Pragma("GCC diagnostic ignored \"-Wunused-function\"") \
+  _Pragma("GCC diagnostic ignored \"-Wunused-parameter\"") \
   _Pragma("GCC diagnostic push") \
   _Pragma("GCC diagnostic ignored \"-Wreturn-type\"") \
   __attribute__((naked)) static return_type signature \
   { \
     __asm( \
         "svc %0\n" \
-        "bx r14" : : "I" (number) : "r0" \
+        "bx r14" : : "I" ((uint32_t) number) : "r0" \
     ); \
   }    \
   _Pragma("GCC diagnostic pop")