testing commands (test)

test commands

test_dtm_end

This command can be used to end a transmitter or a receiver test. When the command is processed by the radio and the test has ended, a test_dtm_completed event is triggered.

Command

Byte Type Name Description
0 0x20 hilen Message type: Command
1 0x00 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x02 method Message ID

Response

Byte Type Name Description
0 0x20 hilen Message type: Response
1 0x02 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x02 method Message ID
4-5 uint16 result Command result

API

/* Function */
struct gecko_msg_test_dtm_end_rsp_t *gecko_cmd_test_dtm_end();

/* Response id */
gecko_rsp_test_dtm_end_id

/* Response structure */
struct gecko_msg_test_dtm_end_rsp_t
{
  uint16 result
}

Events generated

Event Description
test_dtm_completed This event is received when the command is processed.

test_dtm_rx

This command can be used to start a receiver test. The test is meant to be used against a separate Bluetooth tester device. When the command is processed by the radio, a test_dtm_completed event is triggered. This event indicates if the test started successfully.

Parameter phy specifies which PHY is used to receive the packets. All devices support at least the 1M PHY.

The test may be stopped using the test_dtm_end command. This will trigger another test_dtm_completed event, which carries the number of packets received during the test.

Command

Byte Type Name Description
0 0x20 hilen Message type: Command
1 0x02 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x01 method Message ID
4 uint8 channel Bluetooth channel

Range: 0-39

Channel is (F - 2402) / 2,

where F is frequency in MHz

5 uint8 phy PHY to use

Response

Byte Type Name Description
0 0x20 hilen Message type: Response
1 0x02 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x01 method Message ID
4-5 uint16 result Command result

API

/* Function */
struct gecko_msg_test_dtm_rx_rsp_t *gecko_cmd_test_dtm_rx(uint8 channel, uint8 phy);

/* Response id */
gecko_rsp_test_dtm_rx_id

/* Response structure */
struct gecko_msg_test_dtm_rx_rsp_t
{
  uint16 result
}

Events generated

Event Description
test_dtm_completed This event is received when the command is processed.

test_dtm_tx

This command can be used to start a transmitter test. The test is meant to be used against a separate Bluetooth tester device. When the command is processed by the radio, a test_dtm_completed event is triggered. This event indicates if the test started successfully.

In the transmitter test, the device sends packets continuously with a fixed interval. The type and length of each packet is set by packet_type and length parameters. Parameter phy specifies which PHY is used to transmit the packets. All devices support at least the 1M PHY. There is also a special packet type, test_pkt_carrier, which can be used to transmit continuous unmodulated carrier. The length field is ignored in this mode.

The test may be stopped using the test_dtm_end command.

Command

Byte Type Name Description
0 0x20 hilen Message type: Command
1 0x04 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x00 method Message ID
4 uint8 packet_type Packet type to transmit
5 uint8 length Packet length in bytes

Range: 0-255

6 uint8 channel Bluetooth channel

Range: 0-39

Channel is (F - 2402) / 2,

where F is frequency in MHz

7 uint8 phy PHY to use

Response

Byte Type Name Description
0 0x20 hilen Message type: Response
1 0x02 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x00 method Message ID
4-5 uint16 result Command result

API

/* Function */
struct gecko_msg_test_dtm_tx_rsp_t *gecko_cmd_test_dtm_tx(uint8 packet_type, uint8 length, uint8 channel, uint8 phy);

/* Response id */
gecko_rsp_test_dtm_tx_id

/* Response structure */
struct gecko_msg_test_dtm_tx_rsp_t
{
  uint16 result
}

Events generated

Event Description
test_dtm_completed This event is received when the command is processed.

test events

test_dtm_completed

This event indicates that the radio has processed a test start or end command. The result parameter indicates the success of the command.

After the receiver or transmitter test is stopped, the number_of_packets parameter in this event indicates the number of received or transmitted packets.

Event

Byte Type Name Description
0 0xa0 hilen Message type: Event
1 0x04 lolen Minimum payload length
2 0x0e class Message class:testing commands
3 0x00 method Message ID
4-5 uint16 result Command result
6-7 uint16 number_of_packets Number of packets

Only valid for test_dtm_end command.

API

/* event id*/
gecko_evt_test_dtm_completed_id

/* event structure*/
struct gecko_msg_test_dtm_completed_evt_t
{
  uint16 result,
  uint16 number_of_packets
}

test enumerations

test_packet_type

Test packet types

Number 3 corresponding to unmodulated carrier packet type is deprecated. Valid number is 254.

Enumerations

Value Name Description
0 test_pkt_prbs9 PRBS9 packet payload
1 test_pkt_11110000 11110000 packet payload
2 test_pkt_10101010 10101010 packet payload
3 test_pkt_carrier_deprecated Unmodulated carrier - deprecated
4 test_pkt_11111111 11111111 packet payload
5 test_pkt_00000000 00000000 packet payload
6 test_pkt_00001111 00001111 packet payload
7 test_pkt_01010101 01010101 packet payload
253 test_pkt_pn9 PN9 continuously modulated output
254 test_pkt_carrier Unmodulated carrier

test_phy

Test PHY types

Enumerations

Value Name Description
1 test_phy_1m 1M PHY
2 test_phy_2m 2M PHY
3 test_phy_125k 125k Coded PHY
4 test_phy_500k 500k Coded PHY