Nav2 Architecture

GuiProt 4 General Parameters

General

This is the specification of all General parameters used in the Nav2 UI protocol, and their respective Nav2 parameters.

This document describes the different parameters that can be used within Nav2. Parameters are used for permanent storage of settings, for example saving the favorites on the device.

The way to use the parameters is pretty straight forward. 1. UI sends a GeneralParameterMessage with the type paramAutoReroute 2. The Parameter Module inside Nav2 parses the message and creates a reply 3. The reply is sent to the UI. The reply contains the data and the same ID as in the request.

Format

The messages are sent to mirror the underlying parameter from Nav2. Each message includes the following fields:

NameSize
Typeuint16
ParamIDuint16
NumEntriesuint32
rest of datavaries

The type can be one of the following:

TypeArray of
paramTypeInt32int32
paramTypeFloatfloat
paramTypeStringstrings
paramTypeBinarybytes

Message thus contains NumEntries entries of type Type.

Helper enums

A number of enums have been specified to allow easier definition of the parameters:

Bool
   enum Bool {
      false                                  = 0x00,
      true                                   = 0x01,
   };
SortingType
   enum SortingType {
      alphabeticalOnName = 0x00,
      distance = 0x01,
      newSort = 0x02,
      invalidSortingType = 0xffff,
   };
YesNoAsk
   enum YesNoAsk {
      yes = 0x00,
      no = 0x01,
      ask = 0x02,
      invalidYesNoAsk = 0x03,
   };
BacklightStrategy
   enum BacklightStrategy {
      backlight_always_off = 0x00,
      backlight_on_during_route = 0x01,
      backlight_always_on = 0x02,
      backlight_near_action = 0x03,
      backlight_invalid = 0xff,
   };
TurnSoundsLevel
   enum TurnSoundsLevel {
      turnsound_mute = 0x00,
      turnsound_min = 0x01,
      turnsound_less = 0x02,
      turnsound_normal = 0x03,
      turnsound_more = 0x04,
      turnsound_max = 0x05,
      turnsound_invalid = 0xff
   };
DistanceMode
   enum DistanceMode {
      ModeInvalid = 0,
      ModeMetric = 1,
      ModeImperialYards = 2,
      ModeImperialFeet = 3,
      ModeMetricSpace = 4,
      ModeImperialYardsSpace = 5,
      ModeImperialFeetSpace = 6,
   };
ShowFavoriteInMap
   enum ShowFavoriteInMap {
      ShowFavoriteInMapAlways = 0x00,
      ShowFavoriteInMapCityLevel = 0x01,
      ShowFavoriteInMapNever = 0x02,
   };
RouteCostType
   enum RouteCostType {
      DISTANCE = 0,
      TIME = 1,
      TIME_WITH_DISTURBANCES = 2,
      INAVLID = 0xff
   };
RouteTollRoads
   enum RouteTollRoads {
      TollRoadsAllow = 0,
      TollRoadsDeny = 1,
   };
RouteHighways
   enum RouteHighways {
      HighwaysAllow = 0,
      HighwaysDeny = 1,
   };
