Announcement

Collapse
No announcement yet.

Custom Runlog Pages

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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 Files

  • #2
    Re: Custom Runlog Pages

    Very nice, thanks for sharing. I have quite a few custom pages, but one of them that I like is a heat map view. It takes advantage of being able to overlay "chart" tags. All of the channels used are 0 off / 1 on math channels.



    Here is the code:

    Code:
    <TITLE CATEGORY="MAP Analysis">Heat Map</TITLE>
    
    Selected vs Reference Lap
    
    <ORIGIN>
    
    
    
    <CHART ASPECTRATIO  
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"  
                   WIDTH=1 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   FOREGROUND="BLUE()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="Brake"  
                   WIDTH=2
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   FOREGROUND="RED()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="WOT"  
                   WIDTH=2 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   FOREGROUND="GREEN()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="Below WOT"  
                   WIDTH=2 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                   FOREGROUND="YELLOW()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <ORIGIN>
    <TAB COLS=135>
    
    
    <TAB COLS=135>
    
    <CHART ASPECTRATIO  
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"  
                   WIDTH=1 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$RefLap)" TIMEMAX="$LapEndTime(GPS_Data,$RefLap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   FOREGROUND="BLUE()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="Brake"  
                   WIDTH=2
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$RefLap)" TIMEMAX="$LapEndTime(GPS_Data,$RefLap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   FOREGROUND="RED()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="WOT"  
                   WIDTH=2 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$RefLap)" TIMEMAX="$LapEndTime(GPS_Data,$RefLap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   FOREGROUND="GREEN()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>
    
    <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=OnOff
                   XNAME="GPS_Data:Run_PosX" 
                   YNAME="GPS_Data:Run_PosY"
                   ZNAME="Below WOT"  
                   WIDTH=2 
                   COLS=125
                   ROWS=50
                   TIMEMIN="$LapStartTime(GPS_Data,$RefLap)" TIMEMAX="$LapEndTime(GPS_Data,$RefLap)" 
                   XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50" 
                   YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(GPS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                   FOREGROUND="YELLOW()" 
                   BACKGROUND="GREY()"
                   RESETBY=($Lap)>

    Comment


    • #3
      Re: Custom Runlog Pages

      Thanks for the code. I'm anxious to give it a try.

      Looking at your code has also shed some light on creating track map plots. I don't fully understand the programming language so I tend to look at other pieces of code to learn how to do what I want. Your code has helped me to understand how the track plots are created. So thanks for that too.

      Comment


      • #4
        Re: Custom Runlog Pages

        if a user has the proper security key or level
        Can someone explain what the "proper security key" is, and what it takes to get it?

        Comment


        • #5
          Re: Custom Runlog Pages

          Originally posted by tom_hampton
          Can someone explain what the "proper security key" is, and what it takes to get it?
          In the DataLinkII software, if you click on the Security menu, then on Show/Edit Security Key List, you will see a list of keys that you have and add more. These keys can allow access to some features in DataLinkII, such as the ability to edit Runlog pages. I don't know what level is required to enable editing or creating Runlog pages. However, someone at Racepak should be able to help you. If they don't chime in here, maybe an e-mail or calling would work.

          Comment


          • #6
            Re: Custom Runlog Pages

            Source code for an x-y plot with a track map.



            Code:
            <TITLE CATEGORY = "MAP Analysis">XY Plot </TITLE>
            
            <TITLE CATEGORY="Histo and XY Plot" RESETBY= ($Lap,$RefRun,$RefLap)>X-Y Plot</TITLE>
            
            X-Axis =  <INPUT TYPE=enumcustom VALUE="IONames()" NAME=XChart ROWS=15 SIZE=25>         
            
            Y-Axis =  <INPUT TYPE=enumcustom VALUE="IONames()" NAME=YChart ROWS=15 SIZE=25>         
            
            
            
            
            <ORIGIN>
            <TAB COLS=45> 
            <CHART 
            XNAME="@XChart"  YNAME="@YChart"  SYMBOL=Point
            TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax" 
            XMIN="$IOName2Min(@XChart)" XMAX="$IOName2Max(@XChart)"
            YMIN="$IOName2Min(@YChart)" YMAX="$IOName2Max(@YChart)"
            GRID=BLACK()  BACKGROUND=GREY() FOREGROUND=RED()
            ROWS=35 COLS=120 WIDTH=1
            RESETBY=(XChart,YChart,$ChartTimeMin,$ChartTimeMax)
            UPDATEDBY=($CarretTime)>
            
            <ORIGIN>
            
            <TAB DLGUNITS=700>
            
            <CHART ASPECTRATIO    
            XNAME="@_MAP_CircleTrack_Channel :Run_PosX" YNAME="@_MAP_CircleTrack_Channel :Run_PosY"   WIDTH=1 COLS=80 ROWS=28 
            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="WHITE()" BACKGROUND="GREY()"  
            RESETBY=($LapStartTime)  UPDATEDBY=($LapStartTime,$CarretTime)>
            
            <CHART  ATTACH2PREV ASPECTRATIO  
            XNAME= "@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY"   WIDTH=5 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=5 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)>
            
            <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=Mark  SYMBOL=ParBar SYMSIZE=8   
            XNAME="@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegS"  WIDTH=1 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="RED()" BACKGROUND="GREY()"  
            RESETBY=($LapStartTime)  UPDATEDBY=($LapStartTime,$CarretTime)>
            
            <CHART ATTACH2PREV ASPECTRATIO  ZSTYLE=Mark  SYMBOL=ParBar SYMSIZE=10  
            XNAME="@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SF"  WIDTH=1 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="RED()" BACKGROUND="GREY()"  
            RESETBY=($LapStartTime)  UPDATEDBY=($LapStartTime,$CarretTime)>
            
            <CHART ATTACH2PREV ASPECTRATIO     SYMBOL=None                         
            XNAME="@_MAP_CircleTrack_Channel :Plot_RefX" YNAME="@_MAP_CircleTrack_Channel :Plot_RefY" ZNAME="@_MAP_CircleTrack_Channel :Plot_SegM"  WIDTH=5 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)>
            Attached Files

            Comment


            • #7
              Re: Custom Runlog Pages

              Many thanks to Dan & Tim for showing me the light :)

              Started to make some custom pages, apart from the HEAT Map code used in this thread I have looked at the EGT's. Importantly I'm looking for big differences between the individual EGT and the average of the 4.

              I need to do some more reading as to how to 'place' the graphs on the 'page', but will be working on some more plots to watch the engine's health. Would be nice to be able to do a scatter plot of RPM & Oil Temp on the XY axis and oil pressure as the data.

              Code:
              <TITLE CATEGORY="Statitics" RESETBY= ($ChartTimeMin,YChart)>EGT DIFF</TITLE>
              <A HELP=47>[img]\\LogHelp.bmp[/img]</A>
              <ORIGIN>
              
              <CHART 	XNAME="EFI Engine RPM" YNAME="EGT1 DIFF"
              SYMBOL=Plus
              TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax" 
              XMIN=0 XMAX=8250  YMIN=-50 YMAX=50
              GRID=BLACK()  BACKGROUND=WHITE() FOREGROUND=RED()
              ROWS=30 COLS=70
                RESETBY=(YChart,ChartMin,ChartMax)
                UPDATEDBY=($CarretTime)
              >
              
              <CHART 	XNAME="EFI Engine RPM" YNAME="EGT2 DIFF"
              SYMBOL=Plus
              TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax" 
              XMIN=0 XMAX=8250  YMIN=-50 YMAX=50
              GRID=BLACK()  BACKGROUND=WHITE() FOREGROUND=GREEN()
              ROWS=30 COLS=70
                RESETBY=(YChart,ChartMin,ChartMax)
                UPDATEDBY=($CarretTime)
              >
              
              <CHART 	XNAME="EFI Engine RPM" YNAME="EGT3 DIFF"
              SYMBOL=Plus
              TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax" 
              XMIN=0 XMAX=8250  YMIN=-50 YMAX=50
              GRID=BLACK()  BACKGROUND=WHITE() FOREGROUND=BLUE()
              ROWS=30 COLS=70
                RESETBY=(YChart,ChartMin,ChartMax)
                UPDATEDBY=($CarretTime)
              >
              
              <CHART 	XNAME="EFI Engine RPM" YNAME="EGT4 DIFF"
              SYMBOL=Plus
              TIMEMIN="$ChartTimeMin" TIMEMAX="$ChartTimeMax" 
              XMIN=0 XMAX=8250  YMIN=-50 YMAX=50
              GRID=BLACK()  BACKGROUND=WHITE() FOREGROUND=YELLOW()
              ROWS=30 COLS=70
                RESETBY=(YChart,ChartMin,ChartMax)
                UPDATEDBY=($CarretTime)
              >
              EGT_DIFF_SMSP_S2 by Eipeip, on Flickr

              Comment


              • #8
                Re: Custom Runlog Pages

                I'm glad you have been successful in playing around. You are very welcome for the help.

                Originally posted by magpie
                I need to do some more reading as to how to 'place' the graphs on the 'page', but will be working on some more plots to watch the engine's health.
                If you look at some of the examples above, you will see
                . This allows you to go to the next line. If you want to jump multiple lines, you can use <BR LINES=2>. You can change the number 2 to whatever you want. You can also start back over from the upper left by using the <ORIGIN> command. Commands like <TAB DLGUNITS=5> allow you to move to the right. I find that a lot of trial and error is necessary to get charts, tables, etc to be placed where I want.

                Comment


                • #9
                  Re: Custom Runlog Pages

                  I'm really starting to like the page shown below. It allows a person to set a min and max range. If the actual value in the table is outside of that range, the value turns red. Hopefully there aren't any typos!



                  Originally posted by code
                  <TITLE CATEGORY="Car Health" RESETBY= ($ChartTimeMin,$ChartTimeMax,$Lap)>Min Max Avg Report</TITLE>
                  <TAB DLGUNITS=0> Run: <INPUT TYPE=staticbox VALUE="$FileName" SIZE = 80> <TAB DLGUNITS=300>Scroll Laps LEFT: <INPUT TYPE=slider NAME=_Lap_Start MIN=0 MAX=$LapNumber-7 SIZE=60>


                  <ORIGIN>
                  <BR LINES=4>
                  <TAB DLGUNITS= 85>DATA FOR TIME SHOWN IN THE PLOT WINDOW ABOVE

                  <BR LINES=2>

                  <TAB DLGUNITS= 93>CUR
                  <TAB DLGUNITS= 153>AVG
                  <TAB DLGUNITS= 213>MIN
                  <TAB DLGUNITS= 273>MAX

                  <BR LINES=2>

                  Speed:
                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(GPS_MPH)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(GPS_MPH,$ChartTimeMin,$ChartTimeMax )">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(GPS_MPH,$ChartTimeMin,$ChartTimeMax )">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(GPS_MPH,$ChartTimeMin,$ChartTimeMax )">


                  Engine RPM:
                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Engine RPM)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Engine RPM,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Engine RPM,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Engine RPM,$ChartTimeMin,$ChartTimeMax)">


                  Lateral G:
                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Lateral G)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Lateral G,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Lateral G,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Lateral G,$ChartTimeMin,$ChartTimeMax)">


                  Accel G:
                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Accel G)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Accel G,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Accel G,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Accel G,$ChartTimeMin,$ChartTimeMax)"><BR LINES=2>

                  Steering Angle:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Steering Angle)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Steering Angle,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Steering Angle,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Steering Angle,$ChartTimeMin,$ChartTimeMax)">


                  Throttle:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Throttle Pos)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Throttle Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Throttle Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Throttle Pos,$ChartTimeMin,$ChartTimeMax)">


                  ABS Press:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(ABS Press)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(ABS Press,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(ABS Press,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(ABS Press,$ChartTimeMin,$ChartTimeMax)"><BR LINES=2>

                  Battery Voltage:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Battery Volt)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Battery Volt,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Battery Volt,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Battery Volt,$ChartTimeMin,$ChartTimeMax)">


                  Water Temp:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Water Temp)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Water Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Water Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Water Temp,$ChartTimeMin,$ChartTimeMax)">


                  Oil Temp:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Oil Temp)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Oil Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Oil Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Oil Temp,$ChartTimeMin,$ChartTimeMax)">


                  Trans Temp:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Trans Temp)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Trans Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Trans Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Trans Temp,$ChartTimeMin,$ChartTimeMax)">


                  Diff Temp:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Diff Temp)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Diff Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Diff Temp,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Diff Temp,$ChartTimeMin,$ChartTimeMax)">


                  Oil Pressure:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(Oil Pressure)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(Oil Pressure,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(Oil Pressure,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(Oil Pressure,$ChartTimeMin,$ChartTimeMax)"><BR LINES=2>

                  LF Shock Pos:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(LF Shock Pos)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(LF Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(LF Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(LF Shock Pos,$ChartTimeMin,$ChartTimeMax)">


                  RF Shock Pos:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(RF Shock Pos)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(RF Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(RF Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(RF Shock Pos,$ChartTimeMin,$ChartTimeMax)">


                  LR Shock Pos:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(LR Shock Pos)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(LR Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(LR Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(LR Shock Pos,$ChartTimeMin,$ChartTimeMax)">


                  RR Shock Pos:

                  <TAB DLGUNITS= 80><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($CarretTime) IN="$IOName2FmtVal(RR Shock Pos)" >
                  <TAB DLGUNITS= 140><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanAvg(RR Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 200><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMin(RR Shock Pos,$ChartTimeMin,$ChartTimeMax)">
                  <TAB DLGUNITS= 260><FIELD STYLE="STYLE_frame()+STYLE_protected()+ALIGN_cente r()" ROWS=1.2 COLS=12 UPDATEDBY=($Lap) IN="$IOChanMax(RR Shock Pos,$ChartTimeMin,$ChartTimeMax)">

                  <ORIGIN>
                  <BR LINES=4>
                  <TAB DLGUNITS= 440>LAP AVERAGES
                  <BR LINES=2>
                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 ROWSPACE=1.0 IN="$FOut(%lg,x+_Lap_Start)" RESETBY=(_Lap_Start)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( GPS_MPH,$LapStartTime(x+_Lap_Start),$LapEndTime(x+ _Lap_Start))<_MinMPH,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanAvg(GPS_MPH,$LapStartTi me(x+_Lap_Start),$LapEndTime(x+_Lap_Start))>_MaxMP H,STYLE_sunken()+LIGHT(RED())+STYLE_protected(),ST YLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(GPS_MPH,$LapStartTime(x+_Lap_Start) ,$LapEndTime(x+_Lap_Start))" RESETBY=(_Lap_Start,_MinMPH,_MaxMPH)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),IF($IOChanAvg(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRPM,_MaxRPM)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),IF($IOChanAvg(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinLatG,_MaxLatG)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanAvg(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinAccelG,_MaxAccelG)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),IF($IOChanAvg(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinSteeringAngle,_MaxSteering Angle)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanAvg(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinThrottle,_MaxThrottle)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanAvg(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinABS,_MaxABS)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanAvg(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinVoltage,_MaxVoltage)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanAvg(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinWaterT,_MaxWaterT)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanAvg(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinOilT,_MaxOilT)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanAvg(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinTransT,_MaxTransT)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),IF($IOChanAvg(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinDiffT,_MaxDiffT)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))<_MinOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),IF($IOChanAvg(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))>_MaxOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))" RESETBY=(_Lap_Start,_MinOilP,_MaxOilP)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanAvg(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLFSP,_MaxLFSP)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanAvg(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRFSP,_MaxRFSP)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanAvg(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLRSP,_MaxLRSP)>


                  <TAB DLGUNITS= 330><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanAvg( RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanAvg(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanAvg(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRRSP,_MaxRRSP)>

                  <ORIGIN>
                  <BR LINES=4>
                  <TAB DLGUNITS= 745>LAP MINIMUMS
                  <BR LINES=2>
                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 ROWSPACE=1.0 IN="$FOut(%lg,x+_Lap_Start)" RESETBY=(_Lap_Start)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( GPS_MPH,$LapStartTime(x+_Lap_Start),$LapEndTime(x+ _Lap_Start))<_MinMPH,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMin(GPS_MPH,$LapStartTi me(x+_Lap_Start),$LapEndTime(x+_Lap_Start))>_MaxMP H,STYLE_sunken()+LIGHT(RED())+STYLE_protected(),ST YLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(GPS_MPH,$LapStartTime(x+_Lap_Start) ,$LapEndTime(x+_Lap_Start))" RESETBY=(_Lap_Start,_MinMPH,_MaxMPH)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),IF($IOChanMin(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRPM,_MaxRPM)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),IF($IOChanMin(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinLatG,_MaxLatG)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMin(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinAccelG,_MaxAccelG)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),IF($IOChanMin(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinSteeringAngle,_MaxSteering Angle)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanMin(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinThrottle,_MaxThrottle)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanMin(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinABS,_MaxABS)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanMin(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinVoltage,_MaxVoltage)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMin(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinWaterT,_MaxWaterT)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanMin(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinOilT,_MaxOilT)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMin(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinTransT,_MaxTransT)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),IF($IOChanMin(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinDiffT,_MaxDiffT)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))<_MinOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),IF($IOChanMin(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))>_MaxOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))" RESETBY=(_Lap_Start,_MinOilP,_MaxOilP)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMin(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLFSP,_MaxLFSP)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMin(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRFSP,_MaxRFSP)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMin(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLRSP,_MaxLRSP)>


                  <TAB DLGUNITS= 635><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMin( RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMin(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMin(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRRSP,_MaxRRSP)>

                  <ORIGIN>
                  <BR LINES=4>
                  <TAB DLGUNITS= 1050>LAP MAXIMUMS
                  <BR LINES=2>
                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 ROWSPACE=1.0 IN="$FOut(%lg,x+_Lap_Start)" RESETBY=(_Lap_Start)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( GPS_MPH,$LapStartTime(x+_Lap_Start),$LapEndTime(x+ _Lap_Start))<_MinMPH,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMax(GPS_MPH,$LapStartTi me(x+_Lap_Start),$LapEndTime(x+_Lap_Start))>_MaxMP H,STYLE_sunken()+LIGHT(RED())+STYLE_protected(),ST YLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(GPS_MPH,$LapStartTime(x+_Lap_Start) ,$LapEndTime(x+_Lap_Start))" RESETBY=(_Lap_Start,_MinMPH,_MaxMPH)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),IF($IOChanMax(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRPM,STYLE_sunken()+LIGHT(RED())+STYLE _protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Engine RPM,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRPM,_MaxRPM)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),IF($IOChanMax(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxLatG,STYLE_sunken()+LIGHT(RED())+STYLE_ protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Lateral G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinLatG,_MaxLatG)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))<_MinAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMax(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))>_MaxAccelG,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Accel G,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap_S tart))" RESETBY=(_Lap_Start,_MinAccelG,_MaxAccelG)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),IF($IOChanMax(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxSteeringAngle,STYLE_sunken()+LIGHT( RED())+STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Steering Angle,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinSteeringAngle,_MaxSteering Angle)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanMax(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxThrottle,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Throttle Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinThrottle,_MaxThrottle)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))<_MinABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanMax(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))>_MaxABS,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(ABS Press,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_L ap_Start))" RESETBY=(_Lap_Start,_MinABS,_MaxABS)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),IF($IOChanMax(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxVoltage,STYLE_sunken()+LIGHT(RED())+ STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Battery Volt,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinVoltage,_MaxVoltage)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMax(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxWaterT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Water Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinWaterT,_MaxWaterT)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),IF($IOChanMax(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxOilT,STYLE_sunken()+LIGHT(RED())+STY LE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Oil Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinOilT,_MaxOilT)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMax(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxTransT,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Trans Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinTransT,_MaxTransT)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))<_MinDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),IF($IOChanMax(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))>_MaxDiffT,STYLE_sunken()+LIGHT(RED())+ST YLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Diff Temp,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_La p_Start))" RESETBY=(_Lap_Start,_MinDiffT,_MaxDiffT)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))<_MinOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),IF($IOChanMax(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))>_MaxOilP,STYLE_sunken()+LIGHT(RED()) +STYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(Oil Pressure,$LapStartTime(x+_Lap_Start),$LapEndTime(x +_Lap_Start))" RESETBY=(_Lap_Start,_MinOilP,_MaxOilP)>
                  <BR LINES=2>
                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMax(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(LF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLFSP,_MaxLFSP)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMax(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRFSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(RF Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRFSP,_MaxRFSP)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMax(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxLRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(LR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinLRSP,_MaxLRSP)>


                  <TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))<_MinRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),IF($IOChanMax(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))>_MaxRRSP,STYLE_sunken()+LIGHT(RED())+STYL E_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(RR Shock Pos,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_Lap _Start))" RESETBY=(_Lap_Start,_MinRRSP,_MaxRRSP)>
                  <BR LINES=2>
                  \\<TAB DLGUNITS= 940><XYTABLE XSIZE=6 YSIZE=1 STYLE="STYLE_frame()+ALIGN_center()+IF($IOChanMax( LF Ride Height,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_ Lap_Start))<_MinLFRH,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),IF($IOChanMax(LF Ride Height,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_ Lap_Start))>_MaxLFRH,STYLE_sunken()+LIGHT(RED())+S TYLE_protected(),STYLE_protected()))" ROWS=1.2 COLS=12 IN="$IOChanMax(LF Ride Height,$LapStartTime(x+_Lap_Start),$LapEndTime(x+_ Lap_Start))" RESETBY=(_Lap_Start,_MinLFRH,_MaxLFRH)>

                  <ORIGIN>
                  <BR LINES=4>


                  <TAB DLGUNITS=1317>ALARM CONDITION

                  <TAB DLGUNITS=1300>MIN<TAB DLGUNITS=1395>MAX

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinMPH" SIZE=6> Speed<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxMPH" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinRPM" SIZE=6> Engine RPM<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxRPM" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinLatG" SIZE=6> Lateral G<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxLatG" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinAccelG" SIZE=6> Accel G<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxAccelG" SIZE=6><BR LINES=2>
                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinSteeringAngle" SIZE=6> Steering Angle<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxSteeringAngle" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinThrottle" SIZE=6> Throttle<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxThrottle" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinABS" SIZE=6> ABS Press<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxABS" SIZE=6><BR LINES=2>
                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinVoltage" SIZE=6> Battery Voltage<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxVoltage" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinWaterT" SIZE=6> Water Temp<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxWaterT" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinOilT" SIZE=6> Oil Temp<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxOilT" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinTransT" SIZE=6> Trans Temp<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxTransT" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinDiffT" SIZE=6> Diff Temp<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxDiffT" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinOilP" SIZE=6> Oil Pressure<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxOilP" SIZE=6><BR LINES=2>
                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinLFSP" SIZE=6> LF Shock Pos<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxLFSP" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinRFSP" SIZE=6> RF Shock Pos<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxRFSP" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinLRSP" SIZE=6> LR Shock Pos<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxLRSP" SIZE=6>

                  <TAB DLGUNITS=1295><INPUT TYPE=text NAME="_MinRRSP" SIZE=6> RR Shock Pos<TAB DLGUNITS=1390><INPUT TYPE=text NAME="_MaxRRSP" SIZE=6><BR LINES=2>

                  \\add track map
                  <ORIGIN>
                  <BR LINES=35>
                  <TAB DLGUNITS=1296>
                  <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="WHITE()" BACKGROUND="GREY()"
                  RESETBY=($LapStartTime) UPDATEDBY=($LapStartTime,$CarretTime)>
                  Attached Files

                  Comment


                  • #10
                    Re: Custom Runlog Pages

                    Going to be spending my leave working on doing some more custom runlog pages.

                    Plan is to try and replicate the following graphs...

                    One is a G Plot, but has a circle drawn based on a constant for tyre grip. This shows areas where you are not using the maximum amount of grip available. Whilst you could use a combined G graph (as it never goes negative) this is a much better visual aid. Further, using the track map you can see what part of the corner is your weak link.

                    SMSP by Eipeip, on Flickr

                    Another one, not sure how easy this will be due to the calculations involved is an acceleration graph per gear. This graph uses the change in velocity over time. This will help with gear change selection as well as identify areas where you are not accelerating at the best possible rate for the track/car.

                    Acceleration by Eipeip, on Flickr

                    Comment


                    • #11
                      Re: Custom Runlog Pages

                      Sounds great! Let us know what you come up with.

                      Here's another idea to graphically show areas of possible improvement. If you create a Gsum channel, something like sqrt(sqr('GPS_Gs')+sqr('GPS_LatG')), and then do some gating, you can overlay the Gsum onto a map, something like this:



                      To do the gating, setup channels like:

                      GsumLess1=IF('GPS_Gsum' < 1.0, 1, 0)
                      Gsum1.0=IF('GPS_Gsum' >= 1.0, IF('GPS_Gsum' < 1.1, 'GPS_Gsum', 0), 0)
                      .
                      .
                      Gsum1.3=IF('GPS_Gsum' >= 1.3, IF('GPS_Gsum' < 1.4, 'GPS_Gsum', 0), 0)
                      Gsum1.4=IF('GPS_Gsum' >= 1.4,'GPS_Gsum', 0)

                      Of course, you can you the accelerators instead of GPS based G's.

                      <TITLE CATEGORY="MAP Analysis">Gsum Map</TITLE>

                      <ORIGIN>

                      <TAB COLS = 43>MAIN LAP
                      <TAB COLS = 157>REFERENCE LAP
                      <BR LINES=2>

                      <TAB COLS = 0> Run: <INPUT TYPE=staticbox VALUE="$FileName" SIZE = 63>
                      <TAB DLGUNITS=115> Lap: <INPUT TYPE=staticbox VALUE="$Lap" UPDATEDBY=($Lap) SIZE = 4>
                      <TAB DLGUNITS= 157>Time: <INPUT TYPE=staticbox SIZE=12 VALUE="$FmtMinSec($LapTime($Lap))" UPDATEDBY=($Lap)>

                      <TAB COLS = 115>Run: <INPUT TYPE=staticbox VALUE="$RefRun($FileName)" SIZE = 63 UPDATEDBY = ($RefRun)>
                      <TAB DLGUNITS= 335> Lap: <INPUT TYPE=staticbox VALUE="$RefLap" UPDATEDBY=($RefLap) SIZE = 4>
                      <TAB DLGUNITS= 272> Time: <INPUT TYPE=staticbox SIZE=12 VALUE="$FmtMinSec($RefRun($LapTime($RefLap)))" UPDATEDBY=($RefLap,$RefRun)>

                      <ORIGIN>

                      <BR LINES=4>
                      <TAB COLS = 225>LINE THICKNESS <INPUT TYPE = text SIZE=3 NAME=_LineThickness>



                      <TAB COLS = 224>GPS Gsum CONTOURS

                      <TAB COLS = 225>MIN<TAB COLS = 241>MAX

                      <TAB COLS = 225> 0.0<TAB COLS = 230>DARK BLUE<TAB COLS = 242> 1.0

                      <TAB COLS = 225> 1.0<TAB COLS = 230>LIGHT BLUE<TAB COLS = 242> 1.1

                      <TAB COLS = 225> 1.1<TAB COLS = 230> GREEN<TAB COLS = 242> 1.2

                      <TAB COLS = 225> 1.2<TAB COLS = 230> YELLOW<TAB COLS = 242> 1.3

                      <TAB COLS = 225> 1.3<TAB COLS = 230> LIGHT RED<TAB COLS = 242> 1.4

                      <TAB COLS = 225> 1.4<TAB COLS = 230> DARK RED


                      <ORIGIN>
                      <BR LINES=4>

                      <CHART ASPECTRATIO
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      WIDTH=1
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="BLACK()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="GsumLess1"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="DARK(BLUE())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.0"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="LIGHT(BLUE())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.1"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="GREEN()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.2"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="YELLOW()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.3"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="LIGHT(RED())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.4"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$LapStartTime(GPS_Data,$Lap)" TIMEMAX="$LapEndTime(GPS_Data,$Lap)"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$Lap),$LapEndTime(GPS_Data,$Lap)) + 50"
                      FOREGROUND="DARK(RED())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY=($CarretTime)>


                      \\\\\\\\\\\\\\\\\\\\\\\\\

                      <ORIGIN>
                      <BR LINES=4>

                      <TAB COLS=115>

                      <CHART ASPECTRATIO REFERENCE
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      WIDTH=1
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="BLACK()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="GsumLess1"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="DARK(BLUE())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.0"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="LIGHT(BLUE())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.1"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="GREEN()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.2"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="YELLOW()"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.3"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="LIGHT(RED())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>

                      <CHART ATTACH2PREV ASPECTRATIO REFERENCE ZSTYLE=OnOff
                      XNAME="GPS_Data:Run_PosX"
                      YNAME="GPS_Data:Run_PosY"
                      ZNAME="Gsum1.4"
                      WIDTH=_LineThickness
                      COLS=100
                      ROWS=35
                      TIMEMIN="$RefRun($LapStartTime($RefLap))" TIMEMAX="$RefRun($LapEndTime($RefLap))"
                      XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) - 50"
                      YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,$RefLap),$LapEndTime(GPS_Data,$RefLap)) + 50"
                      FOREGROUND="DARK(RED())"
                      BACKGROUND="GREY()"
                      RESETBY=($Lap,_LineThickness)
                      UPDATEDBY = ($RefCarretTime)>
                      Attached Files

                      Comment


                      • #12
                        Re: Custom Runlog Pages

                        The above can also be extended to a multi-map view, where you can input the lap number and the plot updates:



                        The source code for this is too long to post, but here's the code which creates the first line of maps. The second line can be duplicated by following the pattern. And sorry, but in this one, I used a variable named Total G rather than Gsum.

                        <TITLE CATEGORY="MAP Analysis">Total G Multi Map</TITLE>

                        <TAB COLS = 0> Run: <INPUT TYPE=staticbox VALUE="$FileName" SIZE = 63>
                        <ORIGIN>
                        <BR LINES=4>
                        <TAB COLS = 325>LINE THICKNESS <INPUT TYPE = text SIZE=3 NAME=_LineThickness>


                        <TAB COLS = 325>TOTAL G CONTOURS

                        <TAB COLS = 325>MIN<TAB COLS = 341>MAX

                        <TAB COLS = 325> 0.0<TAB COLS = 330>DARK BLUE<TAB COLS = 342> 1.0

                        <TAB COLS = 325> 1.0<TAB COLS = 330>LIGHT BLUE<TAB COLS = 342> 1.1

                        <TAB COLS = 325> 1.1<TAB COLS = 330> GREEN<TAB COLS = 342> 1.2

                        <TAB COLS = 325> 1.2<TAB COLS = 330> YELLOW<TAB COLS = 342> 1.3

                        <TAB COLS = 325> 1.3<TAB COLS = 330> LIGHT RED<TAB COLS = 342> 1.4

                        <TAB COLS = 325> 1.4<TAB COLS = 330> DARK RED



                        <ORIGIN>
                        <BR LINES=2>
                        <TAB COLS = 23>Lap Number: <INPUT TYPE=text NAME="_Plot1" SIZE=4>
                        <TAB COLS = 87>Lap Number: <INPUT TYPE=text NAME="_Plot2" SIZE=4>
                        <TAB COLS = 151>Lap Number: <INPUT TYPE=text NAME="_Plot3" SIZE=4>
                        <TAB COLS = 215>Lap Number: <INPUT TYPE=text NAME="_Plot4" SIZE=4>
                        <TAB COLS = 279>Lap Number: <INPUT TYPE=text NAME="_Plot5" SIZE=4>


                        <TAB COLS = 22>Lap Time: <TAB DLGUNITS= 101><XYTABLE XSIZE=1 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 IN="$FmtMinSec($LapTime(_Plot1))" RESETBY=(_Plot1)>
                        <TAB COLS = 86>Lap Time: <TAB DLGUNITS= 101><XYTABLE XSIZE=1 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 IN="$FmtMinSec($LapTime(_Plot2))" RESETBY=(_Plot2)>
                        <TAB COLS = 150>Lap Time: <TAB DLGUNITS= 101><XYTABLE XSIZE=1 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 IN="$FmtMinSec($LapTime(_Plot3))" RESETBY=(_Plot3)>
                        <TAB COLS = 214>Lap Time: <TAB DLGUNITS= 101><XYTABLE XSIZE=1 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 IN="$FmtMinSec($LapTime(_Plot4))" RESETBY=(_Plot4)>
                        <TAB COLS = 278>Lap Time: <TAB DLGUNITS= 101><XYTABLE XSIZE=1 YSIZE=1 STYLE="STYLE_protected()+ALIGN_center()" ROWS=1.2 COLS=12 IN="$FmtMinSec($LapTime(_Plot5))" RESETBY=(_Plot5)>



                        <CHART ASPECTRATIO
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        WIDTH=1
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="BLACK()"
                        BACKGROUND="GREY()"
                        RESETBY=($Lap,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G Less1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="DARK(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=($Lap,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.0"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="LIGHT(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=($Lap,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="GREEN()"
                        BACKGROUND="GREY()"
                        RESETBY=($Lap,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.2"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="YELLOW()"
                        BACKGROUND="GREY()"
                        RESETBY=($Lap,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.3"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="LIGHT(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot1,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.4"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot1)" TIMEMAX="$LapEndTime(GPS_Data,_Plot1)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot1),$LapEndTime(GPS_Data,_Plot1)) + 50"
                        FOREGROUND="DARK(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot1,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <TAB COLS = 65>
                        <CHART ASPECTRATIO
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        WIDTH=1
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="BLACK()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G Less1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="DARK(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.0"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="LIGHT(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="GREEN()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.2"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="YELLOW()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.3"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="LIGHT(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.4"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot2)" TIMEMAX="$LapEndTime(GPS_Data,_Plot2)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot2),$LapEndTime(GPS_Data,_Plot2)) + 50"
                        FOREGROUND="DARK(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot2,_LineThickness)
                        UPDATEDBY=($CarretTime)>





                        <TAB COLS=129>
                        <CHART ASPECTRATIO
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        WIDTH=1
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="BLACK()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G Less1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="DARK(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.0"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="LIGHT(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="GREEN()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.2"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="YELLOW()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.3"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="LIGHT(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.4"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot3)" TIMEMAX="$LapEndTime(GPS_Data,_Plot3)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot3),$LapEndTime(GPS_Data,_Plot3)) + 50"
                        FOREGROUND="DARK(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot3,_LineThickness)
                        UPDATEDBY=($CarretTime)>




                        <TAB COLS=193>
                        <CHART ASPECTRATIO
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        WIDTH=1
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="BLACK()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G Less1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="DARK(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.0"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="LIGHT(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="GREEN()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.2"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="YELLOW()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.3"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="LIGHT(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.4"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot4)" TIMEMAX="$LapEndTime(GPS_Data,_Plot4)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot4),$LapEndTime(GPS_Data,_Plot4)) + 50"
                        FOREGROUND="DARK(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot4,_LineThickness)
                        UPDATEDBY=($CarretTime)>


                        <TAB COLS=257>
                        <CHART ASPECTRATIO
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        WIDTH=1
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="BLACK()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G Less1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="DARK(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.0"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="LIGHT(BLUE())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.1"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="GREEN()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.2"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="YELLOW()"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.3"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="LIGHT(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        <CHART ATTACH2PREV ASPECTRATIO ZSTYLE=OnOff
                        XNAME="GPS_Data:Run_PosX"
                        YNAME="GPS_Data:Run_PosY"
                        ZNAME="Total G 1.4"
                        WIDTH=_LineThickness
                        COLS=60
                        ROWS=20
                        TIMEMIN="$LapStartTime(GPS_Data,_Plot5)" TIMEMAX="$LapEndTime(GPS_Data,_Plot5)"
                        XMIN="$IOChanMin(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        XMAX="$IOChanMax(GPS_Data:Run_PosX,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        YMIN="$IOChanMin(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) - 50"
                        YMAX="$IOChanMax(GPS_Data:Run_PosY,$LapStartTime(G PS_Data,_Plot5),$LapEndTime(GPS_Data,_Plot5)) + 50"
                        FOREGROUND="DARK(RED())"
                        BACKGROUND="GREY()"
                        RESETBY=(_Plot5,_LineThickness)
                        UPDATEDBY=($CarretTime)>

                        Comment


                        • #13
                          Re: Custom Runlog Pages

                          Again thanks! Already have created the combined G channel.

                          Comment


                          • #14
                            Re: Custom Runlog Pages

                            Enjoy!

                            Comment


                            • #15
                              Re: Custom Runlog Pages

                              Originally posted by magpie
                              One is a G Plot, but has a circle drawn based on a constant for tyre grip. This shows areas where you are not using the maximum amount of grip available. Whilst you could use a combined G graph (as it never goes negative) this is a much better visual aid. Further, using the track map you can see what part of the corner is your weak link.
                              So you are looking to make a G-G plot with a few reference circles on it, like this?



                              To do this, I created a couple of math channels to generate the circles:

                              CircleX 1.0 = sin('GPS Distance')
                              CircleY 1.0 = cos('GPS Distance')
                              CircleX 1.2 = 1.2*sin('GPS Distance')
                              CircleY 1.2 = 1.2*cos('GPS Distance')

                              There is nothing special about using 'GPS Distance,' you could use GPS_Time or any other variable that changes a lot.

                              To generate the plot, I used the code below. It first plots the G-G data, then overlays the circles. By plotting the G-G first, the cursor tracks the G-G data rather than one of the circles and the axis labels show Lateral G and Accel G rather than CircleX 1.0 and CircleY 1.0. You should be able to remove the grid if you don't want it.

                              <CHART
                              XNAME="Lateral G" YNAME="Accel G" SYMBOL=Point
                              TIMEMIN="$LapStartTime($Lap)" TIMEMAX="$LapEndTime($Lap)"
                              XMIN="$IOName2Min(Lateral G)" XMAX ="$IOName2Max(Lateral G)"
                              YMIN="$IOName2Min(Accel G)" YMAX ="$IOName2Max(Accel G)"
                              BACKGROUND=GREY() FOREGROUND=RED()
                              ROWS=35 COLS=100
                              UPDATEDBY = ($CarretTime)
                              >
                              <CHART ATTACH2PREV
                              XNAME="CircleX 1.0" YNAME="CircleY 1.0" SYMBOL=Point
                              TIMEMIN="$LapStartTime($Lap)" TIMEMAX="$LapEndTime($Lap)"
                              XMIN="$IOName2Min(CircleX 1.0)" XMAX ="$IOName2Max(CircleX 1.0)"
                              YMIN="$IOName2Min(CircleY 1.0)" YMAX ="$IOName2Max(CircleY 1.0)"
                              BACKGROUND=GREY() FOREGROUND=BLACK()
                              ROWS=35 COLS=100
                              UPDATEDBY = ($CarretTime)
                              >
                              <CHART ATTACH2PREV
                              XNAME="CircleX 1.2" YNAME="CircleY 1.2" SYMBOL=Point
                              TIMEMIN="$LapStartTime($Lap)" TIMEMAX="$LapEndTime($Lap)"
                              XMIN="$IOName2Min(CircleX 1.2)" XMAX ="$IOName2Max(CircleX 1.2)"
                              YMIN="$IOName2Min(CircleY 1.2)" YMAX ="$IOName2Max(CircleY 1.2)"
                              BACKGROUND=GREY() FOREGROUND=BLACK()
                              ROWS=35 COLS=100
                              UPDATEDBY = ($CarretTime)
                              >
                              Just make sure that the XMIN, XMAX, YMIN, and YMAX values are all the same for all the plots. Otherwise the plot won't look right.
                              Attached Files

                              Comment

                              Working...
                              X