'Non-UI application (console / server application)
#Region Project Attributes
#CommandLineArgs:
#MergeLibraries: True
#End Region
Sub Process_Globals
Dim sp As Serial
Dim astream As AsyncStreams
Dim ForCRC(255) As Int
ForCRC = Array As Int(0,94,188,226,97,63,221,131,194,156,126,32,163,253,31,65,157,195,33,127,252,162,64,30,95,1,227,189,62,96,130,220,35,125,159,193,66,28,254,160,225,191,93,3,128,222,60,98,190,224,2,92,223,129,99,61,124,34,192,158,29,67,161,255,70,24,250,164,39,121,155,197,132,218,56,102,229,187,89,7,219,133,103,57,186,228,6,88,25,71,165,251,120,38,196,154,101,59,217,135,4,90,184,230,167,249,27,69,198,152,122,36,248,166,68,26,153,199,37,123,58,100,134,216,91,5,231,185,140,210,48,110,237,179,81,15,78,16,242,172,47,113,147,205,17,79,173,243,112,46,204,146,211,141,111,49,178,236,14,80,175,241,19,77,206,144,114,44,109,51,209,143,12,82,176,238,50,108,142,208,83,13,239,177,240,174,76,18,145,207,45,115,202,148,118,40,171,245,23,73,8,86,180,234,105,55,213,139,87,9,235,181,54,104,138,212,149,203,41,119,244,170,72,22,233,183,85,11,136,214,52,106,43,117,151,201,74,20,246,168,116,42,200,150,21,75,169,247,182,232,10,84,215,137,107,53)
Dim New123(8),j=0 As Int
Dim Timer1 As Timer
End Sub
Sub AppStart (Args() As String)
sp.Initialize("")
sp.Open("COM56")
sp.SetParams (115200,8,1,0)
'sp.ReadingThreadInterval=0
astream.Initialize(sp.GetInputStream, sp.GetOutputStream, "astream")
Timer1.Initialize("Timer1", 10)
Timer1.Enabled=True
StartMessageLoop
End Sub
Sub Timer1_Tick
Timer1.Enabled=False
astream.Write(Array As Byte(0x00,0x07,0x52,0x00,0x01,0x00,0x00,CRC8(0x00,0x07,0x52,0x00,0x01,0x00,0x00)))
End Sub
Sub AStream_NewData (Buffer() As Byte)
For ii = 0 To Buffer.Length-1
New123(j)=Buffer(ii)
j=j+1
If j = 8 Then
j=0
astream.Write(Array As Byte(0x00,0x07,0x52,0x00,0x01,0x00,0x00,CRC8(0x00,0x07,0x52,0x00,0x01,0x00,0x00)))
End If
Next
End Sub
'Return true to allow the default exceptions handler to handle the uncaught exception.
Sub Application_Error (Error As Exception, StackTrace As String) As Boolean
Return True
End Sub
Sub CRC8 (b0 As Int,b1 As Int,b2 As Int,b3 As Int,b4 As Int,b5 As Int,b6 As Int) As Int
Return ForCRC(Bit.Xor(b6,ForCRC(Bit.Xor(b5,ForCRC(Bit.Xor(b4,ForCRC(Bit.Xor(b3,ForCRC(Bit.Xor(b2,ForCRC(Bit.Xor(b1,ForCRC(Bit.Xor(0,b0))))))))))))))
End Sub