languageCode
   enum languageCode {
      ENGLISH = 0,
      SWEDISH = 1,
      GERMAN = 2,
      DANISH = 3,
      FINNISH = 4,
      NORWEGIAN = 5,
      ITALIAN = 6,
      DUTCH = 7,
      SPANISH = 8,
      FRENCH = 9,
      WELCH = 10,
      PORTUGUESE = 11,
      CZECH = 12,
      AMERICAN_ENGLISH = 13,
      HUNGARIAN = 14,
      GREEK = 15,
      POLISH = 16,
      SLOVAK = 17,
      RUSSIAN = 18,
      SLOVENIAN = 19,
      TURKISH = 20,
      ARABIC = 21,
      SWISS_FRENCH = 22,
      SWISS_GERMAN = 23,
      ICELANDIC = 24,
      BELGIAN_FLEMISH = 25,
      AUSTRALIAN_ENGLISH = 26,
      BELGIAN_FRENCH = 27,
      AUSTRIAN_GERMAN = 28,
      NEW_ZEALAND_ENGLISH = 29,
      CHINESE_TAIWAN = 30,
      CHINESE_HONG_KONG = 31,
      CHINESE_PRC = 32,
      JAPANESE = 33,
      THAI = 34,
      AFRIKAANS = 35,
      ALBANIAN = 36,
      AMHARIC = 37,
      ARMENIAN = 38,
      TAGALOG = 39,
      BELARUSIAN = 40,
      BENGALI = 41,
      BULGARIAN = 42,
      BURMESE = 43,
      CATALAN = 44,
      CROATIAN = 45,
      CANADIAN_ENGLISH = 46,
      SOUTH_AFRICAN_ENGLISH = 47,
      ESTONIAN = 48,
      FARSI = 49,
      CANADIAN_FRENCH = 50,
      GAELIC = 51,
      GEORGIAN = 52,
      GREEK_CYPRUS = 53,
      GUJARATI = 54,
      HEBREW = 55,
      HINDI = 56,
      INDONESIAN = 57,
      IRISH = 58,
      SWISS_ITALIAN = 59,
      KANNADA = 60,
      KAZAKH = 61,
      KHMER = 62,
      KOREAN = 63,
      LAO = 64,
      LATVIAN = 65,
      LITHUANIAN = 66,
      MACEDONIAN = 67,
      MALAY = 68,
      MALAYALAM = 69,
      MARATHI = 70,
      MOLDOVIAN = 71,
      MONGOLIAN = 72,
      NYNORSK = 73,
      BRAZILIAN_PORTUGUESE = 74,
      PUNJABI = 75,
      ROMANIAN = 76,
      SERBIAN = 77,
      SINHALESE = 78,
      SOMALI = 79,
      LATIN_AMERICAN_SPANISH = 80,
      SWAHILI = 81,
      FINNISH_SWEDISH = 82,
      TAMIL = 83,
      TELUGU = 84,
      TIBETAN = 85,
      TIGRINYA = 86,
      CYPRUS_TURKISH = 87,
      TURKMEN = 88,
      UKRAINIAN = 89,
      URDU = 90,
      VIETNAMESE = 91,
      ZULU = 92,
      SESOTHO = 93,
      BASQUE = 94,
      GALICIAN = 95,
      ASIA_PACIFIC_ENGLISH = 96,
      TAIWAN_ENGLISH = 97,
      HONG_KONG_ENGLISH = 98,
      CHINA_ENGLISH = 99,
      JAPAN_ENGLISH = 100,
      THAI_ENGLISH = 101,
      ASIA_PACIFIC_MALAY = 102,
   };
VehicleType
   enum VehicleType {
      passengerCar = 0x01,
      pedestrian = 0x02,
      emergencyVehicle = 0x03,
      taxi = 0x04,
      publicBus = 0x05,
      deliveryTruck = 0x06,
      transportTruck = 0x07,
      highOccupancyVehicle = 0x08,
      bicycle = 0x09,
      publicTransportation = 0x0a,
      invalidVehicleType = 0xff
   };
WayfinderType
   enum WayfinderType {
      InvalidWayfinderType = -1,
      Trial = 0,
      Silver = 1,
      Gold = 2,
      Iron = 3,
   };

Parameters

The following table shows all the general parameters and their respective Nav2 parameter and types.

