I still do not know how the AStream_NewData works. I am sending a string from MCU to Android and nothing happened.
B4X:
#Region Module Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
'Activity module
Sub Process_Globals
Dim AStream As AsyncStreams
Dim Timer1 As Timer
End Sub
Sub Globals
Dim s As String
Dim btnLed1 As Button
Dim btnLed2 As Button
Dim btnLed3 As Button
Dim btnLed4 As Button
Dim Label1 As Label
Dim Label2 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("2")
If AStream.IsInitialized = False Then
'AStream.InitializePrefix(Main.serial1.InputStream, True, Main.serial1.OutputStream, "AStreams")
AStream.Initialize(Main.Serial1.InputStream, Main.Serial1.OutputStream, "AStreams")
End If
If FirstTime Then
Timer1.Initialize("Timer1", 1000)
Timer1.Enabled = True
End If
End Sub
Sub AStreams_NewData (Buffer() As Byte)
S = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
Label1.Enabled = True
Label2.Enabled = True
Label2.Text = s
End Sub
Sub AStream_Error
ToastMessageShow("Connection is broken.", True)
End Sub
Sub AStream_Terminated
AStream_Error
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
If UserClosed Then
AStream.Close
End If
End Sub
Sub Timer1_tick
Dim Temperature As String
Temperature = "TEMP"
AStream.Write(Temperature.GetBytes("UTF8"))
End Sub
Sub btnLed4_Click
Timer1.Enabled = False
Dim Led4_Toggle As String
Led4_Toggle = "L4"
AStream.Write(Led4_Toggle.GetBytes("UTF8"))
Timer1.Enabled = True
End Sub
Sub btnLed3_Click
Timer1.Enabled = False
Dim Led3_Toggle As String
Led3_Toggle = "L3"
AStream.Write(Led3_Toggle.GetBytes("UTF8"))
Timer1.Enabled = True
End Sub
Sub btnLed2_Click
Timer1.Enabled = False
Dim Led2_Toggle As String
Led2_Toggle = "L2"
AStream.Write(Led2_Toggle.GetBytes("UTF8"))
Timer1.Enabled = True
End Sub
Sub btnLed1_Click
Timer1.Enabled = False
Dim Led1_Toggle As String
Led1_Toggle = "L1"
AStream.Write(Led1_Toggle.GetBytes("UTF8"))
Timer1.Enabled = True
End Sub
Last edited: