BCM943341WCD1_EVB : BLE demo app

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

The BCM943341WCD1_EVB claims that it supports both wifi and ble.

From the wiced wifi sdk I am able to build and run a wifi based app, but am unable to figure out how to implement a ble peripheral.

The wiced smart sdk seems to be geared towards BCM2073X.

0 Likes
1 Solution

First off, WICED SDK 3.3.1 under Windows (have not checked other versions) has an issue where not all of the included apps show up in the project explorer after the initial install.

To fix this, within Eclipse go to the File->Refresh (F5) menu item.  Once clicked, you will see alot of new apps populate under the project explorer folder.

One of these included projects is the previously mentioned proximity_reporter, specifically: /WICED-SDK/apps/snip/bluetooth/ble_proximity_reporter

To run this program, you will need a BCM943341WCD1_EVB board such as the one you mentioned in your initial post (this board supports BLE/BT, the 43362 board does not - Wi-Fi only).

First off, plug the BCM943341WCD1_EVB into your PC and double-click the "clean" make target; note that double clicking the make file in the make file window is the only way the SDK knows to load the program onto the board, the menu items in Eclipse do not work. This will confirm that the SDK can communicate with your eval board.

Next, you will need to create a new make target file for the proximity reporter application, but the target will need to point to the 43341 platform, not the 43362 platform which is shown in the included examples.

To do this, copy and paste one of the samples shown in the Make Target window.

I took: snip.scan-BCM943362WCD4 copy-paste, then changed the Target Name to: snip.bluetooth.ble_proximity_reporter-BCM943341WCD1 download

Notice the syntax used in the target name is essentially the mapping of the directory for the sample app, followed by the platform name. It the syntax is off even in the slightest, you will see errors thrown.

Now double-click the new make target you just created.

I cannot test this at home because I do not have a 43341 eval board, but this should work.

If this does not work, you will most likely need to wait for the apps team to return to work on Monday.

abirjepatil jaeyoung

View solution in original post

0 Likes
8 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

WICED SDK 3.3.1 SDK supports peripheral mode via a sample application called ble_proximity_reporter.

Here's a couple of threads on the subject:


Can SmartBridge support "peripheral" mode?

BLE API's for peripheral mode

Re: Is WICED WIFI 3.3.1 supports CCCD in ble peripheral mode ?

Wiced SDK 3.3.1: Customizing the ble proximity reporter for Vendor Specific Services and Attributes

128-bit UUID support on WICED SDK 3.3.1

cheong2k also has this working on the newer 4343W/43438 RedBear Duo board as well: Re: To IoT Lovers: RedBear Duo

jaeyoung is also working on a Blog that covers this sample app which should be posted soon.

mkochhal rajvirzala heng

0 Likes
Anonymous
Not applicable

Still getting used to the WICED SDK ..

Two problems :

a. unable to get serial output to show up

b. need help setting up IDE with 3.3.1 SDK

Unable to see serial output

1. I downloaded and installed Wiced-SDK-3.1.2 for OS X.

2. I was able to build and download the  snip.scan-BCM943362WCD4 download run (saw the blue JTAG leds flash appropriately, no errors).

3. I setup CoolTerm but am unable to see any output on it (when evb board was connected I saw it show up as usb-serial-B and I setup baud and other comm parameters as specified in the quick start guide). However I am unable to see any output from the scan app on the CoolTerm window. Tried relaunching app from the debugger as well as pressing reset on the board. Interestingly if I hit kits on my mac keyboard I see the UART LED flash on the board (so the Tx from the mac is going through, just no Rx coming from the board). Plan was to try and step through the debug version of the app to determine what's happening, but if you know what might be happening will save me a lot of time.

Adding BLE apps to the IDE

Going back to your reply for setting up BLE.

I downloaded the SDK-3.3.1 and copied the entire folder to /Applications/WICED (this is where I had installed 3.1.2)

sajids-MacBook-Pro:WICED sajid$ pwd

/Applications/WICED

sajids-MacBook-Pro:WICED sajid$ ls -l

total 8

lrwxr-xr-x   1 sajid  admin   19 Jan  1 08:16 WICED IDE -> eclipse/Eclipse.app

drwxrwxr-x  23 sajid  admin  782 Jan  1 08:20 WICED-SDK-3.1.2

drwxr-xr-x@ 19 sajid  admin  646 Jan  1 09:44 WICED-SDK-3.3.1

drwxrwxr-x  16 sajid  admin  544 Jan  1 09:49 eclipse

sajids-MacBook-Pro:WICED sajid$


