Smart Bluetooth Forum Discussions
text.format{('custom.tabs.no.results')}
In my application in SDK 1.x, I implemented a 'version stamp' in the OTA image that I could check for to verify the version of the image.
I implemented this by declaring a constant structure in the code that contained a version number set from #define constants in the code.
This way, I was able to search the binary image for a particular string pattern and then pull the version out.
However, when I switched over to SDK 2.x, I found that this method no longer works.
It appears that string data in SDK 2.x, when it appears in the OTA image, has other bytes interspersed
For example, in the code, there is a line like this:
ble_trace0("===SELF TEST REPORT===");
This shows up in the OTA binary, but not in a completely obvious way:
00004020 fb f1 53 45 4c 46 20 ff 54 45 53 54 20 52 45 50 |..SELF .TEST REP|
00004030 e7 4f 52 54 fd f1 ee f0 53 49 4f ff 4e 3a 25 73 |.ORT....SIO.N:%s|
I am not sure what is going on here, but it seems clear that it won't be easy to necessarily spot a string in the OTA binary.
Is there any better way to do this? Is there some way I can force a particular string into the OTA binary from within the SDK build environment? I feel more comfortable having the source code automatically produce an identifying mark in this way.
Show LessUsing an array initializer in my code caused an undefined reference to memset().
Is there a change to the makefile that can link in the correct library?
I'm also getting an undefined reference on abs().. is there a math library in the SDK?
Show Lessin BCM20737IBCN_REF_SCHEMATIC, P0 pin is function to disable radio function of BCM20737 .
but P0 pin does't have as above content if you see part of P0 alternative function description.
i want that it would be possible to on/off BCM20736 from another master device.
Show LessWe want to use P24 and P25 pins as puart port but it is not working. Any suggestion?
With BCM920737TAG board, I was able to use P33 and P32 pins as puart. On another custom build pcb I was able to use P2 and P0 pins as puart.
Below is the function call I used configure puart pins
puart_selectUartPads((uint8_t)33, (uint8_t)32, 0x00, 0x00); -- working
puart_selectUartPads((uint8_t)2, (uint8_t)0, 0x00, 0x00); -- working
puart_selectUartPads((uint8_t)25, (uint8_t)24, 0x00, 0x00); -- not working -- I did monitored output of P24(Txd) and stays at low instead of high level.
Please let me know any specific settings I need to do to use P24,P25 pins as puart port.
Show LessUUID Overview
UUID is to identify attributes such as services, characteristics and descriptors. Bluetooth SIG has reserved some UUIDs for standard attributes. Any implementer may generate any other UUID for their own use.
To understand how UUID works, please refer to Universally unique identifier and Globally unique identifier at Wikipedia.
UUID Generation
Tool on Linux
The uuidgen program creates a new UUID. The new UUID can reasonably be considered unique among all UUIDs created on the local system, and among UUIDs created on other systems in the past and in the future.
Tool on Windows
Please refer to document Create GUID on MSDN to generate UUID by tool guidgen.exe.
Tool Provided by Python
Module uuid in Python is to generate UUID. If all you want is a unique ID, you should probably call uuid1() or uuid4().
Define UUID in WICED Smart Applications
Suppose that we want to replace the UUID for service HELLO in example application “Hello Sensor” with a new one. Click copy in guidgen.exe and paste it here. And if we get a GUID as follows:
// {1B7E8251-2877-41C3-B46E-CF057C562023}
static const GUID <<name>> = { 0x1b7e8251, 0x2877, 0x41c3, { 0xb4, 0x6e, 0xcf, 0x5, 0x7c, 0x56, 0x20, 0x23 } };
We should define UUID of HELLO service as follows:
#define UUID_HELLO_SERVICE 0x23, 0x20, 0x56, 0x7c, 0x05, 0xcf, 0x6e, 0xb4, 0xc3, 0x41, 0x77, 0x28, 0x51, 0x82, 0x7e, 0x1b.
Please note that byte order need to be reversed when it’s defined in the source code.
Practice with Hello Sensor Application
Please change the UUID of service HELLO to a new value, run the application again and check the result.
Show LessHi,
Does each BCM20736 chip have a unique identifier that I can use to differentiate one chip from another? I'm also a little confused about the local BD address returned by emconinfo_getAddr(void). I'm seeing that every one of my devices that I program return with the same exact MAC address. My understanding was that MAC addresses were unique to each chip, and were set by the manufacturer.
thanks,
akbar
Show LessFrom document "MMPWICEDSmart-HS101-RDS.pdf", the WICED Smart Support both ARM RealView RVDS and CodeSourcery G++ Lite toolchains.
Qeustion #1: What's the default toolchain in WICED Smart 2.1.1? gcc?
Question #2: If i would like change to use CodeSourcery G++ Lite toolchain, what procedure should i follow? Any link or document introduce that?
thanks.
Show LessHi,
I want to be able to upgrade the firmware on our BCM20732S through our separate MCU which is connected to the BLE's HCI UART. This way, we can ship out firmware upgrades that the user uploads via USB, and it will update both the MCU's firmware and the BLE's firmware at the same time.
Is there some kind of spec or document or source code describing exactly how this process works? So far I know that you have to reset the BCM20732S while the RX line on the HCI UART is pulled high. Then it will wait for the first programming commands and respond with verification bytes. However I have no idea what those commands and verification bytes actually are - I'm just trying to emulate what is happening over the serial port when I program it from the SDK.
Here's an example Arduino sketch I've been using to try to get the BCM20732S to at least respond to a programming request. I used a serial port monitor to capture what the SDK is sending over the FTDI programmer, and am sending those exact same bytes, but I can't seem to get it to respond:
Test Updating Firmware on the BCM20732S via HCI UART
Does anyone have any tips or advice on how to upload firmware to the BCM20732S? Are there timing considerations or extra signals sent that my serial port monitor wouldn't be capturing?
Thanks!
Tyler
Show LessAfter lengthy discussions with our test lab, I eventually received a quote which is totaling at around $9000.
They have listed the following tests to be done for US:
FCC Part B 15.109; (spurious emission)
FCC Part C 15.207; (transmitter test)
FCC Part C 15.247; (transmitter test)
From my understanding, the above FCC tests need to be done.
However they are also asking me to do the following two tests for Europe:
EN 300 328, v1.8.1
EN 301 489-17, V2.2.1
Based my understanding from the Broadcom documents, we don't need to do these tests for Europe since the SIP has modular approval in Europe.
Additionally, they are asking for these tests for Canada:
ICES-003 B, Issue 5;
RSS-210, Issue 8;
RSS-102, Issue 4;
Can you please help me determine of the Europe and Canada tests are necessary?
Show Less