Search Archive

HOW TO: Variable/Function Reference Library

By skicrave · Sep 09, 2008in Hacks/Mods💬 30 posts👁️ 6,371 views
Page 1 of 2
Posted Sep 09, 2008 · 15:20 UTC#1

I've been thinking it would be a good idea to catalog the available variables and functions for a while, so here goes.

 

The purpose of this thread is to list the valid variables and functions that can be used for modifying the appearance or performance of the navigation system. As such, it will be split into two sections (thanks for the suggestion Stephanie), one for variables, and one for functions. If you have any data to add, post it in a reply and I will amend it to the listing.

 

Here we go!

 

Display Variables

 

navigation.eta_at_destination Displays the ETA at the end point destination

 

Example:


 

navigation.current_speed_limit.full_text Displays speed limit of the current road you are traveling on.

 

Example:


 

 

Control Variables

 

visiblemodel Can be used to control the display of elements on the map screen based on the system status.

 

Valid conditions:

navigation.has_route - object will only be displayed if an active route is programmed.

 

Example:


 

 

Functions

Posted Sep 11, 2008 · 14:52 UTC#2

It seems to me that there's an awful lot of button-pressing just to get anything done. It is possible to make a shortcut button to get from the map screen to virtually any other navigation / iGo screen, if you know the trick. Personally, I use the Favorites a lot, and it was annoying to have to push Menu, then Destination, then Favorites. (No wonder they want you to be in Park to do anything - you have to press so many buttons and read so many screens!)

 

In the example below, I'm going to make a display function (specifically, the Clock) become a clickable button by adding a bit of code to the end of it.


 

This last bit here: onrelease='run sc_FindAddress' makes the clock something you can click, and when you click it, it launches the Destination / Find By Address screen. By adding an onrelease='' to any text you can make it clickable. You can add it to sprites too (although technically I think you should turn the SPRITE into a BUTTON when you do that.) You can even add your own clickable Text and Buttons, you aren't limited to just making existing stuff clickable.

 

