die nächste Erweiterung ist erreicht:
2x digitale Eingänge (Taster)
8x Port Erweiterung als Ausgang
1x LDR mit AD Wandlung von 10 bit
1x MIC mit AD Wandlung von 10 bit
1 x Motorsteuerung mit zwei Motoren
Auf dem Buggy habe ich eine Webcam montiert. Derzeit verwende ich zwei USB Kabel. Sinnvoll ist hierbei aber eine leichtes USB Kabel selberlöten (benötigt nur 4 Adern) ein kleiner USB Hub noch auf den Buggy montiert und den Buggy und die Webcam daran anschließen. Wer es möchte kann es auch mit einem Funk USB Hub betreiben. Dann ist man "wirklich" unabhängig.
Jetzt beschäftige ich mich erst einmal mit der Übertragung von Daten per Internet inclusive WebCam streaming. Hilfe nehme ich gerne entgegen...
Habt Spaß

Michael
Funk USB Hub:
http://www.chip.de/news/c1_news_28160633.html
Bild Buggy:

Bild Programmoberfläche:

Code: Alles auswählen
; "MPZ Buggy Faehrt und sieht.pb"
;
; PowerBasic Example um ein Formel Flowcode Buggy von www.matrixmultimedia.com als
; Fahrzeug mit Webcam untesrstützung anzusteuern. Das Gerät wird auch von Elektor vertrieben
; Der PIC 18F4455 besitzt unter anderem 35x I/O´s und 13x 10bit AD´s
; Dieses Programm wird erweitert und erlaubt derzeit:
; 2x digitale Eingänge (Taster)
; 8x digitalen Ausgängen
; 1x LDR mit AD Wandlung von 10 bit
; 1x MIC mit AD Wandlung von 10 bit
; 2x Steuerung der beiden Motoren
;
; PowerBasic Example to use a PIC Formel Flowcode Buggy from www.matrixmultimedia.com as
; car with Webcam.
; The PIC 18F4455 has 35x I/O´s and 13x 10bit AD´s
; This Program will updated and has now:
; 2x digital Inputs
; 8x digital Outputs
; 1x LDR input with 10 bit resulution
; 1x MIC input with 10 bit resulution
; 2x Control of Motorspeed
;
; Version 1.00 by MPZ Okt.2007
; for PB 4.10 beta3
;
; benötigt wird die mcHID.dll von der Firma Mecanique. Die mcHID Library ist
; Bestandteil der EasyHID Software:
; You need the mcHID.dll from the company Mecanique. The mcHID Library is included
; in the EasyHID Software:
; http://www.mecanique.co.uk/software/EasyHID.zip
;
; Ein direkter Download der DLL ist über den folgenden Link möglich
; Direct download link
; http://www.docpro.com.br/arquivos/mcHID.zip
;
; Definierte Übergabeparameter
;
;
; Wert Übergabeparameter Funktion
; Wert
; 1 2 3 4 5 6 7 8
; a b c d e f g h
; Daten PIC -> PC
; a = 1 Daten PIC -> PC
; b,c AD8(x*256+y) ; MIC - AD Wandlung (10 bit, ADC 8)
; d,e AD9(x*256+y) ; LDR - AD Wandlung (10 bit, ADC 9)
; f Taster 1 (Bit 1 of f) / Taster 2 (Bit 2 of f)
; in Vorbereitung
; g,h I2C Bus (a,b); Empfangen von I2C Bus Daten
; Daten PC -> PIC
; a = 13 PC -> PIC
; b 8 fach Output
; e Motor links (x) ; Geschwindigkeit in -100% bis +100% = Wert 0 - 255
; f Motor rechts (x) ; Geschwindigkeit in -100% bis +100% = Wert 0 - 255
; in Vorbereitung
; c Servo 1 out(x) ; Einstellwert eines Servos in 0-100%
; d Servo 2 out(x) ; Einstellwert eines Servos in 0-100%
; g,h I2C Bus (a,b); Senden von I2C Bus Daten
; Wer eine Steuerung über Funk mag:
; http://www.chip.de/news/c1_news_28160633.html -> Funk USB
Enumeration
#Window_0
#Text_Status
#Text_DIGI_IN
#Listview_INPUT
#Text_LDR
#Analog_LDR
#Text_MIC
#Analog_MIC
#Text_OUT
#Button_OUT1
#Button_OUT2
#Button_OUT3
#Button_OUT4
#Button_OUT5
#Button_OUT6
#Button_OUT7
#Button_OUT8
#Speed_Text
#Speed_Left
#Speed_Right
#Speed_Vor
#Speed_Links
#Speed_Rechts
#Speed_Zurueck
#Speed_Tasten
EndEnumeration
; Global
;{/ Globale Variablen
Global pVendorID.l, pProductID.l, DeviceHandle.l, ProductName.s
Global USB_HID.l,DIGITAL_OUT.b, Button_1.b, Button_2.b
Global Dim BufferIn.b( 8 ),Dim BufferOut.b( 8 )
#WM_APP = 32768
#WM_HID_EVENT = #WM_APP + 200
#NOTIFY_PLUGGED = 1
#NOTIFY_UNPLUGGED = 2
#NOTIFY_CHANGED = 3
#NOTIFY_READ = 4
#VendorID = 6017 ; Vendor ID "MPZ USB BUGGY"
#ProductID = 2001 ; ProductID "MPZ USB BUGGY"
ProductName.s = Space(256)
#WM_CAP_START = #WM_USER
#WM_CAP_SET_CALLBACK_ERROR = #WM_CAP_START + 2
#WM_CAP_SET_CALLBACK_STATUS = #WM_CAP_START + 3
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7
#WM_CAP_DRIVER_CONNECT = #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54
#WM_CAP_FILE_SAVEDIB = #WM_USER + 25
#WM_CAP_SET_SCALE = #WM_USER + 53
#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85
#TrackBar_Resolution = 12
;}
Procedure Open_Window_0()
hWnd = OpenWindow(#Window_0, 310, 185, 391, 472, "MPZ USB BUGGY Interface mit Webcam", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered )
If hWnd
If CreateGadgetList(WindowID(#Window_0))
TextGadget(#Text_Status, 135, 10, 120, 20, "No Device", #PB_Text_Center | #PB_Text_Border)
TextGadget(#Text_DIGI_IN, 30, 40, 330, 12, "DIGITAL IN 1 - IN 2 / TIME", #PB_Text_Center)
ListViewGadget(#Listview_INPUT, 30, 56, 330, 50)
TextGadget(#Text_LDR, 30, 110, 330, 12, "LDR INPUT", #PB_Text_Center)
ProgressBarGadget(#Analog_LDR, 30, 130, 330, 20, 0, 1024, #PB_ProgressBar_Smooth)
TextGadget(#Text_MIC, 30, 153, 330, 12, "MIC INPUT", #PB_Text_Center)
ProgressBarGadget(#Analog_MIC, 30, 170, 330, 20, 0, 1024, #PB_ProgressBar_Smooth)
TextGadget(#Text_OUT, 20, 200, 350, 20, "DIGITAL OUT 1 - OUT8", #PB_Text_Center)
ButtonGadget(#Button_OUT1, 20, 220, 40, 30, "OUT 1", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT2, 65, 220, 40, 30, "OUT 2", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT3, 110, 220, 40, 30, "OUT 3", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT4, 155, 220, 40, 30, "OUT 4", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT5, 200, 220, 40, 30, "OUT 5", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT6, 245, 220, 40, 30, "OUT 6", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT7, 290, 220, 40, 30, "OUT 7", #PB_Button_Default | #PB_Button_Toggle)
ButtonGadget(#Button_OUT8, 335, 220, 40, 30, "OUT 8", #PB_Button_Default | #PB_Button_Toggle)
TextGadget (#Speed_Text, 15, 260, 250, 30, "Motor Speed"+Chr(13)+"Left Right", 0)
TrackBarGadget(#Speed_Left, 15, 290, 20, 170, 0, #TrackBar_Resolution, #PB_TrackBar_Vertical|#PB_TrackBar_Ticks)
SetGadgetState(#Speed_Left, #TrackBar_Resolution / 2)
TrackBarGadget(#Speed_Right, 55, 290, 20, 170, 0, #TrackBar_Resolution, #PB_TrackBar_Vertical|#PB_TrackBar_Ticks)
SetGadgetState(#Speed_Right, #TrackBar_Resolution / 2)
TextGadget (#Speed_Tasten, 305, 260, 250, 80, "Tastenbelegung"+Chr(13)+Chr(13)+"Vorwärts: W"+Chr(13)+"Rückwärts: S"+Chr(13)+"Links: A"+Chr(13)+"Rechts: D", 0)
EndIf
If OpenLibrary(0, "AVICAP32.DLL")
hWebcam = CallFunction(0, "capCreateCaptureWindowA", "", #WS_VISIBLE + #WS_CHILD, 95, 260, 200, 200, hwnd, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT , 0 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_SCALE , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 1 , 0)
SendMessage_(hwebcam, #WM_CAP_FILE_SAVEDIB , 1 , 0)
EndIf
ProcedureReturn 1
EndIf
EndProcedure
;{/ DLL LIB
Prototype hidConnect (pHostWin.l); As Boolean
Prototype hidDisconnect (); As Boolean
Prototype hidRead (pHandle.l, pData.b); As Boolean
Prototype hidWrite (pHandle.l, pData.b); As Boolean
Prototype hidReadEx (pVendorID.l, pProductID.l, pData.b); As Boolean
Prototype hidWriteEx (pVendorID.l, pProductID.l, ByRef.b); As Boolean
Prototype hidGetVendorName (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetProductName (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetSerialNumber (pHandle.l, pText.s, pLen.l); As Long
Prototype hidGetVendorID (pHandle.l); As Long
Prototype hidGetProductID (pHandle.l); As Long
Prototype hidGetVersion (pHandle.l); As Long
Prototype hidGetInputReportLength (pHandle.l); As Long
Prototype hidGetOutputReportLength (pHandle.l); As Long
Prototype hidGetHandle (pVendoID.l, pProductID.l); As Long
Prototype hidGetItem (pIndex.l); As Long
Prototype hidGetItemCount (); As Long
Prototype hidSetReadNotify (pHandle.l, pValue.b);
Prototype hidIsReadNotifyEnabled (pHandle.l); As Boolean
Prototype hidIsAvailable (pVendorID.l, pProductID.l); As Boolean
Define mcHID_DLL.l = OpenLibrary(#PB_Any, "mcHID.dll")
If mcHID_DLL
Global hidConnect.hidConnect = GetFunction(mcHID_dll,"Connect") ; (ByVal pHostWin As Long) As Boolean
Global hidDisconnect.hidDisconnect = GetFunction(mcHID_dll,"Disconnect"); () As Boolean
Global hidRead.hidRead = GetFunction(mcHID_dll,"Read"); (ByVal pHandle As Long, ByRef pData As Byte) As Boolean
Global hidWrite.hidWrite = GetFunction(mcHID_dll,"Write"); (ByVal pHandle As Long, ByRef pData As Byte) As Boolean
Global hidReadEx.hidReadEx = GetFunction(mcHID_dll,"ReadEx"); (ByVal pVendorID As Long, ByVal pProductID As Long, ByRef pData As Byte) As Boolean
Global hidWriteEx.hidWriteEx = GetFunction(mcHID_dll,"WriteEx"); (ByVal pVendorID As Long, ByVal pProductID As Long, ByRef pData As Byte) As Boolean
Global hidGetVendorName.hidGetVendorName = GetFunction(mcHID_dll,"GetVendorName"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetProductName.hidGetProductName = GetFunction(mcHID_dll,"GetProductName"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetSerialNumber.hidGetSerialNumber = GetFunction(mcHID_dll,"GetSerialNumber"); (ByVal pHandle As Long, ByVal pText As String, ByVal pLen As Long) As Long
Global hidGetVendorID.hidGetVendorID = GetFunction(mcHID_dll,"GetVendorID"); (ByVal pHandle As Long) As Long
Global hidGetProductid.hidGetProductid = GetFunction(mcHID_dll,"GetProductID"); (ByVal pHandle As Long) As Long
Global hidGetVersion.hidGetVersion = GetFunction(mcHID_dll,"GetVersion"); (ByVal pHandle As Long) As Long
Global hidGetInputReportLength.hidGetInputReportLength = GetFunction(mcHID_dll,"GetInputReportLength"); (ByVal pHandle As Long) As Long
Global hidGetOutputReportLength.hidGetOutputReportLength = GetFunction(mcHID_dll,"GetOutputReportLength"); (ByVal pHandle As Long) As Long
Global hidGetHandle.hidGetHandle = GetFunction(mcHID_dll,"GetHandle"); (ByVal pVendoID As Long, ByVal pProductID As Long) As Long
Global hidGetItem.hidGetItem = GetFunction(mcHID_dll,"GetItem"); (ByVal pIndex As Long) As Long
Global hidGetItemCount.hidGetItemCount = GetFunction(mcHID_dll,"GetItemCount"); (ByVal pIndex As Long) As Long
Global hidSetReadNotify.hidSetReadNotify = GetFunction(mcHID_dll,"SetReadNotify"); ByVal pHandle As Long, ByVal pValue As Boolean)
Global hidIsReadNotifyEnabled.hidIsReadNotifyEnabled = GetFunction(mcHID_dll,"IsReadNotifyEnabled"); (ByVal pHandle As Long) As Boolean
Global hidIsAvailable.hidIsAvailable = GetFunction(mcHID_dll,"IsAvailable"); (ByVal pVendorID As Long, ByVal pProductID As Long) As Boolean
Else
MessageRequester("Fehlermeldung", "Das Programm konnte die mcHID.dll Datei nicht öffnen", #PB_MessageRequester_Ok)
End
EndIf
;}
ProcedureDLL mcHID_Free(); DLL FREE
If mcHID_DLL
CloseLibrary(#PB_Any)
EndIf
XLTable_DLL = 0
EndProcedure
;- Window Callback
Procedure WinProc(hWnd,Msg,wParam,lParam)
result = #PB_ProcessPureBasicEvents
If Msg = #WM_HID_EVENT
Select wParam
; HID device has been plugged message...
Case #NOTIFY_PLUGGED
;HID device has been plugged
DeviceHandle = hidGetHandle(#VendorID, #ProductID)
If DeviceHandle
hidGetProductName (DeviceHandle.l,ProductName,256)
SetGadgetText(#Text_Status, ProductName)
; Reset für PIC eingefügt
BufferOut(0) = 0
BufferOut(1) = 1
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
EndIf
Case #NOTIFY_UNPLUGGED
;HID device has unplugged
DeviceHandle = hidGetHandle(#VendorID, #ProductID)
If Not DeviceHandle
SetGadgetText(#Text_Status, "No Device")
EndIf
Case #NOTIFY_CHANGED
;HID device has been changed
If DeviceHandle
hidSetReadNotify (DeviceHandle, #True) ;read event...
EndIf
;DeviceHandle = hidGetHandle(#VendorID, #ProductID)
;hidSetReadNotify (DeviceHandle, #True) ! IMPORTANT ! Read works only With this flag
Case #NOTIFY_READ
; READ works only if the hidSetReadNotify flag is set
If hidRead(DeviceHandle, @BufferIn(0))
;AddGadgetItem(#Listview_INPUT,0, "Read: "+Str(BufferIn(0)) +"/"+ Str(BufferIn(1))+"/"+Str(BufferIn(2))+"/"+Str(BufferIn(3))+"/"+Str(BufferIn(4))+"/"+Str(BufferIn(5))+"/"+Str(BufferIn(6))+"/"+Str(BufferIn(7))+"/"+Str(BufferIn(8)))
If BufferIn(1) = 1 ; Taster 1
If BufferIn(6) & %01 = 1
If Button_1 = 0
AddGadgetItem(#Listview_INPUT,0, "Button 1 at "+FormatDate("%hh:%ii:%ss", Date()))
Button_1 = 1
EndIf
Else
Button_1 = 0
EndIf
If BufferIn(6) & %10 = 2 ; Taster 2
If Button_2 = 0
AddGadgetItem(#Listview_INPUT,0, "Button 2 at "+FormatDate("%hh:%ii:%ss", Date()))
Button_2 = 1
EndIf
Else
Button_2 = 0
EndIf
AD_Wert = BufferIn(2)*256 ; LDR IN
If BufferIn(3) > 0
AD_Wert = AD_Wert + BufferIn(3)
Else
AD_Wert = AD_Wert + 256 + BufferIn(3)
EndIf
SetGadgetState (#Analog_LDR,1024-AD_Wert)
AD_Wert = BufferIn(4)*256 ; MIC IN
If BufferIn(5) > 0
AD_Wert = AD_Wert + BufferIn(5)
Else
AD_Wert = AD_Wert + 256 + BufferIn(5)
EndIf
SetGadgetState (#Analog_MIC,AD_Wert)
EndIf
Else
AddGadgetItem(#Listview_INPUT,0, "Read Error!")
EndIf
EndSelect
EndIf
ProcedureReturn result
EndProcedure
;{ Mainunit
If Open_Window_0()
hidconnect (WindowID(#Window_0))
SetWindowCallback(@WinProc())
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = 0
BufferOut(5) = 127
BufferOut(6
) = 127
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
AddKeyboardShortcut(#Window_0, #PB_Shortcut_W, #Speed_Vor)
AddKeyboardShortcut(#Window_0, #PB_Shortcut_A, #Speed_Links)
AddKeyboardShortcut(#Window_0, #PB_Shortcut_D, #Speed_Rechts)
AddKeyboardShortcut(#Window_0, #PB_Shortcut_S, #Speed_Zurueck)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget ; Or #PB_Event_Menu
Select EventGadget() ;Or EventMenu()
Case #Button_OUT1 ; Erweiterungsport Bit 1
If GetGadgetState(#Button_OUT1)
DIGITAL_OUTD = DIGITAL_OUTD | %00000001
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11111110
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT2 ; Erweiterungsport Bit 2
If GetGadgetState(#Button_OUT2)
DIGITAL_OUTD = DIGITAL_OUTD | %00000010
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11111101
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT3 ; Erweiterungsport Bit 3
If GetGadgetState(#Button_OUT3)
DIGITAL_OUTD = DIGITAL_OUTD | %00000100
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11111011
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT4 ; Erweiterungsport Bit 4
If GetGadgetState(#Button_OUT4)
DIGITAL_OUTD = DIGITAL_OUTD | %00001000
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11110111
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Send Out
Case #Button_OUT5 ; Erweiterungsport Bit 5
If GetGadgetState(#Button_OUT5)
DIGITAL_OUTD = DIGITAL_OUTD | %00010000
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11101111
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Button_OUT6 ; Erweiterungsport Bit 6
If GetGadgetState(#Button_OUT6)
DIGITAL_OUTD = DIGITAL_OUTD | %00100000
Else
DIGITAL_OUTD = DIGITAL_OUTD & %11011111
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Button_OUT7 ; Erweiterungsport Bit 7
If GetGadgetState(#Button_OUT7)
DIGITAL_OUTD = DIGITAL_OUTD | %01000000
Else
DIGITAL_OUTD = DIGITAL_OUTD & %10111111
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Button_OUT8 ; Erweiterungsport Bit 8
If GetGadgetState(#Button_OUT8)
DIGITAL_OUTD = DIGITAL_OUTD | %10000000
Else
DIGITAL_OUTD = DIGITAL_OUTD & %01111111
EndIf
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Speed_Left
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(6) = 127 * (#TrackBar_Resolution - GetGadgetState(#Speed_Left)) / #TrackBar_Resolution / 2
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Speed_Right
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 127 * (#TrackBar_Resolution - GetGadgetState(#Speed_Right)) / #TrackBar_Resolution / 2
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #Speed_Vor
SetGadgetState(#Speed_Left, #TrackBar_Resolution)
SetGadgetState(#Speed_Right, #TrackBar_Resolution)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 0
BufferOut(6) = 0
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Delay (100)
SetGadgetState(#Speed_Left, #TrackBar_Resolution / 2)
SetGadgetState(#Speed_Right, #TrackBar_Resolution / 2)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 127
BufferOut(6) = 127
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Speed_Links
SetGadgetState(#Speed_Left, 0)
SetGadgetState(#Speed_Right, #TrackBar_Resolution)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 0
BufferOut(6) = 255
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Delay (100)
SetGadgetState(#Speed_Left, #TrackBar_Resolution / 2)
SetGadgetState(#Speed_Right, #TrackBar_Resolution / 2)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 127
BufferOut(6) = 127
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Speed_Rechts
SetGadgetState(#Speed_Left, #TrackBar_Resolution)
SetGadgetState(#Speed_Right, 0)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 255
BufferOut(6) = 0
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Delay (100)
SetGadgetState(#Speed_Left, #TrackBar_Resolution / 2)
SetGadgetState(#Speed_Right, #TrackBar_Resolution / 2)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 127
BufferOut(6) = 127
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Case #Speed_Zurueck
SetGadgetState(#Speed_Left, 0)
SetGadgetState(#Speed_Right, 0)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 255
BufferOut(6) = 255
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
Delay (100)
SetGadgetState(#Speed_Left, #TrackBar_Resolution / 2)
SetGadgetState(#Speed_Right, #TrackBar_Resolution / 2)
BufferOut(0) = 0
BufferOut(1) = 13 ; Out PortD,(x) ; Ausgabe von PortD
BufferOut(2) = DIGITAL_OUTD
BufferOut(5) = 127
BufferOut(6) = 127
hidWrite (DeviceHandle.l,@BufferOut()) ; Sende Daten zu einem HID Gerät
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 0, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
CloseWindow(0)
CloseLibrary(0)
hidDisconnect ()
mcHID_Free()
EndIf
End
;}
;
Code: Alles auswählen
;Buggy_Fahren.HEX File wird erstellt
;-----------------------------
If CreateFile(1, "Buggy_Fahren.HEX" )
Restore StringData
Repeat
Read Daten.s
If Daten.s = "End" : Break : EndIf
WriteStringN(1,Daten.s)
ForEver
CloseFile (1)
EndIf
DataSection
StringData:
Data.s ":020000040000FA"
Data.s ":10080000E9EF0AF0FFFFFFFFFFFFFFFFFFFFFFFF2A"
Data.s ":10081000E9CF01F0EACF02F0E1CF03F0E2CF04F03C"
Data.s ":10082000D9CF05F0DACF06F0D4EC08F001C0E9FF2B"
Data.s ":1008300002C0EAFF03C0E1FF04C0E2FF05C0D9FF28"
Data.s ":1008400006C0DAFF110004010401376B1E0E716E41"
Data.s ":100850000401400E096F5B0E0A6F040E0B6F880EC9"
Data.s ":10086000086F9B0E0E6F040E0F6F0D6B400E0C6F1A"
Data.s ":100870001200040104012A6B14EE9BF024EE18F020"
Data.s ":10088000080E2A5D04E2E6CFDEFF2A2BF9D7080E18"
Data.s ":100890003E6F3F6B1200040104012A6B14EE20F03E"
Data.s ":1008A00024EE18F0020E2A5D04E2E6CFDEFF2A2BCA"
Data.s ":1008B000F9D7020E3E6F3F6B12000401800E040157"
Data.s ":1008C00010634FD0135103082FE0135102080EE0BC"
Data.s ":1008D0001351010801E044D0010E396F960E3A6FB2"
Data.s ":1008E000170E3B6F120E3E6F3F6B3AD0010E396F01"
Data.s ":1008F000450EE16E040EE26E1245E126000EE22284"
Data.s ":10090000E6CF3AF4E7CF3BF4F86AF76A040E3A25EB"
Data.s ":10091000F66E3B51F7220900F5CF3EF409000A00BC"
Data.s ":10092000F5CF3FF40A001CD0010E396F020E12659C"
Data.s ":1009300002D0030E126F490EE16E040EE26E1245F4"
Data.s ":10094000E126000EE222E6CF3AF4E7CF3BF43AC4C8"
Data.s ":10095000F6FF3BC4F7FF0800F5503E6F3F6B00D039"
Data.s ":10096000348312000401010E0401396F716A726A46"
Data.s ":10097000736A746A756A766A776A786A796A7A6A73"
Data.s ":100980007B6A7C6A7D6A7E6A7F6A326B336B12C4D3"
Data.s ":1009900031F4125103E1050E306F04D0060E306FB2"
Data.s ":1009A00023EC04F0120004010401186B196B1051C0"
Data.s ":1009B0001F0B020814E010511F0B01080CE010512E"
Data.s ":1009C0001F0B000801E02CD0010E0401396F34A187"
Data.s ":1009D00001D0188325D0010E0401396F21D0010EFA"
Data.s ":1009E0000401396F14510F0B0800F350296B000FED"
Data.s ":1009F000286F040E29231451800B01E0010E04001E"
Data.s ":100A0000F35028253C6F000E29213D6F3CC4E1FFC7"
Data.s ":100A10003DC4E2FFE750040B02E0010E186F00D066"
Data.s ":100A2000010E0401396309E1180E3A6F040E3B6FA1"
Data.s ":100A30003493020E3E6F3F6B00D012000401010E92"
Data.s ":100A40000401125D0CE110511F0B000808E1010EBA"
Data.s ":100A5000396F030E115D02E1348101D03491000E33"
Data.s ":100A60000401125D37E110511F0B020833E11451EC"
Data.s ":100A70000F0B00082FE0010E396F14510F0B080007"
Data.s ":100A8000F350296B000F286F040E29231451800B9B"
Data.s ":100A900001E0010E0400F35028253C6F000E2921CF"
Data.s ":100AA0003D6F030E115D07E1840E3CC4E1FF3DC4C0"
Data.s ":100AB000E2FFE76E0FD014AF07D0000E3CC4E1FF99"
Data.s ":100AC0003DC4E2FFE76E06D0880E3CC4E1FF3DC4A2"
Data.s ":100AD000E2FFE76E12000401010E0401135D04E061"
Data.s ":100AE000030E135D10E01AD0000E0401125D04E045"
Data.s ":100AF000010E125D07E012D0020E0401396F39ECCD"
Data.s ":100B000004F00CD00BD0000E0401125D01E006D001"
Data.s ":100B1000020E0401396F4BEC04F000D0180E0401F2"
Data.s ":100B20003A6F040E3B6F349312000401020E04016D"
Data.s ":100B3000135D04E0030E135D0EE01AD0000E0401F5"
Data.s ":100B4000125D01E015D0020E0401396F5B0E3C6F9F"
Data.s ":100B5000040E3D6F0DD0000E0401125D01E008D0BF"
Data.s ":100B6000020E0401396F200E3C6F040E3D6F00D061"
Data.s ":100B700012000401080E04013E5D000E3F5905E21B"
Data.s ":100B80003EC440F43FC441F404D0080E406F000E50"
Data.s ":100B9000416F049304914151030B041340C405F4C5"
Data.s ":100BA00040513E5F41513F5B180E3C6F040E3D6F5C"
Data.s ":100BB00034A31AD03AC4F6FF3BC4F7FFF86A3CC42A"
Data.s ":100BC000E1FF3DC4E2FF04014051411105E1F6CFD0"
Data.s ":100BD0003AF4F7CF3BF41FD00900F5CFE6FF090048"
Data.s ":100BE000400701E24107EFD73AC4E1FF3BC4E2FF0F"
Data.s ":100BF0003CC4D9FF3DC4DAFF04014051411105E175"
Data.s ":100C0000E1CF3AF4E2CF3BF406D0E6CFDEFF400777"
Data.s ":100C100001E24107F1D71200040104011051600BF9"
Data.s ":100C2000E842E842E842E842E84200085CE111514B"
Data.s ":100C30000C0858E01151070855E011510B0846E027"
Data.s ":100C400011510A0834E0115103082EE01151010836"
Data.s ":100C50002BE01151000825E01151080816E0115150"
Data.s ":100C6000090810E0115106080AE01151050801E0D9"
Data.s ":100C70003AD0010E0401396F040E306F34D05DECB0"
Data.s ":100C800004F031D0B2EC04F02ED0010E0401396F23"
Data.s ":100C9000310E3A6F040E3A6F3493010E3E6F3F6B84"
Data.s ":100CA00022D0D3EC04F01FD01EEC05F01CD0010EB6"
Data.s ":100CB0000401396F14513A6F3B6B320E3A27040E20"
Data.s ":100CC0003B233493010E3E6F3F6B0DD0010E0401A8"
Data.s ":100CD000396FE26A320E1425E16E040EE22212C46C"
Data.s ":100CE000E7FF01D000D004011200040104011051FB"
Data.s ":100CF0001F0B010878E11451000875E11151060835"
Data.s ":100D000001E02AD01351210807E01351220812E014"
Data.s ":100D1000135123081DE01DD0020E0401396F010E8E"
Data.s ":100D2000316304D0DE0E3A6F170E3B6F090E3E6F33"
Data.s ":100D30003F6B0FD0020E0401396F010E316307D0F3"
Data.s ":100D40000C0E3A6F180E3B6F2F0E3E6F3F6B01D0AB"
Data.s ":100D500000D00401348300D004011051600BE8423C"
Data.s ":100D6000E842E842E842E84201083DE111510B083F"
Data.s ":100D700034E01151030825E011510A081CE011511B"
Data.s ":100D800002080DE01151090807E01151010801E0C6"
Data.s ":100D90002AD06BEC05F027D095EC05F024D0020E9C"
Data.s ":100DA0000401396F350E3A6F040E3B6F3493010E18"
Data.s ":100DB0003E6F3F6B18D0020E0401396F1351356F2F"
Data.s ":100DC00012D0020E0401396F360E3A6F040E3B6FDB"
Data.s ":100DD0003493010E3E6F3F6B06D0020E0401396F53"
Data.s ":100DE0001251366F00D0040112000401000E0401FC"
Data.s ":100DF00039630AD0080E016F100E026F040E036FE4"
Data.s ":100E0000840E006F046F30D0040110AF1ED00401B7"
Data.s ":100E10003E51165D3F51175904E216C43EF417C403"
Data.s ":100E20003FF4B9EC05F0010E0401386F080E016FB4"
Data.s ":100E3000100E026F040E036F800E006F180E066F07"
Data.s ":100E4000040E076FC80E046F0FD0020E0401386F36"
Data.s ":100E5000056BC80E046F080E016F180E026F040EAA"
Data.s ":100E6000036FC80E006F00D06D9800D0120004010F"
Data.s ":100E7000030E04010015436F01C442F442513E27A2"
Data.s ":100E800043513F23180E3A6F040E3B6F3AC4E1FF03"
Data.s ":100E90003BC4E2FF3CC4D9FF3DC4DAFF0401425128"
Data.s ":100EA000431105E1E1CF3AF4E2CF3BF406D0E6CFBF"
Data.s ":100EB000DEFF420701E24307F1D712000401020EF0"
Data.s ":100EC0000401135D04E0030E135D17E020D0000E53"
Data.s ":100ED0000401125D01E01BD004012A6B14EE5BF0EB"
Data.s ":100EE00024EE9BF0080E2A5D04E2E6CFDEFF2A2BFB"
Data.s ":100EF000F9D7080E3E6F3F6B0AD0000E0401125D59"
Data.s ":100F000001E005D0020E04013E6F3F6B00D01200DD"
Data.s ":100F10000401000E0401386F080E016F100E026FFD"
Data.s ":100F2000040E036F880E006F000E046F12000401A0"
Data.s ":100F3000000E0401386F000E396F3E6B3F6B0CECF6"
Data.s ":100F400006F0000E0401396302D075EC06F0F5ECF2"
Data.s ":100F500006F012000401020E0401386311D037ECD0"
Data.s ":100F600007F0020E0401396302D05EEC07F00401C1"
Data.s ":100F700000BD03D0C80E006F02D0880E006F03D0F2"
Data.s ":100F800088EC07F000D012000401040E0401306365"
Data.s ":100F900009D012C46EFF6E5003E0050E306F02D010"
Data.s ":100FA000030E306F010E040138630BD0B9EC05F06D"
Data.s ":100FB000040104BD03D0C80E046F02D0880E046F74"
Data.s ":100FC00003D088EC07F000D0120004010401376B55"
Data.s ":100FD00008BF1BD009512C6502D009C42CF4376B13"
Data.s ":100FE00014EE5BF02DC4D9FF2EC4DAFF2C51375D0F"
Data.s ":100FF00004E2E6CFDEFF372BF9D7400E096F400E33"
Data.s ":101000000817087D880E081300D00401375112001C"
Data.s ":1010100004016D9269946894120004016A6A686A16"
Data.s ":101020009F0E6B6E3B0E696E6E6A716A726A736AAE"
Data.s ":10103000746A756A766A776A786A796A7A6A7B6AA4"
Data.s ":101040007C6A7D6A7E6A7F6A160E706E68A602D020"
Data.s ":101050006896FCD76D9888EC07F004013491316BE9"
Data.s ":10106000030E306F12000401698468986D821200CB"
Data.s ":101070000401689C1200040170A003D088EC07F002"
Data.s ":101080007090689A120004016892120004017C0EAC"
Data.s ":101090006C1404012F6F000E2F6301D005D0040ED5"
Data.s ":1010A0002F6301D00ED010D0040100513C0BE84258"
Data.s ":1010B000E8420D0803E197EC07F002D0AAEC07F034"
Data.s ":1010C00003D0C4EC07F000D0120004017C0E6C14B5"
Data.s ":1010D00004012F6F080E2F6301D005D00C0E2F6373"
Data.s ":1010E00001D00DD00DD057C42DF458C42EF4080EE5"
Data.s ":1010F00004012C6FE5EC07F00401446F01D000D02F"
Data.s ":101100001200E9CF51F4EACF52F4E1CF53F4E2CF29"
Data.s ":1011100054F4D9CF55F4DACF56F40401000E04018B"
Data.s ":10112000306301D034D069A404D068A402D008ECA4"
Data.s ":1011300008F06DB22CD069A004D068A002D00DECEC"
Data.s ":1011400008F069A804D068A802D033EC08F069ACB4"
Data.s ":1011500004D068AC02D038EC08F069AA04D068AAC0"
Data.s ":1011600002D03BEC08F069A204D068A202D043ECA4"
Data.s ":1011700008F0030E0401306101D009D069A607D040"
Data.s ":1011800068A605D046EC08F065EC08F0689656C4F1"
Data.s ":10119000DAFF55C4D9FF54C4E2FF53C4E1FF52C47F"
Data.s ":1011A000EAFF51C4E9FF1200A0AA05D0A1AA03D00A"
Data.s ":1011B00081EC08F0A19A12003F0E566EFF0E556E9C"
Data.s ":1011C000562E01D003D0552EFED7FAD72B0E556ED2"
Data.s ":1011D000552EFED70000000012002B0E556E552E26"
Data.s ":1011E000FED70000000012001F0E576EFF0E566E55"
Data.s ":1011F000FF0E556E572E01D007D0562E01D003D0CA"
Data.s ":10120000552EFED7FAD7F6D7980E566EFF0E556EAE"
Data.s ":10121000562E01D003D0552EFED7FAD79D0E556E0F"
Data.s ":10122000552EFED700000000120004016DB612001A"
Data.s ":10123000140E6F6E000E0401306F346B316B6D6AEB"
Data.s ":10124000696A6D86010E306FDCEC08F06DBA06D06D"
Data.s ":10125000686A696A69806988020E0401306F120049"
Data.s ":101260001200C26A070EC012C08E26C04BF04B3669"
Data.s ":101270004B904B364B904B50C212C280EDEC08F0B5"
Data.s ":10128000C2824D6AC2B24D2A4D50010A02E10000ED"
Data.s ":10129000F8D7C4CF4DF0000E4E6E4DC04EF04D6AE3"
Data.s ":1012A0004DC027F04EC028F0C3504D10276E4EC0E1"
Data.s ":1012B00028F0000E2812C29027C04BF028C04CF036"
Data.s ":1012C0001200040104010CBFFED7400E2C6502D0B1"
Data.s ":1012D000400E2C6F2A6B2DC4E1FF2EC4E2FF24EEDA"
Data.s ":1012E0009BF02C512A5D04E2E6CFDEFF2A2BF9D7D2"
Data.s ":1012F00004012CC40DF4400E0C170C7D880E0C1349"
Data.s ":1013000012000001566A556A546A4B504F02F4CFDE"
Data.s ":1013100054F0F3CF53F04C505002F4CF56F0F3CFCB"
Data.s ":1013200055F04B505002F3505426F4505522E86AC1"
Data.s ":1013300056224C504F02F3505426F4505522E86A7E"
Data.s ":10134000562253C04BF054C04CF055C04DF056C01F"
Data.s ":101350004EF0120004016DA612006D6A696A000E5B"
Data.s ":101360000401306F1200F26AF50EF16EC00EF06EDD"
Data.s ":10137000D09E9D6AA06A9E6AA16A0F0EC112FF0EDE"
Data.s ":10138000926EFF0E936EFF0E946E956A070E966E28"
Data.s ":10139000896A8A6A8B6A8C6A8D6A120004EE00F090"
Data.s ":1013A000050EEE6AEA62FDD7F4EC08F00401BA0E0D"
Data.s ":1013B0000401456F170E466FBA0E476F170E486F40"
Data.s ":1013C0006A0E496F180E4A6F720E4B6F180E4C6FF3"
Data.s ":1013D000960E4D6F180E4E6FCE0E4F6F180E506F4B"
Data.s ":1013E00022C057F423C058F424C059F425C05AF43D"
Data.s ":1013F00015EC09F0A19AA08AF28CF28E1200949456"
Data.s ":10140000CA840C0EBD1212009492CA840C0EBA1239"
Data.s ":1014100012009386090E266E31EC09F04BC022F0C3"
Data.s ":101420004CC023F022C04BF023C04CF01200938438"
Data.s ":10143000080E266E31EC09F04BC022F04CC023F0B0"
Data.s ":1014400022C04BF023C04CF012004C6A04010CBFC8"
Data.s ":101450004C2A4C50000A02E0256A0CD0A09A22C007"
Data.s ":101460002DF423C02EF424C02CF461EC09F0A08AE2"
Data.s ":10147000010E256E25C04BF01200226AA09A0401CD"
Data.s ":10148000060E0401306101D008D06DB206D044537D"
Data.s ":1014900004E044C44BF0446B04D04B6A0401446B39"
Data.s ":1014A00000D0A08A120022C04BF01200CBCF4BF02C"
Data.s ":1014B000000E4C6E010E4B244F6E000E4C20506EF1"
Data.s ":1014C00022C04BF0000E4C6E81EC09F0060E4D6E02"
Data.s ":1014D0004BC053F04CC054F04D5005E054325332E1"
Data.s ":1014E000549EFF0FFAD753C04BF054C04CF04B360C"
Data.s ":1014F0004B904C364B364B904C364B364B904C36D3"
Data.s ":101500004B364B904C36300E4B14516E4CC052F053"
Data.s ":10151000000E521653C04BF054C04CF04C324B32BC"
Data.s ":101520004C9E4C324B324C9E4BC0BEFF0F0EBD1634"
Data.s ":101530005150BD121200CBCF4BF0000E4C6E010E7D"
Data.s ":101540004B244F6E000E4C20506E22C04BF0000E0C"
Data.s ":101550004C6E81EC09F0060E4D6E4BC053F04CC042"
Data.s ":1015600054F04D5005E054325332549EFF0FFAD7D9"
Data.s ":1015700053C04BF054C04CF04B364B904C364B366E"
Data.s ":101580004B904C364B364B904C364B364B904C3642"
Data.s ":10159000300E4B14516E4CC052F0000E521653C018"
Data.s ":1015A0004BF054C04CF04C324B324C9E4C324B32D0"
Data.s ":1015B0004C9E4BC0BBFF0F0EBA165150BA12120010"
Data.s ":1015C000AAEC09F0A19AA09A1200BE6ABD98BD9A31"
Data.s ":1015D0001200B3EC09F0070E226E000E236E0F0E00"
Data.s ":1015E000246E000E256ECEEC09F0CA80CA824A0E27"
Data.s ":1015F000CB6EE5EC0AF0FFEC09F004EC0AF0010E0A"
Data.s ":101600000F6E09EC0AF04BC017F04CC018F04CC03C"
Data.s ":101610004FF0506A4FC010F04BC011F017EC0AF0B9"
Data.s ":101620004BC019F04CC01AF04CC04FF0506A4FC07C"
Data.s ":1016300012F04BC013F04F6A81B84F2A4F50010A85"
Data.s ":1016400002E1148002D0020E14164F6A81BA4F2AAA"
Data.s ":101650004F50010A02E1148202D0010E14160F0E3F"
Data.s ":10166000226E000E236E080E246E25EC0AF03DEC6F"
Data.s ":101670000AF04BC000F01B6A00501B5CD8B089D048"
Data.s ":1016800007C01CF008C01DF00BC01EF00CC01FF0FE"
Data.s ":1016900007500D0AD8A47BD0010E1D144B6E4B527F"
Data.s ":1016A00003E0838055EF0BF08390020E1D144F6E04"
Data.s ":1016B0004F50020A03E183825FEF0BF08392040E26"
Data.s ":1016C0001D144F6E4F50040A03E1838469EF0BF041"
Data.s ":1016D0008394080E1D144F6E4F50080A03E1838651"
Data.s ":1016E00073EF0BF08396100E1D144F6E4F50100ABF"
Data.s ":1016F00003E183887DEF0BF08398200E1D144F6E5D"
Data.s ":101700004F50200A03E1838A87EF0BF0839A400E43"
Data.s ":101710001D144F6E4F50400A03E1838C91EF0BF084"
Data.s ":10172000839C800E1D144F6E4F50800A03E1838E00"
Data.s ":101730009BEF0BF0839EFC0E9616800E1E144F6ED0"
Data.s ":101740004F50800A08E184921EC022F02236229077"
Data.s ":1017500056EC0AF007D084821EC022F02236229076"
Data.s ":1017600056EC0AF0800E1F144F6E4F50800A08E1AD"
Data.s ":1017700084901FC022F0223622909BEC0AF007D002"
Data.s ":1017800084801FC022F0223622909BEC0AF01B2A94"
Data.s ":1017900073D735D7FFD71200010000000200000008"
Data.s ":1017A00000000000080081001700D10007000100C0"
Data.s ":1017B00000000100020000000100090002002900F1"
Data.s ":1017C0000000010001000000A00032000900040038"
Data.s ":1017D00000000000020003000000000000000900FB"
Data.s ":1017E0002100010001000000010022002F00000084"
Data.s ":1017F00007000500810003004000000014000700FE"
Data.s ":101800000500010003004000000014000600A000D5"
Data.s ":10181000FF0009000100A1000100090003001500FC"
Data.s ":10182000000026000000FF00750008009500080079"
Data.s ":1018300081000200090004001500000026000000DD"
Data.s ":10184000FF007500080095000800910002000900E3"
Data.s ":1018500005001500000026000000FF0075000800CC"
Data.s ":1018600095000200B1000200C0000400030009005E"
Data.s ":101870000400120003004D000000500000005A0058"
Data.s ":10188000000020000000460000004100000043006E"
Data.s ":101890000000540000001C0003004D000000500038"
Data.s ":1018A00000005A0000002000000055000000530016"
Data.s ":1018B000000042000000200000004200000055002F"
Data.s ":1018C000000047000000470000005900000002002F"
Data.s ":1018D0000300FFFFFFFFFFFFFFFFFFFFFFFFFFFF13"
Data.s ":020000040030CA"
Data.s ":0E000000E03EFFFEFFF99BFFFFFFFFBFFFFF8B"
Data.s ":00000001FF"
Data.s "End"