VERSION 5.00 Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.1#0"; "COMCTL32.OCX" Object = "{D6CD40C0-A522-11D0-9800-D3C9B35D2C47}#1.0#0"; "SPIRIT.OCX" Begin VB.Form Form1 Caption = "RCX Remote Control" ClientHeight = 6345 ClientLeft = 1410 ClientTop = 1515 ClientWidth = 6510 Icon = "rcx.frx":0000 LinkTopic = "Form1" PaletteMode = 1 'UseZOrder ScaleHeight = 6345 ScaleWidth = 6510 Begin VB.CheckBox repeat Height = 195 Left = 1665 TabIndex = 45 Top = 1350 Width = 195 End Begin VB.Timer Timer1 Enabled = 0 'False Interval = 500 Left = 5355 Top = 45 End Begin VB.ComboBox commport Height = 315 Left = 1170 TabIndex = 41 Top = 135 Width = 960 End Begin VB.ComboBox mode Height = 315 Index = 2 Left = 4005 Style = 2 'Dropdown List TabIndex = 38 Top = 3015 Width = 1095 End Begin VB.ComboBox mode Height = 315 Index = 1 Left = 4005 Style = 2 'Dropdown List TabIndex = 37 Top = 2340 Width = 1095 End Begin VB.ComboBox mode Height = 315 Index = 0 Left = 4005 Style = 2 'Dropdown List TabIndex = 36 Top = 1665 Width = 1095 End Begin VB.CommandButton readsensor Caption = "Read" Height = 420 Index = 2 Left = 1665 TabIndex = 35 Top = 3015 Width = 825 End Begin VB.CommandButton readsensor Caption = "Read" Height = 420 Index = 1 Left = 1665 TabIndex = 34 Top = 2340 Width = 825 End Begin VB.CommandButton readsensor Caption = "Read" Height = 420 Index = 0 Left = 1665 TabIndex = 33 Top = 1665 Width = 825 End Begin VB.ComboBox sensortype Height = 315 Index = 2 Left = 2700 Style = 2 'Dropdown List TabIndex = 29 Top = 3015 Width = 1095 End Begin VB.ComboBox sensortype Height = 315 Index = 1 Left = 2700 Style = 2 'Dropdown List TabIndex = 28 Top = 2340 Width = 1095 End Begin VB.ComboBox sensortype Height = 315 Index = 0 Left = 2700 Style = 2 'Dropdown List TabIndex = 27 Top = 1665 Width = 1095 End Begin VB.ComboBox programnum Height = 315 Left = 1170 Style = 2 'Dropdown List TabIndex = 23 Top = 585 Width = 960 End Begin VB.CheckBox stayon Caption = "Check2" Height = 285 Index = 2 Left = 780 TabIndex = 16 Top = 5520 Width = 240 End Begin VB.CheckBox stayon Caption = "Check2" Height = 285 Index = 1 Left = 780 TabIndex = 15 Top = 4830 Width = 240 End Begin VB.CheckBox stayon Caption = "Check2" Height = 285 Index = 0 Left = 780 TabIndex = 14 Top = 4155 Width = 240 End Begin VB.CommandButton onbutton Caption = "On" Height = 420 Index = 2 Left = 1215 TabIndex = 13 Top = 5520 Width = 825 End Begin VB.CommandButton onbutton Caption = "On" Height = 420 Index = 1 Left = 1215 TabIndex = 12 Top = 4830 Width = 825 End Begin VB.CommandButton onbutton Caption = "On" Height = 420 Index = 0 Left = 1215 TabIndex = 11 Top = 4155 Width = 825 End Begin VB.CommandButton offbutton Caption = "Shut Down RCX" Height = 330 Left = 4950 TabIndex = 1 Top = 585 Width = 1410 End Begin ComctlLib.Slider direction Height = 450 Index = 2 Left = 2250 TabIndex = 10 Top = 5520 Width = 735 _ExtentX = 1296 _ExtentY = 794 _Version = 327680 MouseIcon = "rcx.frx":030A LargeChange = 1 Max = 1 TickStyle = 3 End Begin ComctlLib.Slider direction Height = 450 Index = 1 Left = 2250 TabIndex = 9 Top = 4830 Width = 735 _ExtentX = 1296 _ExtentY = 794 _Version = 327680 MouseIcon = "rcx.frx":0326 LargeChange = 1 Max = 1 TickStyle = 3 End Begin ComctlLib.Slider direction Height = 450 Index = 0 Left = 2250 TabIndex = 8 Top = 4155 Width = 735 _ExtentX = 1296 _ExtentY = 794 _Version = 327680 MouseIcon = "rcx.frx":0342 LargeChange = 1 Max = 1 TickStyle = 3 End Begin ComctlLib.Slider speed Height = 495 Index = 2 Left = 3240 TabIndex = 4 Top = 5520 Width = 2085 _ExtentX = 3678 _ExtentY = 873 _Version = 327680 MouseIcon = "rcx.frx":035E LargeChange = 1 Max = 7 End Begin ComctlLib.Slider speed Height = 495 Index = 1 Left = 3240 TabIndex = 3 Top = 4830 Width = 2085 _ExtentX = 3678 _ExtentY = 873 _Version = 327680 MouseIcon = "rcx.frx":037A LargeChange = 1 Max = 7 End Begin ComctlLib.Slider speed Height = 495 Index = 0 Left = 3240 TabIndex = 2 Top = 4155 Width = 2085 _ExtentX = 3678 _ExtentY = 873 _Version = 327680 MouseIcon = "rcx.frx":0396 LargeChange = 1 Max = 7 End Begin SPIRITLib.Spirit Spirit1 Height = 330 Left = 5850 TabIndex = 0 Top = 90 Width = 375 _Version = 65536 _ExtentX = 661 _ExtentY = 582 _StockProps = 0 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "Repeat Read:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 7 Left = 0 TabIndex = 46 Top = 1350 Width = 1590 End Begin VB.Line Line1 Index = 1 X1 = 450 X2 = 5715 Y1 = 3645 Y2 = 3645 End Begin VB.Line Line1 Index = 0 X1 = 450 X2 = 5715 Y1 = 1125 Y2 = 1125 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "Battery:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 6 Left = 2610 TabIndex = 44 Top = 630 Width = 870 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "Program:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 5 Left = 180 TabIndex = 43 Top = 630 Width = 870 End Begin VB.Label Label1 Alignment = 1 'Right Justify Caption = "Com Port:" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 4 Left = 180 TabIndex = 42 Top = 180 Width = 870 End Begin VB.Label Label1 Alignment = 2 'Center Caption = "Type" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 3 Left = 2790 TabIndex = 40 Top = 1350 Width = 915 End Begin VB.Label Label1 Alignment = 2 'Center Caption = "Mode" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 2 Left = 4095 TabIndex = 39 Top = 1350 Width = 915 End Begin VB.Label sensorvalue Alignment = 2 'Center BackColor = &H00FFFFFF& BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Index = 2 Left = 855 TabIndex = 32 Top = 3015 Width = 600 End Begin VB.Label sensorvalue Alignment = 2 'Center BackColor = &H00FFFFFF& BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Index = 1 Left = 855 TabIndex = 31 Top = 2340 Width = 600 End Begin VB.Label sensorvalue Alignment = 2 'Center BackColor = &H00FFFFFF& BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Index = 0 Left = 855 TabIndex = 30 Top = 1665 Width = 600 End Begin VB.Label motorlabel Caption = "1" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 5 Left = 225 TabIndex = 26 Top = 1665 Width = 375 End Begin VB.Label motorlabel Caption = "2" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 4 Left = 225 TabIndex = 25 Top = 2340 Width = 375 End Begin VB.Label motorlabel Caption = "3" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 3 Left = 225 TabIndex = 24 Top = 2985 Width = 375 End Begin VB.Label batterylevel BackColor = &H00FFFFFF& BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 285 Left = 3645 TabIndex = 22 Top = 585 Width = 825 End Begin VB.Label Label1 Alignment = 2 'Center Caption = "Power" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 1 Left = 3825 TabIndex = 21 Top = 3870 Width = 915 End Begin VB.Label Label1 Alignment = 2 'Center Caption = "R <--> F" BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 240 Index = 0 Left = 2160 TabIndex = 20 Top = 3870 Width = 915 End Begin VB.Label motorlabel Caption = "C" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 2 Left = 195 TabIndex = 19 Top = 5520 Width = 375 End Begin VB.Label motorlabel Caption = "B" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 1 Left = 195 TabIndex = 18 Top = 4830 Width = 375 End Begin VB.Label motorlabel Caption = "A" BeginProperty Font Name = "MS Sans Serif" Size = 18 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 465 Index = 0 Left = 195 TabIndex = 17 Top = 4155 Width = 375 End Begin VB.Label speedlabel Height = 375 Index = 2 Left = 5460 TabIndex = 7 Top = 5520 Width = 735 End Begin VB.Label speedlabel Height = 375 Index = 1 Left = 5460 TabIndex = 6 Top = 4830 Width = 735 End Begin VB.Label speedlabel Height = 375 Index = 0 Left = 5460 TabIndex = 5 Top = 4155 Width = 735 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Public Function Init() batterylevel.Caption = Spirit1.PBBattery For i = 0 To 2 speed(i).Value = 6 speed_Scroll (i) direction(i).Value = 1 direction_Scroll (i) sensortype(i).AddItem ("none") sensortype(i).AddItem ("touch") sensortype(i).AddItem ("temp") sensortype(i).AddItem ("light") sensortype(i).AddItem ("rotation") mode(i).AddItem ("raw") mode(i).AddItem ("boolean") mode(i).AddItem ("edges") mode(i).AddItem ("pulses") mode(i).AddItem ("pct") mode(i).AddItem ("C") mode(i).AddItem ("F") mode(i).AddItem ("ang") Next For i = 1 To 5 programnum.AddItem i Next programnum.ListIndex = Spirit1.Poll(8, 0) sensortype(0).ListIndex = 1 sensortype(1).ListIndex = 3 sensortype(2).ListIndex = 1 mode(0).ListIndex = 1 mode(1).ListIndex = 4 mode(2).ListIndex = 1 End Function Private Sub commport_Click() Spirit1.ComPortNo = commport.ListIndex + 1 If Spirit1.InitComm = False Then MsgBox ("InitComm failed. Select a new Com port") Exit Sub End If Init End Sub Private Sub direction_Scroll(Index As Integer) If direction(Index).Value = 1 Then Spirit1.SetFwd Index Else Spirit1.SetRwd Index End If End Sub Private Sub Form_Load() commport.AddItem ("Com1") commport.AddItem ("Com2") commport.AddItem ("Com3") commport.AddItem ("Com4") commport.ListIndex = 1 ' default com port=2 End Sub Private Sub Form_Unload(Cancel As Integer) Spirit1.CloseComm End Sub Private Sub offbutton_Click() Spirit1.PBTurnOff End Sub Private Sub onbutton_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Spirit1.Wait 2, Counter * 10 Counter = 0 Spirit1.On Index stayon(Index).Value = 1 End Sub Private Sub onbutton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Spirit1.Wait 2, Counter * 10 Counter = 0 Spirit1.Off (Index) stayon(Index).Value = 0 onbutton(Index).Caption = "On" stayon(Index).Value = 0 End Sub Private Sub programnum_Click() Spirit1.SelectPrgm (programnum.ListIndex) End Sub Private Sub readsensor_Click(Index As Integer) sensorvalue(Index).Caption = Spirit1.Poll(9, Index) End Sub Private Sub mode_Click(Index As Integer) If mode(Index).ListIndex = 4 Then slope = 1 Else slope = 0 End If ret = Spirit1.SetSensorMode(Index, mode(Index).ListIndex, slope) End Sub Private Sub repeat_Click() If repeat.Value = 1 Then Timer1.Enabled = True Else Timer1.Enabled = False End If End Sub Private Sub sensortype_Click(Index As Integer) ret = Spirit1.SetSensorType(Index, sensortype(Index).ListIndex) End Sub Private Sub speed_Scroll(Index As Integer) speedlabel(Index).Caption = speed(Index).Value Spirit1.SetPower Index, 2, speed(Index).Value End Sub Private Sub stayon_Click(Index As Integer) If stayon(Index).Value = 1 Then Spirit1.On (Index) onbutton(Index).Caption = "Off" Else Spirit1.Off (Index) onbutton(Index).Caption = "On" End If End Sub Private Sub Timer1_Timer() For i = 0 To 2 readsensor_Click (i) Next End Sub