Is there any way to program a new BGM111 without using the starter kit? The product page for the BGM111 says "firmware is pre-installed," but I'm not sure exactly what firmware is installed.
Also, I ordered a BGM111A256V21 from an authorized distributor but the chip I recieved has BGM111A256V2 printed on it. Is there a significant difference between these versions?
Using WSTK + EFR32MG12, Gecko SDK Suite v1.1, the Bluetooth SDK 2.4.2, and GCC. I create a "SoC Empty" example project. When I click "Generate" in the app builder, I receive this error:
Configuration error! Error message: BgBuild execution returned with errorcode: -1073741701
I tried other Bluetooth example projects, but no luck. The BT Mesh (Mesh SDK) lighting project will compile and run for me though, but nothing with the Bluetooth SDK. The only reference to a similar problem I found here, but it doesn't relate to my problem because it assumes a different SDK version.
I am implementing Device Firmware Update using BGLib on C# using BLED112. When i am writing on the DFU Data point on Peripheral (which is a Nordic's nrf51 chipset), i need to provide atleast 100 ms delay between each 20bytes chunk. If i am providing less or no interval in between, peripheral is not recieving my data and refusing to execute the data chunk on Flash Page. My minimum and maximum connection interval is 8ms each (0x08 and 0x08), latency is 0 and timeout is 256 msec (0x100):
bglib.SendCommand(serialPort, bglib.BLECommandGAPConnectDirect(device.Value.sender, device.Value.address_type, 0x08, 0x08, 0x100, 0));
Can you provide me a way to reduce the inter-command delay because it is taking more than 12 minutes to transfer the whole firmware (almost 140KB).
I'm working with the BGM121 module an running an application based on the health thermometer example.
The gecko sends measurement data every 100ms to an Android phone.
With Android 6 everything works fine. When I send a BluetoothGatt.disconnect() the gecko receives an event and stops sending data.
With Android 7 seven there is no such event and the module keeps sending data and therefore does not return to advertising state.
Android 8 seems to work again (everything tested with one exemplar each).
Any hints on how to overcome this? It's Android 7.0, there is no update for the phone (Samsung J5).
I am using SDK 2.7, example NCP project with the UART at 921600. I am using the SPP example code as a base. I am finding that on both sides of the link (client and server) I am receiving many gecko_evt_le_connection_opened_id events for each connection.
I thought that there should only be one event per connection. I am only calling gecko_cmd_le_gap_open once on the client side after it has seen the server side advertising (through a gecko_evt_le_gap_scan_response_id event). On the client side:
Am I missing any stages in this process?
we create sensor with BLE112 and BGBuild 1.3.2-122, some sort of Beacon which continuously transmit sensor data in advertising package with GAP Discoverable Mode:gap_user_data and GAP
Advertising packages are received prfect on Android and iOS system.
After that we crate sensor which transmit sensor data in advertising package and it has also ability to connect for downloading stored data with GAP Discoverable Mode:gap_user_data and GAP
In that configuration We don't receive advertising packages as much continuously as on previously configuration. A lot of packet are lost no matter if we receiving on Android of iOS.
Is there any known issue with transmiting advertising packages in GAP Connectable Mode:gap_undirected_connectable?
Hello, I'm writing a Windows program (C++, VisualStudio) to communicate over BLE with a proprietary device. On PC side there is a BLED112 dongle, the program uses bglib.
Establishing connection, discovering characteristics and reading those values (by handle) all works fine.
The device continously sends notifications which in most cases contain 4 bytes of application specific data. A typical notification gets received within the program by ble_cmd_attclient_read_by_handle and looks as follows:
09: payload length
04: class (attribute client)
05: message id (ble_evt_attclient_attribute_value_id)
00: connection handle
0020: attribute handle
04: data length
00010000: application specific data
As long as this short notification is sent, it gets received correctly on PC side. But as soon as the notificaton contains more applicaiton specific data (typically 22 bytes) I don't get what I actually expect.
As mentioned in the API description I tried to get those notifications by means of a Read Long but what I get is:
To narrow down the problem I tried with the BLE Gui (V1.6.0-140). The short notification shows up as soon as received on PC side (either 00010000 or 00010001) . When actually a long notification is expected nothing arrives and Read Long just always shows the above '31313131'.
Here below the log output of the BLE Gui:
2018.01.23 11:07:17.717 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 1 (0x01) value:00010000
2018.01.23 11:07:17.718 RX: 80090405002000010400010000
2018.01.23 11:07:19.835 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 1 (0x01) value:00010001
2018.01.23 11:07:19.835 RX: 80090405002000010400010001
2018.01.23 11:07:20.055 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 1 (0x01) value:00010001
2018.01.23 11:07:20.055 RX: 80090405002000010400010001
2018.01.23 11:07:20.567 ble_cmd_attclient_read_long connection: 0 (0x00) chrhandle: 32 (0x0020)
2018.01.23 11:07:20.567 TX: 00030408002000
2018.01.23 11:07:20.567 ble_rsp_attclient_read_long connection: 0 (0x00) result:0x0000 ['No Error']
2018.01.23 11:07:20.567 RX: 00030408000000
2018.01.23 11:07:20.642 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 4 (0x04) value:31313131
2018.01.23 11:07:20.643 RX: 80090405002000040431313131
2018.01.23 11:07:20.644 ble_evt_attclient_procedure_completed connection: 0 (0x00) result:0x0000 ['No Error'] chrhandle: 32 (0x0020)
2018.01.23 11:07:20.645 RX: 800504010000002000
2018.01.23 11:07:20.717 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 1 (0x01) value:00010001
2018.01.23 11:07:20.718 RX: 80090405002000010400010001
2018.01.23 11:07:21.030 ble_evt_attclient_attribute_value connection: 0 (0x00) atthandle: 32 (0x0020) type: 1 (0x01) value:00010001
2018.01.23 11:07:21.030 RX: 80090405002000010400010001
I finally tried with an evaluation USB dongle and GUI tool from a SILICON LABS competitor. Here the long notifications show up correctly.
Interestingly the tool states that the attribute is not of long type when I do issue a Read Long command on that specific attribute.
Below the log output from that tool:
[11:18:56:213] : 'Characteristic Value Notification' event received
[11:18:56:213] : Attribute Handle: 0x0020
[11:18:56:213] : Value: [00:01:00:00]
[11:18:58:323] : 'Characteristic Value Notification' event received
[11:18:58:323] : Attribute Handle: 0x0020
[11:18:58:323] : Value: [00:01:00:01]
[11:18:58:513] : 'Characteristic Value Notification' event received
[11:18:58:513] : Attribute Handle: 0x0020
[11:18:58:513] : Value: [00:01:00:01]
[11:19:00:173] : 'Characteristic Value Notification' event received
[11:19:00:173] : Attribute Handle: 0x0020
[11:19:00:173] : Value: [00:01:00:02:C1:10:07:F9:57:49:5F:62:BC:A0:3B:95:BC:85:60:7E:8F:05]
[11:19:02:353] : 'Characteristic Value Notification' event received
[11:19:02:353] : Attribute Handle: 0x0020
[11:19:02:353] : Value: [00:01:00:01]
[11:19:03:083] : 'Characteristic Value Notification' event received
[11:19:03:083] : Attribute Handle: 0x0020
[11:19:03:083] : Value: [00:01:00:01]
[11:19:04:233] : 'Characteristic Value Notification' event received
[11:19:04:233] : Attribute Handle: 0x0020
[11:19:04:233] : Value: [00:01:00:02:C1:10:09:4F:DB:17:35:86:A4:88:2B:95:51:E7:C7:F2:0D:35]
I definitely need to go with BLED112 and bglib.
Any idea what I'm doing wrong? Is there any example code available?
I understood from different posts that silabs mesh SDK (v1.1.0) is only supported with 512k or higher flash memory. And these parts (EFR32BG12 or EFR32BG13) are already avaiable on radio board. Is there any module (similar to BGM111) already available with EFR32BG12 or EFR32BG13?
The SDK version 2.7.0 does not support the legacy bootloader.
What will be the default(factory) bootloader for BGM113 in the future?
Gecko bootloader? legacy bootloader?
Or will you sell separately the Gecko bootloader products like BGM113A256V21R and BGM113A256V2?
the connection between my 2 BLED112 is working.
How can I send my own telegrams from one device to the other one, without using a BLE Command.for example, I just want to send "hello1" and get an answer "hello back" from the device I'm connected with.
I looked into the Bluetooth_Smart_Software-BLE-1.6-API-RM.pdf, But I don't really find it.
I tried to just to write into the TX buffer, but no event is raised on the server side.
Could you send me a little example to send a few byte from one end to the other of the connection.
I really need this function
Thanks a lot in advance
Hi, we're considering using BGM121/123 modules. Due to system limitations the module must have a continuous ground plane underneath it.
The questions are as follows:
1. The first priority is to use the integrated antenna in spite of peformance degradation. Is there an estimated prformance drop? We only need communication up to ~10m so even a severe hit might be OK. Loss of omni-directionality is understood and taken into account.
2. There are parts (variants "N") which are intended to use an external antenna. We are capable of designing the antenna, however I couldn't find the docs of recommended land pattern and schematic (only variant "A" is considered in the datasheet) Is there any documentation available on mounting an external antenna/relevant parts?
I would like to developp an app in vb.net to dectect beacons using a BLED112, does somebody try this ?
I yes is ti possible to have a simple project sample ?
My product is installed in a field which has BLED112 USB dongle. Now I would like to update it's GATT profile then how I can do it?
I have read some of DFU related documents and thread and found that we can upgrade to DFU Utils. Ref. https://www.silabs.com/community/wireless/bluetooth/forum.topic.html/example_method_topu-DeGK. I tried it but it is not updating. I am not getting error but I am not able to get my updated GATT profile.
Below is command and logs,
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to firstname.lastname@example.org
Filter on vendor = 0x2458 product = 0xfffe
Opening DFU capable USB device... ID 2458:fffe
Run-time device DFU version 0101
Found DFU: [2458:fffe] devnum=0, cfg=1, intf=0, alt=0, name="DFU"
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
DFU mode device DFU version 0101
Device returned transfer size 64
No valid DFU suffix signature
Warning: File has no DFU suffix
Copying data from PC to DFU device
Starting download: [##################################################] finished!
state(2) = dfuIDLE, status(0) = No error condition is present
Command structure according to cmd_gatt_write_characteristic_value command in BluetoothSmart_APIRefMan.pdf specification does not contain length of value to be written, but if the length of value to be written is specified then only value is written in remote BLE device.
0x20, 0x04 (Minimum payload length), 9 (Message class), 9(Message ID), connection handle, characteristic_handle, len(value), value( value to be written).
The value length (Highlighted above) is to be passed along with the command. Please suggest me how to do that??
cmd_le_gap_open is used for connecting remote BLE device which takes address and address type as command parameter.
If we give wrong address and address type also , we are receiving command response as positive.
We are referring the document BluetoothSmart_APIRefMan.pdf version 2.4.0.