GuiProt ParameterTypeNav2 parameter
paramAutomaticRouteOnSMSDestInt32UC_AutomaticRouteOnSMSDest
paramAutoRerouteInt32UC_AutoReroute
paramAutoTrackingInt32UC_AutoTracking
paramBacklightStrategyInt32UC_BacklightStrategy
paramBtGpsAddressAndNameStringBtGpsAddressAndName
paramCategoryIdsStringCategoryIds
paramCategoryNamesStringCategoryNames
paramDistanceModeInt32UC_DistanceMode
paramFavoriteShowInt32UC_FavoriteShow
paramGPSAutoConnectInt32UC_GPSAutoConnect
paramHighwaysInt32NSC_RouteHighways
paramHttpServerNameAndPortStringNSC_HttpServerHostname
paramKeepSMSDestInInboxInt32UC_KeepSMSDestInInbox
paramLanguageInt32Language
paramLastKnownRouteIdBinaryUC_GUILastKnownRouteId
paramLatestNewsChecksumInt32NSC_LatestNewsChecksum
paramLatestShownNewsChecksumInt32UC_LatestShownNewsChecksum
paramLinkLayerKeepAliveInt32UC_LinkLayerKeepAlive
paramMapLayerSettingsBinaryUC_MapLayerSettings
paramPoiCategoriesBinaryUC_PoiCategories
paramPositionSymbolInt32UC_PositionSymbolType
paramSearchStringsBinaryUC_GUISearchStrings
paramSelectedAccessPointId2Int32SelectedAccessPointId2
paramSelectedAccessPointIdInt32SelectedAccessPointIdReal
paramServerNameAndPortStringNSC_ServerHostname
paramSoundVolumeInt32UC_SoundVolume
paramStoreSMSDestInMyDestInt32UC_StoreSMSDestInMyDest
paramTimeDistInt32NSC_RouteCostType
paramTimeLeftInt32NSC_ExpireVector
paramTollRoadsInt32NSC_RouteTollRoads
paramTrackingLevelInt32TR_trackLevel
paramTrackingPINBinaryTR_trackPIN
paramTransportationTypeInt32NSC_TransportationType
paramTurnSoundsLevelInt32UC_TurnSoundsLevel
paramUserAndPasswordStringNSC_UserAndPasswd
paramUserTermsAcceptedInt32UC_UserTermsAccepted
paramUseSpeakerInt32UC_UseMainSpeaker
paramVectorMapCoordinatesBinaryUC_VectorMapCoordinates
paramVectorMapSettingsInt32UC_VectorMapSettings
paramWayfinderTypeInt32WayfinderType
paramWebPasswordStringUC_WebPasswd
paramWebUsernameStringUC_WebUser
userRightsInt32NSC_userRights
userTrafficUpdatePeriodInt32NT_UserTrafficUpdatePeriod
paramShowNewsServerStringStringNSC_latestNewsId
paramShownNewsChecksumStringUC_latestNewsId
paramNeverShowUSDisclaimerint32UC_neverShowUSDisclaimer

paramAutomaticRouteOnSMSDest

NumEntries: 1

DatatypeHelperoffset
Route to SMSint32YesNoAsk0

This parameter is set to yes if a route should automatically be calculated when an SMS destination is received, no if it should not, and ask if the UI should ask the user.

paramAutoReroute

NumEntries: 1

DatatypeHelperoffset
Auto rerouteint32Bool0

This parameter is set to true if a route should automatically be calculated when the navigation goes off-track, and false if it should not.

paramAutoTracking

NumEntries: 1

DatatypeHelperoffset
Auto trackingint32Bool0

This parameter is set to true if the map should try to follow the GPS position, and false if it should not.

paramBacklightStrategy

NumEntries: 1

DatatypeHelperoffset
Backlight strategyint32BacklightStrategy0

Defines the current BacklightStrategy.

paramBtGpsAddressAndName

NumEntries: 3

DatatypeHelperoffset
GPS address highstringuint32 encoded as string0
GPS address lowstringuint32 encoded as string1
GPS namestringstring2

This parameter contains a number of strings that can be used to identify the current GPS.

paramCategoryIds

NumEntries: varies

DatatypeHelperoffset
Category id 1stringstring0
Category id 2stringstring1
Category id …stringstring
Category id nstringstringn

