# Enable all script error messages
ErrorLevel ( "warn" )
# -----------------------------------------
# Adjust following variables to your system:
NAVI_SW_WINDOW_TITLE = "Mobile Navigator"
NAVI_SW_PROCESS_NAME = "mn8.exe"
# If Navi SW already running, then bring Navi SW into foreground and exit this script
If ( ProcExists( NAVI_SW_PROCESS_NAME ) = TRUE )
Show( NAVI_SW_WINDOW_TITLE )
Exit
EndIf
# Navigation software executable
# => "nur" noch der Pfad ohne EXE
NAVI_SW_PATH = "\DataFlash\Navigon"
# INSTALLDIR must contain: MixSerDrv.dll , mixser_tmc.bin, activatedevice.exe
INSTALLDIR = "\DataFlash\MixSer"
# MIXSER_PORT must be a free COM port number in your system
# Set the TMC port of your navigation software to this port!
MIXSER_PORT = 6
# COM port name and baudrate of the TMC chip
TMC_PORT = "COM3:"
TMC_BAUD = 38400
# If AVANTEQ TMC chip, then uncomment following:
#TMC_PORT = "AVQ1:"
# Optional: Your favorite FM frequency. MixSerDrv will tune to this frequency when MixSerDrv is activated
# Examples: 10520 means 105.2 Mhz; 9440 means 94.4 MHz, etc.
# then uncomment following:
#TMC_START_FREQ = 10520
# Optional: In case MixSerDrv does not work properly, try with following lines set to 1
# e.g. Wistron chips need them to be 1
# Skip sending initialisation commands to TMC chip
TMC_SKIP_INIT = 0
# MixSerDrv should not wait for responses from TMC chip after sending commands
TMC_NOWAIT_FOR_RESPONSE = 0
# Optional: GNS and AVANTEQ TMC chip only: Scan for next FM station if no TMC data received for x milliseconds
# value of 0 deactivates this function
# then uncomment following:
#GNS_TMC_DATA_TIMEOUT = 10000
# If DEBUG is 1 then a log file is written into INSTALLDIR every time when MixSerDrv is installed
DEBUG = 0
# -- Install MixSerDrv: Start ----------------------------------------
# MixSerDrv used as a Serial Port Sniffer (deactivates all TMC functionality!)
# GPS_PORT <==> MixSerDrv <==> MIXSER_PORT
# GPS_PORT = "COM2:"
# GPS_BAUD = 9600
# GPS_SNIFF_MODE = 1
# copy MixSerDrv driver DLL to Windows directory, if not already exists
If ( FileExists("\Windows\MixSerDrv.dll") = FALSE )
Copy( INSTALLDIR & "\MixSerDrv.dll", "\Windows\MixSerDrv.dll", TRUE )
Copy( INSTALLDIR & "\ATMC_CE.DLL", "\Windows\ATMC_CE.DLL", TRUE )
Copy( INSTALLDIR & "\AVQTMC.DLL", "\Windows\AVQTMC.DLL", TRUE )
Copy( INSTALLDIR & "\TMCGPS.DLL", "\Windows\TMCGPS.DLL", TRUE )
EndIf
# write settings for MixSerDrv to registry
RegWriteString( "HKLM", "\Drivers\MixSer", "FriendlyName", "MixSerDrv" )
RegWriteString( "HKLM", "\Drivers\MixSer", "Dll", "MixSerDrv.dll" )
RegWriteString( "HKLM", "\Drivers\MixSer", "Prefix", "COM" )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "Index", MIXSER_PORT )
RegWriteString( "HKLM", "\Drivers\MixSer", "InstallPath", INSTALLDIR )
RegWriteString( "HKLM", "\Drivers\MixSer", "TmcPortName", TMC_PORT )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "TmcBaudRate", TMC_BAUD )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "TmcStartFreq", TMC_START_FREQ )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "TmcSkipInit", TMC_SKIP_INIT )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "TmcNoWaitForResponse", TMC_NOWAIT_FOR_RESPONSE )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "GnsTmcDataTimeout", GNS_TMC_DATA_TIMEOUT )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "DebugMode", DEBUG )
RegWriteDWord ( "HKLM", "\Drivers\MixSer", "GpsSniffMode", GPS_SNIFF_MODE )
#RegWriteString( "HKLM", "\Drivers\MixSer", "GpsPortName", GPS_PORT )
#RegWriteDWord ( "HKLM", "\Drivers\MixSer", "GpsBaudRate", GPS_BAUD )
# activate the new COM port
RunWait ( INSTALLDIR & "\activatedevice.exe", "\Drivers\MixSer" )
# -- Install MixSerDrv: End ----------------------------------------
# start the navigation software
# =============================
# => Die über "exit.mscr" aus der MN8.2.5 gesicherten Settings wieder bereitstellen
XCopy ("\DataFlash\Navigon\MN Settings\*.*" , "\MN Settings", 1, 1)
Sleep (300)
Run ( NAVI_SW_PATH & "\" & NAVI_SW_PROCESS_NAME )
# => NOTWENDIG: Den "aufdringlichen" Startbildschirm des Navis in den Hintergrund schieben
# => Verliert aber seine Wirkung, sobald auch nur eine weitere Anweisung im Script erfolgt...
# => dann muss mit
# => Kill ("JBSHello.exe")
# => gearbeitet werden, was dann beim Benden der Navigation fehlt
# => und daher in der "Exit.mscr" wieder geladen wird
Minimize ( "TilteMainApp" )
# => "Freiwillige" Automatisierungen nach dem Start
# -------------------------------------------------
# If (FALSE)
If (TRUE)
# => Das altbekannte "Sartgedüdel" nach 2 Sekunden abspielen
# => Anmerkung: bei nicht abspielen muss die Abspieldauer (~2 sec) in der Zeitberechnung mit berücksichtigt werden
# => und das Kill ist für die weitere Verarbeitung (wenn aktiv) unumgänglich!!!
SLEEP1 = 2000
Sleep (SLEEP1)
PlaySound(NAVI_SW_PATH & "\System\Startup.wav")
Kill ("JBSHello.exe")
#Show( NAVI_SW_WINDOW_TITLE )
# => "Einführungsbildschirm" und "StVO Hinweis" zeitversetzt wegdrücken...
# => "Einführungsbildschirm"
# => SLEEP2 definiert die Gesamtzeit bis dieser Bildschirm kommt
# => Anmerkung: um besser erkennen zu können, ob der Zeitwert passt, lasse ich ggf. Hilfsweise eine Meldung ausgeben
SLEEP2 = 9500
Sleep (SLEEP2 - SLEEP1)
# Message( "Screen schon da?" )
MouseClick( NAVI_SW_WINDOW_TITLE, 240, 260 )
# => "StVO Hinweis"
# => SLEEP3 definiert die Gesamtzeit bis dieser Bildschirm kommt
SLEEP3 = 13000
Sleep (SLEEP3 - SLEEP2 - SLEEP1)
# Message( "Screen schon da?" )
MouseClick( NAVI_SW_WINDOW_TITLE, 337, 231 )
EndIf
# Andere Auflösungen
# ------------------
# press the "OK" button of Navigon STVO disclaimer (un-comment the line for your screen resolution)
# 800x480 screen
# MouseClick(NAVI_SW_WINDOW_TITLE, 610, 430 )
# 480x272 screen
# MouseClick(NAVI_SW_WINDOW_TITLE, 337, 231 )
# 320x240 screen
# MouseClick(NAVI_SW_WINDOW_TITLE, 235, 212 )