Sub Connect (Get As Boolean)
SetBusy(True)
Try
Disconnect
Dim sock As Socket
sock.Initialize("sock")
sock.Connect(txtIP.Text, 51041, 10000)
Wait For sock_Connected (Successful As Boolean)
If Successful Then
astream.InitializePrefix(sock.InputStream, False, sock.OutputStream, "astream")
If Get Then
Wait For astream_NewData (Buffer() As Byte)
If Buffer(0) = 0 Then
rec.BoardName = "PoolMinder"
Else
' We recieved a 1 as the first byte sent, which means it has been configured
Log ("Board appears to have been configured")
Wait For (astream) AStream_NewData(Data() As Byte)
Dim ObjectsReceived() As Object = (ser.ConvertBytesToArray(Data))
Log (ObjectsReceived(0))
If ObjectsReceived(0) = "CONFIG" Then
Log ("Config Header received")
Wait for astream_NewData (Buffer() As Byte)
rec = ObjectsToRecord(ser.ConvertBytesToArray(Buffer))
End If
End If
sheet.Set(rec, meta)
Else 'Put mode, so send the header followed by field values to the B4R project
Dim HeaderObj As Object = Array ("CONFIG")
astream.Write(ser.ConvertArrayToBytes(HeaderObj))
Sleep(1500)
astream.Write(ser.ConvertArrayToBytes(RecordToObjects(rec)))
Sleep(1500)
End If
Else
cutils.ShowNotification2("Failed to connect", "", cutils.ICON_ERROR, MainForm)
End If
Disconnect
Catch
Log(LastException)
End Try
SetBusy(False)
End Sub