Member | Action | Date |
---|---|---|
![]() |
Replied
to
Bluetooth Knowledge Base Article List
Updated KBA_BT_0914: ANCS
Show more
|
Aug 30 2019, 12:40 PM |
![]() |
Updated
KBA_BT_0914: ANCS on Knowledge Base
IntroductionThis article introduces a demo project about Apple Notification Center Service (ANCS). The demo project is able to receive ANCS notifications like phone calls, calendar events, etc. What is ANCS?The information below can be found on the Apple specification linked below, but for the convenience we summarize it here. The purpose of the Apple Notification Center Service (ANCS) is to give Bluetooth accessories (that connect to iOS devices through a Bluetooth Low Energy link) a simple and convenient way to access many kinds of notifications that are generated on iOS devices. TerminologyThe Apple Notification Center Service is referred to as the ANCS. The publisher of the ANCS service (the iOS device) is referred to as Notification Provider (NP). Any client of the ANCS service (an accessory) is referred to as a Notification Consumer (NC). A notification displayed on an iOS device in the iOS Notification Center is referred to as iOS notification. A notification sent by a GATT characteristic as an asynchronous message is referred to as a GATT notification. The Apple Notifications Center ServiceIn its basic form, the ANCS exposes three characteristics:
All these characteristics require authorization for access. Support for the Notification Source characteristic is mandatory, whereas support for the Control Point characteristic and Data Source characteristic is optional. Note: In this demo project we use the Notification Source characteristic only . A GATT notification delivered through the Notification Source characteristic contains the following information:
For more information about ANCS, please check specification linked below. Demo ImplementationThe demo project is able to receive ANCS notifications like phone calls, calendar events, etc. and prints them out to the VCOM. The software flow goes as follows:
The activity diagram below shows the described flow. Running the Demo
Further ReadingApple Notification Center Service (ANCS) Specification Bluetooth Software API Reference
|
Aug 30 2019, 12:38 PM |
![]() |
Replied
to
Only one notification sent per connection interval...???
Hello again, I would maybe check if getDescriptors() shows you the Client Characteristic Configuration and then subscribe. Other than that, I can't really say as we don't have a Raspberry Pi setup in place to test these. |
Aug 30 2019, 7:48 AM |
![]() |
Voted up you_probably_figureditoutalreadybutyouneed-rkl6 Show more |
Aug 30 2019, 6:29 AM |
![]() |
Replied
to
Only one notification sent per connection interval...???
Hi again, I think you are doing enabling notifications wrong:
5. Success, all notifications received in about 2.1 ms so well within one interval. Let me know if this helps, |
Aug 29 2019, 8:00 AM |
![]() |
Replied to Bluetooth Knowledge Base Article List Show more |
Aug 27 2019, 12:39 PM |
![]() |
Updated
KBA_BT_1002: Using Low Energy Timers on Knowledge Base
IntroductionThe Low Energy Timer is a 2 channel 16-bit down count timer and is available in energy mode EM2 DeepSleep, EM1 Sleep, and EM0 Active. Because of this, it can be used for timing and output generation when most of the device is powered down, allowing simple tasks to be performed while the power consumption of the system is kept at an absolute minimum. Timer runs from the LFACLK which can be clocked by the LFXO, LFRCO or HFCORECLKLE/2. In my example LFXO is used as an clock source and it has frequency of 32768 Hz. The LETIMER can be used to output a variety of waveforms with minimal software intervention. It can also be connected to the Real-Time Counter (RTC) using the Peripheral Reflex System (PRS), and can be configured to start counting on compare matches from the RTC. Supported waveforms:
LETIMER also support interrupts from the following events:
In this example, I show how to use Low Energy timer with a simple software example. This example is created for the BG13 but is easily portable to other devices as well. More detailed information about the Low Energy Timer can be found from the AN0026 document and EFR32xG1x Wireless Gecko Reference Manual. Requirements:
ImplementationI have divided the implementation to 6 steps. Example application file, which can be copied on top of SoC - Empty, is also attached below.
4. Include E.g. for BGM111, the respective pins are PF6 and PF7 and routing location 30.
5. Call LETIMER setup function after stack initialization.
6. Observe the LEDs blinking at roughly 1 Hz, duty-cycle 50 %. You can verify that your device goes to sleep with Energy Profiler. Peaks are sections where LEDs are turned on and lows are sections where LEDs are off. Changing the PWM frequency and duty-cycle is done by adjusting the above compare value registers according to commented formulas. Further ReadingAN0026.1: EFM32 and EFR32 Wireless SoC Series 1 Low Energy Timer EFR32BG13 Blue Gecko Bluetooth® Low Energy SoC Family Datasheet |
Aug 27 2019, 12:36 PM |
![]() |
Replied
to
Only one notification sent per connection interval...???
Hi Syed, 1. You have a characteristic to "Write" to trigger the 4-notification sequence It is certainly possible to send more than one per interval, so more information is needed. Is there some snippet of source code that you could provide here? Example of high throughput application can be found here |
Aug 27 2019, 8:18 AM |
![]() |
Replied
to
Bluetooth Knowledge Base Article List
Updated KBA_BT_1306: TX Power Levels text and code.
Show more
|
Aug 26 2019, 10:07 AM |
![]() |
Updated
KBA_BT_1306: TX Power Levels on Knowledge Base
IntroductionThe command system_set_tx_power can be used to set the maximum TX power, but the value which is set by the Bluetooth stack may not be the same that is given as input to the command. The actual set value can be read from the command response. The TX power values of EFR32xG chipset are not continuous, the lower the value, the coarser the adjustment. Attachment is a test result by iterating value from -300 to +80 on a BGM111. Note the TX power is in 0.1 dBm steps, so for example the value of 50 equals to +5 dBm. For more information, refer to the API reference manual, system_set_tx_power command. Running the ExampleAttached is an application, which will iterate through a minimum and a maximum TX power value given to system_set_tx_power command, and it will print out both the input parameter and the response. This sweep runs only once out of reset and if you open a terminal (115200 baud, 8N1) it will show output like in the below image. To run the application, follow these steps:
|
Aug 26 2019, 10:06 AM |