Smart Bluetooth Forum Discussions
If a customer designs a system with 20736S, how does the customer proceed with the regulatory certification testing? LMA (Limited Modular Approval) can be applied for Japan regulatory?
Show LessI am developing a Client app. I want to receive the addr of a joystick (I know its address); so, I make a scan and I receive address of other devices, except the joystick. I am sure that my joystick works fine because I can identify it in my cell phone. The problem is that the app can't receive advertisement from the joystick. I tried to change scan type, scan address type, scan filter policy and it didn't work. I don't know if there is a filter that prevents Bluetooth chip could receive some address from some kind of device.
Show LessHi, i am trying to use the battery characteristic on P8 as well do I need to have a dedicated GPIO for the GPIO_SETTINGS_BATTERY ?
If so does this GPIO has to be connected to a physical PIN ?
I am usine 2 AA battery or mini USB using 5 V to 3.3 V LDO to power the board with automatic detection of mini USB vs battery. Right now everytime I read the characteristic using BLE Explorer even after 40 hours of usage It is still reporting 100 %
Other than calling blebat_Init(); do I need to plug specific code ?
// Following structure defines GPIO configuration used by the application
const BLE_PROFILE_GPIO_CFG meatsitter_gpio_cfg =
{
/*.gpio_pin =*/
{
-1,//GPIO_PIN_WP, // This need to be used to enable/disable NVRAM write protect
-1,//GPIO_PIN_BUTTON, // Button GPIO is configured to trigger either direction of interrupt
-1,//GPIO_PIN_LED, // LED GPIO, optional to provide visual effects
8,//GPIO_PIN_BATTERY, // Battery monitoring GPIO. When it is lower than particular level, it will give notification to the application
-1,//GPIO_PIN_BUZZER, // Buzzer GPIO, optional to provide audio effects
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // other GPIOs are not used
},
/*.gpio_flag =*/
{
0,//GPIO_SETTINGS_WP,
0,//GPIO_SETTINGS_BUTTON,
0,//GPIO_SETTINGS_LED,
0,//GPIO_SETTINGS_BATTERY,
0,//GPIO_SETTINGS_BUZZER,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
// Initialize GATT database
void my_database_init(void)
{
//Initialized ROM code which will monitor the battery
blebat_Init();
}
Show LessWe will be revisiting a 20736S design that was built using SDK 2.2.1 and plan to update to SDK 2.2.3 to take advantage of the improvements in the stack.
- Is there a list of outstanding issues with 2.2.3 or of any patches that should be added? We'd like to go into the process with "eyes open".
- Is there an estimated date for the release of the next version of the SDK?
Thanks!
Show LessPer the information you provided here:Re: BLE RF Testing Setup Procedures
How to transmits the number of packets (1500 packets as specified) instead of continuous transmission of the packet?
Show LessHello,
I am trying to flash our BCM 20736S BLE module.
Using WICED-Smart-SDK 2.2.0, in WICED Smart IDE, I have 2 make targets (for download and recovery):
BLE-BCM920736TAG_Q32 download BT_DEVICE_ADDRESS=random UART=COM91
BLE-RECOVER-BCM920736TAG_Q32 recover UART=COM91
Similarly, we'd also like to use the ChipLoad exe to flash this from command line:
ChipLoad.exe -BLUETOOLMODE -PORT %UART_PORT% -BAUDRATE 115200 -MINIDRIVER .\BCM920736TAG_Q32\uart_DISABLE_EEPROM_WP_PIN1.hex -BTP .\BCM920736TAG_Q32\20736_EEPROM.btp -CONFIG %FILENAME_HEX% -CHECKCRC -NOVERIFY -DLMINIDRIVERCHUNKSIZE 251
We have a custom PCB with 2 FTDI 232 USB-to-UART converters which each connect to one the UARTs on the BCM module.
It also has a reset button for the BCM, and a button pulling SDA to GND for recovery.
We use those sequences to try to flash the module:
- Download: press & release reset, start the make target in IDE
- Recover: press reset & SDA, release reset, wait a while, release SDA, start make target in IDE (with varying timing)
I measured the RX pin at reset of the BCM, it is at "HI" level (3.3V) as supposed.
On a 3rd party forum I saw soneone mention that SDA is also supposed to be held high, not low, for recoevry, without giving a reference. I tried that modifcation, to no avail.
Any of this almost never works in the IDE. Like 1 of 50 times there is no error.
The ChipLoad, on my PC (wint 32bit), never works, I always get "BluetoolDownloadMinidriver failed".
On a different PC (win10) I once got ChipLoad to work for a couple times in a row, but not anymore.
Can you provide any hints as to what may produce this rather sporadic functioning of the flashing process?
Show LessBy using forum suggestion, we use
// to make upgrade faster request host to reduce connection interval to minimum
lel2cap_sendConnParamUpdateReq(6, 6, 0, 700);
in ws_upgrade_ota_handle_command()
however, we find there is big slow different OTA speed toward Samsung handset when device in slave role.
we try to mark this function,
// We are done with initial settings, and need to stay connected. It is a good
// time to slow down the pace of master polls to save power. Following request asks
// host to setup polling every 100-500 msec, with link supervision timeout 7 seconds.
//bleprofile_SendConnParamUpdateReq(80, 400, 0, 700);
in encryption_changed(HCI_EVT_HDR *evt)()
we find there is a speed improve for Samsung handset and in our sys. config, security engine is diabled.
We question that is it useful and used in BLE-link once security is diabled and also why to mark it,
//bleprofile_SendConnParamUpdateReq(80, 400, 0, 700);
it can work with Samsung and any other side effect on other handset if we do it????
Show LessWhen I use lesmp_sendSecurityRequest() to a iOS 8.0 device that is already bonded, the smp timer never starts, and I never receive the lesmp_regSMPResultCb() callback. iOS 7.1.2 always starts the smp timer and calls the lesmp_regSMPResultCb() callback. We rely on the callback to complete our connection setup. Please advise why the smp timer is not starting and the callback is never called.
Show LessHello,
We will be using a master 20737s to connect multiple 20737s slaves. We would like to connect with pairing and by looking at the hello client and hello sensor examples the API only accepts one key. The questions is how to manage multiple connections where each of them has its own pairing key ?
The API for setting the passkey looks like:
lesmp_setSMPassKey((UINT8*)passKey,LESMP_MAX_KEY_SIZE);
lesmp_setJustWorksNotPermitted();
As we can see the API is not "connection" aware, but it looks like it will use the same key for all the connections. More, our master will connect multiple devices and some of them will require pairing and some of them will not.
Thanks.
Show LessHello,
Per this article: WICED Smart BCM92073X OTA Firmware Upgrade (2)
Thanks for your article. It is really helpful, but we are kind of stuck at a particular position.
The things seem to work fine till we send the firmware length. But when we tried to send the firmware info, we are getting the call in onCharacteristicWrite() but the value is not getting written to the device.
I am using a BLE device "Anaren A20737A" and connected with it using PUTTY. I am also sharing the debug traces visible in putty.
The correct debug traces should be like -
command == WS_UPGRADE_COMMAND_PREPARE_DOWNLOAD
send_status 0
write_handler: handle ff02, len 5
Command:2 State:1
Active: 0x00000580, Upgrade: 0x00008000, UG length: 0x00007A00
state:2 total_len:29040
send_status 0
write_handler: handle ff05, len 4
ws_upgrade_info 3a19 02 05
WsUpgradeAppInfo 3a19 02 04
where -
3a19 is application id
02 - major version
04 - minor version
Show Less