What follows, are a list of things you can do with this trick. (This is not a comprehensive list - just a few things I've found useful.)

 

Show the GPS Status Screen: onrelease='nextstate st_SettingGPS'

Go to the Settings menu: onrelease='nextstate st_navisettings'

Go to the Find By Address screen: onrelease='run sc_FindAddress'

Go to the Find By POI screen: onrelease='run sc_FindPOI'

Go to the Find Favorites screen: onrelease='run sc_FindFavorite'

Go to the History screen: onrelease='run sc_FindHistory'

Delete Route: onrelease='run sc_btnARM_Delete_OnRelease'

Show Route Info: onrelease='run sc_btnARM_Info_OnRelease'

Go Home: onrelease='run sc_btnAMM_ReturnHome_OnRelease'

Go to the Manage POI screen: onrelease='run sc_btnAMDM_POI_onRelease'

Go to the MSND main screen: onrelease='nextstate st_MsndMain'

Speak the next navigation command: onrelease='SAYNEXTCOMMAND'

 

For people wanting to know how to find these things, the answer is simple - just find the menu where there's a function you want to make a shortcut of, look at the related 800_480.ui file, find the button, and see what the onrelease function is. For example, if you want to make a shortcut to the MSND Weather screen, go to data.zip\ui_pioneer\800_480\ui\msnd_800_480.ui and open that in notepad. Search for 'weather', and find this code:


 

The onrelease bit is there: onrelease='vIsWorldwideWeatherSelected.set 0, NEXTSTATE st_MsndWeatherList' So, that is the shortcut to get to the MSND weather page.

 

That is how you find the 'shortcuts' to the various screens within the navigation software.

 

Cheers!

 

p.s. you may need to add USESEPARATEDSAFETYMODE=1 (or =0) in addition to the onrelease to make the buttons work - the safety mode thing is what enables / disables clickable buttons based on the parking brake or bypass. I've found mixed results where sometimes the safetymode thing is required and other times it isn't.

Posted Sep 11, 2008 · 18:40 UTC#3

Also, you can program things to fire

 

OnClick -- happens as soon as you press on it.

OnLongClick -- If you've used a touch-screen PDA you know that one. Press and hold a button and after a while something happens.

 

For example, you could have a button that will take you to favorites if you just click it, but would route you home if you hold it...

Posted Sep 11, 2008 · 18:46 UTC#4

Can someone give me a quick run down how to add/edit that line of code to have have the current speed limit displayed. That is a huge asset to have and something i have wondered why it was overlooked!

Posted Sep 11, 2008 · 18:52 UTC#5

If you have the three bars of info displayed on the lower left corner, speed limit is one of the functions you can opt to have put in there. It's under settings, navi settings, visual, displayed info.

 

Otherwise if you want to add a custom bit of text for it, just use search. The speed limit code has already been posted in this forum, I believe.

Posted Sep 12, 2008 · 04:55 UTC#6

In a header section of a UI file you can declare variables.

 

If you add "registermodel permanent" the variable will be saved by iGO so you can store custom configuration settings.

 

Setting OnChange handler will run a script every time variable changes

 

; Just a variable.

Posted Oct 01, 2008 · 02:20 UTC#7

More fun:

 

If you want to combine multiple pieces of information, use combined_textmodel

 

I.e.:

 

 

You need to put internal functions inside $ signs and iGO will append them together

Posted Oct 10, 2008 · 10:05 UTC#8

What file do we add all this to?

Posted Oct 10, 2008 · 11:58 UTC#9

Any file you want... House numbers look best on navigatemap_800_480

Posted Oct 14, 2008 · 13:21 UTC#10

From another forum... add this to some screen element's action (onclick etc.)333

 

'START_APPLICATION "\Storage Card\Program Files\CapScrUtil.exe"

Posted Nov 07, 2008 · 15:06 UTC#11

Man the more you dig around in here the more you see how much you can do with these units...

 

On the nav screen there is a button to pull up what ever audio source you are listening to. With the functions that you have found can we make a button to pull up another audio source.

 

I skip between AM and Sirius quite a bit and it would save me alot of clicks if I could build a shortcut.

 

I understand that there are a number of programs running at once here but I thought since there is a button on the nav to bring up current audio source that perhaps we could build a button to bring up another one.. I hope that makes sense.

Posted Nov 07, 2008 · 16:04 UTC#12

Well, I _guess_ that might be possible, but note that the audio source button is NOT part of the iGO skin. It is something that AVIC's other software simply draws on top of iGO. Looking at skin files and iGO executable, there are some functions for interfacing with the rest of Pioneer's system, but Pioneer isn't exactly forthcoming with information, and people who make iGO skins would not know what to do with Pioneer-specific stuff...

Posted Nov 07, 2008 · 16:07 UTC#13

The audio source overlay is handled through an outside "helper" app, and can't be modified or manipulated the same way the iGO files are. It's an assembled .exe file, so it would take quite a bit more work to modify it (which is too bad, because I would really like to change the looks of it.

Posted Nov 07, 2008 · 17:31 UTC#14

bummer

Posted Nov 07, 2008 · 17:57 UTC#15

pass information through a button for instance I would like to create a button to search for food near gps location. I have found the following:

 

onrelease='run sc_StartPOISearchAroundGPSQS'

 

which will bring up the POI categories... how can I pass a vairiable to it so it will automatically search food with no value..showing all food near gps.

Posted Nov 07, 2008 · 18:00 UTC#16

That may not be possible, but if it is, I'm sure Boris will have the answer.

Posted Nov 07, 2008 · 18:16 UTC#17

found this for favorites, is this going in the right direction Boris

 

clickmodel="mydata.favorites.list.setcurrent $i"

 

in terms of being able to pass variables

Posted Nov 07, 2008 · 18:21 UTC#18

Yes, that's exactly how you do it.

 

Studying even what is in the default skin yields lots of interesting information. Looking at some of the more advanced ones is even more useful :)

 

I don't know if there's a way to pass a specific category to POI search, but it might be doable...

Posted Nov 07, 2008 · 18:29 UTC#19

More interesting stuff.

In SYS.TXT:

 

[map]

3d_scale_carmodel=1

3dcarsizemin=3500

3dcarsizemax=8000

3dcarsizemul=15000

3d_tunnels=1

3d_max_tiltlevel=9000

3d_max_zoomlevel=4000

3d_min_zoomlevel=40

3d_max_zfar=2000

show_oneway=1

 

Controls the size of car arrow in 3D mode. I made mine a bit smaller.

 

tiltlevel settings let you tilt the map further. Combined with zoomlevel you can get decent almost 2D with track up effect, although at a price of performance.

 

zfar controls distance at which iGO starts applying fog effect to 3D view.

 

[route]

correctness=85

 

This lets you control trade off between speed of route calculation and how thorough it is. Setting it to higher values should give better routing but it will take longer to calculate.

Posted Nov 08, 2008 · 20:19 UTC#20

There are also other great settings in the sys.txt that allow you to change draw distance of 3D buildings and landmarks. I noticed this before I had the F900 with one of my other Igo units. I am going to do a bunch of searching through the files tomorrow to see what else I can find.

Posted Nov 09, 2008 · 03:47 UTC#21

I will add these functions

 

 

MSN Traffic - onrelease='vFromMsndTraffic.set 1, NEXTSTATE st_TmcEventsList'

 

MSN Gas - onrelease='run sc_MsndGasStationSortByDist, NEXTSTATE st_MsndGasStation'

 

MSN Weather - onrelease='vIsWorldwideWeatherSelected.set 0, NEXTSTATE st_MsndWeatherList'

 

MSN Movies - onrelease='vIsAllMovieTitleSelected.set 0, vMsndMoviePlace.set 0, NEXTSTATE st_MsndAllMovie'

Posted Dec 02, 2008 · 17:39 UTC#22

So, anyone know what the "click on release" command is to bring up the itinerary? I know Boris is working on a detour button, but for my purposes, just having a button there that brings up the itinerary (and thus, 2 clicks away from detouring) is good enough.

 

Thanks!

 

--Mav

Posted Dec 02, 2008 · 17:47 UTC#23

A quick search through UI files shows that this is the script that brings up itinerary screen:

 

NEXTSTATE st_RouteItinerary

 

You cna either have button's onrelease pointing to this script, or simply do button's onrelease='NEXTSTATE st_RouteItinerary'

 

This should do it...

Posted Dec 02, 2008 · 18:05 UTC#24

I looked through it and found something similar, then pieced together the bare bones of a button. Would this work? Can you run it through an emulator for me? I won't have access to the car for a couple of days and don't have the emulator. Thanks!

 

 

 

--Mav

Posted Dec 02, 2008 · 18:14 UTC#25

Looks OK, seems to work in IPAQ emulator...

Page 1 of 2