User's Manual
Datalogic Scanning, Inc
959 Terry Street
Eugene, Oregon 97402
Page 34 10/23/2009
Revision X2
0 User Confirmation Request Reply Command
1 User Confirmation Request Negative Reply Command
2 User PassKey Request Reply Command
3 User PassKey Request Negative Reply Command
4 Remote OOB Data Request Reply Command
5 Write Simple Pairing Debug Mode
6 Enhanced Flush
7 Remote OOB Data Request Negative Reply Command
byte 20
0 <reserved>
1 <reserved>
2 Send Keypress Notification Command
3 IO Capability Request Negative Reply Command
4 <reserved>
5 <reserved>
6 <reserved>
7 <reserved>
Key Name Key Number Type Default Setting
PSKEY_LM_MAX_ABSENCE_INDEX 0x0107 uint8 1
This describes the maximum absence index that the firmware will use when assigning absence masks. This
is the index number so setting this to 0 gives a maximum number of absences as 1. The spec dictates that
the minimum allowed is 1 absence hence setting this value to zero gives us the legal minimum the spec
allows.
Key Name Key Number Type Default Setting
PSKEY_DEVICE_NAME 0x0108 uint16[] 0x5343, 0x2052, 0x202d,
0x6362, 0x0036
The local device's default "user friendly" name, used by the HCI Read_Local_Name and
Change_Local_Name commands and by LMP_name_req/LMP_name_res transactions.
When the firmware is booted, the device's name is taken from this pskey. However, if the local host alters
the local device's name, by calling the HCI Change_Local_Name command, then the new name is held in
RAM. Subsequent requests to read the device's name take from the RAM store, not from this pskey. The
pskey's value only becomes visble again after the firmware reboots.
The BT 1.1 HCI specification requires the device's default name to be ""; an empty string. The default
(psrom) value of this pskey is "CSR - bc3", or something similar, thus the psrom value does not meet the
HCI specification. If this pskey is set to hold nothing, i.e., no uint16s are stored under the pskey, then the
HCI default value is obtained.
Over HCI and LMP the name is passed as a sequence of UTF-8 octets. Because the ps stores data in arrays
of uint16s, the name is packed in this pskey, two octets per uint16. This packing is important when the ps
store is small, notably where the ps is held in EEPROM.
Working from start of the device's name, the first character is stored in the lower octet of the pskey's first
uint16, the second character in the upper octet of the first uint16, etc. If the name is an odd number of
characters then the upper octet of the last uint16 is '\0'.