Compilation fix for newer mbed-os

Fork of X_NUCLEO_IDB0XA1 by ST

Files at this revision

API Documentation at this revision

Comitter:
Vincent Coubard
Date:
Thu Sep 15 10:49:39 2016 +0100
Branch:
sync_with_github
Parent:
252:0c2cb16a7166
Child:
254:f4d217cadbde
Commit message:
Sync with 4607c9b8b84bb61287ac96092cab09641a8e8c37\nMinor adjustements to sync with the github repository at this point in time.

Changed in this revision

source/BlueNRGDevice.cpp Show annotated file Show diff for this revision Revisions of this file
source/BlueNRGGap.cpp Show annotated file Show diff for this revision Revisions of this file
source/BlueNRGGattClient.cpp Show annotated file Show diff for this revision Revisions of this file
source/BlueNRGGattServer.cpp Show annotated file Show diff for this revision Revisions of this file
source/platform/btle.cpp Show annotated file Show diff for this revision Revisions of this file
source/platform/clock.c Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/BlueNRGDevice.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/BlueNRGGap.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/BlueNRGGattClient.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/BlueNRGGattServer.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/utils/Payload.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/utils/Utils.h Show annotated file Show diff for this revision Revisions of this file
x-nucleo-idb0xa1/x_nucleo_idb0xa1_targets.h Show annotated file Show diff for this revision Revisions of this file
--- a/source/BlueNRGDevice.cpp	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/BlueNRGDevice.cpp	Thu Sep 15 10:49:39 2016 +0100
@@ -37,7 +37,7 @@
  *  @{
  */
  
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "BlueNRGDevice.h"
 #include "BlueNRGGap.h"
 #include "BlueNRGGattServer.h"
--- a/source/BlueNRGGap.cpp	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/BlueNRGGap.cpp	Thu Sep 15 10:49:39 2016 +0100
@@ -39,7 +39,7 @@
  */
 
 #include "BlueNRGDevice.h"
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "Payload.h"
 #include "Utils.h"
 #include "debug.h"
@@ -102,6 +102,9 @@
         PRINTF("Exceeded the advertising payload length\n\r");
         return BLE_ERROR_BUFFER_OVERFLOW;
     }
