Smart Bluetooth Forum Discussions
I've noticed that if I try to upload a bigger image (~25KB) then uart_firmware_upgrade code fails on crc calculation stage, when calling ws_upgrade_verify().
Seems this is related to some internal timers which don't allow you to stay in interrupt handler code (ws_upgrade_uart_interrupt_callback() in this case) for more than 3-4 seconds.
Did anybody experience the same problem?
Is there any workaround or fix for this?
I'm using WICED Smart SDK 2.2
Show LessHello, I have a question.
I have the tag board and have read some documents and could download the sample programs and work well.
Next, I am making a original code but I couldn't the API reference.
I found the API reference html at WICDED-Smart-SDK->Doc->API.html but many functions are not explained.
For example, the SDK make some code automatically when I make the project like,
blecm_setTxPowerInADV(0);
but, there is no explanation of the function's argument.
How could I do?
I don't want to know just the mean of the function. I want to know "how" to study the APIs.
Show LessCompared with fine timer, the BT clock timer have higher resolution and seem to consume less power.
My question:
Is it suggested to use BT clock timer instead of fine timer wherever possible?
Is there any side effect?
thanks a lot!
Show LessHi,
We have a stress test running between two 737TAG dev boards. Code is based on hello_client/sensor. Master connects to the sensor, reads battery characteristic 10 times, then disconnects and connects again and so on in a loop.
Works flawlessly for about 5 minutes, then we get disconnect event with reason BT_ERROR_CODE_LMP_RESPONSE_TIMEOUT = 0x22 given by emconinfo_getDiscReason(). Disconnect always happens after ~40 seconds since requesting battery level characteristic read. After it, connect still works, but the battery read fails with the same error again and again.
So the question is what does LMP mean and what is the reason of such error? How to make Bluetooth functional again after LMP error happens? Problem is 100% reproducible in our environment.
BR, Andrey
Show LessI have migrate OTA function from "ota_firmware_upgrade" to my application. But when I start to OTA upgrade, I can watch this from trace port and upgrade is so slow, finally it is failed.
*#04FF0EF7009201010000E5750405FF0000
blecm evt handler:
1305
Checking readable attribute ff05
@$*#04FF0EF7009201010000E5750405FF0000
blecm evt handler:
1305
Checking readable attribute ff05
@$*#04FF0EF7009201010000E5750405FF0000
blecm evt handler:
1305
But when I use "ota_firmware_upgrade", everything work well.
$#04FF0EF7009201010000E5750405FF0000@$#04FF0EF7009201010000E5750405FF0000@$#04FF0EF7009201010000E5750405FF0000@$#04FF0EF7009201010000E5750405FF0000@$#04FF0EF7009201010000E5750405FF0000@$#04FF0EF7009201010000E5750405FF0000@
Show LessI need to perform SPI transfers of more than 16 bytes. As there is no DMA available for that, is there some reliable way to do that on that device. Note that I only uses the MOSI signal. I don't care about the clock or the input signals, but there could be no interruption (almost none) in the data stream. Can it be done ?
Can I simply hook an ISR and perform multiple block transfers without disrupting the BLE stack ? If so, how long can I stay in the ISR before breaking something ?
Thanks,
Yves
Show LessHi,
I have some questions about using static random device address.
By below blog, I need to buy OUI from IEEE if I use public device address.
To save US$2,575, I want to use static random address.
Question.1
When I use random address, address type in advertising packet should indicate random(1).
Is it correct?
Question.2
Can Address type be changed to random ONLY by blecm_startAdv(1)/blecm_setAdvParam(1)?
Any other way available?
Questoin.3
Calling blecm_startAdv(1) changes address type of the packets.
But BD_ADDR of captured packets are all 0x000000000000 after this change.
Any advice please?
Question.4
Using blecm_set_static_random_bd_addr() makes BD_ADDR random and it works with blecm_startAdv(1).
But I'd like to specify lower bits of BD_ADDR to manage devices.
(I may seal sequential serial number label using these lower bits of BD_ADDR.)
How can I specify lower bits of BD_ADDR as random address?
Show LessDear Sir,
Our customer need to get the callback in every advertisement packet.
After searching the forum and source code, I have no sense for that.
In indoor location and beacon market, we need this behavior to make sure correctness is good enough.
In puart_control sample, the WICED only report once for every device in every scan duration. Customer need to get the advertisement callback in every advertisement packet. Could you give me a favor to check this function ?
Best Regards,
Rush Chen
Show LessHi all !
I buy a Wiced Sense Tag , just this one .
I download the SDK 2.2 ,install the drivers, like this
I start IDE and try to downlaod one target to the device,but none of the targets is ok ,always like this:
Detecting device...
+------------------------------------------------------------------------------------------+
| No BCM20737 detected |
| 1. Verify the BCM20737 tag is connected _AND_ powered |
| 2. Verify SW2 and SW3 switches are towards Vusb and Vreg respectively and all SW4 |
| switches are set to ON |
| 3. Press the reset button on the tag and retry |
| |
| If this problem persists, the EEPROM on the tag may be corrupted |
| Please see Appendix D in the Quick Start Guide for recovery instructions |
+------------------------------------------------------------------------------------------+
Download failed. This version of the SDK only supports download to BCM20736A1 and BCM20737A1 devices
I don't what to do with this.The battery is put in ,and is powered.I don't know where to find SW3 or SW4 .
I really need some help , thanks!
Show Less