NXP NXH3670 User guide

Type
User guide
UM11148
NxH3670 HAPI gaming
Rev. 1.4 — 24 December 2019 User manual
Document information
Information Content
Keywords NxH3670, HAPI, gaming
Abstract This user manual describes the host interface commands of the NxH3670
gaming application.
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
2 / 62
Revision history
Revision history
Rev Date Description
v.1.4 20191224 Updates for G5.2
v.1.3 20190717 Added Known issues section and Test commands section.
Added new commands to the Test commands section.
Updated Typical sequences section.
v.1.2 20190402 Added Set ACL interval command, updated set audio latency command
v.1.1 20190320 updated issue
v.1 20181122 first issue
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
3 / 62
1 Introduction
This document describes the host interface commands supported by the NxH3670
Gaming application.
How these commands and events can be sent over the SPI interface is explained in the
Host interface user manual (Ref. 1).
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
4 / 62
2 Host API
This section starts with an explanation of the different states of the gaming application.
Then the commands and events are explained.
2.1 States
The NxH3670 can be in different states. The following state diagram shows these
possible states and the commands and events that trigger or are triggered during state
changes. In the sections below more details are given on these commands and events.
aaa-031756
BOOTING
1:PH_HCI_VS_APPLICATION_STARTED_SUB_EVENT
IDLE
2:PH_HCI_VS_CONNECT_CMD
CONNECTING
3:PH_HCI_VS_DEVICE_FOUND_SUB_EVENT
11:PH_HCI_VS_WRONG_FIRMWARE_VERSION_SUB_EVENT
6:PH_HCI_VS_CONFIGURE_AUDIO_INTERFACE_CMD
7:PH_HCI_VS_AUDIO_CONFIGURATION_CHANGED_SUB_EVENT
10:PH_HCI_VS_DEVICE_LOST_SUB_EVENT
8:PH_HCI_VS_CONNECT_CMD
9:PH_HCI_VS_DEVICE_LOST_SUB_EVENT
4:PH_HCI_VS_CONFIGURE_AUDIO_INTERFACE_CMD
5:PH_HCI_VS_ AUDIO_CONFIGURATION_CHANGED_SUB_EVENT
CONNECTED
pairing
PAIRING
STREAMING
Figure 1. NxH3670 state diagram
Table 1 gives the states of the NxH3670.
Table 1. NxH3670 states
State Description
booting The NxH3670 enters this state directly after power up. In this state, the memories
are initialized (by the host) and the NxH3670 executes its internal initialization
procedures (after PH_BOOTLOADER_VS_START_APPLICATION_CMD is
received). In this state, the NxH3670 already sends HCI events (see Section 3.1
for more information).
idle In this state, the NxH3670 is just waiting for commands. The radio is not active.
connecting In this state, the NxH3670 is not connected to a device yet. However, it is actively
searching for devices.
connected The NxH3670 has found a device and has successfully set up a connection.
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
5 / 62
State Description
pairing In this state, the NxH3670 exchanges pairing information with the connected
device.
streaming The NxH3670 is connected and has opened audio connections with the other
device. Audio is streamed between both devices.
Commands or (external) events can cause transitions between these states. Below
an overview of the different transitions is given. The numbers match the numbers in
Figure 1.
1. When the initialization procedures have finished, the NxH3670 moves from the
booting state to the idle state. A PH_HCI_VS_APPLICATION_STARTED_SUB_EVENT
event is sent to indicate this transfer.
2. After the host (other than ‘none’) has selected the connection mode, the NxH3670
starts looking for other devices that are within range.
3. If a device is found, a PH_HCI_VS_DEVICE_FOUND_SUB_EVENT is sent to the host.
The state changes to ‘connected’.
4. The NxH3670 transitions to the ‘streaming’ state after the host issues
PH_HCI_VS_CONFIGURE_AUDIO_INTERFACE_CMD and enables audio connections.
This command can be issued before the NxH3670 is in the ‘connected’ state. In that
case, the NxH3670 immediately transition from ‘connected’ to ‘streaming’ state when
a connection has been established.
5. PH_HCI_VS_AUDIO_CONFIGURATION_CHANGED_SUB_EVENT is sent to inform the
host audio connections has been established and audio is being streamed.
6. The host can disable at any moment to stop audio streaming. When it does, the state
transitions to ‘connected’.
7. An event confirms that the audio is stopped.
8. If the connection mode is set to ‘none’, the other device is disconnected and the state
changes to ‘idle’.
9. When the other device moves out of range and the connections is lost, the host is
informed. PH_HCI_VS_DEVICE_LOST_SUB_EVENT is sent to the host and the state
changes to ‘idle’. It is up to the host to restart searching for the device by sending
PH_HCI_VS_CONNECT_CMD again.
10.If the connection mode indicates it can pair with other devices and an unpaired
device moves into range, the ‘pairing’ state is entered. In this state, the two devices
exchange pairing information. After the pairing procedure is finalized, the devices
disconnect and the host is informed (PH_HCI_VS_DEVICE_LOST_SUB_EVENT).
11.When another (paired or unpaired) device with a different
firmware version is in range, the host is informed using the event
PH_HCI_VS_WRONG_FIRMWARE_VERSION_SUB_EVENT.
2.2 Commands
2.2.1 Get version
This command can be used to retrieve the version of the firmware running on the
NxH3670.
Table 2. Get version
ID PH_HCI_VS_GET_VERSION_CMD
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
6 / 62
Description This command can be used to retrieve the version of the firmware running on
the NxH3670.
Opcode 0xFC26
Parameters -
Preconditions -
Postconditions -
Comments The complete command sent in response to this command holds following
version information:
UInt8 BlMajorVersion: major Bootloader version
UInt8 BlMinorVersion: minor Bootloader version
UInt16 hwMajorVersion: major hardware version
UInt16 hwMinorVersion: minor hardware version
UInt32 AppVersion: application version
UInt8 status
7: heartbeat bit (is toggled each time the command is received)
6:0: 0 = Boot loader, 1 = Application (depending on the ROM vector overlay
mode setting)
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
7 / 62
2.2.2 Configure audio interface
To exchange digital audio, the host and the NxH3670 codec use an audio interface (I
2
S).
The NxH3670 is a slave on this bus. This interface consists of a forward and a backward
channel each containing a left channel and a right channel. When this interface is
enabled, all four channels contain audio data. If no valid audio is available, zero samples
are provided (for example, the right channel of the back channel is not used for the
gaming use case since it is just mono audio).
The NxH3670 relies on the I
2
S interface for its audio clock. With the configure audio
interface command, the host can inform the NxH3670 that the I
2
S interface is enabled or
that it wishes to disable it.
Before sending the configure audio interface command with an enabled channel,
the I
2
S interface must have the proper clocking. If the host must disable the I
2
S
clock, it must send the configure audio interface command with all channels
set to “0”. Then, before the host can disable the I
2
S clock, it must wait for a
PH_HCI_VS_AUDIO_CONFIGURATION_CHANGED_SUB_EVENT, which states that the
audio state is either “Stopped” or “Rejecting”.
In the context of this command, the meaning of forward and backward I
2
S and radio
channels is as follows:
Forward I
2
S channels (corresponds to PC audio output)
I
2
S channel from the host to the NxH3670 on the dongle.
I
2
S channel from NxH3670 to the codec on the headset.
Backward I
2
S channels (corresponds to PC audio input)
I
2
S channel from the NxH3670 to the host on the dongle.
I
2
S channel from the codec to the NxH3670 on the headset.
Forward radio channel
Radio channel from the dongle to the headset.
Backward radio channel
Radio channel from the headset to the dongle.
aaa- 031805
forward
radio channel
backward
radio channel
DONGLE
CODEC
NxH3670
forward
l
2
S channel
backward
l
2
S channel
forward
l
2
S channel
backward
l
2
S channel
HEADSET
NxH3670
HOST
Figure 2. Definition of forward and backward I
2
S and radio channels
Notes:
In the current implementation, forwardAudioLeft, forwardAudioRight, and
backwardAudioLeft are all set to the same value (0 or 1); backwardAudioRight is
always 0 because the backward channel is mono audio sent over the left backward I
2
S
channel.
The sampleWidth must be 16.
The sampleRate must be 48000.
When the audio channel is enabled/disabled, the audio is not faded in/faded out.
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
8 / 62
Table 3. Configure audio interface
ID PH_HCI_VS_CONFIGURE_AUDIO_INTERFACE_CMD
Description This command configures the audio interface.
Opcode 0xFFF4
Parameters UInt8 forwardAudioLeft:
0: Audio disabled.
1: Audio enabled.
UInt8 forwardAudioRight:
0: Audio disabled.
1: Audio enabled.
UInt8 backwardAudioLeft:
0: Audio disabled.
1: Audio enabled.
UInt8 backwardAudioRight:
0: Audio disabled.
1: Audio enabled.
UInt8 sampleWidth:
The number of bits per sample. Must be 16.
UInt32 sampleRate:
The sample rate used on the audio interface. Must be 48000.
UInt8 i2sWordLength:
16: use 16-bit word length
32: use 32-bit word length, the 16 bit sample is left aligned
Preconditions The I
2
S interface must be clocked at the indicated sample rate.
Postconditions Dongle
When connected, a change of the audio configuration results in the
transition between the connected and streaming states.
Headset
A change of the audio configuration does not result in changes to the
radio state, since the headset is a slave device regarding the radio link.
However, the host controller at the headset can choose to reject or
process the audio. It allows the host to disable the codec even if the radio
link is in the streaming state (e.g. for power reasons).
Comments The forward/backward radio channel status can change at any moment due
to connection issues (out-of-range, empty battery, etc.) If it does, a PH_HCI_
VS_AUDIO_CONFIGURATION_CHANGED_SUB_EVENT is sent to inform the
host of this event immediately.
Applicable for Dongle and headset
Synchronous/
Asynchronous
Asynchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
9 / 62
2.2.3 Send user data
This command can be used to instruct the NxH3670 to send the provided user data to
the other device. TheNxH3670 sends a PH_HCI_VS_USER_DATA_QUEUED_SUB_EVENT
in response to this command and indicate if the data was queued correctly (due to buffer
overflow).
When the queued user data is eventually sent, no event is generated. When the user
data is received by the destination device, the host is not informed . If the host wants to
be informed of these events, it must implement its own protocol on top of the user data
pipe.
When the destination NxH3670 receives the user data, an event
PH_HCI_VS_USER_DATA_RECEIVED_SUB_EVENT (see Section 2.4.5) is sent to the
host of the destination.
aaa- 031807
NxH3670
HOST
PH_HCI_VS_USER_DATA_QUEUED_SUB_EVENT
PH_HCI_VS_SEND_USER_DATA_CMD
packet over the air
SOURCE
HOST
NxH3670
PH_HCI_VS_USER_DATA_RECEIVED_SUB_EVENT
DESTINATION
Figure 3. Host interfacing
The user data packet can be at most 23 bytes. If the user data is larger, the host must
packetize and reassemble it.
The NxH3670 tries to send one packet to the destination device every 40 ms. If the
destination device does not receive the packet correctly or the sender does not receive
the acknowledgement correctly, the packet is retransmitted after 40 ms. The NxH3670
never reports a retransmitted packet to the destination twice.
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
10 / 62
aaa-031808
1
40 ms
1
source
destination
ac
k
pa
ck
et
pa
cke
t
2
event to host
event to host
event to host
2
2
ac
k
pa
ck
et
ac
k
3
3 3
ac
k
pa
ck
et
X
X
pa
ck
et
3
Figure 4. User data exchange
In Figure 4, three queued user data packets are sent.
Packet 1 is sent and received correctly by the destination. The destination sends an
acknowledgement back which is correctly received by the source. The host is informed
of the new user data.
Packet 2 is sent but not received correctly by the destination. The second attempt goes
well and the acknowledgement is received correctly by the source. Again, an event is
sent to the host.
Packet 3 is sent to the destination and received correctly. An event is sent to the
host. However, the acknowledgement is not received correctly by the source. The
source assumes that the packet was not received by the destination and resends
the packet. The destination receives the packet correctly but detects it was the same
packet as received previously. It does not report this packet to the host but sends an
acknowledgement. So, the source progresses to the next packet.
Multiple smaller queued packets are never combined in one bigger packet. Only one
packet is transmitted every 40 ms.
There are two completely independent user data pipes (one from dongle to headset and
one from headset to dongle).
A reliable BLE ACL connection is used to transfer this user data. If the connection is not
lost, the queued user data is received correctly eventually. If the connection is lost shortly
after user data is queued, it is unpredictable whether the user data has made it or not.
When the connection is lost, any queued user data is flushed. When the connection is
lost, no events (except PH_HCI_VS_DEVICE_LOST_SUB_EVENT) are generated.
When a connection has been set up and is stable (not in the process of setting up or
breaking down the audio link for example), the queue depth is typically 4 packets.
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
11 / 62
Table 4. Send user data
ID PH_HCI_VS_SEND_USER_DATA_CMD
Description This command sends the requested data to the given device.
Opcode 0xFFF3
Parameters UInt8 destination:
0: Reserved
1: Reserved
2: Headset LeftAndRight (only valid at dongle side)
3: Headset Unspecified (only valid at dongle side)
Dongle (only valid at headset side)
UInt8 data[ ]: The data to send to the other device. Valid length [1..23]
Preconditions A connection to the other device must have been established already. The
event PH_HCI_VS_DEVICE_FOUND_SUB_EVENT can be used to track this. If
not, a command-complete event with an error status is returned.
Postconditions When the data has been queued or when an error occurred, a PH_HCI_
VS_USER_DATA_QUEUED_SUB_EVENT event is sent. When no error is
reported, it does not mean that the data has already been sent.
If no error is reported, the device can immediately send other user data
using this command.
If a queue-full error is reported, the user must retry until no error is reported
anymore.
When the user data is received, the destination device gets a PH_HCI_VS_
USER_DATA_RECEIVED_SUB_EVENT.
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Asynchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
12 / 62
2.2.4 Persistent data stored
The NxH3670 has no onboard persistent memory. It relies on the host to store and
retrieve the persistent data required for the correct operation of the NxH3670. The host
must treat this data as raw data and store or retrieve it at/from the requested location.
The host is free to decide where and how to store this data persistently.
Whenever the NxH3670 must store persistent data, it indicates this requirement by
sending an event PH_HCI_VS_STORE_PERSISTENT_DATA_SUB_EVENT containing
the address and data to store. When the host has stored the data, it must indicate the
completion of it by sending this command (see Section 3.2 for an example).
Table 5. Persistent data stored
ID PH_HCI_VS_PERSISTENT_DATA_STORED_CMD
Description This command is an indication for the NxH3670 that the previous request to
store persistent data is completely handled by the host.
Opcode 0xFFF0
Parameters UInt8 status:
2: The length/offset is too high and leads to reading/writing out of bounds
3: The erase step in programming the flash failed
4: The program step in programming the flash failed
Preconditions An event PH_HCI_VS_STORE_PERSISTENT_DATA_SUB_EVENT is received
and the containing data is stored in persistent data at the given offset.
Postconditions -
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
13 / 62
2.2.5 Persistent data retrieved
The NxH3670 has no onboard persistent memory. It relies on the host to store and
retrieve the persistent data required for the correct operation of the NxH3670. The host
must treat this data as raw data and store or retrieve it at/from the requested location.
The host is free to decide where and how to store this data persistently.
Whenever the NxH3670 wants to retrieve persistent data it indicates this requirement by
sending an event PH_HCI_VS_RETRIEVE_PERSISTENT_DATA_SUB_EVENT containing
the address and length of the persistent data it wants to read. When the host has read
the data, it must return this data to the host with this command.
Table 6. Persistent data retrieved
ID PH_HCI_VS_PERSISTENT_DATA_RETRIEVED_CMD
Description This command must be used to send the requested persistent data to the Nx
H3670.
Opcode 0xFFF1
Parameters UInt8 data[ ]:
The data as retrieved from the given location in the persistent memory.
Preconditions An event PH_HCI_VS_RETRIEVE_PERSISTENT_DATA_SUB_EVENT was
received and the requested data is read from the persistent memory of the
host.
Postconditions -
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
14 / 62
2.2.6 Connect
This command instructs the NxH3670 to start looking for devices in range with given
position and pair the device if necessary.
The headset broadcasts position ‘LeftAndRight’. When the dongle connection mode is
set to ‘LeftAndRight’, it starts searching for a headset with position ‘LeftAndRight’. If such
a device is found in (pairing) range and not yet paired, it first pairs the device. If a device
is found that is already paired, it immediately connects to that device.
Table 7. Connect
ID PH_HCI_VS_CONNECT_CMD
Description This command can be used to connect to another device.
Opcode 0xFFF2
Parameters UInt8 mode:
0: None:
The dongle does not search and connect to other devices. If a connection
was already established, it disconnects.
1: LeftAndRight:
The dongle searches for a headset with position LeftAndRight and, when
it is found, sets up a connection. If not yet paired, it pairs this device first.
The host is informed of this through the event PH_HCI_VS_DEVICE_FOU
ND_SUB_EVENT. Only valid on dongle.
2: Dongle:
Search for one of the dongles paired to us. Only valid on headset.
Preconditions Proper device parameters must be available (stored as persistent data). The
device parameters can be retrieved by sending PH_HCI_VS_GET_DEVICE_P
ARAMETERS_CMD.
If no proper device parameters are available, PH_HCI_VS_SET_DEVICE_PA
RAMETERS_CMD can be used to set them.
Postconditions -
Comments
Applicable for Headset and dongle
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
15 / 62
2.2.7 Configure power amplifier
An external antenna power amplifier can be connected to the NxH3670. This command
enables two signals (SWM8 and SWM9) required to control the power amplifier.
Table 8. Configure power amplifier
ID PH_HCI_VS_CONFIGURE_PA_CONTROL_CMD
Description An external antenna power amplifier can be connected to the NxH3670. This
command enables two signals required to control the power amplifier.
Opcode 0xFFF8
Parameters UInt8 mode:
0: The NxH3670 radio does not control the SWM pins.
1: The NxH3670 radio controls the SWM pins.
Preconditions -
Postconditions -
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
2.2.8 Set pairing threshold
To determine the distance to the device, pairing by proximity uses the signal strength
(RSSI). When a device is considered close enough to pair, this command allows the
configuring of the RSSI threshold.
Table 9. Set pairing threshold
ID PH_HCI_VS_SET_PAIRING_THRESHOLDS_CMD
Description To determine the distance to the device, pairing by proximity uses the signal
strength (RSSI). When a device is considered close enough to pair, this
command allows the configuring of the RSSI threshold.
Opcode 0xFFF9
Parameters Int16 rssiThreshold. Default: −55
Preconditions -
Postconditions Depending on the pairing connection mode, the NxH3670 pairs a device
when the RSSI level exceeds rssiThreshold. For more information, see PH_H
CI_VS_CONNECT_CMD.
Comments Using the command PH_HCI_VS_GET_LQI_REPORT_CMD to receive a report
with the current RSSI level results in an indication of the RSSI value to use.
Applicable for Dongle
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
16 / 62
2.2.9 Set LQI thresholds
The NxH3670 can be requested to send some link quality indicators. One type of
indicator is the raw packet-error-rate (PER) (in percentage) of the last 585 expected
packets from a specific device. An audio frame is retransmitted on failure, which may
result in a PER > 0 but without resulting audio artifacts. This command sets the PER
upper and lower thresholds. Every time the PER exceeds the higherThreshold and drops
again to below the lowerThreshold and vice versa, an event is sent.
Table 10. Set LQI thresholds
ID PH_HCI_VS_SET_LQI_THRESHOLDS_CMD
Description This command sets the PER upper and lower thresholds.
Opcode 0xFFFA
Parameters UInt16 perLowerThreshold:
The lower PER threshold. Default: 0; valid range [0, 100]
UInt16 perHigherThreshold:
The higher PER threshold. Default: 100; valid range [0, 100]
Preconditions -
Postconditions Every time the PER exceeds the higherThreshold and drops again to below
the lowerThreshold and vice versa, the NxH3670 sends a PH_HCI_VS_LQI_
REPORT_SUB_EVENT.
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
2.2.10 Get LQI report
This command instructs the NxH3670 to send an LQI report.
Table 11. Get LQI report
ID PH_HCI_VS_GET_LQI_REPORT_CMD
Description This command instructs the NxH3670 to send an LQI report.
Opcode 0xFFFB
Parameters -
Preconditions The selected device must be connected.
Postconditions The NxH3670 sends a PH_HCI_VS_LQI_REPORT_SUB_EVENT.
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Asynchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
17 / 62
2.2.11 Set xtal properties
This function allows the configuring of the xtal specific properties, like load capacitors and
start-up time.
For more details see the NxH3670 radio application note (Ref. 1).
Table 12. Set xtal properties
ID PH_HCI_VS_SET_XTAL_PROPERTIES_CMD
Description This function allows the configuring of the xtal specific properties, like load
capacitors and start-up time.
Opcode 0xFFFD
Parameters UInt8 capIn; valid range [0. 127]
UInt8 capOut; valid range [0. 127]
UInt16 startupTime:
The xtal start-up time in microseconds.
Preconditions This function must be called immediately after the application reported a PH_
HCI_VS_APPLICATION_STARTED_SUB_EVENT.
Postconditions -
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
18 / 62
2.2.12 Get pairing information
This function returns information about the paired devices. The application can use this
information to select the right connection mode. For example, if all required devices are
paired, the application can start normal operation.
Table 13. Get pairing information
ID PH_HCI_VS_GET_PAIRING_INFO_CMD
Description This function returns information about the paired devices.
Opcode 0xFFFC
Parameters -
Preconditions -
Postconditions The command-complete event sent in response to this command holds
information about the pairing:
Bit 0: Reserved
Bit 1: Reserved
Bit 2: 1 if a LeftAndRight headset is paired, else 0 (Dongle only).
Bit 3: Reserved
Comments
Applicable for Dongle
Synchronous/
Asynchronous
Synchronous
2.2.13 Erase pairing information
This function erases the previously stored pairing information. This information is stored
in persistent memory. It is typically used when a user wants to pair a dongle to a new/
other headset.
Table 14. Erase pairing info
ID PH_HCI_VS_ERASE_PAIRING_INFO_CMD
Description This function erases the pairing information which is part of the persistent
data.
Opcode 0xFFE2
Parameters -
Preconditions -
Postconditions The correct fields are cleared from persistent memory, an event PH_HCI_
VS_PAIRING_INFO_ERASED_SUB_EVENT is generated.
Comments After erasing the pairing info, a system reboot is required to bring the device
to pairing mode again.
Applicable for Dongle
Synchronous/
Asynchronous
Asynchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
19 / 62
2.2.14 Set device parameters
This function sets the device-specific parameters. This information is stored in persistent
memory and hence must be called only once. This function is typically used during
production to set device-specific values like the BD_ADDRESS and the encryption root
(ER).
To apply the new settings (after
PH_HCI_VS_DEVICE_PARAMETERS_STORED_EVENT has been received), the
device must be reset.
Table 15. Set device parameters
ID PH_HCI_VS_SET_DEVICE_PARAMETERS_CMD
Description This function sets the device-specific parameters.
Opcode 0xFFFE
Parameters UInt8 bdAddress[6]:
The BD_ADDRESS to assign to this device.
UInt8 er[16]: The encryption root of this device.
UInt8[16] ir: The identity root of this device.
Preconditions To prevent memory wear-out on the host controller, check the presence of
device parameters using PH_HCI_VS_GET_DEVICE_PARAMETERS_CMD .
Postconditions The fields are written to persistent memory. When the parameters are
stored, an event PH_HCI_VS_STORE_PERSISTENT_DATA_SUB_EVENT is
generated.
Comments When the device parameters are stored, a PH_HCI_VS_DEVICE_
PARAMETERS_STORED_EVENT is generated.
As the device parameters are static throughout the lifetime of a product, this
command must only be used once during production.
Applicable for Dongle and headset
Synchronous/
Asynchronous
Asynchronous
NXP Semiconductors
UM11148
NxH3670 HAPI gaming
UM11148 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2019. All rights reserved.
User manual Rev. 1.4 — 24 December 2019
20 / 62
2.2.15 Get device parameters
This function retrieves the persistently stored device parameters. This function is used to
retrieve values like the BD_ADDRESS, ER (encryption root), and IR (identity root).
Table 16. Get device parameters
ID PH_HCI_VS_GET_DEVICE_PARAMETERS_CMD
Description This function gets the device-specific parameters.
Opcode 0xFF05
Parameters -
Preconditions -
Postconditions A command complete is sent containing
UInt8[6] bdAddress: The BD_ADDRESS assigned to this device.
UInt8[16] er: The encryption root of this device.
UInt8[16] ir: The identity root of this device
Comments
Applicable for Dongle and headset
Synchronous/
Asynchronous
Synchronous
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62

NXP NXH3670 User guide

Type
User guide

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI