11 Replies Latest reply on Jul 14, 2016 11:57 AM by mkochhal

    3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44

    mkochhal

      Hi.

       

      I have ported the platform files for 3.5.2 MFI on the WICED 3.7.0 MFI SDK for the ISM43341_M4G_L44 platform.

       

      snip.scan works well. However snip.bluetooth.ble_proximity_reporter hangs after boot. It is not able to advertise as peripheral.

       

      Has anyone tried this on the same platform?

       

      Al, can you update the platform files for SDK 3.7.0 MFi and try the same app?

       

      Please help.

       

      Thanks!

       

      Regards,

      Manish

        • 1. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
          mkochhal

          Starting WICED v3.7.0

          Platform ISM43341_M4G_L44 initialised

          Started ThreadX v5.6

          Initialising NetX_Duo v5.7_sp2

          Creating Packet pools

          WWD SDIO interface initialised

          WLAN MAC Address : C4:7F:51:80:25:6F

          WLAN Firmware    : wl0: Nov 25 2015 14:01:39 version 6.49.2 (r602357) FWID 01-1302682f

          00:00:00.020784 GKI_create_task func=0x80175fd  id=1  name=BTU  stack=0x0  stackSize=6144

          00:00:00.028784 GKI_create_task func=0x8018b41  id=0  name=HCISU  stack=0x0  stackSize=4096

          • 2. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
            mifo

            mkochhal

             

            Within SDK 3.7.0, we switched to a combined BT stack that can be run in either dual mode or LE-only mode.

             

            As part of this switch, the developers also made some changes to the way the GKI buffer pools are updated.

             

            I was told that all of the sample apps have been modified to accommodate this fix, so there are some clues in the sample apps that could help you modify your custom app.

             

            In addition, these fairly new threads have alot of useful information dhak provided:

             

            Re: GKI_exception 65527 getbuf: Size is too big

            Re: Any guideline to config the wiced_bt_cfg_buf_pools settings

            SDK 3.7.0 BLE doesn't work

             

            Note that these initial threads are related to the Avnet BCM94343W_AVN 4343W-based board, but most of the information should also apply to the stack running on the 43341 as well.

             

            I am also adding the Inventek team to this discussion: dickb_1995216 als_1964561

            • 3. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
              dpruessner

              Hi mkochhal, I had a similar problem with BLE not running one of the standard "simple" snips.  I do not recall the version-- I think 3.5.2-- a mutex in the WPRINT_BT_APP_INFO was not initialized for FreeRTOS, which caused a hang: `global_trace_mutex` was uninitialized.

               

              You can try calling a mutex initialize on `&global_trace_mutex` before the first WPRINT call-- and see if that fixes. 

               

              Best regards,

              1 of 1 people found this helpful
              • 4. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                dhak

                mkochhal I would recommend dpruessner 's suggestion too in case your problem is related to WPRINT_BT_APP_INFO.

                wiced_bt_stack_init() initializes global_trace_mutex , if you make sure you use WPRINT_BT_APP_INFO after wiced_bt_stack_init(), you should not run into trouble.


                Alternatively, you may replace WPRINT_BT_APP_INFO with WPRINT_APP_INFO and it should work fine.

                 

                Thanks,
                Dharam

                1 of 1 people found this helpful
                • 5. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                  mkochhal

                  Dharam,

                  Hi.

                   

                  This is the stock snip.bluetooth.ble_proximity_reporter application ... As it is released, I dont see any *WPRINT_BT_APP* happening before wiced_bt_stack_init that is called in application_start(). The issue still persists.

                   

                  I can still check for references for this PRINT in wiced_bt_stack_init ...

                   

                  Thanks!


                  Regards,

                   

                   

                  Manish

                  • 6. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                    mkochhal

                    Dharam,

                    Hi.

                     

                    I have replaced all references to WPRINT_BT_APP_INFO to WPRINT_APP_INFO, problem still exists ...

                     

                    I did check for the global_trace_mutex and it is initialized properly by logMsg_init. So that should not be a problem.

                     

                    Thanks!

                     

                    Regards,

                    Manish

                    • 7. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                      mkochhal

                      Hi.

                       

                      I see the build cfg.h under libraries/drivers/bluetooth/low_energy/

                       

                      There are so many options that are enabled TRUE ... I wonder which of these that I need to disable for BLE-only mode?

                       

                      /*

                      * Broadcom Proprietary and Confidential. Copyright 2016 Broadcom

                      * All Rights Reserved.

                      *

                      * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;

                      * the contents of this file may not be disclosed to third parties, copied

                      * or duplicated in any form, in whole or in part, without the prior

                      * written permission of Broadcom Corporation.

                      */

                      #pragma once

                       

                       

                      #ifdef __cplusplus

                      extern "C" {

                      #endif

                       

                       

                      #define BTEWICED                                            TRUE

                       

                       

                      #define BR_INCLUDED                                        FALSE

                       

                       

                      /* the following compile flag to be same as BR_INCLUDED */

                      #define L2CAP_FCR_INCLUDED                                  BR_INCLUDED

                      #define RFCOMM_INCLUDED                                    BR_INCLUDED

                      #define RFCOMM_USE_EXTERNAL_SCN                            BR_INCLUDED

                      #define HID_DEV_INCLUDED                                    BR_INCLUDED

                      #define A2D_INCLUDED                                        BR_INCLUDED

                      #define A2D_SBC_INCLUDED                                    BR_INCLUDED

                      #define A2D_M12_INCLUDED                                    BR_INCLUDED

                      #define A2D_M24_INCLUDED                                    BR_INCLUDED

                      #define AVDT_INCLUDED                                      BR_INCLUDED

                      #define AVRC_INCLUDED                                      BR_INCLUDED

                      #define AVCT_INCLUDED                                      BR_INCLUDED

                      #define GATT_OVER_BREDR_INCLUDED                            BR_INCLUDED

                      #define BTM_OOB_INCLUDED                                    BR_INCLUDED

                      #define BTM_BR_SC_INCLUDED                                  BR_INCLUDED

                      #define BTM_CROSS_TRANSP_KEY_DERIVATION                    BR_INCLUDED

                      #define SDP_INCLUDED                                        BR_INCLUDED

                      #define SDP_CLIENT_ENABLED                                  BR_INCLUDED

                      #define SDP_SERVER_ENABLED                                  BR_INCLUDED

                      #define SDP_RAW_DATA_SERVER                                BR_INCLUDED

                      #define BTM_SCO_INCLUDED                                    BR_INCLUDED

                      #define BTM_COEX_INCLUDED                                  BR_INCLUDED

                      #define BTM_EIR_CLIENT_INCLUDED                            BR_INCLUDED

                      #define BTM_EIR_SERVER_INCLUDED                            BR_INCLUDED

                      #define BTM_EIR_DEFAULT_FEC_REQUIRED                        BR_INCLUDED

                      #define BTM_SSR_INCLUDED                                    BR_INCLUDED

                      #define BTM_SCO_HCI_INCLUDED                                BR_INCLUDED

                       

                       

                      #define BTM_INCLUDED                                        TRUE                # Makefile only

                      #define BTM_CMD_POOL_ID                                    GKI_POOL_ID_1

                      #define BTM_CLB_INCLUDED                                    FALSE

                      #define BTM_CLB_RX_INCLUDED                                FALSE

                      #define BTM_TBFC_INCLUDED                                  FALSE

                      #define BTM_INQ_DB_INCLUDED                                FALSE

                      #define BTM_USE_INQ_RESULTS_FILTER                          FALSE

                      #define BTM_BUSY_LEVEL_CHANGE_INCLUDED                      FALSE

                      #define BTM_ALLOW_CONN_IF_NONDISCOVER                      TRUE

                      #define BTM_MAX_REM_BD_NAME_LEN                            10

                      #define BTM_APP_DEV_INIT                                    bte_post_reset

                      #define BTM_INTERNAL_LINKKEY_STORAGE_INCLUDED              FALSE

                      #define BTM_PCM2_INCLUDED                                  FALSE

                      #define BTM_N2BT_INCLUDED                                  FALSE

                       

                       

                      #define BTU_INCLUDED                                        TRUE                # Makefile only

                      #define BTUTHIN_INCLUDED                                    FALSE              # Makefile only

                      #define BTU_BTC_SNK_INCLUDED                                FALSE

                      #define BTU_STACK_LITE_ENABLED                              FALSE

                      #define BTU_DYNAMIC_CB_INCLUDED                            TRUE

                       

                       

                      #define L2CAP_INCLUDED                                      TRUE

                      #define L2CAP_CMD_POOL_ID                                  GKI_POOL_ID_1

                      #define L2CAP_UCD_INCLUDED                                  FALSE

                      #define L2CAP_WAKE_PARKED_LINK                              FALSE

                      #define L2CAP_NON_FLUSHABLE_PB_INCLUDED                    FALSE

                      #define L2CAP_ROUND_ROBIN_CHANNEL_SERVICE                  FALSE

                      #define L2CAP_MTU_SIZE                                      ((UINT16)(HCI_ACL_POOL_BUF_SIZE - BT_HDR_SIZE - 8))    /* ACL bufsize minus BT_HDR, and l2cap/hci packet headers */

                      #define L2CAP_LE_COC_INCLUDED                              TRUE

                      #define L2CAP_EXTFEA_SUPPORTED_MASK                        (L2CAP_EXTFEA_ENH_RETRANS | \

                                                                                  L2CAP_EXTFEA_STREAM_MODE | \

                                                                                  L2CAP_EXTFEA_FIXED_CHNLS | \

                                                                                  L2CAP_EXTFEA_NO_CRC )

                       

                       

                      #define RFCOMM_CMD_POOL_ID                                  GKI_POOL_ID_1

                      #define RFCOMM_CMD_POOL_BUF_SIZE                            (p_btm_cfg_buf_pools[RFCOMM_CMD_POOL_ID].buf_size)

                      #define RFCOMM_DATA_POOL_ID                                GKI_POOL_ID_2

                      #define RFCOMM_DATA_POOL_BUF_SIZE                          (p_btm_cfg_buf_pools[RFCOMM_DATA_POOL_ID].buf_size)

                      #define MAX_RFC_PORTS                                      (p_btm_cfg_settings->rfcomm_cfg.max_ports)

                      #define MAX_BD_CONNECTIONS                                  (p_btm_cfg_settings->rfcomm_cfg.max_links)

                      #define PORT_RX_CRITICAL_WM                                ((UINT32)(L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)*PORT_RX_BUF_CRITICAL_WM)

                      #define PORT_RX_LOW_WM                                      ((UINT32)(L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)*PORT_RX_BUF_LOW_WM)

                      #define PORT_RX_HIGH_WM                                    ((UINT32)(L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)*PORT_RX_BUF_HIGH_WM)

                      #define PORT_RX_BUF_LOW_WM                                  2

                      #define PORT_RX_BUF_HIGH_WM                                3

                      #define PORT_RX_BUF_CRITICAL_WM                            5

                      #define PORT_TX_HIGH_WM                                    ((UINT32)(L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)*PORT_TX_BUF_HIGH_WM)

                      #define PORT_TX_CRITICAL_WM                                ((UINT32)(L2CAP_MTU_SIZE-L2CAP_MIN_OFFSET-RFCOMM_DATA_OVERHEAD)*PORT_TX_BUF_CRITICAL_WM)

                      #define PORT_TX_BUF_HIGH_WM                                3

                      #define PORT_TX_BUF_CRITICAL_WM                            5

                      #define PORT_CREDIT_RX_LOW                                  2

                      #define PORT_CREDIT_RX_MAX                                  3

                       

                       

                      /* HID definitions */

                      #define HID_DEV_MAX_DESCRIPTOR_SIZE                        200

                      #define HID_DEV_SET_CONN_MODE                              FALSE

                       

                       

                      /* AVDT/A2DP/AVRC definitions */

                      #define AVDT_REPORTING                                      FALSE

                      #define AVDT_MULTIPLEXING                                  FALSE

                      #define AVDT_NUM_LINKS                                      (p_btm_cfg_settings->avdt_cfg.max_links)

                      #define AVDT_CMD_POOL_ID                                    GKI_POOL_ID_1

                      #define AVDT_DATA_POOL_ID                                  GKI_POOL_ID_3

                      #define AVDT_DATA_POOL_SIZE                                (p_btm_cfg_buf_pools[AVDT_DATA_POOL_ID].buf_size)

                       

                       

                       

                       

                      #define AVCT_NUM_LINKS                                      (p_btm_cfg_settings->avrc_cfg.max_links)

                      #define AVCT_NUM_CONN                                      (avct_cb.num_conn)

                      #define AVRC_SEC_MASK                                      (p_btm_cfg_settings->security_requirement_mask)

                      #define AVRC_CONTROL_MTU                                    (L2CAP_MTU_SIZE)

                      #define AVRC_BROWSE_MTU                                    (L2CAP_MTU_SIZE)

                       

                       

                      #define GATT_FIXED_DB                                      TRUE

                      #define GATTS_APPU_USE_GATT_TRACE                          FALSE

                      #define GATT_MAX_APPS                                      3

                      #define GATT_MAX_SR_PROFILES                                3

                      #define GATT_MAX_PHY_CHANNEL                                (GATT_CL_MAX_LCB + GATT_MAX_SCCB)

                      #define GATT_MAX_ATTR_LEN                                  (p_btm_cfg_settings->gatt_cfg.max_attr_len)

                      #define GATT_MAX_MTU_SIZE                                  (p_btm_cfg_settings->gatt_cfg.max_mtu_size)

                      #define GATT_CL_MAX_LCB                                    (p_btm_cfg_settings->gatt_cfg.client_max_links)

                      #define GATT_MAX_SCCB                                      (p_btm_cfg_settings->gatt_cfg.server_max_links)

                      #define GATTP_TRANSPORT_SUPPORTED                          GATT_TRANSPORT_LE_BR_EDR

                       

                       

                      #define SIM_ACCESS_INCLUDED                                FALSE

                      #define SAP_SERVER_INCLUDED                                FALSE

                      #define SAP_CLIENT_INCLUDED                                FALSE

                       

                       

                      #define BLE_INCLUDED                                        TRUE

                      #define SMP_INCLUDED                                        TRUE

                      #define GAP_INCLUDED                                        TRUE

                      #define SMP_LE_SC_INCLUDED                                  TRUE

                      #define SMP_LE_SC_OOB_INCLUDED                              TRUE

                       

                       

                      #define AMP_INCLUDED                                        FALSE

                      #define GPS_INCLUDED                                        FALSE

                       

                       

                      #define GKI_NUM_FIXED_BUF_POOLS                            WICED_BT_CFG_NUM_BUF_POOLS

                      #define GKI_NUM_TOTAL_BUF_POOLS                            (p_btm_cfg_settings->max_number_of_buffer_pools)

                      #define GKI_BUF0_SIZE                                      (p_btm_cfg_buf_pools[GKI_POOL_ID_0].buf_size)

                      #define GKI_BUF0_MAX                                        (p_btm_cfg_buf_pools[GKI_POOL_ID_0].buf_count)

                      #define GKI_BUF1_SIZE                                      (p_btm_cfg_buf_pools[GKI_POOL_ID_1].buf_size)

                      #define GKI_BUF1_MAX                                        (p_btm_cfg_buf_pools[GKI_POOL_ID_1].buf_count)

                      #define GKI_BUF2_SIZE                                      (p_btm_cfg_buf_pools[GKI_POOL_ID_2].buf_size)

                      #define GKI_BUF2_MAX                                        (p_btm_cfg_buf_pools[GKI_POOL_ID_2].buf_count)

                      #define GKI_BUF3_SIZE                                      (p_btm_cfg_buf_pools[GKI_POOL_ID_3].buf_size)

                      #define GKI_BUF3_MAX                                        (p_btm_cfg_buf_pools[GKI_POOL_ID_3].buf_count)

                      #define GKI_DYNAMIC_POOL_CFG                                TRUE

                      #define GKI_DYNAMIC_MEMORY                                  FALSE

                      #define GKI_USE_DYNAMIC_BUFFERS                            TRUE

                       

                       

                       

                       

                       

                       

                      #define HCIC_INCLUDED                                      TRUE

                      #define HCI_CMD_POOL_ID                                    GKI_POOL_ID_1

                      #define HCI_CMD_POOL_BUF_SIZE                              (p_btm_cfg_buf_pools[HCI_CMD_POOL_ID].buf_size)

                      #define HCI_ACL_POOL_ID                                    GKI_POOL_ID_2

                      #define HCI_ACL_POOL_BUF_SIZE                              (p_btm_cfg_buf_pools[HCI_ACL_POOL_ID].buf_size)

                      #define HCI_SCO_POOL_ID                                    GKI_POOL_ID_1

                      #define HCI_SCO_POOL_BUF_SIZE                              (p_btm_cfg_buf_pools[HCI_SCO_POOL_ID].buf_size)

                      #define HCI_SCO_POOL_BUF_MAX                                (p_btm_cfg_buf_pools[HCI_SCO_POOL_ID].buf_count)

                      #define HCI_USE_VARIABLE_SIZE_CMD_BUF                      TRUE

                       

                       

                      #define HCISU_H4_INCLUDED                                  TRUE

                      #define HCILP_INCLUDED                                      TRUE

                      #define H4IBSS_INCLUDED                                    FALSE

                      #define H4IBSS_DEBUG                                        FALSE

                       

                       

                      #define SLIP_INCLUDED                                      FALSE

                      #define SLIP_STATIS_INCLUDED                                FALSE

                      #define SLIP_SW_FLOW_CTRL                                  FALSE

                      #define BT_TRACE_SLIP                                      FALSE

                      #define SLIP_SLEEP_TO                                      5000

                      #define SLIP_HOST_SLIDING_WINDOW_SIZE                      7

                       

                       

                      #define BTM_INQ_DB_SIZE                                    1

                      #define BTM_SEC_MAX_DEVICE_RECORDS                          (p_btm_cfg_settings->max_simultaneous_links)

                      #define BTM_SEC_MAX_SERVICE_RECORDS                        4

                      #define BTM_SEC_SERVICE_NAME_LEN                            0

                      #define BTM_MAX_LOC_BD_NAME_LEN                            0

                      #define BTM_MAX_PM_RECORDS                                  1

                      #define BTM_MAX_VSE_CALLBACKS                              1

                      #define BTM_BLE_MAX_BG_CONN_DEV_NUM                        2

                      #define BTM_PWR_MGR_INCLUDED                                FALSE

                      #define BT_BRCM_VS_INCLUDED                                TRUE

                      #define BLE_BRCM_INCLUDED                                  FALSE

                      #define BTM_BLE_PRIVACY_SPT                                TRUE

                      /* if BLE Pirvacy is off, please be sure set host address resolution to be false */

                      #define BTM_BLE_HOST_ADDR_RESOLUTION                        FALSE

                      #define BTM_SEC_HOST_PRIVACY_ADDR_RESOLUTION_TABLE_SIZE    (p_btm_cfg_settings->addr_resolution_db_size)

                       

                       

                      #define BLE_DATA_LEN_EXT_INCLUDED                          TRUE

                       

                       

                      #define BTM_BLE_PRIVATE_ADDR_INT                            (p_btm_cfg_settings->rpa_refresh_timeout)

                       

                       

                      #define BTTRC_INCLUDED                                      FALSE

                      #define BTTRC_PARSER_INCLUDED                              FALSE

                      #define MAX_TRACE_RAM_SIZE                                  10

                       

                       

                      #define SDP_POOL_ID                                        GKI_POOL_ID_2

                      #define SDP_MAX_CONNECTIONS                                1

                      #define SDP_MAX_RECORDS                                    3

                      #define SDP_MAX_REC_ATTR                                    8

                      #define SDP_MAX_UUID_FILTERS                                3

                      #define SDP_MAX_ATTR_FILTERS                                12

                      #define SDP_MAX_PROTOCOL_PARAMS                            2

                      #define SDP_MAX_LIST_BYTE_COUNT                            (p_btm_cfg_buf_pools[SDP_POOL_ID].buf_size)

                       

                       

                      #if (defined(BTU_DYNAMIC_CB_INCLUDED)  && (BTU_DYNAMIC_CB_INCLUDED == TRUE))

                      #define MAX_L2CAP_CLIENTS                                  (btu_cb.l2c_cfg_max_clients)

                      #define MAX_L2CAP_LINKS                                    (btu_cb.l2c_cfg_max_links)

                      #define MAX_L2CAP_CHANNELS                                  (btu_cb.l2c_cfg_max_channels)

                       

                       

                      /* Connection Oriented Channel configuration */

                      #define MAX_L2CAP_BLE_CLIENTS                              (p_btm_cfg_settings->l2cap_application.max_le_psm)

                      #define MAX_L2CAP_BLE_CHANNELS                              (p_btm_cfg_settings->l2cap_application.max_le_channels)

                       

                       

                      #else /* BTU_DYNAMIC_CB_INCLUDED  */

                      #define MAX_L2CAP_CLIENTS                                  3

                      #define MAX_L2CAP_LINKS                                    1

                      #define MAX_L2CAP_CHANNELS                                  4

                      #endif /* BTU_DYNAMIC_CB_INCLUDED */

                       

                       

                      #define GAP_CONN_INCLUDED                                  FALSE

                       

                       

                      #define SPP_RFCOMM_SCN                                      1

                       

                       

                      #define BTU_MUTEX_INCLUDED                                  TRUE

                       

                       

                      #define BTE_IDLE_TASK_INCLUDED                              FALSE

                      #define BTE_IDLE_TASK_SIZE                                  0xA0

                      #define BTE_HCI_TASK_SIZE                                  0x100

                      #define BTE_BTU_TASK_SIZE                                  0x400

                       

                       

                      #define HCISU_TASK                                          0

                      #define BTU_TASK                                            1

                      #define BTE_APPL_TASK                                      2

                      #define GKI_MAX_TASKS                                      3

                      /* Miscellaneous application configuration */

                      #define _MAX_PATH                                          16

                      #define TICKS_PER_SEC                                      1000

                      #define USERIAL_HCI_PORT                                    USERIAL_PORT_1

                      #define GKI_SHUTDOWN_EVT                                    APPL_EVT_7

                      #define THREAD_EVT_QUEUE_MSG_SIZE                          4

                      #define THREAD_EVT_QUEUE_NUM_MSG                            10

                       

                       

                       

                       

                       

                       

                      #ifdef __cplusplus

                      } /*extern "C" */

                      #endif

                      • 8. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                        dpruessner

                        mkochhal, I think this file is actually a definition of the config options built into the binary libraries supplied in the directory.

                         

                        mifo:  But in this direction, I've been looking over for full documentation of the '<sdk>/libraries/drivers/bluetooth_le/*' system.  We have a project successfully using BLE as a peripheral, but we would like to also interrogate other sensors on the same device.  I'm at a loss to find examples of acting as a Central role in the WICED 3.5.2 SDK-- or any other documentation for the 'libraries/drivers/bluetooth_le' other than reading header files and guessing at what I should be doing.  Is there any formal documentation that I am missing?

                         

                        Thanks!

                        • 9. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                          mifo

                          There is not much in the way of formal documentation for the Bluetooth API/Stack used within the combo devices.

                          • 10. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                            dhak

                            mkochhal  As dpruessner pointed out - configuration provided in low_energy/buildcfg.h tells you what config option binary libraries are built with.

                            When your application intends to use low_energy bluetooth by adding
                            COMPONENT += libraries/drivers/bluetooth/low_energy

                            you are already using binaries of BLE-only mode.

                            1 of 1 people found this helpful
                            • 11. Re: 3.7.0 Bluetooth Proximity Reporter on ISM43341_M4G_L44
                              mkochhal

                              We had repurposed the blue_hello_sensor to host our own 128-bit UUID characteristics and services ... Besides making the changes that has been suggested elsewhere:

                               

                              .featured_baud_rate          = 115200

                               

                              in platform.c for ISM43341_M4G_L44 solved the problem.

                               

                              Also, I think I will watch out to make sure that wiced_bt_config will have those two lines (although they were in the stock ble_proximity_reporter app).

                               

                                .max_number_of_buffer_pools = WICED_BT_CFG_NUM_BUF_POOLS,

                                  .addr_resolution_db_size = 3,

                               

                              I got to a point where I can advertise my service but my GATT database and its characteristics were not found ... We looked at the ble config for blue_hello_sensor and modified the following lines as well:

                               

                              /* GATT configuration */

                                  .gatt_cfg =                      /**< GATT settings */

                                  {

                                      .appearance      = APPEARANCE_GENERIC_TAG, /**< GATT appearance (see #gatt_appearance_e) */

                                      .client_max_links = 0,  /**< Client config: maximum number of servers that local client can connect to  */

                                      .server_max_links = 1,  /**< Server config: maximum number of remote clients connections allowed by the local */

                                      .max_attr_len    = 360, /**< Maximum attribute length; gki_cfg must have a corresponding buffer pool that can hold this length */

                                     .max_mtu_size    = 517, /**< Maxiimum MTU size;gki_cfg must have a corresponding buffer pool that can hold this length */ <-- this was added

                                  },

                               

                              Also changed the

                               

                                   /* rpa_refresh_timeout > 0 for enabling privacy */

                                   .rpa_refresh_timeout = 0, /**< random address refreshing rate in seconds  */ <-- changed from 900 to 0

                               

                              Now I can host my GATT and the iOS app finds the R/W characteristics ...

                               

                              Thanks!

                              3 of 3 people found this helpful