#tag Window Begin Window mainWindow BackColor = &hFFFFFF Backdrop = 1384026073 CloseButton = True Composite = True Frame = 0 FullScreen = False HasBackColor = False Height = 428 ImplicitInstance= True LiveResize = True MacProcID = 0 MaxHeight = 32000 MaximizeButton = False MaxWidth = 32000 MenuBar = 1097909413 MenuBarVisible = True MinHeight = 64 MinimizeButton = True MinWidth = 64 Placement = 0 Resizeable = False Title = "Flip Side ICS" Visible = True Width = 720 Begin PushButton PushButton_Read AutoDeactivate = True Bold = "" Cancel = "" Caption = "Read" Default = "" Enabled = False Height = "#defaultControlHeight" HelpTag = "Click Read to read the configuration of the currently connected car." Index = -2147483648 InitialParent = "" Italic = "" Left = 413 LockBottom = True LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 4 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 388 Underline = "" Visible = True Width = 88 End Begin PushButton PushButton_Write AutoDeactivate = True Bold = "" Cancel = "" Caption = "Write" Default = False Enabled = False Height = "#defaultControlHeight" HelpTag = "Click Write to write the settings selected above to the currently connected car." Index = -2147483648 InitialParent = "" Italic = "" Left = 512 LockBottom = True LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 5 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 388 Underline = "" Visible = True Width = 88 End Begin ICSSerialPort ICSSerialPort1 Baud = 8 Bits = 3 byte01 = &hFF carType = "MR-03" CTS = "" DTR = "" Height = 32 Index = -2147483648 Left = 786 LockedInPosition= False Parity = 0 Scope = 0 Stop = 0 TabPanelIndex = 0 Top = -16 Width = 32 XON = "" End Begin PushButton PushButton_Default AutoDeactivate = True Bold = "" Cancel = "" Caption = "Default" Default = "" Enabled = True Height = "#defaultControlHeight" HelpTag = "Clicking Default will set the settings above to the defaults for the selected Car Type. No data will be written to the car until the Write button has been clicked." Index = -2147483648 InitialParent = "" Italic = "" Left = 612 LockBottom = True LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 44 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 388 Underline = "" Visible = True Width = 88 End Begin StaticText StaticText_SerialPort AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Select which COM Port to use using the drop down menu. If you can not find a valid COM Port you may need to install a driver for your ICS adapter." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 46 TabPanelIndex = 0 Text = "COM Port" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Transparent = False Underline = "" Visible = True Width = 100 End Begin PopupMenu PopupMenu_SerialPort AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Select which COM Port to use using the drop down menu. If you can not find a valid COM Port you may need to install a driver for your ICS adapter." Index = -2147483648 InitialParent = "" InitialValue = "" Italic = "" Left = 20 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 47 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 92 Underline = "" Visible = True Width = 128 End Begin StaticText StaticText_Version AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = True LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 48 TabPanelIndex = 0 Text = "Version " TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 388 Transparent = False Underline = "" Visible = True Width = 100 End Begin StaticText StaticText_Profiles AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Profiles provide a way for you to create common settings that you can write easily to multiple cars or create a backup of particular configurations that you like. After creating a profile you can use the drop down menu to select it or o ther profiles." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 51 TabPanelIndex = 0 Text = "Profiles" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 122 Transparent = False Underline = "" Visible = True Width = 100 End Begin PopupMenu PopupMenu_Profile AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Profiles provide a way for you to create common settings that you can write easily to multiple cars or create a backup of particular configurations that you like. After creating a profile you can use the drop down menu to select it or other profiles." Index = -2147483648 InitialParent = "" InitialValue = "" Italic = "" Left = 20 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 54 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 154 Underline = "" Visible = True Width = 128 End Begin PushButton PushButton_SaveProfile AutoDeactivate = True Bold = "" Cancel = "" Caption = "Save" Default = "" Enabled = False Height = 20 HelpTag = "Click Save to save the current car settings to the selected profile." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 55 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 250 Underline = "" Visible = True Width = 88 End Begin PushButton PushButton_Delete AutoDeactivate = True Bold = "" Cancel = "" Caption = "Delete" Default = "" Enabled = False Height = 20 HelpTag = "Click Delete to delete the currently selected profile. This action can not be undone." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 56 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 282 Underline = "" Visible = True Width = 88 End Begin PushButton PushButton_Create AutoDeactivate = True Bold = "" Cancel = "" Caption = "Create" Default = "" Enabled = True Height = 20 HelpTag = "Click Create to create a new profile. You will be prompted to enter a new name for the profile. The name must be unique." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 57 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 186 Underline = "" Visible = True Width = 88 End Begin PushButton PushButton_Import AutoDeactivate = True Bold = "" Cancel = "" Caption = "Import" Default = "" Enabled = True Height = 20 HelpTag = "Click Import to import car settings from a file. You will be prompted to select an appropriate file to import." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 58 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 218 Underline = "" Visible = True Width = 88 End Begin PushButton PushButton_Export AutoDeactivate = True Bold = "" Cancel = "" Caption = "Export" Default = "" Enabled = False Height = 20 HelpTag = "Click Export to save the current profile to a file on your computer. This file can be shared with other people to allow them to configure their car using the same settings. Make sure you have saved your changes before exporting them." Index = -2147483648 InitialParent = "" Italic = "" Left = 20 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 59 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 314 Underline = "" Visible = True Width = 88 End Begin PagePanel PagePanel1 AutoDeactivate = True Enabled = True Height = 376 HelpTag = "" Index = -2147483648 InitialParent = "" Left = 160 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" PanelCount = 2 Panels = "" Scope = 0 TabIndex = 60 TabPanelIndex = 0 Top = 0 Value = 0 Visible = True Width = 560 Begin Slider Slider_THGain AutoDeactivate = True Enabled = True Height = 16 HelpTag = "THROTTLE GAIN adjusts how the Gryo will impact throttle." Index = -2147483648 InitialParent = "PagePanel1" Left = 436 LineStep = 1 LiveScroll = "" LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Maximum = 255 Minimum = 1 PageStep = 20 Scope = 0 TabIndex = 0 TabPanelIndex = 1 TabStop = True TickStyle = 0 Top = 252 Value = 0 Visible = True Width = 100 End Begin EditField EditField_THGain AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "THROTTLE GAIN adjusts how the Gryo will impact throttle." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 548 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 1 TabPanelIndex = 1 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 252 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_THGain AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "THROTTLE GAIN adjusts how the Gryo will impact throttle." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 2 TabPanelIndex = 1 Text = "Throttle Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 252 Transparent = False Underline = "" Visible = True Width = 128 End Begin Slider Slider_STGain AutoDeactivate = True Enabled = True Height = 16 HelpTag = "STEERING GAIN adjusts how the Gryo will impact steering." Index = -2147483648 InitialParent = "PagePanel1" Left = 436 LineStep = 1 LiveScroll = "" LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Maximum = 255 Minimum = 1 PageStep = 20 Scope = 0 TabIndex = 3 TabPanelIndex = 1 TabStop = True TickStyle = 0 Top = 220 Value = 0 Visible = True Width = 100 End Begin EditField EditField_STGain AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "STEERING GAIN adjusts how the Gryo will impact steering." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 548 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 4 TabPanelIndex = 1 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 220 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_STGain AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "STEERING GAIN adjusts how the Gryo will impact steering." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 5 TabPanelIndex = 1 Text = "Steering Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 220 Transparent = False Underline = "" Visible = True Width = 128 End Begin PopupMenu PopupMenu_BackTiming AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "BACK TIMING sets the delay needed at neutral before you can use reverse." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "1\r2\r3\r4\r5\rCustom" Italic = "" Left = 436 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 6 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 188 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_BackTiming AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "BACK TIMING sets the delay needed at neutral before you can use reverse." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 7 TabPanelIndex = 1 Text = "Back Timing" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 188 Transparent = False Underline = "" Visible = True Width = 128 End Begin PopupMenu PopupMenu_VerticalInteria AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "VIRTUAL INERTIA sets how far the car will roll after the throttle is released." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Strong\r2\r3\r4\rOff\rCustom" Italic = "" Left = 436 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 8 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 156 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_VerticalIntertia AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "VIRTUAL INERTIA sets how far the car will roll after the throttle is released." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 9 TabPanelIndex = 1 Text = "Virtual Inertia" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 156 Transparent = False Underline = "" Visible = True Width = 128 End Begin PopupMenu PopupMenu_Nuetral AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "NEUTRAL sets the width of the neutral area for the throttle trigger on the transmitter." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Narrow\rMid\rWide\rCustom" Italic = "" Left = 436 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 10 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 124 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_Nuetral AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "NEUTRAL sets the width of the neutral area for the throttle trigger on the transmitter." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 11 TabPanelIndex = 1 Text = "Neutral" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 124 Transparent = False Underline = "" Visible = True Width = 128 End Begin PopupMenu PopupMenu_DFreq AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DRIVE FREQUENCY sets the frequency of the signal sent to the motor. A lower frequency can provide higher torque but result in lower battery life." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "High\rMedium\rLow\rCustom" Italic = "" Left = 436 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 12 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 92 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_DFreq AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DRIVE FREQUENCY sets the frequency of the signal sent to the motor. A lower frequency can provide higher torque but result in lower battery life." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 592 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 13 TabPanelIndex = 1 Text = "Drive Frequency" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 92 Transparent = False Underline = "" Visible = True Width = 106 End Begin PopupMenu PopupMenu_Dump AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DUMP sets the behavior of the servo when it needs to stop. When set to Smooth the servo begins stopping before getting to the set point. When set to Over the servo will go past the set point before stopping and then return back to the set point." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Over\rSmooth\rCustom" Italic = "" Left = 197 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 14 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 252 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_Dump AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DUMP sets the behavior of the servo when it needs to stop. When set to Smooth the servo begins stopping before getting to the set point. When set to Over the servo will go past the set point before stopping and then return back to the set point." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 15 TabPanelIndex = 1 Text = "Dump" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 252 Transparent = False Underline = "" Visible = True Width = 81 End Begin PopupMenu PopupMenu_DBand AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DEAD BAND adjusts how close to the correct position the servo must be." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Narrow\rMid\rWide\rCustom" Italic = "" Left = 197 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 16 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 220 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_DBand AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "DEAD BAND adjusts how close to the correct position the servo must be." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 17 TabPanelIndex = 1 Text = "Dead Band" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 220 Transparent = False Underline = "" Visible = True Width = 81 End Begin Slider Slider_Punch AutoDeactivate = True Enabled = True Height = 16 HelpTag = "PUNCH controls the servo's response. Setting this high can cause a twitchy response to steering." Index = -2147483648 InitialParent = "PagePanel1" Left = 197 LineStep = 1 LiveScroll = "" LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Maximum = 10 Minimum = 1 PageStep = 20 Scope = 0 TabIndex = 18 TabPanelIndex = 1 TabStop = True TickStyle = 0 Top = 188 Value = 0 Visible = True Width = 100 End Begin EditField EditField_Punch AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "PUNCH controls the servo's response. Setting this high can cause a twitchy response to steering." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 309 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 19 TabPanelIndex = 1 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 188 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_Punch AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "PUNCH controls the servo's response. Setting this high can cause a twitchy response to steering." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 20 TabPanelIndex = 1 Text = "Punch" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 188 Transparent = False Underline = "" Visible = True Width = 81 End Begin PopupMenu PopupMenu_Speed AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "SPEED controls the speed that the servo will respond to input from the transmitter." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Slow\r2\r3\r4\rFast\rCustom" Italic = "" Left = 197 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 21 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 156 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_Speed AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "SPEED controls the speed that the servo will respond to input from the transmitter." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 22 TabPanelIndex = 1 Text = "Speed" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 156 Transparent = False Underline = "" Visible = True Width = 81 End Begin PopupMenu PopupMenu_Gain AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "GAIN controls the amount of force the servo motor will use to stay in position." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "Min\rMid\rStrong\rCustom" Italic = "" Left = 197 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 23 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 124 Underline = "" Visible = True Width = 144 End Begin StaticText StaticText_Gain AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "GAIN controls the amount of force the servo motor will use to stay in position." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 24 TabPanelIndex = 1 Text = "Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 124 Transparent = False Underline = "" Visible = True Width = 81 End Begin StaticText StaticText_CarType AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Setting a car type will enable and disable the appropriate options on this screen." Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 353 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 25 TabPanelIndex = 1 Text = "Car Type" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 92 Transparent = False Underline = "" Visible = True Width = 81 End Begin PopupMenu PopupMenu_CarType AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "Setting a car type will enable and disable the appropriate options on this screen." Index = -2147483648 InitialParent = "PagePanel1" InitialValue = "MR-03\rdNaNo\rASF" Italic = "" Left = 197 ListIndex = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 26 TabPanelIndex = 1 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 92 Underline = "" Visible = True Width = 144 End Begin EditField EditField_Byte1 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = False Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 0 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte9 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 1 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 332 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte8 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 2 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 298 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte7 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 3 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 264 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte6 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 4 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 230 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte5 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 5 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 196 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte4 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 6 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 162 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte3 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 7 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 128 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte2 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = False Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 195 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 8 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 94 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_Byte1 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 9 TabPanelIndex = 2 Text = "Header" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte6 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 10 TabPanelIndex = 2 Text = "Drive Band" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 230 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte5 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 11 TabPanelIndex = 2 Text = "Punch" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 196 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte4 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 12 TabPanelIndex = 2 Text = "Speed" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 162 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte3 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 13 TabPanelIndex = 2 Text = "Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 128 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte2 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 14 TabPanelIndex = 2 Text = "Header" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 94 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte7 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 241 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 15 TabPanelIndex = 2 Text = "Dump" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 264 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte8 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 241 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 16 TabPanelIndex = 2 Text = "Drive Frequency" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 298 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte9 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 239 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 17 TabPanelIndex = 2 Text = "Unknown" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 332 Transparent = False Underline = "" Visible = True Width = 106 End Begin EditField EditField_Byte12 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 18 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 128 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte11 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 19 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 94 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte10 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 20 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_Byte10 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 400 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 21 TabPanelIndex = 2 Text = "Unknown" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte11 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 22 TabPanelIndex = 2 Text = "Neutral High" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 94 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte12 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 23 TabPanelIndex = 2 Text = "Neutral Low" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 128 Transparent = False Underline = "" Visible = True Width = 106 End Begin EditField EditField_Byte18 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = False Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 24 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 332 Underline = "" UseFocusRing = True Visible = False Width = 32 End Begin EditField EditField_Byte17 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 25 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 298 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte16 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 26 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 264 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte15 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 27 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 230 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte14 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 28 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 196 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin EditField EditField_Byte13 AcceptTabs = "" Alignment = 0 AutoDeactivate = True BackColor = &hFFFFFF Bold = "" Border = True DataField = "" DataSource = "" Enabled = True Format = "" Height = 22 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 354 LimitText = 0 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Mask = "###" Multiline = "" Password = "" ReadOnly = "" Scope = 0 ScrollbarHorizontal= "" ScrollbarVertical= True Styled = "" TabIndex = 29 TabPanelIndex = 2 TabStop = True Text = "" TextColor = &h000000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 162 Underline = "" UseFocusRing = True Visible = True Width = 32 End Begin StaticText StaticText_Byte13 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 30 TabPanelIndex = 2 Text = "Virtual Inertia" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 162 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte14 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = False Scope = 0 Selectable = False TabIndex = 31 TabPanelIndex = 2 Text = "Unknown" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 196 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte15 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 32 TabPanelIndex = 2 Text = "Back Timing" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 230 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte16 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 33 TabPanelIndex = 2 Text = "Steering Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 264 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte17 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 34 TabPanelIndex = 2 Text = "Throttle Gain" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 298 Transparent = False Underline = "" Visible = True Width = 106 End Begin StaticText StaticText_Byte18 AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 398 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 35 TabPanelIndex = 2 Text = "Checksum" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 332 Transparent = False Underline = "" Visible = False Width = 106 End Begin StaticText StaticText_Warning AutoDeactivate = True Bold = True DataField = "" DataSource = "" Enabled = True Height = 36 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 516 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 36 TabPanelIndex = 2 Text = "WARNING:" TextAlign = 0 TextColor = &hFF0000 TextFont = "System" TextSize = 22 TextUnit = 0 Top = 60 Transparent = False Underline = True Visible = True Width = 142 End Begin StaticText StaticText_WarningMessage AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 155 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 516 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = True Scope = 0 Selectable = False TabIndex = 37 TabPanelIndex = 2 Text = "Each register can have a value between 0 and 255. Modifying values on this screen can have unpredictable results, do so at your own risk. " TextAlign = 0 TextColor = &hFF0000 TextFont = "System" TextSize = 0 TextUnit = 0 Top = 96 Transparent = False Underline = "" Visible = True Width = 150 End Begin StaticText StaticText_CarSettings AutoDeactivate = True Bold = "" DataField = "" DataSource = "" Enabled = True Height = 20 HelpTag = "" Index = -2147483648 InitialParent = "PagePanel1" Italic = "" Left = 197 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Multiline = "" Scope = 0 Selectable = False TabIndex = 27 TabPanelIndex = 1 Text = "Car Settings" TextAlign = 0 TextColor = "&cB8B8B8" TextFont = "System" TextSize = 0 TextUnit = 0 Top = 60 Transparent = False Underline = "" Visible = True Width = 100 End End Begin PushButton PushButton_Advanced AutoDeactivate = True Bold = "" Cancel = "" Caption = "Advanced" Default = "" Enabled = True Height = "#defaultControlHeight" HelpTag = "" Index = -2147483648 InitialParent = "" Italic = "" Left = 313 LockBottom = "" LockedInPosition= False LockLeft = "" LockRight = "" LockTop = "" Scope = 0 TabIndex = 61 TabPanelIndex = 0 TabStop = True TextFont = "System" TextSize = 0 TextUnit = 0 Top = 388 Underline = "" Visible = True Width = 88 End End #tag EndWindow #tag WindowCode #tag Event Sub Open() StaticText_Version.Text = "Version " + str(app.NonReleaseVersion/100) //Set the default car type ICSSerialPort1.setCarType("MR-03") ICSSerialPort1.setDefaultValues disableControls readPreferences() #if TargetLinux resizeLinuxControls() #endif //Set and open the COM Port dim i, count as integer count = System.SerialPortCount for i = 0 to count - 1 PopupMenu_SerialPort.AddRow( System.SerialPort(i).Name ) next if comPort <> "" then //We can try opening the com port and set the popup menu to that port for i = 0 to PopupMenu_SerialPort.ListCount - 1 if PopupMenu_SerialPort.list(i) = comPort then //Found a match, set and open PopupMenu_SerialPort.ListIndex = i ICSSerialPort1.SerialPort = System.SerialPort(i) if not ICSSerialPort1.Open then //Could not open MsgBox "Error opening defined com port" else //Enable buttons PushButton_Read.Enabled = True PushButton_Write.Enabled = True end if //No need to continue loop exit end if next end if End Sub #tag EndEvent #tag Method, Flags = &h21 Private Sub disableControls() select case ICSSerialPort1.carType Case "MR-03" //Enable any controls that may have been disabled PopupMenu_BackTiming.Enabled = True StaticText_BackTiming.Enabled = True Slider_STGain.Enabled = True StaticText_STGain.Enabled = True EditField_STGain.Enabled = True Slider_THGain.Enabled = True StaticText_THGain.Enabled = True EditField_THGain.Enabled = True Case "dNaNo" //Disable unused controls and set them to custom PopupMenu_BackTiming.Enabled = False StaticText_BackTiming.Enabled = False PopupMenu_BackTiming.ListIndex = PopupMenu_BackTiming.ListCount //Enable any controls that may have been disabled Slider_STGain.Enabled = True StaticText_STGain.Enabled = True EditField_STGain.Enabled = True Slider_THGain.Enabled = True StaticText_THGain.Enabled = True EditField_THGain.Enabled = True Case "ASF" //Disable unused controls and set them to custom PopupMenu_BackTiming.Enabled = False StaticText_BackTiming.Enabled = False PopupMenu_BackTiming.ListIndex = PopupMenu_BackTiming.ListCount Slider_STGain.Enabled = False StaticText_STGain.Enabled = False Slider_STGain.Value = 255 EditField_STGain.Enabled = False Slider_THGain.Enabled = False StaticText_THGain.Enabled = False Slider_THGain.Value = 255 EditField_THGain.Enabled = False end select End Sub #tag EndMethod #tag Method, Flags = &h21 Private Sub readPreferences() dim filePreference as FolderItem = GetFolderItem("icspref.xml") dim xdoc as XmlDocument dim root as XmlNode dim i as Integer dim count as integer dim item as string //Read the settings from the preferences file if filePreference <> Nil then if filePreference.Exists then xdoc = New XmlDocument(filePreference) count = xdoc.DocumentElement.ChildCount for i = 0 to count - 1 root = xdoc.DocumentElement.Child(i) item = root.FirstChild.Value select case root.Name case "comPort" comPort = item end select next end if end if End Sub #tag EndMethod #tag Method, Flags = &h21 Private Sub resizeLinuxControls() //Resize controls for Linux PushButton_Create.Height = 24 PushButton_Default.Height = 24 PushButton_Delete.Height = 24 PushButton_Export.Height = 24 PushButton_Import.Height = 24 PushButton_Read.Height = 24 PushButton_SaveProfile.Height = 24 PushButton_Write.Height = 24 PopupMenu_BackTiming.Height = 26 PopupMenu_CarType.Height = 26 PopupMenu_DBand.Height = 26 PopupMenu_DFreq.Height = 26 PopupMenu_Dump.Height = 26 PopupMenu_Gain.Height = 26 PopupMenu_Nuetral.Height = 26 PopupMenu_Profile.Height = 26 PopupMenu_SerialPort.Height = 26 PopupMenu_Speed.Height = 26 PopupMenu_VerticalInteria.Height = 26 End Sub #tag EndMethod #tag Method, Flags = &h21 Private Sub savePreferences() dim xml as XmlDocument dim root as XMLNode dim comPortXML as XmlNode dim f as FolderItem //Save the preferences f = GetFolderItem("icspref.xml") if f <> Nil then //Create a new XML document xml = New XmlDocument root = xml.AppendChild(xml.CreateElement("icspref")) //Add elements comPortXML = root.AppendChild(xml.CreateElement("comPort")) comPortXML.AppendChild(xml.CreateTextNode(comPort)) //Save the output xml.SaveXml(f) end if End Sub #tag EndMethod #tag Method, Flags = &h21 Private Sub updateAdvancedScreen() //Update the fields on the advanced screen to match current values EditField_Byte1.Text = str(asc(ICSSerialPort1.byte01)) EditField_Byte2.Text = str(asc(ICSSerialPort1.byte02)) EditField_Byte3.Text = str(asc(ICSSerialPort1.byte03)) EditField_Byte4.Text = str(asc(ICSSerialPort1.byte04)) EditField_Byte5.Text = str(asc(ICSSerialPort1.byte05)) EditField_Byte6.Text = str(asc(ICSSerialPort1.byte06)) EditField_Byte7.Text = str(asc(ICSSerialPort1.byte07)) EditField_Byte8.Text = str(asc(ICSSerialPort1.byte08)) EditField_Byte9.Text = str(asc(ICSSerialPort1.byte09)) EditField_Byte10.Text = str(asc(ICSSerialPort1.byte10)) EditField_Byte11.Text = str(asc(ICSSerialPort1.byte11)) EditField_Byte12.Text = str(asc(ICSSerialPort1.byte12)) EditField_Byte13.Text = str(asc(ICSSerialPort1.byte13)) EditField_Byte14.Text = str(asc(ICSSerialPort1.byte14)) EditField_Byte15.Text = str(asc(ICSSerialPort1.byte15)) EditField_Byte16.Text = str(asc(ICSSerialPort1.byte16)) EditField_Byte17.Text = str(asc(ICSSerialPort1.byte17)) EditField_Byte18.Text = str(asc(ICSSerialPort1.byte18)) End Sub #tag EndMethod #tag Method, Flags = &h21 Private Sub updateCarScreen() //Use this method to update the car screen //Update Gain Select Case ICSSerialPort1.byte03 Case chrb(&h32) PopupMenu_Gain.ListIndex = 0 Case chrb(&h64) PopupMenu_Gain.ListIndex = 1 Case chrb(&hFF) PopupMenu_Gain.ListIndex = 2 Else PopupMenu_Gain.ListIndex = 3 End Select //Update Speed Select Case ICSSerialPort1.Byte04 Case chrb(&h0A) PopupMenu_Speed.ListIndex = 0 Case chrb(&h14) PopupMenu_Speed.ListIndex = 1 Case chrb(&h1E) PopupMenu_Speed.ListIndex = 2 Case chrb(&h28) PopupMenu_Speed.ListIndex = 3 Case chrb(&hFF) PopupMenu_Speed.ListIndex = 4 Else PopupMenu_Speed.ListIndex = 5 End Select //Update punch Slider_Punch.Value = asc(ICSSerialPort1.Byte05) EditField_Punch.Text = str(asc(ICSSerialPort1.Byte05)) //Update DBAND Select Case ICSSerialPort1.Byte06 Case chrb(&h01) PopupMenu_DBand.ListIndex = 0 Case chrb(&h02) PopupMenu_DBand.ListIndex = 1 Case chrb(&h03) PopupMenu_DBand.ListIndex = 2 Else PopupMenu_DBand.ListIndex = 3 End Select //Update Dump Select Case ICSSerialPort1.Byte07 Case chrb(&h01) PopupMenu_Dump.ListIndex = 0 Case chrb(&h02) PopupMenu_Dump.ListIndex = 1 Else PopupMenu_Dump.ListIndex = 2 End Select //Update DFREQ Select Case ICSSerialPort1.Byte08 Case chrb(&h40) PopupMenu_DFreq.ListIndex = 0 Case chrb(&h78) PopupMenu_DFreq.ListIndex = 1 Case chrb(&hFF) PopupMenu_DFreq.ListIndex = 2 Else PopupMenu_DFreq.ListIndex = 3 End Select //Update Nuetral //Nuetral is defined by 2 bytes Select Case ICSSerialPort1.Byte11 Case chrb(&h82) if ICSSerialPort1.Byte12 = chrb(&h7C) then PopupMenu_Nuetral.ListIndex = 0 else PopupMenu_Nuetral.ListIndex = 3 end if Case chrb(&h88) if ICSSerialPort1.Byte12 = chrb(&h78) then PopupMenu_Nuetral.ListIndex = 1 else PopupMenu_Nuetral.ListIndex = 3 end if Case chrb(&h94) if ICSSerialPort1.Byte12 = chrb(&h6C) then PopupMenu_Nuetral.ListIndex = 2 else PopupMenu_Nuetral.ListIndex = 3 end if Else PopupMenu_Nuetral.ListIndex = 3 End Select //Update Vertial Intertia Select Case ICSSerialPort1.Byte13 Case chrb(&h01) PopupMenu_VerticalInteria.ListIndex = 0 Case chrb(&h02) PopupMenu_VerticalInteria.ListIndex = 1 Case chrb(&h03) PopupMenu_VerticalInteria.ListIndex = 2 Case chrb(&h04) PopupMenu_VerticalInteria.ListIndex = 3 Case chrb(&hFF) PopupMenu_VerticalInteria.ListIndex = 4 Else PopupMenu_VerticalInteria.ListIndex = 5 End Select //Update Back Timing Select Case ICSSerialPort1.Byte15 Case chrb(&h01) PopupMenu_BackTiming.ListIndex = 0 Case chrb(&h05) PopupMenu_BackTiming.ListIndex = 1 Case chrb(&h0A) PopupMenu_BackTiming.ListIndex = 2 Case chrb(&h14) PopupMenu_BackTiming.ListIndex = 3 Case chrb(&h28) PopupMenu_BackTiming.ListIndex = 4 Else PopupMenu_BackTiming.ListIndex = 5 End Select //Update Steering Gain Slider_STGain.Value = asc(ICSSerialPort1.Byte16) EditField_STGain.Text = str(asc(ICSSerialPort1.Byte16)) //Update Throttle Gain Slider_THGain.Value = asc(ICSSerialPort1.Byte17) EditField_THGain.Text = str(asc(ICSSerialPort1.Byte17)) End Sub #tag EndMethod #tag Note, Name = License Copyright 2010 Jeremy Auten This file is part of Flip Side ICS Software. Flip Side ICS Software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Flip Side ICS Software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Flip Side ICS Software. If not, see . #tag EndNote #tag Property, Flags = &h0 comPort As string #tag EndProperty #tag Constant, Name = defaultControlHeight, Type = Double, Dynamic = False, Default = \"20", Scope = Public #Tag Instance, Platform = Mac OS, Language = Default, Definition = \"20" #Tag Instance, Platform = Windows, Language = Default, Definition = \"22" #Tag Instance, Platform = Linux, Language = Default, Definition = \"24" #tag EndConstant #tag EndWindowCode #tag Events PushButton_Read #tag Event Sub Action() ICSSerialPort1.readCar End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Write #tag Event Sub Action() ICSSerialPort1.writeCar End Sub #tag EndEvent #tag EndEvents #tag Events ICSSerialPort1 #tag Event Sub valuesChanged() //Update the screens with the new values updateAdvancedScreen updateCarScreen End Sub #tag EndEvent #tag Event Sub profileImported(profileName as string) PopupMenu_Profile.AddRow(profileName) //Make sure to switch to the new profile PopupMenu_Profile.ListIndex = PopupMenu_Profile.ListCount //Update the screens with the new values updateAdvancedScreen updateCarScreen End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Default #tag Event Sub Action() ICSSerialPort1.setDefaultValues End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_SerialPort #tag Event Sub Change() //Set and open the COM Port dim i, count as integer count = System.SerialPortCount if PopupMenu_SerialPort.Text <> "" then //We can try opening the com port and set the popup menu to that port for i = 0 to PopupMenu_SerialPort.ListCount - 1 if PopupMenu_SerialPort.list(i) = me.Text then //Found a match, set and open ICSSerialPort1.SerialPort = System.SerialPort(i) ICSSerialPort1.Close if not ICSSerialPort1.Open then //Could not open MsgBox "Error opening defined com port" //Disable buttons PushButton_Read.Enabled = False PushButton_Write.Enabled = False else //Enable buttons PushButton_Read.Enabled = True PushButton_Write.Enabled = True end if //Save and exit comPort = me.Text savePreferences exit end if next end if End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_Profile #tag Event Sub Change() if me.Text <> "" then PushButton_SaveProfile.Enabled = true PushButton_Delete.Enabled = true PushButton_Export.Enabled = true ICSSerialPort1.loadProfile(me.Text) end if End Sub #tag EndEvent #tag Event Sub Open() dim s() as string s = ICSSerialPort1.listProfiles if UBound(s) > -1 then for each element as string in s me.AddRow(element) next end if End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_SaveProfile #tag Event Sub Action() if PopupMenu_Profile.Text <> "" then ICSSerialPort1.saveProfile(PopupMenu_Profile.Text) end if End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Delete #tag Event Sub Action() if PopupMenu_Profile.Text <> "" then ICSSerialPort1.deleteProfile(PopupMenu_Profile.Text) PopupMenu_Profile.RemoveRow(PopupMenu_Profile.ListIndex) //Make sure to hide the save and delete profile buttons since no profile will be selected after this has been deleted PushButton_SaveProfile.Enabled = False PushButton_Delete.Enabled = False PushButton_Export.Enabled = False end if End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Create #tag Event Sub Action() dim tempProfWindow as new createProfile tempProfWindow.Show End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Import #tag Event Sub Action() dim success as Boolean success = ICSSerialPort1.importProfile if success = false then MsgBox "Error importing profile" end if End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Export #tag Event Sub Action() if PopupMenu_Profile.Text <> "" then ICSSerialPort1.exportProfile(PopupMenu_Profile.Text) end if End Sub #tag EndEvent #tag EndEvents #tag Events Slider_THGain #tag Event Sub ValueChanged() ICSSerialPort1.Byte17 = chrb(me.Value) //Check to see if we need to update the edit field //This prevents the edit field from triggering this event that then updates the edit field again //Causing the cursor to move to the begginning of the editfield if EditField_THGain.Text <> str(me.Value) then EditField_THGain.Text = str(me.Value) end if End Sub #tag EndEvent #tag EndEvents #tag Events EditField_THGain #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 1 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte17 = chrb(i) Slider_THGain.Value = val(me.Text) End Sub #tag EndEvent #tag EndEvents #tag Events Slider_STGain #tag Event Sub ValueChanged() ICSSerialPort1.Byte16 = chrb(me.Value) //Check to see if we need to update the edit field //This prevents the edit field from triggering this event that then updates the edit field again //Causing the cursor to move to the begginning of the editfield if EditField_STGain.Text <> str(me.Value) then EditField_STGain.Text = str(me.Value) end if End Sub #tag EndEvent #tag EndEvents #tag Events EditField_STGain #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 1 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte16 = chrb(i) Slider_STGain.Value = val(me.Text) End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_BackTiming #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte15 = chrb(&h01) Case 1 ICSSerialPort1.Byte15 = chrb(&h05) Case 2 ICSSerialPort1.Byte15 = chrb(&h0A) Case 3 ICSSerialPort1.Byte15 = chrb(&h14) Case 4 ICSSerialPort1.Byte15 = chrb(&h28) Case 5 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_VerticalInteria #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte13 = chrb(&h01) Case 1 ICSSerialPort1.Byte13 = chrb(&h02) Case 2 ICSSerialPort1.Byte13 = chrb(&h03) Case 3 ICSSerialPort1.Byte13 = chrb(&h04) Case 4 ICSSerialPort1.Byte13 = chrb(&hFF) Case 5 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_Nuetral #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte11 = chrb(&h82) ICSSerialPort1.Byte12 = chrb(&h7C) Case 1 ICSSerialPort1.Byte11 = chrb(&h88) ICSSerialPort1.Byte12 = chrb(&h78) Case 2 ICSSerialPort1.Byte11 = chrb(&h94) ICSSerialPort1.Byte12 = chrb(&h6C) Case 3 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_DFreq #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte08 = chrb(&h40) Case 1 ICSSerialPort1.Byte08 = chrb(&h78) Case 2 ICSSerialPort1.Byte08 = chrb(&hFF) Case 3 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_Dump #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte07 = chrb(&h01) Case 1 ICSSerialPort1.Byte07 = chrb(&h02) Case 2 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_DBand #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte06 = chrb(&h01) Case 1 ICSSerialPort1.Byte06 = chrb(&h02) Case 2 ICSSerialPort1.Byte06 = chrb(&h03) Case 3 End Select End Sub #tag EndEvent #tag EndEvents #tag Events Slider_Punch #tag Event Sub ValueChanged() ICSSerialPort1.Byte05 = chrb(me.Value) //Check to see if we need to update the edit field //This prevents the edit field from triggering this event that then updates the edit field again //Causing the cursor to move to the begginning of the editfield if EditField_Punch.Text <> str(me.Value) then EditField_Punch.Text = str(me.Value) end if End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Punch #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 1 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte05 = chrb(i) Slider_Punch.Value = val(me.Text) End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_Speed #tag Event Sub Change() Select Case me.ListIndex Case 0 ICSSerialPort1.Byte04 = chrb(&h0A) Case 1 ICSSerialPort1.Byte04 = chrb(&h14) Case 2 ICSSerialPort1.Byte04 = chrb(&h1E) Case 3 ICSSerialPort1.Byte04 = chrb(&h28) Case 4 ICSSerialPort1.Byte04 = chrb(&hFF) Case 5 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_Gain #tag Event Sub Change() Select Case me.ListIndex case 0 ICSSerialPort1.Byte03 = chrb(&h32) case 1 ICSSerialPort1.Byte03 = chrb(&h64) case 2 ICSSerialPort1.Byte03 = chrb(&hFF) case 3 End Select End Sub #tag EndEvent #tag EndEvents #tag Events PopupMenu_CarType #tag Event Sub Change() ICSSerialPort1.setCarType(me.Text) ICSSerialPort1.setDefaultValues disableControls End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte9 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte09 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte8 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte08 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte7 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte07 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte6 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte06 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte5 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte05 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte4 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte04 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte3 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte03 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte12 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte12 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte11 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte11 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte10 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte10 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte17 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte17 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte16 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte16 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte15 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte15 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte14 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte14 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events EditField_Byte13 #tag Event Sub TextChange() //Make sure we have a valid value if not then set it to something if me.Text <> "" then if val(me.Text) > 255 or val(me.Text) < 0 then me.Text = "255" end if end if dim d as double dim i as integer d = val(me.Text) i = d ICSSerialPort1.Byte13 = chrb(i) End Sub #tag EndEvent #tag EndEvents #tag Events PushButton_Advanced #tag Event Sub Action() select case PagePanel1.Value case 0 PushButton_Advanced.Caption = "General" PagePanel1.Value = 1 updateAdvancedScreen case 1 PushButton_Advanced.Caption = "Advanced" PagePanel1.Value = 0 updateCarScreen end select End Sub #tag EndEvent #tag EndEvents