Modifying the Bluetooth GPS PSY Settings

This topic describes how to modify the settings of the Bluetooth GPS PSY.

The Central Repository initialisation file 101FE999.txt contains the default Bluetooth GPS PSY settings. You can modify the default values in this file. There are two types of information stored in the initialisation file:

  • Keys and values defined by the Positioning Plug-in Information API.

    These keys and values define the properties of the Bluetooth GPS PSY and GPS device, such as the time to get a first fix and the typical position fix accuracy.

    The default values describe the properties of a typical Bluetooth GPS device, and for most purposes it is not necessary to modify them.

  • Keys and values that define Bluetooth GPS operational properties.

    The properties describe the behaviour of the Bluetooth GPS PSY in its operation with the GPS device. Properties you can modify include timeouts and buffer size.

    The operational properties can be read (and some can be set) at runtime using the Bluetooth GPS PSY Settings Storage API.


  1. Modify the contents of the Central Repository file 101FE999.txt as described below.

  2. Rebuild the Bluetooth PSY ROM or rebuild the PSY SIS file. The Central Repository initialisation file 101FE999.txt contains default settings for the PSY. It is shown below:
    
    cenrep
    version 1
    [owner]
    0x101f97b2
    [defaultmeta]
     0
    [platsec]
     cap_rd=ReadDeviceData cap_wr=WriteDeviceData
    [Main]
    0x1 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x2 int 0 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x3 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x4 int 80000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x5 int 1000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x6 real 10 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x7 real 30 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x8 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x9 int 3 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xa int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xb int 2 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xc int 95 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xd int 15 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xe int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0xf string "\\resource\\nlabtgpspsy_name.rsc" 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x10000000 int 0 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000001 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000002 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000003 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000004 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000005 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000006 int 1 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000007 string "" 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x10000008 int 0 16777216 cap_rd=alwayspass cap_wr=WriteDeviceData
    0x11000001 int 100000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000002 real 8 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000003 int 3 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000004 int 300000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000005 int 10 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000006 int 5000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000007 int 10000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000008 int 60000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x11000009 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x1100000a int 20000000 0 cap_rd=alwayspass cap_wr=alwaysfail
    0x1100000b int 5120 0 cap_rd=alwayspass cap_wr=alwaysfail
    
    The values with keys from 0x1 to 0xf describe the PSY properties defined by the Positioning Plug-in Information API. Generally, you do not need to change these values as they describe typical capabilities of a Bluetooth GPS positioning device.
    Key name Key ID Meaning Default value and description

    KPSYInterfaceVersion

    0x1

    Version of the Positioning Plug-in Information API interface

    Version 1.

    KPSYPriority

    0x2

    PSY priority on installation

    Value of 0 specifies this PSY has the highest priority.

    KPSYStatus

    0x3

    PSY status when it is installed on the system

    Value of 1 indicates this PSY is available on installation.

    KPSYTimeToFirstFix

    0x4

    Time to First Fix

    Large value of 80 seconds because an external Bluetooth GPS device uses autonomous GPS.

    KPSYTimeToNextFix

    0x5

    Time to Next Fix

    Value of 1 second (specified as 1000000 microseconds).

    KPSYHorizontalAccuracy

    0x6

    Horizontal Accuracy

    10 metres accuracy.

    KPSYVerticalAccuracy

    0x7

    Vertical Accuracy

    30 metres accuracy.

    KPSYCostIndicator

    0x8

    Cost Indicator

    TPositionQuality::ECostZero because the PSY uses autonomous GPS.

    KPSYPowerConsumption

    0x9

    Power Consumption

    TPositionQuality::EPowerMedium indicates medium power consumption.

    KPSYTechnologyType

    0xa

    Technology Type

    TPositionModuleInfo::_ETechnologyTerminal indicates the position fix is obtained from the device.

    KPSYDeviceLocation

    0xb

    Device location

    TPositionModuleInfo::EDeviceExternal = 2. Specifies the GPS device is external to the mobile device.

    KPSYCapabilities

    0xc

    Device Capabilities

    Values from TPositionModuleInfo::_TCapabilities indicate the positioning capabilities supported. These are ECapabilityHorizontal | ECapabilityVertical | ECapabilitySpeed | ECapabilityDirection | ECapabilitySatellite | ECapabilityNmea = 95 decimal.

    KPSYClassesSupported

    0xd

    Supported Positioning classes

    Values from TPositionModuleInfoClassType::_TPositionInfoClassType indicate the classes supported. These are: EPositionInfoClass | EPositionGenericInfoClass | EPositionCourseInfoClass | EPositionSatelliteInfoClass = 15 decimal.

    KPSYVisibility

    0xe

    Visibility of this PSY to the Location Server

    1 defines this PSY as visible.

    KPSYNameResource

    0xf

    PSY display name

    \\resource\\nlabtgpspsy_name.rsc

    The values with keys from 0x11000001 to 0x1100000b describe the Bluetooth GPS PSY operational properties. You can change these values from their defaults if you want to modify the behaviour of the PSY.
    Key ID Key Name Meaning Default Value Valid Range

    0x11000001

    KBluetoothGpsPsyMsgSendDelay

    The minimum delay between messages that are sent to the Bluetooth device.

    Value is in microseconds.

    100000

    [0,60] seconds

    0x11000002

    KBluetoothGpsPsyUserEquivalentRangeError

    Defines the user equivalent range error used in GPS data error calculations. User equivalent range error is used for examining GPS positioning accuracy.

    Value is in metres.

    8

    [0,1000] metres

    0x11000003

    KBluetoothGpsPsyNumTestNmeaSentences

    The number of test NMEA sentences expected.

    3

    [0,100000]

    0x11000004

    KBluetoothGpsPsyNormalGpsInitMsgDelay

    The delay between the initialisation messages sent to the GPS device.

    Value is in microseconds.

    300000

    [0,10] minutes

    0x11000005

    KBluetoothGpsPsyNumSetFullPowerMsg

    The number of "set full power messages" to send when initialising the GPS device.

    10

    [0,100000]

    0x11000006

    KBluetoothGpsPsyPnokPollingDelay

    The delay in waiting for a PNOK compatible BT GPS device to respond to a PNOK polling message.

    Value is in microseconds.

    5000000

    [0,10] minutes

    0x11000007

    KBluetoothGpsPsyReconnectionTimeout

    The time to wait between re-connection attempts.

    Value is in microseconds.

    10000000

    [0,10] minutes

    0x11000008

    KBluetoothGpsPsyInactiveDealy

    If the PSY has received no tracking session or location request by the expiry of this timeout, the PSY goes into the standby state.

    In the standby state, the connection to Bluetooth GPS device is disconnected.

    Value is in microseconds.

    60000000

    [0,10] minutes

    0x11000009

    KBluetoothGpsPsyUtilisePowerSaving

    Boolean value for disabling the sending of power saving NMEA message to the GPS device. Set this to 0 to disable power saving command usage. Any other value enables power saving.

    1

    0 or 1

    0x1100000a

    KBluetoothGpsPsySateInfoLifeTime

    Integer value that specifies the satellite information expiration time. Cached satellite information older than this value is not used.

    Value is in microseconds.

    20000000

    [0,10000] seconds

    0x1100000b

    KBluetoothGpsPsyNmeaBufferSize

    Integer value that specifies the size of NMEA data buffer. The buffer size must be large enough to hold all NMEA data messages that a BT GPS device send in one second.

    A very large value increases run time RAM usage by the Bluetooth GPS PSY.

    5012

    [0, 50*1024]