Smart Bluetooth Forum Discussions
I am a new of programming BCM20737S, I would like to know about how to step up programming progress.
1. I would like to know to how to add services and characteristics.
I start to code based on hello client sdk, and checking work with Light Blue iphone app. There is not service in hello client.
Could someone tell me that how to add services and characteristics and how where should I write a code for processing. I can't find main function.
2. I would like to star with turning on and off a external led, and send led situation(on -> 1, off -> 0) to an iphone.
I think I need to configure gpio. Is it enough that I add only gpio_getPinInput() or gpio_getPinOutput() as a gpio congiguration?
I am a beginner of this programming, I will really appreciate your kind support.
Thank you.r
Show LessHi,
I encountered an issue when using BCM20737. If I flash a new project with different sets of services/characteristics, the services and characteristics on android won't change. The only solution I found is to press the button in the following screenshort in the app Smart Explorer. May I know what does this button do in the app?
Best regards,
Sam
Show Less
I am running on a windows 7 with 4 GB memory. Installation of WICED Smart SDK gets stuck in Step 1 and never progresses further. Dont see any messages or warnings w.r.t Java / JDK / JRE. From what i know latest versions of all JRE is installed and running
I also tried this on my Mac and the installer file never opens. Pretty much stuck. Any help would be appreciated
Show LessIn WICED_SMART_SDK 2.1.0, I use 2 boards which are hello_sensor and hello_client.
I uncommented PASSKEY for both.
Default pass key is 123456 and I changed passkey as 57920 in hello_sensor.
But hello_sensor and hello_client can be connected well.
As far as I understand, both devices can not be connected if passkey is different.
The message of hello_sensor is following.
/////////////////////////////////////////////////////////////////////////
14:46:34 -
14:46:34 - NVRAM write:0009
14:46:34 -
14:46:34 - hello_sample, encryption changed 20736a1c8cca
14:46:34 -
14:46:34 -
14:46:34 - permission check retCode = 00
14:46:34 -
14:46:34 - permission check retCode = 00
14:46:34 - EncOn 20736a1c8cca client_configuration:0000 blinks:0
14:46:34 -
14:46:34 -
14:46:34 - l2cap Tx:
14:46:34 - 402010000c0005001201080050009001
14:46:34 - 0000bc02
14:46:34 - Tx buffer = 14
14:46:34 -
14:46:34 - blecm evt handler:
14:46:34 - 0e04010a200c
14:46:34 -
14:46:34 - blecm evt handler:
14:46:34 - 0e04010a200c
14:46:34 Connection is UP.
14:46:34 profile idle timer stop
14:46:34 connUp
14:46:34 noAdv
14:46:34 BLE_idleconn:timer(120)
14:46:34 noAdv
14:46:34 profile idle timer stop
14:46:34 BUZBeep(0)
14:46:34 -
14:46:34 - l2cap Rx:
14:46:34 - 4020090005000400122b000100
14:46:34 -
14:46:34 - Checking readable attribute 002b
14:46:34 -
14:46:34 - permission check retCode = 00
14:46:34 - hello_sensor_write_handler: handle 002b
14:46:34 -
14:46:34 - hello_sensor_write_handler: client_configuration 0001
14:46:34 -
14:46:34 - hello_sensor_write_handler: NVRAM write:0009
14:46:34 -
14:46:34 -
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Show LessI need to have the revision in code as I am supporting firmware upgrade in the xx732 part. How do I locate this 11 byte revision ID to the end of the binary upgrade file? We want the host system code to verify the revision and update as necessary. It will have the binary upgrade file to send to the module. The module also supports reporting its current revision. So we want to check if the binary on the host code different from the module, then download the new module code. But to do this the binary has to have the revision at a fixed or end of binary code location. Can this be accomplished and if so, how in this SDK (1.1.0)
Show LessHi all,
I'm using the 20736's random number generator and I seem to be getting some repeated numbers once in a while (but more often than expected).
I'm wondering if it's a pseudo-random number generator (software, needs manual seeding), instead of a hardware one (which does self-seeding).
The problem is really when, for example, I use 1000 different devices to generate their own 32-bit ID numbers. When the central retrieves their IDs, we noticed that some ID numbers were generated by a few devices.
Example:
Id 0x12345678 only 1 device
...
Id 0x9ABCDEF only 1 device
...
Id 0x34FE0207 was generated by 4 devices
...
Id 0xFF810ADD was generated by 3 devices
...
etc
In the end, the central reported that there only about 700 unique IDs among those 1000 devices.
Is this an expected limitation or am I doing something wrong?
Here's what I did:
UINT32 random_number;
ulp_rand(&random_number, 1);
Thanks!
Gil
Message was edited by: Guilherme de Paula
Show LessHi All,
My fight with puart continues. Now I try to have repeatable and correct output from it.
What I do:
uint8_t send_frame(uint8_t ID, uint8_t *data, uint8_t len) {
int i=0;
if(len>8) return 0;
puart_write(0x55);
puart_write(id_to_protected_id(ID));
puart_synchronousWrite(data, len);
puart_write(frame_checksum(data, len));
}
the call looks something like this:
uint8_t data[] = {0, 0};
send_frame(0, data, sizeof(data));
What I should get on puart output is:
0x55, 0x80, 0x00, 0x00, 0xff
And this is what I sometimes get. But more often than not what I get is - look at the picture in attachment.
What is this BREAK doing there? How to get it out of there? I really, really, really cannot have it this way.
Any ideas?
BR,
M.W.
Show LessI've tried to find the document that specify the type and voltage compatible with WICED Sense but none of them does specifically.
What I know is that CR2032 3.0v works. However, I want it to be rechargeable like LIR2032 but that will be 3.6v.
Anyone try LIR2032 before?
Will 3.6v damage WICED Sense?
Thanks,
Show LessI am working on a windows service in C# that uses a Broadcomm radio.
I am attempting to convert over the necessary C++ code needed to get this project going.
When I attempted to reference btwleapi.dll in my project I pickedup the following error:
A reference to 'C:\...\Btwleapi.dll' could not be added. Please make sure that the file is accessible, and that that it is a valid assembly or COM component.
I am working with version 6.5.1.2700 of the .dll
My primary question is, what is the right way to reference this DLL?
Is this only done with DllImport attributes for each method?
It looks like btwleapi.dll is the main file that my software will need to interface with.
Is this correct?
If no, does anyone know what .dlls we need to focus on?
What kind of .dll is btwleapi?
(win32, MFC, CRL)?
By chance, does anyone have a C# version of btwleapis.h?
My thanks in advance.
When I tried to reference
btwleapi.dll in my C# project I picked up the error below:
Could not be added. Please
make sure that the file is accessible, and that it is a valid assembly or COM
component.
Have you seen this kind of error
before?
We're making the DrumPants BCM2073x firmware open source! It includes a speed-optimized implementation of Apple's MIDI over Bluetooth LE spec for making wireless musical instruments. You can use it to control music apps like Garageband or Abelton wirelessly on iOS and Mac, connecting using the native OS support.
The firmware includes several connection improvements for the hello_sensor example, including:
- Workarounds for Android pairing problems
- A way to reliably request the fastest connection interval from different devices (since different versions of iOS and Android require different optimal connection parameters).
- This could prove useful to other projects besides musical instruments.
Please let me know what you think, and if you'd like to know more, please visit our IndieGoGo campaign and support open source!
DrumPants 2.0 - Make music with your body | Indiegogo
We also are making dev kits with a BCM20736 WICED module and 32-bit ARM MCU which is Arduino compatible. Only $70!
Thanks!
Tyler Freeman
CTO, DrumPants
Show Less