Sub Process_Globals
Dim AST As AsyncStreams
Dim Serial1 As Serial
Dim byteg As ByteConverter
Dim BT_Admin As BluetoothAdmin
End Sub
Sub Globals
Dim reser_Byte As List
Dim EditText1, EditText2, EditText3 As EditText
Dim synchro As Boolean
Dim Label1, Label2, Label5 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
Serial1.Initialize("Serial1")
BT_Admin.Initialize("BT_Admin")
End If
Activity.LoadLayout("Page1")
Activity.AddMenuItem("Connexion", "Menu")
Activity.AddMenuItem("Déconnexion", "Menu")
Activity.AddMenuItem("Quitter", "Menu")
reser_Byte.Initialize
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
If UserClosed Then Serial1.Disconnect
End Sub
Sub Menu_Click
Select Sender
Case "Connexion"
Dim PairedDevices As Map
PairedDevices = Serial1.GetPairedDevices
Dim listeDevices As List
listeDevices.Initialize
For i = 0 To PairedDevices.Size - 1 : listeDevices.Add(PairedDevices.GetKeyAt(i)) : Next
Dim reponse As Int
reponse = InputList(listeDevices, "Choix du device", -1) 'affiche la liste de choix des devices trouvés
If reponse <> DialogResponse.CANCEL Then
Serial1.Connect(PairedDevices.Get(listeDevices.Get(reponse))) 'Connexion avec le device choisi (nom converti en adresse MAC)
End If
Case "Déconnexion"
Serial1.Disconnect
Case "Quitter"
Activity_Pause(True)
End Select
End Sub
Sub Serial1_Connected (Success As Boolean)
ToastMessageShow("My name is : " & Serial1.Name, False)
If Success Then
Serial1.StopListening
ToastMessageShow("Connexion réussie", False)
AST.Initialize(Serial1.InputStream, Serial1.OutputStream, "AST")
Else
Msgbox(LastException.Message, "Erreur de connexion.")
End If
End Sub
Sub AST_Terminated
Log("Connexion terminée")
End Sub
Sub AST_NewData (Buffer() As Byte)
reser_Byte.AddAll(Buffer)
Dim tabb As String
Dim maval As Int
tabb= byteg.HexFromBytes(Buffer)
Log("tabb= "& tabb)
maval=Buffer(0)
If (maval<>0x02 AND synchro=False) Then
reser_Byte.Clear
synchro=False
Return
Else
synchro=True
End If
Dim taille As Int =reser_Byte.Size
Dim sybyte As Byte=reser_Byte.Get(0)
If taille<12 OR sybyte<>0x02 Then
Return
Else
Label1.Text = "Firmware : 9500." & reser_Byte.Get(4) & reser_Byte.Get(3) & ".V" & Chr(reser_Byte.Get(5)) & Chr(reser_Byte.Get(6))
Label2.Text = "Hardware : 9800." & reser_Byte.Get(8) & reser_Byte.Get(7) & ".V" & Chr(reser_Byte.Get(9)) & Chr(reser_Byte.Get(10))
EditText3.Text = reser_Byte.Get(11) & " %"
EditText1.Text=reser_Byte.Get(12)
Label5.Text = reser_Byte.Get(13)
EditText2.Text=tabb
reser_Byte.Clear
synchro=False
End If
End Sub