Smart Bluetooth Forum Discussions
The SDK provides several functions (e.g. bleprofile_ReadNVRAM/bleprofile_WriteNVRAM) that read and write via the I2C interface to an EEPROM device with ID bits set to "000". This works for the BCM20736S Module which has an internal EEPROM with ID 000.
Our application adds an external EEPROM on the I2C interface with device ID set to 001 to distinguish it from the internal EEPROM with ID 000.
Unfortunately, The SDK NVRAM functions do not include a calling parameter for the device ID. They only write / read the internal EEPROM. Also it appears that the source code for these functions is not exposed in the SDK. This means we need to write our own NVRAM functions that duplicate the SDK functions and provide read/write for the external EEPROM. Besides the pain of re-inventing an already existing wheel, we are in a time crunch due to a series of unexpected issues and having pre-canned NVRAM read write functions would help a lot with this.
1. Does anybody have some source code for doing NVRAM read/write over the BCM20736S I2C interface? Would you be willing to part with it?
2. Can Broadcom provide the source code for the bleprofile_ReadNVRAM/bleprofile_WriteNVRAM functions so that we might copy them and modify to suit our application?
Hi, I have 2 quenstion about BCM20737S below
1. BCM20737S datasheet is ensured RF performance below.
TX : 2dBm
Rx sensitivity : -94 dBm
Does those RF performaces mean conduction data or radiation data??
2. BCM20737S antenna efficiency of 31 ~ 41% could be achieved based on recommended layout. Is there some way to check antenna passive performance??Show Less
I'm looking for an interference robust BLE module for use in an industrial environment.
The BLE specification itself incorporates the usage of channel hopping. The implementation however differs. TI ASFAIK implements a static-only hopping in their current BLE stack (even promising adaptivity). Means: If there is a channel blocked/not working the module continues sending on this channel (and just resends on another packet on the next frequency). This results in unnecessary delays and traffic on the 2.4GHz Band. Some others do proper AFH only when in regular bluetooth mode.
For my product (and coexistence with other systems) I definitely need a module with adaptive channel hopping when working in BLE (without implementing it by myself). Means the module keeps and updates a channel map and will only communicate on these channels that are available/working (and not keep sending on those, that are already blocked by other applications).
How exactly works the AFH in the Wicked stack? Is it truly adaptive in the sense I described above?
I'm writing an Android app that will collect data from a WICED Sense Tag. I'd like to re-use some of the code from Broadcom's Android app (WICED Sense Android Source (v1.08)), which seems to be licensed under the Apache 2.0 license. However, the license.html file included with the app (which I've attached) says that I "do not have the right to modify or create derivative works from the Software".
Someone asked about the iOS source license, but I didn't see an answer there. Am I allowed to use the code in my app?
I'm looking for the most simple way to get started with BCM20737. Is there any ready-made F/W (or example code) I could use to achieve the following on BLE:
- Two MCUs talking to each other using a wired UART => replacing the wires with a BCM20737 (BLE Mode and UART Interface) on both sides.
- Configure/do special tasks (Pairing, control TX Power...) on the BCM20737 using AT commands or similar.
Any hints? Before I was using a HM-11 BLE module which worked in this way and was good for prototyping. But now we are looking for a more advanced and pre-certified module for the first badge of our product.
Thanks for your help!
I have three question
1) When I was trying to pair tag3 to Bluetooth dongle, it add the device but it can not install driver for it, driver is always failed. I download several app like hello_sensor, speed_test, HRT monitor all of them failed. Kindly look picture below. I checked on "show bluetooth device" in my PC i saw a yellow triangle sign on added device kindly look below picture. Is this normal?
2) Normally Bluetooth device added serially with PC, and we can see incoming data on 'Hyper terminal' or 'Putty' why we can not receive data serially with Tag3 board on 'Hyper terminal' or 'Putty'?
3) I just want my sensor data on serial port to process further with matlab.
I know WICED Smart doesn't have JTAG interface, debugging is done through an SWD interface. The debugger you've recommended is Segger J-Link.
A customer is asking if there is an alternative to Segger J-Link (a cheaper one). Do you know any other?
firmware size ~ 10KB.
Now we would like to implement a factory test mode to calibrate sensor data
into hello-sensor firmware; but from PC host side, we find we can get string
from target side but when we use PUTTY to send command/data to target side
by PUART Rx (configured with 9600 baudrate and use SW polling read), we didn't
get any data from host side and we also implement UART interrupt to handle
the receiving mechanism, dont know any problem existed or something not configured
Existing external Serial Flash size on BCM20736 EVB is only 4 Mbit. But we need minmium 64 Mbit. So we select MX25L6408E.
If so,how serial flash driver to modify?
What I am doing is to synchronize multiple Bluetooth devices by broadcasting non-connectable advertisement (only 1 packet) to 2 devices which are scanning. I register advertisement report function using blecm_RegleAdvReportCb. In that function, I use bleapputils_currentNativeBtClk(); to get receiving timestamp. Then, I can know time offset on those 2 devices.
In the situation that I transmit nothing else among those devices, the offset I get are very consistent. It varies only 1 - 3 unit (less than 1 ms; good enough). However, when I experimented in the situation that they transmit information continuously, the time offset is not consistent anymore with the range up to 35 units (~11 ms).
Therefore, I conclude that the callback function might start quite late after it actually receive the advertisement packet. Then, I am finding for a way to get the timestamp at the point it is receiving (not in the callback) for more consistent time offset. Is it possible? or Is there any patch for that feature?
I'm using WICED Sense.Show Less