Comments on Tests Carried out

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

cross mob
Anonymous
Not applicable

I have been working on the modules and have had a few issues.  I have the modules connecting and communicating, however looking at a product I test for the conditions that may occur and have found a few issues, see below, for discussion or solutions if anyone has any.

  1. Power on advertisement is not always working. Using RF Sniffer you can see that the RF stops operating when there is no client to connect too.
  2. Running the advertisement through it’s cycle, High advertisement for 30 seconds and then low advertisement for 300 seconds. There are frequent occasions where the module does not complete it’s cycle. The low advertisement runs for 10 seconds and then stops, sometimes the low advertisement runs for the full 300 seconds, the “Stopped advertisement interrupt handler” is called and low advertisement is re-started….sometimes you get RF for 10 seconds ….sometimes you get nothing.
  3. If the advertisement has stopped there is no way to re-start it without power cycling the module.
  4. I have added commands to allow serial commands to start/stop advertisements…this operates correctly and I can start HI or Low advertisements and stop them as required….however when the module hits the problems above the advertisements will not re-start without a power cycle.  The firmware has not crashed as the debug messages are still being generated every second.
  5. If a connection is made and we are passing and processing messages correctly then the system is operational.  The client is then powered down so the link is lost, the server sees that the link is lost and starts a high advertisement rate to re-connect to the client. Sometimes we get no RF out of the module, sometimes we get RF but the client will not re-connect until it has it’s power cycled.
  6. There are also issues with the pairing/bonding of the devices on the forum which Broadcom are aware of and will be fixing in the future.
  7. Lack of documentation on the software functions within the module, I spend a lot of time looking of r a feature to find it in another software module, but with no documentation to support it.

  

0 Likes
1 Solution
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

I will try to respond to these in the order listed as some look like questions, while others apprear to be confirmations or understandings.

1.

Our Firmware team has since responded to your initial inquiry here: http://community.broadcom.com/thread/2839

In addition, I responded today to say this sounds like the Crystal Warm Up issue described here: Re: BCM20732S module keeps crashing

Try disabling sleep to see if it continues to be a problem. If this is not the issue, I will create a case internally with the developers to see if they can provide guidance.

2., 3., 4. and 5.
I believe these are part of the problems noted in item 1, which are being handled throught his thread: http://community.broadcom.com/thread/2839

6.

Pairing/Bonding works, but there appears to be some problems with the the following two functions returning a -1 when they should not:

lesmpkeys_find

lesmpkeys_deleteBondInfo

This is described here: Re: Removing Bonded Device Info

7.

Related to documentation and items 2., 3., 4. and 5 above, you may want to take a look at How to Write WICED Smart Applications as this is a good place to start in order to understand to to program our device.

You should also look at registering/handling the affected events.

For example, when the advertising cycle is over you should catch the event for that and decide if you want to advertise again or let the device sleep. It can remain sleeping for a period of time if you want and wake up on a timer set to a certain number of seconds.

There are also events for link up/down and encryption change and bond result.

// register connection up and connection down handler.
bleprofile_regAppEvtHandler(BLECM_APP_EVT_LINK_UP, hello_sensor_connection_up);
bleprofile_regAppEvtHandler(BLECM_APP_EVT_LINK_DOWN, hello_sensor_connection_down);
bleprofile_regAppEvtHandler(BLECM_APP_EVT_ADV_TIMEOUT,
hello_sensor_advertisement_stopped);
// handler for Encryption changed.
blecm_regEncryptionChangedHandler(hello_sensor_encryption_changed);
// handler for Bond result
lesmp_regSMPResultCb((LESMP_SINGLE_PARAM_CB) hello_sensor_smp_bond_result);

Note that the APIs are documented within the WICED Smart SDK (Deoxygen output HTML)

Also recall that we include many sample configurable applications in ROM as well (we consider these forms of documentation also): wireless charging, automation IO, blood pressure monitor, cycling/running speed cadence, glucose meter, master/slave, temp sensor, beacon, long characteristic, OTA, PWM, speed test, time, proximity and others

vauser pnorbury

View solution in original post

0 Likes
1 Reply
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

I will try to respond to these in the order listed as some look like questions, while others apprear to be confirmations or understandings.

1.

Our Firmware team has since responded to your initial inquiry here: http://community.broadcom.com/thread/2839

In addition, I responded today to say this sounds like the Crystal Warm Up issue described here: Re: BCM20732S module keeps crashing

Try disabling sleep to see if it continues to be a problem. If this is not the issue, I will create a case internally with the developers to see if they can provide guidance.

2., 3., 4. and 5.
I believe these are part of the problems noted in item 1, which are being handled throught his thread: http://community.broadcom.com/thread/2839

6.

Pairing/Bonding works, but there appears to be some problems with the the following two functions returning a -1 when they should not:

lesmpkeys_find

lesmpkeys_deleteBondInfo

This is described here: Re: Removing Bonded Device Info

7.

Related to documentation and items 2., 3., 4. and 5 above, you may want to take a look at How to Write WICED Smart Applications as this is a good place to start in order to understand to to program our device.

You should also look at registering/handling the affected events.

For example, when the advertising cycle is over you should catch the event for that and decide if you want to advertise again or let the device sleep. It can remain sleeping for a period of time if you want and wake up on a timer set to a certain number of seconds.

There are also events for link up/down and encryption change and bond result.

// register connection up and connection down handler.
bleprofile_regAppEvtHandler(BLECM_APP_EVT_LINK_UP, hello_sensor_connection_up);
bleprofile_regAppEvtHandler(BLECM_APP_EVT_LINK_DOWN, hello_sensor_connection_down);
bleprofile_regAppEvtHandler(BLECM_APP_EVT_ADV_TIMEOUT,
hello_sensor_advertisement_stopped);
// handler for Encryption changed.
blecm_regEncryptionChangedHandler(hello_sensor_encryption_changed);
// handler for Bond result
lesmp_regSMPResultCb((LESMP_SINGLE_PARAM_CB) hello_sensor_smp_bond_result);

Note that the APIs are documented within the WICED Smart SDK (Deoxygen output HTML)

Also recall that we include many sample configurable applications in ROM as well (we consider these forms of documentation also): wireless charging, automation IO, blood pressure monitor, cycling/running speed cadence, glucose meter, master/slave, temp sensor, beacon, long characteristic, OTA, PWM, speed test, time, proximity and others

vauser pnorbury

0 Likes