Symbian3/PDK/Source/GUID-3319E01A-F500-5F5C-9798-351C6F3EC583.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE task
       
    11   PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
       
    12 <task id="GUID-3319E01A-F500-5F5C-9798-351C6F3EC583" xml:lang="en"><title>Updating
       
    13 the GPS/A-GPS Central Repository Initialisation File </title><shortdesc>This shows how to modify the settings of the GPS/A-GPS PSY and
       
    14 the A-GPS Integration Module so that they do not conflict with each other. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
       
    15 <context><p>As described in <xref href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita">GPS/A-GPS
       
    16 PSY Overview</xref>, the GPS/A-GPS PSY does not integrate directly with positioning
       
    17 hardware. It uses the A-GPS Location Manager with an A-GPS Integration Module
       
    18 to connect the Location Server (<codeph>eposserver.exe</codeph>) to positioning
       
    19 hardware. </p> <p>The same A-GPS Integration Module can be used by both the
       
    20 GPS PSY and the A-GPS PSY, potentially at the same time. There are two places
       
    21 that information about the properties of the GPS/A-GPS PSY and A-GPS Integration
       
    22 Module are stored: </p> <ul>
       
    23 <li id="GUID-E71A7995-B0EA-523A-BEF3-D677086C18B8"><p>The GPS/A-GPS PSY registers
       
    24 itself as a PSY with the LBS subsystem using a Central Repository initialisation
       
    25 file with keys defined by the <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-7-1-15-1-1-10-1-5-1-5-1-8-1.dita">Positioning
       
    26 Plug-in Information API</xref>. The GPS PSY and the A-GPS PSY have separate
       
    27 initialisation files. </p> </li>
       
    28 <li id="GUID-ADDBC706-ACE3-544F-9CD4-EC5F4DD95445"><p>The A-GPS Location Manager
       
    29 uses a <codeph>.ini</codeph> file that specifies the properties
       
    30 of the A-GPS Integration Module. </p> </li>
       
    31 </ul> <p>The description of the properties of the PSY and the Integration
       
    32 Module must be the same in both files. </p><p>The following procedure assumes
       
    33 you have created an A-GPS Integration Module for your device's positioning
       
    34 hardware and have created a module .ini file that correctly describes the
       
    35 properties of the positioning hardware. The format of the .ini file is described
       
    36 in <xref href="GUID-5DD17088-1F9C-5810-8143-5067A2B18330.dita">A-GPS Location Data
       
    37 Source API</xref>. An example file containing some typical values is shown
       
    38 below. Your A-GPS Integration Module may have different parameters: </p><codeblock xml:space="preserve"># example_datasource.ini
       
    39 [1]
       
    40 Version= 0.2.1		#
       
    41 ModuleId= 271064388	# dec
       
    42 ModuleName= "Example_AGPS_Moduleā€
       
    43 TechnologyType= 0101	# binary
       
    44 DeviceLocation= 1	# binary
       
    45 Capabilities= 11111	# binary
       
    46 ClassesSupported= 111111	# binary
       
    47 TimeToFirstFix= 90000	# ms
       
    48 TimeToNextFix= 1000	# ms
       
    49 HorizontalAccuracy= 5.4 # real
       
    50 VerticalAccuracy= 5.4 # real
       
    51 CostIndicator= 2	# dec
       
    52 PowerConsumption= 2	# dec
       
    53 DataSourceId= 271065673	# dec
       
    54 ExecutableName= "lbsgpslocmanager.exe"
       
    55 DeviceGpsModeCaps=1011	# binary - Exclusive TA OR TB (+ Autonomous)</codeblock> </context>
       
    56 <steps id="GUID-20C3ADEC-CF35-5A8E-903E-E32D7CDD004B">
       
    57 <step id="GUID-E4B40CA8-FFC8-570D-87BA-530E796695E5"><cmd>If you want to use
       
    58 the A-GPS PSY with your Integration Module, modify the Central Repository
       
    59 initialisation file(s) for the PSY so that the values are the same as those
       
    60 in your Integration Module .ini file. </cmd>
       
    61 <info>The Central Repository initialisation file for the A-GPS PSY implementation
       
    62 supplied with the Symbian platform is in <filepath>datasourcemodules\lbsposfwadaptation\lbsgpsagpspsy\lbsagpspsy\cenrep\10285abc.txt</filepath>.
       
    63 The version supplied with the Symbian platform contains the following: </info>
       
    64 <stepxmp><codeblock id="GUID-3EB956AB-8D32-548E-A9FF-E6712631B43A" xml:space="preserve">
       
    65 cenrep
       
    66 version 1
       
    67 [owner]
       
    68 0x101f97b2
       
    69 [defaultmeta]
       
    70  0
       
    71 [platsec]
       
    72  cap_rd=ReadDeviceData cap_wr=WriteDeviceData
       
    73 [Main]
       
    74 0x1 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    75 0x2 int 0 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    76 0x3 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    77 0x4 int 90000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    78 0x5 int 1000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    79 0x6 real 5.4 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    80 0x7 real 5.4 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    81 0x8 int 2 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    82 0x9 int 2 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    83 0xa int 5 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    84 0xb int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    85 0xc int 31 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    86 0xd int 31 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    87 0xe int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    88 0xf string "\\resource\\lbsagpspsy_name.rsc" 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    89 0x10000000 int 2000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
    90 </codeblock> </stepxmp>
       
    91 <info>For a full description of the meanings of these keys, see <xref href="GUID-DA2DC704-CE65-54FB-9049-4E1C73092EDF-GENID-1-7-1-15-1-1-10-1-5-1-5-1-8-1.dita">Positioning
       
    92 Plug-in Information API</xref>. </info>
       
    93 <info>The important keys for this task are as shown in the following table: </info>
       
    94 <stepxmp><table id="GUID-A227F71E-9B87-54D7-ABDF-4C29D1CF6F37">
       
    95 <tgroup cols="4"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><colspec colname="col3"/>
       
    96 <thead>
       
    97 <row>
       
    98 <entry>Key name</entry>
       
    99 <entry>Key value</entry>
       
   100 <entry>Meaning</entry>
       
   101 <entry>Description</entry>
       
   102 </row>
       
   103 </thead>
       
   104 <tbody>
       
   105 <row>
       
   106 <entry><p> <codeph>KPSYTimeToFirstFix</codeph>  </p> </entry>
       
   107 <entry><p> <codeph>0x4</codeph>  </p> </entry>
       
   108 <entry><p>Time to First Fix </p> </entry>
       
   109 <entry><p>This must be the same time as the <codeph>TimeToFirstFix</codeph> value
       
   110 in your Integration Module .ini file. </p> <p> <b>Important note: In the PSY
       
   111 file the time is specified in microseconds. In the Integration Module .ini
       
   112 file the time is specified in milliseconds.</b>  </p> </entry>
       
   113 </row>
       
   114 <row>
       
   115 <entry><p> <codeph>KPSYTimeToNextFix</codeph>  </p> </entry>
       
   116 <entry><p> <codeph>0x5</codeph>  </p> </entry>
       
   117 <entry><p>Time to Next Fix </p> </entry>
       
   118 <entry><p>This must be the same time as the <codeph>TimeToNextFix</codeph> value
       
   119 in your Integration Module .ini file. </p> <p> <b>Important note: In the PSY
       
   120 file the time is specified in microseconds. In the Integration Module .ini
       
   121 file the time is specified in milliseconds.</b>  </p> </entry>
       
   122 </row>
       
   123 <row>
       
   124 <entry><p> <codeph>KPSYHorizontalAccuracy</codeph>  </p> </entry>
       
   125 <entry><p> <codeph>0x6</codeph>  </p> </entry>
       
   126 <entry><p>Horizontal Accuracy </p> </entry>
       
   127 <entry><p>This must be the same as the <codeph>HorizontalAccuracy</codeph> value
       
   128 in your Integration Module .ini file. The value is specified in metres. </p> </entry>
       
   129 </row>
       
   130 <row>
       
   131 <entry><p> <codeph>KPSYVerticalAccuracy</codeph>  </p> </entry>
       
   132 <entry><p> <codeph>0x7</codeph>  </p> </entry>
       
   133 <entry><p>Vertical Accuracy </p> </entry>
       
   134 <entry><p>This must be the same as the <codeph>VerticalAccuracy</codeph> value
       
   135 in your Integration Module .ini file. The value is specified in metres. </p> </entry>
       
   136 </row>
       
   137 <row>
       
   138 <entry><p> <codeph>KPSYCostIndicator</codeph>  </p> </entry>
       
   139 <entry><p>0x8 </p> </entry>
       
   140 <entry><p>Cost Indicator </p> </entry>
       
   141 <entry><p>This must be the same as the <codeph>CostIndicator</codeph> value
       
   142 in your Integration Module .ini file. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-78C084A0-43F8-3040-BD98-70E2E62A5D45"><apiname>TPositionQuality::TCostIndicator</apiname></xref> enum. </p> </entry>
       
   143 </row>
       
   144 <row>
       
   145 <entry><p> <codeph>KPSYPowerConsumption</codeph>  </p> </entry>
       
   146 <entry><p> <codeph>0x9</codeph>  </p> </entry>
       
   147 <entry><p>Power Consumption </p> </entry>
       
   148 <entry><p>This must be the same as the <codeph>PowerConsumption</codeph> value
       
   149 in your Integration Module .ini file. The value is an integer taken from the <xref href="GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D.dita#GUID-1AA235FA-CEC1-3853-8F96-C538C02B596D/GUID-AD77543D-625A-39CF-A1D5-F5B5636E17F7"><apiname>TPositionQuality::TPowerConsumption</apiname></xref> enum. </p> </entry>
       
   150 </row>
       
   151 <row>
       
   152 <entry><p> <codeph>KPSYTechnologyType</codeph>  </p> </entry>
       
   153 <entry><p> <codeph>0xa</codeph>  </p> </entry>
       
   154 <entry><p>Technology Type </p> </entry>
       
   155 <entry><p>This must be the same as the <codeph>TechnologyType</codeph> value
       
   156 in your Integration Module .ini file. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-03AF8C51-1CAF-3F4C-BED1-17844FAE8423"><apiname>TPositionModuleInfo::_TTechnologyType</apiname></xref> enum. </p> <p> <b>Important
       
   157 note: In the PSY file the value is specified as decimal integer. In the Integration
       
   158 Module .ini file the value is specified in binary.</b>  </p> <p>In the files
       
   159 shown above, the value of 5 for this key specifies that the PSY/Integration
       
   160 Module supports a technology type of <codeph>ETechnologyTerminal</codeph> + <codeph>ETechnologyAssisted</codeph> =
       
   161 1 + 4 = 0101 in binary. </p> </entry>
       
   162 </row>
       
   163 <row>
       
   164 <entry><p> <codeph>KPSYCapabilities</codeph>  </p> </entry>
       
   165 <entry><p> <codeph>0xc</codeph>  </p> </entry>
       
   166 <entry><p>Device Capabilities </p> </entry>
       
   167 <entry><p>This must be the same as the <codeph>Capabilities</codeph> value
       
   168 in your Integration Module .ini file. The value is taken from the <xref href="GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26.dita#GUID-B098F3DB-E2FE-3C5A-8508-4B04D954AB26/GUID-4A84D57F-D202-3F79-8094-139D69630C6D"><apiname>TPositionModuleInfo::_Capabilities</apiname></xref> enum. </p> <p> <b>Important
       
   169 note: In the PSY file the value is specified as a decimal integer. In the
       
   170 Integration Module .ini file the value is specified in binary.</b>  </p> <p>In
       
   171 the files shown above the value of 31 for this key specifies that the PSY/Integration
       
   172 Module supports the capabilities: <codeph>ECapabilityHorizontal + ECapabilityVertical
       
   173 + ECapabilitySpeed +                         ECapabilityDirection + ECapabilitySatellite </codeph> =
       
   174 31 decimal or 11111 in binary. </p> </entry>
       
   175 </row>
       
   176 <row>
       
   177 <entry><p> <codeph>KPSYClassesSupported</codeph>  </p> </entry>
       
   178 <entry><p> <codeph>0xd</codeph>  </p> </entry>
       
   179 <entry><p>Supported Positioning classes </p> </entry>
       
   180 <entry><p>This must be the same as the <codeph>ClassesSupported</codeph> value
       
   181 in your Integration Module .ini file. The value is taken from the <xref href="GUID-BC8B2D08-1B64-35BB-8F58-4E7123650BD7.dita"><apiname>_TPositionInfoClassType</apiname></xref> enum. </p> <p> <b>Important
       
   182 note: In the PSY file the value is specified as decimal integer. In the Integration
       
   183 Module .ini file the value is specified in binary.</b>  </p> <p>In the files
       
   184 shown above the value of 31 for this key specifies that the PSY/Integration
       
   185 Module supports the positioning classes: <codeph>EPositionGpsMeasurementInfoClass
       
   186 + EPositionCourseInfoClass +                         EPositionGenericInfoClass
       
   187 + EPositionInfoClass</codeph> = 31 decimal or 11111 in binary. </p> </entry>
       
   188 </row>
       
   189 </tbody>
       
   190 </tgroup>
       
   191 </table> </stepxmp>
       
   192 </step>
       
   193 <step id="GUID-CFB743FE-C90C-569D-B1CD-433930702B07"><cmd>If you want to use
       
   194 the GPS PSY with your Integration Module, modify the Central Repository initialisation
       
   195 file(s) for the PSY so that the values are the same as those in your Integration
       
   196 Module .ini file. </cmd>
       
   197 <info>The Central Repository initialisation file for the GPS PSY implementation
       
   198 with the Symbian platform is <filepath>datasourcemodules\lbsposfwadaptation\lbsgpsagpspsy\lbsagpspsy\cenrep\102869C7.txt</filepath>.
       
   199 It contains the following: </info>
       
   200 <stepxmp><codeblock id="GUID-63A5B375-F712-5515-A985-5F54BCD52AD9" xml:space="preserve">
       
   201 cenrep
       
   202 version 1
       
   203 [owner]
       
   204 0x101f97b2
       
   205 [defaultmeta]
       
   206  0
       
   207 [platsec]
       
   208  cap_rd=ReadDeviceData cap_wr=WriteDeviceData
       
   209 [Main]
       
   210 0x1 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   211 0x2 int 0 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   212 0x3 int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   213 0x4 int 90000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   214 0x5 int 1000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   215 0x6 real 5.4 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   216 0x7 real 5.4 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   217 0x8 int 2 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   218 0x9 int 2 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   219 0xa int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   220 0xb int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   221 0xc int 31 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   222 0xd int 31 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   223 0xe int 1 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   224 0xf string "\\resource\\lbsgpspsy_name.rsc" 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   225 0x10000000 int 2000000 0 cap_rd=alwayspass cap_wr=alwaysfail
       
   226 </codeblock> </stepxmp>
       
   227 <info>This is the same as the repository file for the A-GPS implementation
       
   228 [1], except the value for key <codeph>0xa</codeph> (Technology Type) is <codeph>ETechnologyTerminal</codeph> =
       
   229 1, to indicate that the PSY uses autonomous GPS. </info>
       
   230 <info>See step 1 above for details about which values you may need to change
       
   231 so that this file accurately describes the properties of your A-GPS Integration
       
   232 Module. </info>
       
   233 </step>
       
   234 <step id="GUID-CC2CC449-7A14-5143-9B87-80D1D887234E"><cmd>Make a binary version
       
   235 of the Central Repository initialisation file(s) and install them on the device. </cmd>
       
   236 <info>The LBS build process makes a binary version of the PSY Central Repository
       
   237 initialisation files and copies them to <filepath>epoc32\winscw\c\private\10202BE9</filepath>. </info>
       
   238 <info>To rebuild the A-GPS PSY Central Repository initialisation file you
       
   239 can use the makefile <filepath>createlbsagpspsyrep.mk</filepath> in <filepath>datasourcemodules\lbsposfwadaptation\lbsgpsagpspsy\lbsagpspsy\group</filepath>. </info>
       
   240 <info>To rebuild the GPS PSY Central Repository initialisation file you can
       
   241 use the makefile <filepath>createlbsgpspsyrep.mk</filepath> in <filepath>datasourcemodules\lbsposfwadaptation\lbsgpsagpspsy\lbsgpspsy\group</filepath>. </info>
       
   242 <info>Use the <xref href="GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita">ROM macros</xref> to
       
   243 copy the GPS/A-GPS PSY DLL and the repository files into a device ROM. </info>
       
   244 </step>
       
   245 </steps>
       
   246 </taskbody><related-links>
       
   247 <link href="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita"><linktext>GPS/A-GPS
       
   248 PSY Overview</linktext></link>
       
   249 <link href="GUID-9BB4A44E-6870-5A25-8EA8-0B0F1565213F.dita"><linktext>Include the
       
   250 GPS/A-GPS PSY in ROM</linktext></link>
       
   251 </related-links></task>