This parameter contains the search category ids, which happens to be strings.

paramCategoryNames

NumEntries: varies

DatatypeHelperoffset
Category name 1stringstring0
Category name 2stringstring1
Category name …stringstring
Category name nstringstringn

This parameter contains the search category names, localized to the language used when contacting the server.

paramDistanceMode

NumEntries: 1

DatatypeHelperoffset
DistanceModeint32DistanceMode0

Defines the current DistanceMode.

paramFavoriteShow

NumEntries: 1

DatatypeHelperoffset
Show favorites in mapint32ShowFavoriteInMap0

paramHighways

NumEntries: 1

DatatypeHelperoffset
Use highwaysint32RouteHighways0

paramHttpServerNameAndPort

NumEntries: varies

DatatypeHelperoffset
Server 1stringstring0
Server 2stringstring1
Server …stringstring
Server nstringstringn

The server strings has the format “host:port”.

paramKeepSMSDestInInbox

NumEntries: 1

DatatypeHelperoffset
Keep SMS in inboxint32YesNoAsk0

paramLanguage

NumEntries: 1

DatatypeHelperoffset
Language codeint32languageCode0

The current language code. This parameter is only set from the GUI.

paramLastKnownRouteId

NumEntries: 1

DatatypeHelperoffset
Last known route idbinaryint640

The last known route id. The data is saved as an unaligned 64bit number. Currently unused

paramLatestNewsChecksum

Note: This parameter is now obsolete and must not be used.

NumEntries: 1

DatatypeHelperoffset
Latest news checksumint32uint320

The latest news checksum. Sent from the server when the news should be shown.

**Currently unused **

paramLatestShownNewsChecksum

Note: This parameter is now obsolete and must not be used.

NumEntries: 1

DatatypeHelperoffset
Latest shown news checksumint32uint320

The latest shown news checksum. Set from the paramLatestNewsChecksum when the news has been shown.

Currently unused

paramLinkLayerKeepAlive

NumEntries: 1

DatatypeHelperoffset
Link layer keepaliveint32bool0

Indicates if the UI should keep GPRS alive.

paramMapLayerSettings

NumEntries: varies

DatatypeHelperoffset
Map layer settingsbinaryTileMapLayerInfoVector0

Binary representation of TileMapLayerInfoVector. Please refer to TileMapLayerInfoVector to understand format.

paramNeverShowUSDisclaimer

NumEntries: 1

DatatypeHelperoffset
Never show US disclaimerint32uint320

If the parameter is uset or zero, then the normal test for US Disclaimer page should be performed. Otherwise, the US Disclaimer page should never be shown.

paramPoiCategories

NumEntries: varies

Data itypeHelperoffset
Versionint16int160
Name 1stringstring1
Id 1int32int322
Value 1int8int83
Name 2stringstring4
Id 2int32int325
Value 2int8int86
   

Version is currently 5.

paramPositionSymbol

NumEntries: 1

DatatypeHelperoffset
Position symbol in mapint32int320

paramSearchStrings

NumEntries: varies

DatatypeHelperoffset
Versionint16int160
Search string 1stringstring1
Search house number 1stringstring2
Search city stringstringstring3
Search city id 1stringstring4
Search country string 1stringstring5
Search country id 1stringstring6
stringstring

Version is currently 5.

paramSelectedAccessPointId2

NumEntries: 1

DatatypeHelperoffset
Used access point idint32int320

Can have the two special values of -1 for ask user and -2 for use system default. Set from paramSelectedAccessPointId. Always set to either -1 or -2 on startup.

paramSelectedAccessPointId

NumEntries: 1

DatatypeHelperoffset
Saved access point idint32int320

Can have the two special values of -1 for ask user and -2 for use system default. paramSelectedAccessPointId2 should always be set to the same value when paramSelectedAccessPointId is received. Always set to either -1 or -2 on first startup.

paramServerNameAndPort

NumEntries: varies

