6.3. Production Line Tool Reference CLI
6.3.1. Introduction
This section describes the reference command line interface (CLI) for the production test tool of DA1453x/DA1458x.
The tool is a Microsoft Windows command line program that enables communication over UART with a DA1453x/DA1458x device that runs the production test firmware.
The production test firmware is a special firmware that supports:
The Bluetooth SIG standardized receiver and transmitter test HCI commands.
Additional custom test HCI commands.
All test commands are also supported by the RF Master tool of the SmartSnippets Toolbox.
Dialog has also designed a production test and programming unit “PLT” that enables you to reduce cost and increase throughput in volume test & programming of units centred around the DA1453x/DA1458x family.
6.3.2. Getting Started
6.3.2.1. Precompiled Binaries
Precompiled binaries are provided for both the production test firmware and tool in the following SDK paths:
Firmware
For DA14585
<sdk_root_directory>\binaries\da14585\prod_test\prod_test_585.hex
<sdk_root_directory>\binaries\da14585\prod_test\prod_test_585.bin
<sdk_root_directory>\binaries\da14585\prod_test\prod_test_585_UART_P04_P05.hex
<sdk_root_directory>\binaries\da14585\prod_test\prod_test_585_UART_P04_P05.bin
For DA14586
<sdk_root_directory>\binaries\da14586\prod_test\prod_test_586.hex
<sdk_root_directory>\binaries\da14586\prod_test\prod_test_586.bin
<sdk_root_directory>\binaries\da14586\prod_test\prod_test_586_UART_P04_P05.hex
<sdk_root_directory>\binaries\da14586\prod_test\prod_test_586_UART_P04_P05.bin
For DA14531
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531.hex
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531.bin
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P00_P01.hex
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P00_P01.bin
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P03.hex
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P03.bin
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P05.hex
<sdk_root_directory>\binaries\da14531\prod_test\prod_test_531_UART_P05.bin
For DA14531_01
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01.hex
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01.bin
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P00_P01.hex
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P00_P01.bin
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P03.hex
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P03.bin
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P05.hex
<sdk_root_directory>\binaries\da14531_01\prod_test\prod_test_531_01_UART_P05.bin
For DA14530
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530.hex
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530.bin
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P00_P01.hex
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P00_P01.bin
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P03.hex
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P03.bin
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P05.hex
<sdk_root_directory>\binaries\da14530\prod_test\prod_test_530_UART_P05.bin
For DA14535
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535.hex
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535.bin
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P00_P01.hex
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P00_P01.bin
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P03.hex
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P03.bin
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P05.hex
<sdk_root_directory>\binaries\da14535\prod_test\prod_test_535_UART_P05.bin
Tool
<sdk_root_directory>\binaries\host\windows\prod_test_cmds\prod_test.exe
6.3.2.2. Building the Tool
For SDK 6.0.4 and above this is in: <sdk_root_directory>\utilities\prod_test\prod_test_cmds
.
6.3.2.3. Building the Firmware
The required firmware is included in the SDK in folder:
(SDK 6.0.2 and later): <sdk_root_directory>\projects\target_apps\prod_test\prod_test
Steps to build the firmware
Open the folder
<sdk_root_directory>\projects\target_apps\prod_test\prod_test
.Open the project.
Select menu
Project -> Rebuild all target files
to build the project.Get the generated hex file from the following folders:
For DA14585
.\Keil_5\out_DA14585\Objects
.\Keil_5\out_DA14585_UART_P04_P05\Objects
For DA14586
.\Keil_5\out_DA14586\Objects
.\Keil_5\out_DA14586_UART_P04_P05\Objects
For DA14531
.\Keil_5\out_DA14531\Objects
.\Keil_5\out_DA14531_UART_P00_P01\Objects
.\Keil_5\out_DA14531_UART_P03\Objects
.\Keil_5\out_DA14531_UART_P05\Objects
For DA14531_01
.\Keil_5\out_DA14531_01\Objects
.\Keil_5\out_DA14531_01_UART_P00_P01\Objects
.\Keil_5\out_DA14531_01_UART_P03\Objects
.\Keil_5\out_DA14531_01_UART_P05\Objects
For DA14535
.\Keil_5\out_DA14535\Objects
.\Keil_5\out_DA14535_UART_P00_P01\Objects
.\Keil_5\out_DA14535_UART_P03\Objects
.\Keil_5\out_DA14535_UART_P05\Objects
6.3.3. General Description
The general syntax of the tool is:
prodtest <switches> <command> <command-arg-1> … <command-arg-2>
A command always returns a status code and optionally a list of return values. The return status code and values are written to the standard output in a simple format: <value_name> = <value>.
The return status code is also returned as an exit code.
A zero status code represents the successful execution of a command. A non-zero status code encodes the type of failure.
All other output of the tool is written to stderr (except the help message when -h option is used).
6.3.4. Command Line Switches
6.3.4.1. Switch -h
Description: print out all the commands of prodtest on a command line terminal
Syntax: prodtest -h
6.3.4.2. Switch -p
Description: select the COM port number on a PC. All commands require this switch.
Syntax: prodtest -p <COM_PORT_NUMBER> ...
6.3.4.3. Switch -v
Description: display the tool’s version
Syntax: prodtest -v
6.3.5. Commands
6.3.5.1. cont_pkt_tx
Description: this is the Bluetooth SIG standardized HCI_LE_Transmitter_Test command. It continuously transmits packets until the stoptest
command is executed.
Syntax: prodtest -p <COM_PORT_NUMBER> cont_pkt_tx <FREQUENCY> <DATA_LENGTH> <PAYLOAD_TYPE>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, integer 2480 corresponds to 2.480 GHz.
DATA_LENGTH is the payload length in bytes (a number between 37 and 255).
PAYLOAD_TYPE must have one of the following values:
0 : Pseudo-Random bit sequence 9 1 : Pattern of alternating bits '11110000' 2 : Pattern of alternating bits '10101010' 3 : Pseudo-Random bit sequence 15 4 : Pattern of All '1' bits 5 : Pattern of All '0' bits 6 : Pattern of alternating bits '00001111' 7 : Pattern of alternating bits '0101'
Example:
prodtest -p 14 cont_pkt_tx 2402 35 6
Output example:
status = 0
6.3.5.2. pkt_tx
Description: transmit the specified number of packets.
Syntax: prodtest -p <COM_PORT_NUMBER> pkt_tx <FREQUENCY> <DATA_LENGTH> <PAYLOAD_TYPE> <NUMBER_OF_PACKETS>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
DATA_LENGTH is the payload length in bytes (a number between 37 and 255).
PAYLOAD_TYPE must have one of the following values:
0 : Pseudo-Random bit sequence 9 1 : Pattern of alternating bits '11110000' 2 : Pattern of alternating bits '10101010' 3 : Pseudo-Random bit sequence 15 4 : Pattern of All '1' bits 5 : Pattern of All '0' bits 6 : Pattern of alternating bits '00001111' 7 : Pattern of alternating bits '0101'
NUMBER_OF_PACKETS is an integer between 1 and 65535.
Example: the following command sends 1000 packets:
prodtest -p 14 pkt_tx 2402 35 6 1000
Output example:
status = 0
6.3.5.3. start_pkt_rx
Description: This is the Bluetooth SIG standardized HCI_LE_Receiver_Test command. It continuously receives packets until the stoptest
command is executed.
Syntax: prodtest -p <COM_PORT_NUMBER> start_pkt_rx <FREQUENCY>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
Example:
prodtest -p 14 start_pkt_rx 2402
Output example:
status = 0
6.3.5.4. start_pkt_rx_stats
Description: starts packet RX with additional statistics. It continuously receives packets until the stop_pkt_rx_stats command is executed.
Syntax: prodtest -p <COM_PORT_NUMBER> start_pkt_rx_stats <FREQUENCY>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
Example:
prodtest -p 14 start_pkt_rx_stats 2402
Output example:
status = 0
6.3.5.5. stop_pkt_rx_stats
Description: ends packet RX with additional statistics and reports the following statistics:
number of packets received correctly (nb_packets_received_correctly)
number of packets with sync error (nb_packets_with_syncerror)
number of packets with checksum error (nb_packets_received_with_crcerr)
RSSI in dBm (rssi)
Syntax: prodtest -p <COM_PORT_NUMBER> stop_pkt_rx_stats
Example:
prodtest -p 14 stop_pkt_rx_stats
Output example:
status = 0
nb_packets_received_correctly = 8529
nb_packets_with_syncerror = 0
nb_packets_received_with_crcerr = 1
rssi = -37.30
6.3.5.6. stoptest
Description: This is the Bluetooth SIG standardized HCI_LE_Test_End command. It is used:
after a
cont_pkt_tx
command to end the standard packet TX test mode.after a
start_pkt_rx
command to end the standard packet RX mode and report the number of received packets.
Syntax: prodtest -p <COM_PORT_NUMBER> stoptest
Example:
prodtest -p 14 stoptest
Output example (the number of packets is always zero when executed after a cont_pkt_tx):
status = 0
number_of_packets = 0
Output example (when executed after a start_pkt_rx):
status = 0
number_of_packets = 4360
6.3.5.7. unmodulated TX
Description: starts a Continuous Wave (CW) or unmodulated TX test.
Syntax: prodtest -p <COM_PORT_NUMBER> unmodulated TX <FREQUENCY>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
Example:
prodtest -p 14 unmodulated TX 2404
Output example:
status = 0
6.3.5.8. unmodulated RX
Description: starts the unmodulated RX test.
Syntax: prodtest -p <COM_PORT_NUMBER> unmodulated RX <FREQUENCY>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
Example:
prodtest -p 14 unmodulated RX 2404
Output example:
status = 0
6.3.5.9. unmodulated OFF
Description: stops unmodulated TX or RX test.
Syntax: prodtest -p <COM_PORT_NUMBER> unmodulated OFF
Example:
prodtest -p 14 unmodulated OFF
Output example:
status = 0
6.3.5.10. start_cont_tx
Description: starts the continuous TX test mode. It transmits continuously a modulated signal until the stop_cont_tx
command is executed.
Syntax: prodtest -p <COM_PORT_NUMBER> start_cont_tx <FREQUENCY> <PAYLOAD_TYPE>
Parameters:
FREQUENCY is an even integer between 2402 and 2480. For example, 2480 corresponds to 2.480 GHz.
PAYLOAD_TYPE must have one of the following values:
0 : Pseudo-Random bit sequence 9 1 : Pattern of alternating bits '11110000' 2 : Pattern of alternating bits '10101010' 3 : Pseudo-Random bit sequence 15 4 : Pattern of All '1' bits 5 : Pattern of All '0' bits 6 : Pattern of alternating bits '00001111' 7 : Pattern of alternating bits '0101'
Example:
prodtest -p 14 start_cont_tx 2404 4
Output example:
status = 0
6.3.5.11. stop_cont_tx
Description: stops the continuous TX test mode.
Syntax: prodtest -p <COM_PORT_NUMBER> stop_cont_tx
Example:
prodtest -p 14 stop_cont_tx
Output example:
status = 0
6.3.5.12. reset
Description: this is the Bluetooth SIG standardized HCI_Reset command.
Syntax: prodtest -p <COM_PORT_NUMBER> reset
Example:
prodtest -p 14 reset
Output example:
status = 0
6.3.5.13. xtrim rd
Description: reads the value of the XTAL16M trimming register as specified in DA14585 and DA14586 datasheets: CLK_FREQ_TRIM_REG (0x50000002).
The value is reported in decimal format.
Syntax: prodtest -p <COM port number> xtrim rd
Example:
prodtest -p 14 xtrim rd
Output example:
status = 0
trim_value = 500
6.3.5.14. xtrim wr
Description: writes a value into the XTAL16M trimming register. The new value is written immediately and is already effective when the prodtest program finishes executing this command.
Syntax: prodtest -p <COM port number> xtrim wr <trim_value>
Parameters:
trim_value is the unsigned 16-bit decimal value to be written into the XTAL16M trimming register.
Example:
prodtest -p 14 xtrim wr 500
Output example:
status = 0
6.3.5.15. xtrim en
Description: enables XTAL16M output on GPIO P0_5. The command takes effect immediately.
Syntax: prodtest -p <COM port number> xtrim en
Example:
prodtest -p 14 xtrim en
Output example:
status = 0
Note
This command can also be used to enable the 32 kHz clock on a GPIO 0_6. To do this, two additional registers need to be set with the write_reg16 command (see section Section 6.3.5.29). Enable the 32 kHz clock in CLK_32K_REG, set bit 0 and bit 7 to ‘1’ Set GPIO P0_6 to output mode. In P06_MODE_REG, set bit 8 and 9 to ‘1’.
Example:
prodtest -p 14 write_reg16 50000020 079D
prodtest -p 14 write_reg16 50003012 0300
Output example:
status = 0
6.3.5.16. xtrim dis
Description: disables XTAL16M output on GPIO P0_5. The command takes effect immediately.
Note
This command also disables: XTAL32K output on GPIO P0_6 RC16M output on P0_7 RC32K output on P1_0.
Syntax: prodtest -p <COM port number> xtrim dis
Example:
prodtest -p 14 xtrim dis
Output example:
status = 0
6.3.5.17. xtrim inc
Description: increments the XTAL16M trimming register. The register’s new value is already effective when the prodtest program finishes the execution of this command.
Syntax: prodtest -p <COM port number> xtrim inc <delta>
Parameters:
delta is the unsigned 16-bit decimal value to be added to the XTAL16M trimming register.
Example:
prodtest -p 14 xtrim inc 5
Output example:
status = 0
6.3.5.18. xtrim dec
Description: decrements the XTAL16M trimming register. The register’s new value is already effective when the prodtest program finishes executing this command.
Syntax: prodtest -p <COM port number> xtrim dec <delta>
Parameters:
delta is the unsigned 16-bit decimal value to be subtracted from the XTAL16M trimming register.
Example:
prodtest -p 14 xtrim dec 5
Output example:
status = 0
6.3.5.19. xtrim cal
Description: runs the XTAL16M trimming register calibration procedure, which uses an externally applied 500 ms high square pulse as a reference for trim value calibration. The procedure executes the following steps:
Calibrates the XTAL16M trimming register.
Programs the calibrated value in OTP (at address 0x7F8C).
Enables the “XTAL16M trim value is valid” bit in OTP (at address 0x7F78).
If a square pulse has not been applied on the given GPIO then the calibration procedure will fail with a status code equal to 27.
Syntax: prodtest -p <COM port number> xtrim cal <Px_y>
Parameters:
Px_y is the GPIO that the external square pulse is applied on.
Example:
prodtest -p 14 xtrim cal P1_0
Output example:
status = 0
6.3.5.20. xtrim caltest
Description: behaves identically to “xtrim cal” with the exception that it does not modify the OTP.
Syntax: prodtest -p <COM port number> xtrim caltest <Px_y>
Parameters:
Px_y is the GPIO that the external square pulse is applied on.
Example:
prodtest -p 14 xtrim caltest P1_0
Output example:
status = 0
6.3.5.21. sleep
Description: puts the device to sleep for a specified number of minutes and seconds.
Syntax: prodtest -p <COM_PORT_NUMBER> sleep <mode> <minutes> <seconds>
Parameters:
mode is one of the following power modes:
"none" for Active Mode "extended" for Extended Sleep Mode "deep" for Deep Sleep Mode
minutes is a number between 0 and 255
seconds is a number between 0 and 255
If both minutes and seconds are set to zero, then the device sleeps forever. The active peripherals in each sleep mode are shown in Table 41 and Table 42.
Power mode |
PD_SYS |
PD_PER |
PD_DBG |
PD_RAD |
PD_SRx |
Analog |
---|---|---|---|---|---|---|
Extended/Deep Sleep |
Auto OFF |
Programmable |
Auto OFF |
Programmable |
Programmable |
Auto OFF |
Power mode |
PD_SYS |
PD_AON |
PD_SLP |
PD_RAD |
PD_TIM |
---|---|---|---|---|---|
|
Auto OFF |
ON |
ON |
OFF |
Programmable |
Known limitations:
UART communication is lost when the device wakes up from extended sleep mode
The device will not wake up from Extended sleep with OTP copy mode
Example 1:
prodtest -p 14 sleep none 1 0
Example 2:
prodtest -p 14 sleep extended 0 30
Example 3:
prodtest -p 14 sleep deep 0 0
Output example:
status = 0
6.3.5.22. otp wr_xtrim
Description: writes the XTAL16M trim value into the OTP header.
Syntax: prodtest -p <COM port number> otp wr_xtrim <decimal trim value>
Parameters:
Decimal trim value is the unsigned 16-bit decimal XTAL16M trim value to be written into the OTP header
Example:
prodtest -p 14 otp wr_xtrim 500
Output example:
status = 0
6.3.5.23. otp rd_xtrim
Description: reads the XTAL16M trim value from the OTP header. The output value is in decimal format.
Syntax: prodtest -p <COM port number> otp rd_xtrim
Example:
prodtest -p 14 otp rd_xtrim
Output example:
status = 0
otp_xtrim_value = 500
6.3.5.24. otp wr_bdaddr
Description: writes the Bluetooth Device address into the OTP header.
Syntax: prodtest -p <COM port number> otp wr_bdaddr <BD address>
Parameters:
BD address is the Bluetooth Device address to be written into the OTP header. The BD address must be formatted as XX:XX:XX:XX:XX:XX where X is a hexadecimal digit
Example:
prodtest -p 14 otp wr_bdaddr 44:49:41:4c:4f:47
Output example:
status = 0
6.3.5.25. otp_read
Description: reads consecutive words from OTP memory.
Syntax: prodtest -p <COM port number> otp_read <otp address> <word count>
Parameters:
otp address is the start address of the OTP memory region to be read. This is a word address and must therefore be divisible by 4. It must be lower than 0x8000. It must be formatted as a 16-bit hexadecimal number
Word count is the number of words to be read. The accepted range is from 1 to 60. The word count must satisfy the formula: <otp address> + 4 * <word count> <= 0x8000. It must be formatted as a decimal number
Example:
prodtest -p 16 otp_read 7FDC 5
Output example:
status = 0
[7FDC] = 1234A5A5
[7FE0] = A5A51234
[7FE4] = 14121117
[7FE8] = 24222127
[7FEC] = 00000007
6.3.5.26. otp_write
Description: writes consecutive words into OTP memory.
Syntax: prodtest -p <COM port number> otp_write <otp address> <word #1> ... <word #n>
Parameters:
otp address is the start address of the OTP memory region to be written. This is a word address and must therefore be divisible by 4. It must be lower than 0x8000. It must be formatted as a 16 bit hexadecimal number
Word #i is the word value to be written in address: <otp address> + 4 * i. It must be formatted as a 32 bit hexadecimal number. The number of word value arguments must be at most 60 and must satisfy the formula: <otp address> + 4 * n <= 0x8000
Example:
prodtest -p 16 otp_write 7FDC 1234A5A5 A5A51234
Output example:
status = 0
6.3.5.27. read_reg16
Description: reads the value of a 16-bit register. The output value is printed in hex.
Syntax: prodtest -p <COM port number> read_reg16 <register address>
Parameters:
register address is the address of the 16-bit register to be read. The register address must be half-word aligned, and must therefore be divisible by 2. It must be formatted as a 32-bit hexadecimal number
Example: the following command reads TRIM_CTRL_REG (0x50000016).
prodtest -p 16 read_reg16 50000016
Output example:
status = 0
value = 00A2
6.3.5.28. read_reg32
Description: reads the value of a 32-bit register. The output value is printed in hex.
Syntax: prodtest -p <COM port number> read_reg32 <register address>
Parameters:
register address is the address of the 32-bit register to be read. The register address must be word aligned and must therefore be divisible by 4. It must be formatted as a 32-bit hexadecimal number
Example: the following command reads PATCH_VALID_REG (0x40008400).
prodtest -p 16 read_reg32 40008400
Output example:
status = 0
value = 00000001
6.3.5.29. write_reg16
Description: writes into a 16-bit register.
Syntax: prodtest -p <COM port number> write_reg16 <register address> <register value>
Parameters:
register address is the address of the 16-bit register to be read. The register address must be half-word aligned and must therefore be divisible by 2. It must be formatted as a 32-bit hexadecimal number
register value is the value to be written into the register. It must be formatted as a 16-bit hexadecimal number
Example: the following command writes 0x00B3 in TRIM_CTRL_REG (0x50000016).
prodtest -p 16 write_reg16 50000016 00B3
Output example:
status = 0
6.3.5.30. write_reg32
Description: writes into a 32-bit register.
Syntax: prodtest -p <COM port number> write_reg32 <register address> <register value>
Parameters:
register address is the address of the 32-bit register to be read. The register address must be word aligned and must therefore be divisible by 4. It must be formatted as a 32-bit hexadecimal number
register value is the value to be written into the register. It must be formatted as a 32-bit hexadecimal number
Example: the following command writes 0x0000000F in PATCH_VALID_REG (0x40008400).
prodtest -p 16 write_reg32 40008400 0000000F
Output example:
status = 0
6.3.6. Return Status Codes
Table 43 summarizes the return codes of the production’s test tool.
Status code |
Description |
---|---|
0 |
SC_NO_ERROR |
1 |
SC_MISSING_COMMAND |
2 |
SC_INVALID_COMMAND |
3 |
SC_WRONG_NUMBER_OF_ARGUMENTS |
4 |
SC_INVALID_COM_PORT_NUMBER |
5 |
SC_INVALID_FREQUENCY_ARG |
6 |
SC_INVALID_DATA_LENGTH_ARG |
7 |
SC_INVALID_PAYLOAD_TYPE_ARG |
8 |
SC_COM_PORT_INIT_ERROR |
9 |
SC_RX_TIMEOUT |
12 |
SC_INVALID_UNMODULATED_CMD_MODE_ARG |
13 |
SC_COM_PORT_NOT_SPECIFIED |
14 |
SC_INVALID_SLEEP_CMD_MODE_ARG |
15 |
SC_INVALID_SLEEP_CMD_MINUTES_ARG |
16 |
SC_INVALID_SLEEP_CMD_SECONDS_ARG |
17 |
SC_INVALID_XTAL_TRIMMING_CMD_OPERATION_ARG |
18 |
SC_INVALID_XTAL_TRIMMING_CMD_TRIM_VALUE_ARG |
19 |
SC_INVALID_OTP_CMD_OPERATION_ARG |
20 |
SC_INVALID_OTP_CMD_TRIM_VALUE_ARG |
21 |
SC_INVALID_OTP_CMD_BDADDR_ARG |
22 |
SC_INVALID_OTP_ADDRESS_ARG |
23 |
SC_INVALID_NUMBER_OF_OTP_WORDS_ARG |
24 |
SC_INVALID_WORD_VALUE_ARG |
25 |
SC_INVALID_GPIO_ARG |
26 |
SC_XTAL_TRIMMING_CAL_OUT_OF_RANGE_ERROR |
27 |
SC_XTAL_TRIMMING_CAL_FREQ_NOT_CONNECTED |
28 |
SC_INVALID_REGISTER_ADDRESS_ARG |
29 |
SC_INVALID_REGISTER_VALUE_ARG |
1000 - 1063 |
SC_HCI_STANDARD_ERROR_CODE_BASE (1000) + standard HCI error code |