Skip to content

Commit

Permalink
doc: add framework and docs
Browse files Browse the repository at this point in the history
Added documentation framework and documentation for the app.

Signed-off-by: Grzegorz Ferenc <[email protected]>
  • Loading branch information
greg-fer committed Mar 26, 2024
1 parent f2ff29d commit 3dd969b
Show file tree
Hide file tree
Showing 13 changed files with 304 additions and 7 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/zoomin-publish-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Publish documentation to Zoomin dev

on:
push:
branches:
- main
paths:
- doc/docs
workflow_dispatch:

jobs:
create-zoomin-bundle:
name: Create Zoomin bundle
uses: './.github/workflows/zoomin.yml'
publish-zoomin-bundle:
name: Publish Zoomin bundle to dev
needs: create-zoomin-bundle
runs-on: ubuntu-latest
steps:
- name: Get bundle
uses: actions/download-artifact@v3
with:
name: nrf-connect-direct-test-mode
- name: Upload documentation
run: |
# trust server
mkdir -p ~/.ssh
ssh-keyscan upload-v1.zoominsoftware.io >> ~/.ssh/known_hosts
# prepare key
echo "${{ secrets.ZOOMIN_KEY }}" > zoomin_key
chmod 600 zoomin_key
# upload bundle:
sftp -v -i zoomin_key [email protected] <<EOF
cd /nordic-be-dev.zoominsoftware.io/markdown/incoming
put nrf-connect-direct-test-mode.zip
quit
EOF
34 changes: 34 additions & 0 deletions .github/workflows/zoomin-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Publish documentation to Zoomin prod

on:
workflow_dispatch:

jobs:
create-zoomin-bundle:
name: Create Zoomin bundle
uses: './.github/workflows/zoomin.yml'
publish-zoomin-bundle:
name: Publish Zoomin bundle
needs: create-zoomin-bundle
runs-on: ubuntu-latest
steps:
- name: Get bundle
uses: actions/download-artifact@v3
with:
name: nrf-connect-direct-test-mode
- name: Upload documentation
run: |
# trust server
mkdir -p ~/.ssh
ssh-keyscan upload-v1.zoominsoftware.io >> ~/.ssh/known_hosts
# prepare key
echo "${{ secrets.ZOOMIN_KEY }}" > zoomin_key
chmod 600 zoomin_key
# upload bundle:
sftp -v -i zoomin_key [email protected] <<EOF
cd /docs-be.nordicsemi.com/markdown/incoming
put nrf-connect-direct-test-mode.zip
quit
EOF
34 changes: 34 additions & 0 deletions .github/workflows/zoomin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Create Zoomin bundle

on:
pull_request:
types: [synchronize, opened, reopened]
paths:
- '.github/workflows/zoomin.yml'
workflow_dispatch:
workflow_call:

jobs:
create-zoomin-bundle:
name: Create Zoomin bundle
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Copy zoomin properties
run: |
cp doc/zoomin/custom.properties doc/ \
&& cp doc/zoomin/tags.yml doc/
- name: Create zip file
run: |
cd doc/ \
&& zip -r ../nrf-connect-direct-test-mode.zip \
docs/* mkdocs.yml custom.properties tags.yml
- name: Upload documentation artifact
uses: actions/upload-artifact@v3
with:
name: nrf-connect-direct-test-mode
path: nrf-connect-direct-test-mode.zip
retention-days: 7
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,22 @@
[![Build Status](https://dev.azure.com/NordicSemiconductor/Wayland/_apis/build/status/pc-nrfconnect-dtm?branchName=main)](https://dev.azure.com/NordicSemiconductor/Wayland/_build/latest?definitionId=19&branchName=main)
[![License](https://img.shields.io/badge/license-Modified%20BSD%20License-blue.svg)](LICENSE)

_nRF Connect Direct Test Mode_ lets you perform RF PHY testing of Bluetooth Low
Energy devices with the Bluetooth specified Direct Test Mode. See the
[Bluetooth Core specification](https://www.bluetooth.com/specifications/specs/core-specification-5-3/)
(volume 6, part F) for more information on the Direct Test Mode specification.
nRF Connect Direct Test Mode is an application for performing RF PHY testing of Bluetooth Low Energy devices with the Bluetooth-specified Direct Test Mode. See the [Bluetooth Core specification](https://www.bluetooth.com/specifications/specs/core-specification-5-3/) (volume 6, part F) for more information about the Direct Test Mode specification.

![screenshot](resources/screenshot.gif)

## Installation

See the
[InfoCenter](https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrftools%2Fstruct%2Fnrftools_nrfconnect.html)
pages for information on how to install the application.
nRF Connect Direct Test Mode is installed from nRF Connect from Desktop. For
detailed steps, see
[Installing nRF Connect for Desktop apps](https://docs.nordicsemi.com/bundle/nrf-connect-desktop/page/installing_apps.html)
in the nRF Connect from Desktop documentation.

## Documentation

Read the
[nRF Connect Direct Test Mode](https://docs.nordicsemi.com/bundle/nrf-connect-direct-test-mode/page/index.html)
official documentation.

## Development

Expand All @@ -36,3 +40,4 @@ for details.
## License

See the [LICENSE](LICENSE) file for details.

20 changes: 20 additions & 0 deletions doc/docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# nRF Connect Direct Test Mode

nRF Connect Direct Test Mode (DTM) is an application for performing RF PHY testing of Bluetooth Low Energy devices with the Bluetooth-specified Direct Test Mode.

You can use the DTM application to test the operation of the following features of the radio:

- Transmission power and receiver sensitivity
- Frequency offset and drift
- Modulation characteristics
- Packet error rate
- Intermodulation performance

See the [Bluetooth Core specification](https://www.bluetooth.com/specifications/specs/core-specification-5-3/) (volume 6, part F) for more information about the Direct Test Mode specification.

Direct Test Mode is installed and updated using [nRF Connect for Desktop](https://docs.nordicsemi.com/bundle/ug_nrf_connect_desktop/page/struct/nrftools_nrfconnect.html) (v4.4.1 or later).

## Supported devices

- nRF52840 DK
- nRF52833 DK (nRF52 DK)
3 changes: 3 additions & 0 deletions doc/docs/installing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Installing Direct Test Mode app

For installation instructions, see [Installing nRF Connect for Desktop apps](https://docs.nordicsemi.com/bundle/nrf-connect-desktop/page/installing_apps.html) in the nRF Connect for Desktop documentation.
36 changes: 36 additions & 0 deletions doc/docs/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Overview and user interface

After starting Direct Test Mode, the main application window is displayed.

![Direct Test Mode application window](./screenshots/dtm_overview.png "Direct Test Mode application window")

The available options and information change after you **Select Device**.

## Select Device

Opens the drop-down with the list of devices connected to the computer. You can choose a device from the list of connected devices to perform further actions on the device such as configuring.

## Actions

When you select a device...

## Transmitter tab

In the **Transmitter** tab, you can see...

## Receiver tab

In the **Receiver** tab, you can see...

## Log

The Log panel allows you to view the most important log events, tagged with a timestamp. Each time you open the app, a new session log file is created. You can find the Log panel and its controls, below the main application Window.

- When troubleshooting, to view more detailed information than shown in the Log panel, use **Open log file** to open the current log file in a text editor.
- To clear the information currently displayed in the Log panel, use **Clear Log**. The contents of the log file are not affected.
- To hide or display the Log panel in the user interface, use **Show Log**.
- To freeze Log panel scrolling, use **Autoscroll Log**.

## About tab

You can view application information, restore defaults, access source code and documentation. You also can find information on the selected device, access support tools, send feedback, and enable verbose logging.
5 changes: 5 additions & 0 deletions doc/docs/revision_history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Revision history

| Date | Description |
|------------|---------------|
| 2024-04-02 | First release, for the [v2.3.1](https://github.com/NordicSemiconductor/pc-nrfconnect-dtm/blob/main/Changelog.md) of the application. |
Binary file added doc/docs/screenshots/dtm_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions doc/docs/using_dtm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Configuring and using the application

In Direct Test Mode, you can test the reception and transmission characteristics of the Bluetooth connection, in accordance with the [Bluetooth Core specification](https://www.bluetooth.com/specifications/specs/core-specification-5-3/) (volume 6, part F).

## Direct Test Mode terminal connection settings

To send commands to and receive responses from the development kit that runs the Direct Test Mode firmware, you will have to use a terminal emulator that supports sending and receiving commands in the HEX format. For example, RealTerm for Windows or Minicom for Linux.

Connect using the following configuration:

| Setting | Value |
| ------------------------- | ------------------------------------------------- |
| **Baud rate** | `1200` to `115200` (must be supported by the DUT) |
| **Data bits** | `8` |
| **Stop bits** | `1` |
| **Parity** | `none` |
| **Hardware Flow Control** | `none` |

This configuration is conformant to the Bluetooth Low Energy DTM UART interface standard.

!!! note "Note"

* The selected bit rate must be supported by the DUT. It might be possible to run other bit rates by experimenting with parameters.
* The default bit rate of the DTM UART driver is `19200` bps, which is supported by most certified testers.
* When using a 2-wire interface, you must send all commands as two-byte HEX numbers. The responses must have the same format.

## Testing

To start testing, complete the following steps:

1. Connect the device to the computer using a USB cable. The device is assigned a `COM` port (Windows) or `ttyACM` device (Linux), which is visible in the Device Manager.
1. Connect to the kit with a terminal emulator that supports encoding and decoding in the HEX format.
1. Send a DTM command to the connected development kit.
1. Start the Direct Test Mode app in nRF Connect for Desktop.
1. In the Direct Test Mode app:

1. Select the device to communicate with.
1. Set the **Receiver** mode and channel **37** in the test configuration menu.
1. Start the test.
1. On the application chart, observe that the number of RX packets is increasing for the 2402 MHz channel.
1. Stop the test.
1. Swap roles. Set the application to the RX mode and the connected development kit to the TX mode.
1. Start the test.
65 changes: 65 additions & 0 deletions doc/mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
site_name: nRF Connect Direct Test Mode documentation
site_url:
use_directory_urls: false

theme:
name: material
palette:
- scheme: custom-blue
toggle:
icon: material/lightbulb-outline
name: Switch to dark mode
- scheme: custom-blue-dark
toggle:
icon: material/lightbulb
name: Switch to light mode
# logo: assets/logo.png
# favicon: assets/logo.png
features:
- content.code.annotate
- content.tooltips
- content.tabs.link
- navigation.indexes
- navigation.top
- navigation.tracking
- search.highlight
- toc.follow


extra_css:
- stylesheets/style.css

copyright:
Copyright &copy; 2023

markdown_extensions:
- abbr
- admonition
- attr_list
- md_in_html
- meta
- pymdownx.details
- pymdownx.keys
- pymdownx.tabbed
- pymdownx.superfences
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
- toc:
permalink: true
toc_depth: 4

plugins:
- macros
- search


extra:
test: This is a test abbreviation snippet

nav:
- Home: index.md
- Installing Direct Test Mode app: installing.md
- Overview and user interface: overview.md
- Configuring and using the application: using_dtm.md
- Revision history: revision_history.md
3 changes: 3 additions & 0 deletions doc/zoomin/custom.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
manual.name=nrf-connect-direct-test-mode
booktitle=nRF Connect Direct Test Mode
shortdesc=Documentation for the nRF Connect Direct Test Mode application.
10 changes: 10 additions & 0 deletions doc/zoomin/tags.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Document tags for Zoomin.

# Tags for all topics:
mapping_global:
- nrf-connect-direct-test-mode

# Tags for individual topics:
#mapping_topics:
# - filename.md: ["tag1","tag2"]

0 comments on commit 3dd969b

Please sign in to comment.