nRF5 SDK for Thread and Zigbee v1.0.0
Thread Throughput Measurement Application

The throughput measurement application allows for measurement of throughput and packet error rate in different scenarios. It exposes a CLI interface for easy test management. Additionally, it supports Bluetooth advertisement with configurable payload length, allowing for measuring performance impact when the multiprotocol solution is used. For measurement purposes, at least two boards running this application are required.

Description

The throughput measurement application provides two CLI interfaces – UART and RTT. The former one uses UART communication and SEGGER J-Link as a USB-UART converter. The latter one uses the SEGGER J-Link RTT transport.

The application automatically creates or joins Thread network on channel 11. CLI commands can be run using a terminal application like PuTTy configured according to the following CLI terminal settings.

Measured parameters

The application measures the following parameters.

Note
Throughput and PER are calculated in one direction only.

Test modes

The application supports the following modes.

Unidirectional – sends packets in one direction trying to saturate the wireless traffic. Ack – sends a packet and waits for a short acknowledgment from the peer before sending the next packet. The ACK timeout value is used to time out waiting for acknowledgment in case it is never received. Echo - sends a packet and waits for echo from te peer before sending the next packet. The ACK timeout value is used to time out waiting for echo in case it is never received.

Test configuration commands

You can use the following set of commands to configure your tests.

Bluetooth advertising configuration

Use the following commads to configure BLE advertising during the tests.

Running commands remotely on discovered peers

Commands can be issued on the discovered peers. The command response is then forwarded to the origin of a remote command. This allows for easy test management, especially when the test consists of multiple nodes.

Example:

remote 0 test info

Documentation feedback | Developer Zone | Subscribe | Updated