+    // Reset the length of the ADV payload each time
+    // since we get fields of argument 'advData' iteratively
+    AdvLen = 0;
 
     /* Make sure we have a payload! */
     if (advData.getPayloadLen() == 0) {
@@ -110,10 +113,15 @@
         local_name_length = 0;
         txPowLevSet = 0;
         servUuidlength = 0;
-        AdvLen = 0;
     } else {
         PayloadPtr loadPtr(advData.getPayload(), advData.getPayloadLen());
 
+        /* Align the GAP Service Appearance Char value coherently
+           This setting is duplicate (see below GapAdvertisingData::APPEARANCE)
+           since BLE API has an overloaded function for appearance
+        */
+        STORE_LE_16(deviceAppearance, advData.getAppearance());
+        setAppearance((GapAdvertisingData::Appearance)(deviceAppearance[1]<<8|deviceAppearance[0]));
         for(uint8_t index=0; index<loadPtr.getPayloadUnitCount(); index++) {                  
             loadPtr.getUnitAtIndex(index);
 
@@ -182,7 +190,6 @@
                 {
                 PRINTF("Advertising type: COMPLETE_LOCAL_NAME\n\r");
                 loadPtr.getUnitAtIndex(index).printDataAsString();
-                loadPtr.getUnitAtIndex(index).printDataAsHex();
                 local_name_length = *loadPtr.getUnitAtIndex(index).getLenPtr()-1;
                 // The total length should include the Data Type Value
                 if(local_name_length>ADV_DATA_MAX_SIZE-1) {
@@ -248,6 +255,20 @@
                 break;
                 }
 
+            case GapAdvertisingData::APPEARANCE:			/**< Appearance */
+                {
+                PRINTF("Advertising type: APPEARANCE\n\r");
+
+                GapAdvertisingData::Appearance appearanceP;
+                memcpy(deviceAppearance, loadPtr.getUnitAtIndex(index).getDataPtr(), 2);
+
+                PRINTF("input: deviceAppearance= 0x%x 0x%x\n\r", deviceAppearance[1], deviceAppearance[0]);
+
+                appearanceP = (GapAdvertisingData::Appearance)(deviceAppearance[1]<<8|deviceAppearance[0]);
+                /* Align the GAP Service Appearance Char value coherently */
+                setAppearance(appearanceP);
+                break;
+                }
             case GapAdvertisingData::ADVERTISING_INTERVAL:               /**< Advertising Interval */
                 {
                 printf("Advertising type: ADVERTISING_INTERVAL\n\r");
@@ -292,10 +313,6 @@
           scan_rsp_length = scanResponse.getPayloadLen();
         }
 
-        /* Align the GAP Service Appearance Char value coherently */
-        STORE_LE_16(deviceAppearance, advData.getAppearance());
-        setAppearance((GapAdvertisingData::Appearance)(deviceAppearance[1]<<8|deviceAppearance[0]));
-
         // Update the ADV data if we are already in ADV mode
         if(AdvLen > 0 && state.advertising == 1) {
  
@@ -823,6 +840,11 @@
     uint8_t bdaddr[BDADDR_SIZE];
     uint8_t data_len_out;
 
+    if (type == BLEProtocol::AddressType::RANDOM_PRIVATE_NON_RESOLVABLE ||
+        type == BLEProtocol::AddressType::RANDOM_PRIVATE_RESOLVABLE) {
+        return BLE_ERROR_OPERATION_NOT_PERMITTED;
+    }
+
     if(typeP != NULL) {
         *typeP = addr_type;
     }
@@ -1018,7 +1040,7 @@
     uint8_t deviceAppearance[2];
 
     STORE_LE_16(deviceAppearance, appearance);                 
-    PRINTF("input: incoming = %d deviceAppearance= 0x%x 0x%x\n\r", appearance, deviceAppearance[1], deviceAppearance[0]);
+    PRINTF("setAppearance= 0x%x 0x%x\n\r", deviceAppearance[1], deviceAppearance[0]);
     
     ret = aci_gatt_update_char_value(g_gap_service_handle,
                                      g_appearance_char_handle,
--- a/source/BlueNRGGattClient.cpp	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/BlueNRGGattClient.cpp	Thu Sep 15 10:49:39 2016 +0100
@@ -37,6 +37,7 @@
  */
  
 #include "BlueNRGGattClient.h"
+#include "mbed-drivers/mbed.h"
 #include "BlueNRGGap.h"
 #include "Utils.h"
 #include "debug.h"
--- a/source/BlueNRGGattServer.cpp	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/BlueNRGGattServer.cpp	Thu Sep 15 10:49:39 2016 +0100
@@ -37,7 +37,7 @@
  */
  
 #include "BlueNRGGattServer.h"
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "BlueNRGGap.h"
 #include "Utils.h"
 #include "debug.h"
--- a/source/platform/btle.cpp	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/platform/btle.cpp	Thu Sep 15 10:49:39 2016 +0100
@@ -163,7 +163,7 @@
     BlueNRGGap::getInstance().setAddress(BLEProtocol::AddressType::RANDOM_STATIC, BLE_address_BE);
     
     ret = aci_gatt_init();
-    if(ret){
+    if(ret != BLE_STATUS_SUCCESS){
         PRINTF("GATT_Init failed.\n");
     }
     if (bnrg_expansion_board == IDB05A1) {
@@ -190,8 +190,8 @@
                                        USE_FIXED_PIN_FOR_PAIRING,
                                        123456,
                                        BONDING);
-    if (ret == BLE_STATUS_SUCCESS) {
-        PRINTF("Auth Req set successfully.\n");
+    if (ret != BLE_STATUS_SUCCESS) {
+        PRINTF("Auth Req set failed.\n");
     }
     
     aci_hal_set_tx_power_level(1,4);
--- a/source/platform/clock.c	Mon Jun 27 15:51:20 2016 +0200
+++ b/source/platform/clock.c	Thu Sep 15 10:49:39 2016 +0100
@@ -1,7 +1,7 @@
 
 #include "clock.h"
-#include "wait_api.h"
-#include "rtc_time.h"
+#include "mbed-drivers/wait_api.h"
+#include "mbed-drivers/rtc_time.h"
 
 const uint32_t CLOCK_SECOND = 1000;
 
--- a/x-nucleo-idb0xa1/BlueNRGDevice.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/BlueNRGDevice.h	Thu Sep 15 10:49:39 2016 +0100
@@ -40,7 +40,7 @@
 
 #include "btle.h"
 
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "ble/blecommon.h"
 #include "ble/BLEInstanceBase.h"
 #include "ble/BLE.h"
--- a/x-nucleo-idb0xa1/BlueNRGGap.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/BlueNRGGap.h	Thu Sep 15 10:49:39 2016 +0100
@@ -35,7 +35,7 @@
 #ifndef __BLUENRG_GAP_H__
 #define __BLUENRG_GAP_H__
 
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "ble/blecommon.h"
 #include "btle.h"
 #include "ble/GapAdvertisingParams.h"
--- a/x-nucleo-idb0xa1/BlueNRGGattClient.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/BlueNRGGattClient.h	Thu Sep 15 10:49:39 2016 +0100
@@ -34,7 +34,7 @@
 #ifndef __BLUENRG_GATT_CLIENT_H__
 #define __BLUENRG_GATT_CLIENT_H__
 
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "ble/blecommon.h"
 #include "btle.h"
 #include "ble/GattClient.h"
--- a/x-nucleo-idb0xa1/BlueNRGGattServer.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/BlueNRGGattServer.h	Thu Sep 15 10:49:39 2016 +0100
@@ -34,7 +34,7 @@
 #ifndef __BLUENRG_GATT_SERVER_H__
 #define __BLUENRG_GATT_SERVER_H__
 
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "ble/blecommon.h"
 #include "btle.h"
 #include "ble/GattService.h"
--- a/x-nucleo-idb0xa1/utils/Payload.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/utils/Payload.h	Thu Sep 15 10:49:39 2016 +0100
@@ -14,7 +14,7 @@
 * limitations under the License.
 */
 
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 #include "debug.h"
 
 #ifndef __PAYLOAD_H__
--- a/x-nucleo-idb0xa1/utils/Utils.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/utils/Utils.h	Thu Sep 15 10:49:39 2016 +0100
@@ -22,7 +22,7 @@
 
 #include "ble_status.h"
 #include "hal_types.h"
-#include "mbed.h"
+#include "mbed-drivers/mbed.h"
 
 #define STORE_LE_16(buf, val)    ( ((buf)[0] =  (uint8_t) (val)    ) , \
     ((buf)[1] =  (uint8_t) (val>>8) ) )
--- a/x-nucleo-idb0xa1/x_nucleo_idb0xa1_targets.h	Mon Jun 27 15:51:20 2016 +0200
+++ b/x-nucleo-idb0xa1/x_nucleo_idb0xa1_targets.h	Thu Sep 15 10:49:39 2016 +0100
@@ -65,7 +65,7 @@
 /* NOTE: Stack Mode 0x04 allows Simultaneous Scanning and Advertisement (SSAdv)
          Define macro 'SSADV' to enable it
 */
-//#define SSADV
+#define SSADV
 #if defined(SSADV)
 #define IDB0XA1_STACK_MODE (0x04)
 #else