Results 1 to 10 of 49

Thread: Custom Runlog Pages

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default Custom Runlog Pages

    Some time ago, there was a discussion about sharing custom runlog pages. I've been playing around with making some new pages and I thought I would share them. Below are screen captures and the source code which created the page. I'm hoping that others will share some of the pages that they have come up with.

    For those that aren't aware, if a user has the proper security key or level, the DataLinkII software can allow a user to customize the region below the main plot window. Creating one of these new pages or modifying an existing page requires a bit of programming. The programming language is documented in the help topics of DataLinkII under "The Run Log Language Reference Manual." To modify or create new pages, you go to the "Runlog" drop down menu and then select "Edit Log Definition." From there, you can select a Runlog page and edit it or create a new one. If you don't have the required security level, this option will be grayed out and not selectable. Unfortunately, I can not help you gain the proper permissions for Runlog editing. If you contact Racepak, they should be able to help you.

    An unfortunate thing about these pages is that they likely will require some tune-ups to work with your configuration. If you don't have the channels labeled as I do, or don't have certain pieces of data, then the pages will probably look different. But with some editing (if you can), you should be able to tune them up for your installation. I've borrowed some of the code from Racepak and changed things around a little.

    Within DataLinkII, I've made a log book which I call "Car Health." Within this log book, I've created a number of pages which plot temps, pressures, parameters associated with braking, power, etc. You can see some of the tabs in the picture below (see the attached picture). The series of X-Y plots cover the span of data shown in the main plot window for the lap selected.



    The code which created this Runlog page is:

    <TITLE CATEGORY="Car Health">Pressures</TITLE>
    <ORIGIN>
    <TAB DLGUNITS=5> Run: <INPUT TYPE=staticbox VALUE="$FileName" SIZE = 80> Page Contains Data Covering The Time Shown In The Plot Window Above
    <ORIGIN>
    <BR LINES =2>

    <CHART
    XNAME="Engine RPM" YNAME="Oil Pressure" SYMBOL=Point
    TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax"
    XMIN="$IOName2Min(Engine RPM)" XMAX="$IOName2Max(Engine RPM)"
    YMIN="$IOName2Min(Oil Pressure)" YMAX ="$IOName2Max(Oil Pressure)"
    GRID=BLACK() BACKGROUND=GREY() FOREGROUND=RED()
    ROWS=20 COLS=60
    RESETBY=($ChartTimeMin,$ChartTimeMax,$Lap)
    UPDATEDBY = ($CarretTime)
    >

    <CHART
    XNAME="Lateral G" YNAME="Oil Pressure" SYMBOL=Point
    TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax"
    XMIN="$IOName2Min(Lateral G)" XMAX="$IOName2Max(Lateral G)"
    YMIN="$IOName2Min(Oil Pressure)" YMAX ="$IOName2Max(Oil Pressure)"
    GRID=BLACK() BACKGROUND=GREY() FOREGROUND=RED()
    ROWS=20 COLS=60
    RESETBY=($ChartTimeMin,$ChartTimeMax,$Lap)
    UPDATEDBY = ($CarretTime)
    >

    <CHART
    XNAME="Accel G" YNAME="Oil Pressure" SYMBOL=Point
    TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax"
    XMIN="$IOName2Min(Accel G)" XMAX="$IOName2Max(Accel G)"
    YMIN="$IOName2Min(Oil Pressure)" YMAX ="$IOName2Max(Oil Pressure)"
    GRID=BLACK() BACKGROUND=GREY() FOREGROUND=RED()
    ROWS=20 COLS=60
    RESETBY=($ChartTimeMin,$ChartTimeMax,$Lap)
    UPDATEDBY = ($CarretTime)
    >

    <CHART
    XNAME="Total G" YNAME="Oil Pressure" SYMBOL=Point
    TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax"
    XMIN="$IOName2Min(Total G)" XMAX="$IOName2Max(Total G)"
    YMIN="$IOName2Min(Oil Pressure)" YMAX ="$IOName2Max(Oil Pressure)"
    GRID=BLACK() BACKGROUND=GREY() FOREGROUND=RED()
    ROWS=20 COLS=60
    RESETBY=($ChartTimeMin,$ChartTimeMax,$Lap)
    UPDATEDBY = ($CarretTime)
    >

    <TAB DLGUNITS=506>

    <CHART ASPECTRATIO
    XNAME="@_MAP_CircleTrack_Channel :Run_PosX" YNAME="@_MAP_CircleTrack_Channel :Run_PosY" WIDTH=1 COLS=30 ROWS=10
    TIMEMIN="$LapStartTime" TIMEMAX="$LapEndTime"
    XMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefX)" XMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefX)"
    YMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefY)" YMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefY)"
    FOREGROUND="GREY()" GRID="GREY()" BACKGROUND="GREY()"
    RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <CHART ATTACH2PREV ASPECTRATIO
    XNAME= "@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY" WIDTH=2 COLS=80 ROWS=32
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefX)" XMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefX)"
    YMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefY)" YMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefY)"
    FOREGROUND="WHITE()" BACKGROUND="GREY()"
    RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
    XNAME="@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegT" WIDTH=2 COLS=80 ROWS=32
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefX)" XMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefX)"
    YMIN="$IOName2Min(@_MAP_CircleTrack_Channel :Plot_RefY)" YMAX="$IOName2Max(@_MAP_CircleTrack_Channel :Plot_RefY)"
    FOREGROUND="BLUE()" BACKGROUND="GREY()"
    RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <BR LINES =21>
    <CHART
    XNAME="Oil Temp" YNAME="Oil Pressure" SYMBOL=Point
    TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax"
    XMIN=160 XMAX=280 YMIN=10 YMAX=80
    GRID=BLACK() BACKGROUND=GREY() FOREGROUND=RED()
    ROWS=20 COLS=60
    RESETBY=($ChartTimeMin,$ChartTimeMax,$Lap)
    UPDATEDBY = ($CarretTime)
    >

    <ORIGIN>
    <BR LINES =23>
    <TAB DLGUNITS= 470>CUR
    <TAB DLGUNITS= 530>AVG
    <TAB DLGUNITS= 590>MIN
    <TAB DLGUNITS= 650>MAX
    <BR LINES=2>

    <TAB DLGUNITS= 380>Engine RPM:
    <TAB DLGUNITS=455><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Engine RPM)" >
    <TAB DLGUNITS= 515><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Engine RPM,$ChartTimeMin,$ChartTimeMax)">
    <TAB DLGUNITS= 575><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Engine RPM,$ChartTimeMin,$ChartTimeMax)">
    <TAB DLGUNITS= 635><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Engine RPM,$ChartTimeMin,$ChartTimeMax)">


    <TAB DLGUNITS= 380>Oil Pressure:
    <TAB DLGUNITS=455><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Oil Pressure)" >
    <TAB DLGUNITS= 515><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Oil Pressure,$ChartTimeMin,$ChartTimeMax)">
    <TAB DLGUNITS= 575><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Oil Pressure,$ChartTimeMin,$ChartTimeMax)">
    <TAB DLGUNITS= 635><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Oil Pressure,$ChartTimeMin,$ChartTimeMax)">
    Another page which I have recently created is shown below. I haven't used it very much but I think it will be quite useful. You use the [ and ] keys to select the region of data in the main plot window and the plots below will (should!) update. You might have to switch off the page and then come back. The data from the reference lap is shown in red and the current lap in blue. This page allows you to see a number of parameters at the same time without the clutter of all the data being on a single plot. (see the attached picture)



    <TITLE CATEGORY = "MAP Analysis">Split Charts </TITLE>
    COMPUTED for CURRENT LAP:<BR LINES=2>
    <TAB DLGUNITS=10> Run: <INPUT TYPE=staticbox VALUE="$FileName" SIZE = 43>
    <TAB DLGUNITS=120> Lap: <INPUT TYPE=staticbox VALUE="$Lap" UPDATEDBY=($Lap) SIZE = 4>
    <TAB DLGUNITS= 180>Time: <INPUT TYPE=staticbox VALUE="$FmtMinSec($LapTime($Lap))" UPDATEDBY=($Lap) SIZE = 11><BR LINES=2>

    <ORIGIN>
    <TAB DLGUNITS= 335>COMPUTED for REFERENCE LAP:<BR LINES=2>
    <TAB DLGUNITS= 340>Run: <INPUT TYPE=staticbox VALUE="$RefRun($FileName)" SIZE = 43 UPDATEDBY = ($RefRun)>
    <TAB DLGUNITS=450> Lap: <INPUT TYPE=staticbox VALUE="$RefLap" UPDATEDBY=($RefLap) SIZE = 4>
    <TAB DLGUNITS= 505>Time: <INPUT TYPE=staticbox VALUE="$FmtMinSec($RefRun($LapTime($RefLap)))" UPDATEDBY=($RefLap,$RefRun) SIZE = 11>

    <ORIGIN>
    <TAB DLGUNITS= 665>USE [ AND ] IN WINDOW ABOVE TO SELECT THE REGION TO BE PLOTTED BELOW

    <TAB DLGUNITS= 678>FOR CONSISTENCY, THE ABOVE WINDOW SHOULD BE IN DISTANCE MODE

    <TAB DLGUNITS= 690>BLUE LINES ARE FOR CURRENT LAP, RED LINES ARE FOR REF LAP


    <CHART
    XNAME ="GPS_LapX" YNAME ="Accel G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Accel G)" YMAX ="$IOName2Max(Accel G)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Accel G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Accel G)" YMAX ="$IOName2Max(Accel G)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GRAY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=335>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Lateral G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Lateral G)" YMAX ="$IOName2Max(Lateral G)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Lateral G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Lateral G)" YMAX ="$IOName2Max(Lateral G)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=665>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Total G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Total G)" YMAX ="$IOName2Max(Total G)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Total G" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Total G)" YMAX ="$IOName2Max(Total G)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <BR LINES=16>

    <CHART
    XNAME ="GPS_LapX" YNAME ="ABS Press" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(ABS Press)" YMAX ="$IOName2Max(ABS Press)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="ABS Press" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(ABS Press)" YMAX ="$IOName2Max(ABS Press)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GRAY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=335>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Steering Angle" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Steering Angle)" YMAX ="$IOName2Max(Steering Angle)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Steering Angle" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Steering Angle)" YMAX ="$IOName2Max(Steering Angle)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=665>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Yaw Z" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Yaw Z)" YMAX ="$IOName2Max(Yaw Z)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Yaw Z" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Yaw Z)" YMAX ="$IOName2Max(Yaw Z)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <BR LINES=16>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Throttle Pos" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Throttle Pos)" YMAX ="$IOName2Max(Throttle Pos)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Throttle Pos" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Throttle Pos)" YMAX ="$IOName2Max(Throttle Pos)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GRAY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=335>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Corner Rad Acc" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Corner Rad Acc)" YMAX ="$IOName2Max(Corner Rad Acc)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Corner Rad Acc" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Corner Rad Acc)" YMAX ="$IOName2Max(Corner Rad Acc)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=665>

    <CHART
    XNAME ="GPS_LapX" YNAME ="GPS_MPH" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(GPS_MPH)" YMAX ="$IOName2Max(GPS_MPH)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="GPS_MPH" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(GPS_MPH)" YMAX ="$IOName2Max(GPS_MPH)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <TAB DLGUNITS=995>

    <CHART
    XNAME ="GPS_LapX" YNAME ="Engine RPM" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = $LapStartTime($Lap)+.1 TIMEMAX=$LapEndTime($Lap)-.1
    XMIN= "$IOName2FmtVal(GPS_LapX,$AvgTimeMin)" XMAX ="$IOName2FmtVal(GPS_LapX,$AvgTimeMax)"
    YMIN= "$IOName2Min(Engine RPM)" YMAX ="$IOName2Max(Engine RPM)"
    GRID ="BLACK()" FOREGROUND = "BLUE()" BACKGROUND="GREY()"
    RESETBY=($RefRun,$RefLap,$Lap,$AvgTimeMin,$AvgTime Max) UPDATEDBY=($Lap,$RefLap,$CarretTime)
    >
    <CHART ATTACH2PREV REFERENCE
    XNAME ="GPS_LapX" YNAME ="Engine RPM" WIDTH =1 ROWS=15 COLS =80
    TIMEMIN = "$RefRun($LapStartTime($RefLap))+1" TIMEMAX= "$RefRun($LapEndTime($RefLap))-1"
    XMIN= "$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMin)) " XMAX ="$RefRun($IOName2FmtVal(GPS_LapX,$AvgTimeMax)) "
    YMIN= "$IOName2Min(Engine RPM)" YMAX ="$IOName2Max(Engine RPM)"
    GRID ="BLACK()" FOREGROUND = "RED()" BACKGROUND = "GREY()"
    RESETBY=($RefRun,$RefLap,$AvgTimeMin,$AvgTimeMax) UPDATEDBY=($RefRun,$RefLap,$CarretTime)
    >

    <ORIGIN>
    <BR LINES=10>
    <TAB DLGUNITS= 1070>CURRENT
    <TAB DLGUNITS= 1125>REFERENCE
    <BR LINES=1>
    <TAB DLGUNITS=1080>LAP<TAB DLGUNITS=1140>LAP
    <BR LINES=2>
    <TAB DLGUNITS=995>Accel G <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Accel G)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Accel G,$RefCarretTime))" >


    <TAB DLGUNITS=995>ABS Press <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(ABS Press)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(ABS Press,$RefCarretTime))" >


    <TAB DLGUNITS=995>Throttle Pos <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Throttle Pos)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Throttle Pos,$RefCarretTime))" >


    <BR LINES=1>

    <TAB DLGUNITS=995>Lateral G <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Lateral G)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Lateral G,$RefCarretTime))" >


    <TAB DLGUNITS=995>Steering Angle <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Steering Angle)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Steering Angle,$RefCarretTime))" >


    <TAB DLGUNITS=995>Corner Rad Acc <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Corner Rad Acc)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Corner Rad Acc,$RefCarretTime))" >


    <BR LINES=1>

    <TAB DLGUNITS=995>Total G <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Total G)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Total G,$RefCarretTime))" >


    <TAB DLGUNITS=995>Yaw Z <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Yaw Z)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Yaw Z,$RefCarretTime))" >


    <TAB DLGUNITS=995>GPS MPH <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(GPS_MPH)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(GPS_MPH,$RefCarretTime) )" >


    <TAB DLGUNITS=995>Engine RPM <TAB DLGUNITS=1065><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap,$CarretTime) IN="$IOName2FmtVal(Engine RPM)" >
    <TAB DLGUNITS=1125><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 RESETBY=($RefRun,$RefLap,$CarretTime) IN="$RefRun($IOName2FmtVal(Engine RPM,$RefCarretTime))" >



    \\and now put in the zoom chart
    <ORIGIN>
    <TAB DLGUNITS=1185> ZOOM SELECT:

    <TAB DLGUNITS=1185><INPUT TYPE=slider NAME=_Zoom MIN=50 MAX=2000 SIZE=40>

    <TAB DLGUNITS=1185> Min Max

    <ORIGIN>
    <BR LINES=5>
    <TAB DLGUNITS=1185><CHART ASPECTRATIO
    XNAME="@_MAP_CircleTrack_Channel :Run_PosX" YNAME="@_MAP_CircleTrack_Channel :Run_PosY" WIDTH=1 COLS=75 ROWS=28
    TIMEMIN="$LapStartTime($Lap)" TIMEMAX="$LapEndTime($Lap)+.2"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="WHITE()" BACKGROUND="GREY()"
    RESETBY=($ChartTimeMin,$ChartTimeMax,$AvgTimeMin,$ AvgTimeMax,_MAP_Angle_Start,_MAP_UseLap,_Zoom,$Car retTime,$RefLap) UPDATEDBY=($LapStartTime,$CarretTime,_Zoom)>

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO CURSOR REFERENCE
    XNAME="@_MAP_CircleTrack_Channel :Run_PosX" YNAME="@_MAP_CircleTrack_Channel :Run_PosY" WIDTH=1 COLS=155 ROWS=40
    TIMEMIN="$LapStartTime($RefLap)" TIMEMAX="$LapEndTime($RefLap)+.2"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="BLACK()" BACKGROUND="GREY()">

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO
    XNAME="@_MAP_CircleTrack_Channel :Plot_OutX" YNAME="@_MAP_CircleTrack_Channel :Plot_OutY" WIDTH=2 COLS=195 ROWS= 50
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_OutX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_OutY)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="RED()" BACKGROUND="GREY()">

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO
    XNAME="@_MAP_CircleTrack_Channel :Plot_InX" YNAME="@_MAP_CircleTrack_Channel :Plot_InY" WIDTH=2 COLS=195 ROWS=50
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_InX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_InX)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="BLUE()" BACKGROUND="GREY()" >

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
    XNAME="@_MAP_CircleTrack_Channel :Plot_OutX" YNAME="@_MAP_CircleTrack_Channel :Plot_OutY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegT" WIDTH=1 COLS=195 ROWS=50
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="WHITE()" BACKGROUND="GREY()" RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO ZSTYLE=Mark SYMBOL=ParBar SYMSIZE=8
    XNAME="@_MAP_CircleTrack_Channel :Plot_OutX" YNAME="@_MAP_CircleTrack_Channel :Plot_OutY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegS" WIDTH=1 COLS=95 ROWS=50
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="BLUE()" BACKGROUND="GREY()" RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO ZSTYLE=Mark SYMBOL=ParBar SYMSIZE=10
    XNAME="@_MAP_CircleTrack_Channel :Plot_OutX" YNAME="@_MAP_CircleTrack_Channel :Plot_OutY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SF" WIDTH=1 COLS=95 ROWS=36
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="RED()" BACKGROUND="GREY()" RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>

    <TAB DLGUNITS=1185><CHART ATTACH2PREV ASPECTRATIO SYMBOL=None
    XNAME="@_MAP_CircleTrack_Channel :Plot_OutX" YNAME="@_MAP_CircleTrack_Channel :Plot_OutY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegM" WIDTH=5 COLS=95 ROWS=36 TIMEMIN="$LapStartTime"
    TIMEMIN="$ChannelTimeMin(@_MAP_CircleTrack_Channel :Plot_RefX)" TIMEMAX="$ChannelTimeMax(@_MAP_CircleTrack_Channel :Plot_RefX)"
    XMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)-_Zoom" XMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosX)+_Zoom"
    YMIN="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)-_Zoom" YMAX="$IOName2FmtVal(@_MAP_CircleTrack_Channel :Run_PosY)+_Zoom"
    FOREGROUND="BLUE()" BACKGROUND="GREY()" RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>
    On this second page, one thing I haven't figured out is why the track map doesn't update continuously like on the Lap Zoom page. I borrowed the code for the map from there and just rescaled the map to fit my screen. Oh yah, my computer screen is 1920x1080 and this second page uses it all.

    Hopefully you find the above useful.
    Attached Images Attached Images

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Holley has been the undisputed leader in fuel systems for over 100 years. Holley carburetors have powered every NASCAR® Sprint® Cup team and nearly every NHRA® Pro–Stock champion for four decades. Now, Holley EFI is dominating the performance world as well as our products for GM's LS engine. Holley's products also include performance fuel pumps, intake manifolds & engine dress–up products for street performance, race and marine applications. As a single solution, or partnered with products from other Holley companies - Hooker Headers, Flowtech Headers, NOS Nitrous, Weiand, Earl's Performance Plumbing, or Diablosport - Holley products can give you the edge you need over the competition.
Join us