How do I pull in all these projects from 3.3.1 into the IDE ?

Just as an FYI ..

My demo app needs to do the following :

- connect to a phone over BLE

- scan for wifi access points

- send the access point info via a custom BLE service to the phone

0 Likes
Anonymous
Not applicable

Since I was unable to find SDK 3.3.1 pkg for Mac OSX I instaeed 3.3.1 on windows10.

Now after I launch WICED IDE how do I add the ble_proximity_reporter project to the IDE so that I can build, download and run/debug on the BCM943341WCD1_EVB  board.

0 Likes
Anonymous
Not applicable

I dragged the ble_proximity_reporter folder to the  IDE's Project Explorer folder WICKED-SDK/apps/snip

In the MakeTarget Tag I created a copy of "snip.scan-BCM943362WCD4 download run" and renamed it "snip.ble_proximity_reporter-BCM943362WCD4 download run".

Now when I click "snip.ble_proximity_reporter-BCM943362WCD4 download run" to build it I get the following error in the console :

tools/makefiles/wiced_config.mk:291: *** ble_proximity_reporter application does not support BCM943362WCD4 platform.  Stop.

make: *** No rule to make target 'build/snip_ble_proximity_reporter-BCM943362WCD4/config.mk', needed by 'main_app'.  Stop.

0 Likes
Anonymous
Not applicable

Added BCM943362WCD4 to VALID_PALTFORMS in ble_proximity_reporter.mk

Now get the following error :

tools/makefiles/wiced_config.mk:304: recipe for target 'build/snip_ble_proximity_reporter-BCM943362WCD4' failed

make.exe[1]: *** [build/snip_ble_proximity_reporter-BCM943362WCD4] Error 1

make: *** No rule to make target 'build/snip_ble_proximity_reporter-BCM943362WCD4/config.mk', needed by 'main_app'.  Stop.

0 Likes

First off, WICED SDK 3.3.1 under Windows (have not checked other versions) has an issue where not all of the included apps show up in the project explorer after the initial install.

To fix this, within Eclipse go to the File->Refresh (F5) menu item.  Once clicked, you will see alot of new apps populate under the project explorer folder.

One of these included projects is the previously mentioned proximity_reporter, specifically: /WICED-SDK/apps/snip/bluetooth/ble_proximity_reporter

To run this program, you will need a BCM943341WCD1_EVB board such as the one you mentioned in your initial post (this board supports BLE/BT, the 43362 board does not - Wi-Fi only).

First off, plug the BCM943341WCD1_EVB into your PC and double-click the "clean" make target; note that double clicking the make file in the make file window is the only way the SDK knows to load the program onto the board, the menu items in Eclipse do not work. This will confirm that the SDK can communicate with your eval board.

Next, you will need to create a new make target file for the proximity reporter application, but the target will need to point to the 43341 platform, not the 43362 platform which is shown in the included examples.

To do this, copy and paste one of the samples shown in the Make Target window.

I took: snip.scan-BCM943362WCD4 copy-paste, then changed the Target Name to: snip.bluetooth.ble_proximity_reporter-BCM943341WCD1 download

Notice the syntax used in the target name is essentially the mapping of the directory for the sample app, followed by the platform name. It the syntax is off even in the slightest, you will see errors thrown.

Now double-click the new make target you just created.

I cannot test this at home because I do not have a 43341 eval board, but this should work.

If this does not work, you will most likely need to wait for the apps team to return to work on Monday.

abirjepatil jaeyoung

0 Likes
Anonymous
Not applicable

Thanks for you help during the holidays.

Got this output (building on Mac) ..

Starting WICED v3.3.1

Platform BCM943341WCD1 initialised

Started ThreadX v5.6

Initialising NetX_Duo v5.7_sp2

Creating Packet pools

WWD SDIO interface initialised

WLAN MAC Address : 6C:AD:F8:F0:EC:43

WLAN Firmware    : wl0: Oct 13 2014 15:25:13 version 6.10.190.51 (r507746) FWID 01-60cadeb3

00000371 GKI_create_task func=0x801c0e1  id=1  name=BTU  stack=0x0  stackSize=6144

00000378 GKI_create_task func=0x80220ed  id=0  name=HCISU  stack=0x0  stackSize=4096

Bluetooth enabled (success)

Local Bluetooth Address: [43:34:1B:00:1F:AC]

---->>> New ADV state: 3

Waiting for proximity monitor to connect...

---->>> New ADV state: 4

0 Likes

Excellent news.

Thanks for reporting the results back to the thread.


Happy New Year.

0 Likes