DatatypeHelperoffset
Server 1stringstring0
Server 2stringstring1
Server …stringstring
Server nstringstringn

The server strings has the format “host:port”.

paramShowNewsServerString

NumEntries: 1

DatatypeHelperoffset
Server news checksumstringstring0

Used in conjunction with paramShownNewsChecksum.

This parameter contains the checksum string downloaded from the server on param sync. If it is unset or the empty string, the news should be shown always. Otherwise, the string should be compared with the paramShownNewsChecksum parameter, and news should only be shown when the two don’t match. After a successful showing of the news page, the paramShownNewsChecksum should be set to the same value as paramShowNewsServerString, unless th paramShowNewsServerString is unset or the empty string.

paramShownNewsChecksum

NumEntries: 1

DatatypeHelperoffset
paramShownNewsChecksumstringstring0

See paramShowNewsServerString for documentation.

paramSoundVolume

NumEntries: 1

DatatypeHelperoffset
Volumeint32int320

The value describes the volume in percent from 0 to 100.

paramStoreSMSDestInMyDest

NumEntries: 1

DatatypeHelperoffset
Save SMS dest in favoritesint32YesNoAsk0

paramTimeDist

NumEntries: 1

DatatypeHelperoffset
Route optimized forint32RouteCostType0

Sets what the route should be optimized for, time, time and traffic information, or distance.

paramTimeLeft

NumEntries: 3

DatatypeHelperoffset
Days leftint32int320
Transactions leftint32int321
Transaction days leftint32int322

paramTollRoads

NumEntries: 1

DatatypeHelperoffset
Use toll roadsint32RouteTollRoads0

paramTrackingLevel

NumEntries: 1

DatatypeHelperoffset
Tracking levelint32int320

paramTrackingPIN

NumEntries: varies

DatatypeHelperoffset
PIN databinaryTrackPINList0

Please refer to TrackPINList for documentation about format.

paramTransportationType

NumEntries: 1

DatatypeHelperoffset
Transportation typeint32VehicleType0

paramTurnSoundsLevel

NumEntries: 1

DatatypeHelperoffset
Turn sounds levelint32TurnSoundsLevel0

paramUserAndPassword

NumEntries: 2

DatatypeHelperoffset
Usernamestringstring0
Passwordstringstring1

This parameter is only used for debug.

paramUserTermsAccepted

NumEntries: 1

DatatypeHelperoffset
User terms acceptedint32bool0

paramUseSpeaker

NumEntries: 1

DatatypeHelperoffset
Use speakerint32bool0

paramVectorMapCoordinates

NumEntries: varies

DatatypeHelperoffset
Vector map coordinatesbinaryVectorMapCoordinates0

Please refer to VectorMapCoordinates for documentation about format.

paramVectorMapSettings

NumEntries: 7

DatatypeHelperoffset
Versionint32int320
Cache sizeint32int321
Map type obsoleteint32int322
Tracking orientationint32int323
Favorite show obsoleteint32int324
Guide modeint32int325
Gui mode obsoleteint32int326

Version is currently 1.

paramWayfinderType

NumEntries: 1

DatatypeHelperoffset
Wayfinder typeint32WayfinderType0

paramWebPassword

NumEntries: 1

DatatypeHelperoffset
Web passwordstringstring0

Parameter can be set from client, but is never downloaded from server. Is not saved over restarts.

paramWebUsername

NumEntries: 1

DatatypeHelperoffset
Web usernamestringstring0

Paramer cannot be set from client.

userRights

NumEntries: varies

DatatypeHelperoffset
Rights dataint32UserRights0

Please refer to UserRights for documentation of format.

userTrafficUpdatePeriod

NumEntries: 1

DatatypeHelperoffset
Traffic update periodint32uint320

The lower 30 bits describe the traffic update time in minutes. Setting the second highest bit means that the setting is not active since the value will be so large (in minutes) that it is impossible to trigger a traffic update.