mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2026-01-07 16:54:27 +01:00
* Changed view. * Clear messages. * Clear messages. * Add or delete configuration. * Fixed configuration picker. * Edit configuration. * Create new macro. * removed unnecessary resource files. * Fixed running macro command. * Delete macro * Edit macro * Changed to peripheral name. * Show peripheral name. * Fixed Eol tab design. * Removed icon resource * String changes * Removed any permission from home view. * Clear device after disconnection. * 1 line app bar * Changed missing services text. * Throughput service view changes. * Throughput service fixes. * Removed unused resources. * Fixed Health temperature profile. * Show heart rate. * Fixed hrs view. * Show heart rate data from left to right in the chart. * Changed chart color, solid, and scroll to see history. * Horizontal grid hidden, in case needed. * HTS view update * Changed padding. * Removed circular icon background. * Updated Battery level view. * Updated hrs body sensor location. * Moved ui mappers into view. * Updated gls view. * Changed focus color. * Fixed issue with job. * Fixed bps. * Added Blood pressure feature uuid. * Added blood pressure feature data. * Added rscs feature data. * Fixed cscs view. * Show supported features. * Fixed ui * Suspend the service discovery for GLS and CGMS until bonding is completed. * Added suspend on the function level. * Bonding state check only to cgms service * Removed stacktrace print. * Make cgms record available within a scrollable box * Changed to gray color. * removed padding * Fix height for output section. * onExpand click event. * Added todo for 9th item. * Removed unused code block. * When in focus, reduce the hint text alpha value. * Show empty text error. * Clear focus on tap outside. * Add border when focused. * Propagate focus changes. * CGM graph * Added sample of one to many uart configuration database. * Added device and configuration entities. * Fixed issue with only showing last item from the list. * Changed configuration database irrespective of device address. * File rename. * Added last configuration datastore. * Check if configuration name is unique * Removed Macro text. * Included x and y axis data points. * Added channel sounding service uuid. * Upgraded agp version to 2.7. * Added channel sounding manager. * Downgraded datastore preference to 1.1.4. * Changed to nordic colors. * Added ranging permission. * channel sounding repository * channel sounding service data * channel sounding profile * channel sounding profile in viewmodel * channel sounding manager class * channel sounding testing * CS service characteristics * Create bonding before channel sounding connection. * Clean up. * Added LBS profile * Read/write data to LBS * LBS ui events * LBS service * LBS profile * LBS ui * Agp upgrade * Fixed LBS profile * Removed focus * Changed macro size to 9 * Changed macro color * Show macro in bottom sheet * View refactoring * Added Blek dependency * Added utils dependency * rename * Removed unused event * reorganization * uart macro view update * background color update * different color for input and output message type * Changed to uart event * removed duplicate * rename * auto scroll to new record * removed unused dependency * Fixed crash with ChannelSoundingManager injection. * Require bonding only if it has bonding information * Changed disconnection * CGMS graph * changes in the home view * Home view fixes * changed color * Show MacroEol character in the input message. * Home view icon fixes. * Cadence data parser fixes * Fixed CSC settings view. * Fixed rscs view * hiding graphs until its finished * Removed duplicate * Fixed RSCS view * Fixed notification icon * fixed csc module name * Fixed icon cutoff * Fixed CSCDataParser * Fixed CGMS profile * Fixed GLS view * Fixed GLS strings * Fixed HTS view * Fixed HTS view * title change * Added hts timestamp * Deleted verbose text * UART: changed macro/configuration to preset * UART: fixed input text field * UART: removed expandable/collapsable preset * UART: added extra warning to delete action * UART: don't trim message end. * UART: message section * UART: configuration fixed * UART: configuration fixed * Fix crash when disconnecting before MTU change completes * Disabled incomplete PRX profile * Moved non-composable lambdas to parameters * refactoring display text * Fixed channel sounding screen * Disconnect on missing services before navigation * Fixed label name * Tailored disconnection message. * Tailored disconnection message. * Moved profile file to utils * App analytics events and modes * Integrated analytics with the profile actions. * Show only first non-battery service if multiple services are present. * Fixed window insets for camera notch. * Fixed glucose measurement context. * Fixed glucose concentration unit. * Fixed duplicate analytics update. * rename * refactoring text * Handled disconnecting event. * Replaced with LazyColumn * Fixed window insets * Replaced TitleAppBar with NordicAppBar * Show device address * Show multiple service names if available. * Fixed padding * BPS: Fixed waiting for measurement view. * BPS: view * GLS: Fixed padding * Ui: Fixed dialog * RSCS: fixed distance formatting error * CGMS: ui consistency * DFS: ui fixes * Replaced local scanner with common library scanner. * Fixed padding * reorganization * Removed previous uart module * Text with animated three dots * HTS: text fixes * formatting texts * changed text style * fixed string * Fixed HRS, not completed * DFS: fixed ui * HRS: graph fixes * UART: scroll up when keyboard is visible * Uart input: Add focus * Uart fix: input text field * UART: created rememberImeState * HRS: heart rate ui fixes * profile view scrollable fix * DFS: ui fixes * Fixed logger * Check if the battery characteristics supports NOTIFY or INDICATE property * Dependency update * Changed background color * cleanup * Fixed distance measurement data update. * Filtered devices with testing address * Added preview data * Fixed section view * Fixed elevation view * Removed duplicate views * Fixes control points * String fixes * Elevation view fixes * Range slider view update * Fixed DFS views * Fixed DFS ui * Fixed DFS views * Separated views * Separated profile viewmodel into individual profile view models. * AGP upgrade * Job canceled and make jobs null on clear * Profile name update * Request maximum MTU size only if it is not already set. * Fixed null pointer exception * Battery characteristics read property check * Fixed early mtu request * Removed garbage states * Removed logs * Removed multiple vertical scroll * Fixed padding * Ui fixes * File reorganization * Fixed previous configuration not loading on reconnection * Removed unused files * Dependency update * Renamed module name * Removed unused dependencies * Added param * Removed unused code block * Code optimization * Removed unused file * Readme update * Hide Channel sounding until implementation is complete * Handled initial state closed * revert changes * Added library as module placeholder * Fixed multiple flows for the same peripheral * Request mtu size only when needed * Readme update
89 lines
4.5 KiB
Markdown
89 lines
4.5 KiB
Markdown
# nRF Toolbox
|
|
|
|
The nRF Toolbox is a container app that stores your Nordic Semiconductor apps for Bluetooth Low Energy
|
|
in one location.
|
|
|
|
It contains applications demonstrating standard Bluetooth LE profiles:
|
|
* **Cycling Speed and Cadence**,
|
|
* **Running Speed and Cadence**,
|
|
* **Heart Rate Monitor**,
|
|
* **Blood Pressure Monitor**,
|
|
* **Health Thermometer Monitor**,
|
|
* **Glucose Monitor**,
|
|
* **Continuous Glucose Monitor**,
|
|
* **Universal Asynchronous Receiver/Transmitter (UART)**,
|
|
* **Throughput**,
|
|
* **Direction Finder**,
|
|
* **Blinky (LBS) Service**
|
|
|
|
**_NOTE:_** The Proximity profile is not included in this version of the app. If you need it, please download the previous version.
|
|
|
|
### How to import to Android Studio
|
|
|
|
The production version of nRF Toolbox depends on
|
|
[Kotlin BLE Library](https://github.com/NordicSemiconductor/Kotlin-BLE-Library) and demonstrates
|
|
use of the [Android BLE Common Library](https://github.com/NordicPlayground/Android-Common-Libraries),
|
|
which contains utility classes used by apps developed by Nordic Semiconductor.
|
|
|
|
You may also include the BLE Library and BLE Common Library as modules. Clone the library project
|
|
to the same root folder.
|
|
|
|
If you prefer a different name for BLE library, update the
|
|
[*settings.gradle*](https://github.com/NordicSemiconductor/Android-nRF-Toolbox/blob/master/settings.gradle)
|
|
file.
|
|
|
|
If you get ["Missing Feature Watch" error](https://github.com/NordicSemiconductor/Android-nRF-Toolbox/issues/41#issuecomment-355291101),
|
|
switch the configuration to 'app'.
|
|
|
|
### BleManager and how to use it
|
|
|
|
There are 2 different solutions how to use the manager shown in different profiles.
|
|
The very basic approach is used by the BPS nd GLS profiles. Each of those activities holds a
|
|
static reference to the manager. Keeping the manager as a view model object protects from disposing it
|
|
when device orientation changes and the activities are being destroyed and recreated. However, this
|
|
approach does not allow to keep the connections in background mode and therefore is not a solution
|
|
that should be used in any production-ready application.
|
|
|
|
A better implementation may be found in CGMS, CSC, HRS, HTS, PRX, RSCS, UART. The `BleManager` instance is maintained
|
|
by the running service. The service is started in order to connect to a device and stopped when user
|
|
decides to disconnect from it. When an activity is destroyed it unbinds from the service, but the
|
|
service is still running, so the incoming data may continue to be handled. All device-related data
|
|
are kept by the service and may be obtained by a activity when it binds to it in order to be
|
|
shown to the user.
|
|
|
|
### Nordic UART Service
|
|
|
|
The UART profile allows for fast prototyping of devices. The service itself is very simple, having
|
|
just 2 characteristics, one for sending data and one for receiving. The data may be any byte array
|
|
but it is very often used with just text. Each UART configuration can be created as a separate profile.
|
|
Each of them, when pressed, will send the stored command to the device.
|
|
You may export your configuration to XML and share between other devices. Swipe the screen to
|
|
right to show the log with all events.
|
|
|
|
### Device Firmware Update
|
|
|
|
**DFU is now available as a separate application**
|
|
https://github.com/NordicSemiconductor/Android-DFU-Library
|
|
|
|
### Dependencies
|
|
|
|
nRF Toolbox depends on [Kotlin BLE Library](https://github.com/NordicSemiconductor/Kotlin-BLE-Library)
|
|
which may to be cloned into the same root folder as this app. If you prefer a different name,
|
|
update the [*settings.gradle*](https://github.com/NordicSemiconductor/Android-BLE-Library/blob/master/settings.gradle) file.
|
|
|
|
The nRF Toolbox also uses the nRF Logger API library which may be found here:
|
|
https://github.com/NordicSemiconductor/nRF-Logger-API. The library is included in dependencies
|
|
in *build.gradle* file. This library allows the app to create log entries in the
|
|
[nRF Logger](https://play.google.com/store/apps/details?id=no.nordicsemi.android.log) application.
|
|
Please, read the library documentation on GitHub for more information about the usage and permissions.
|
|
|
|
The graph in HRM profile is created using the [MPAndroidChart v3.1.0](https://github.com/PhilJay/MPAndroidChart)
|
|
contribution based on the [Apache 2.0 license](http://www.apache.org/licenses/LICENSE-2.0).
|
|
|
|
### Note
|
|
- Android 5.0 or newer is required.
|
|
- Compatible with nRF5 devices running samples from the Nordic SDK and other devices implementing
|
|
standard profiles.
|
|
- Development kits: https://www.nordicsemi.com/Software-and-tools/Development-Kits.
|
|
- The nRF5 SDK and SoftDevices are available online at http://developer.nordicsemi.com.
|