Sub Process_Globals
Private PacketCounter As UInt
Private btLEDPin As Pin, btLEDPinState As Boolean
End Sub
Sub Start(BTledPinNumber As UInt)
TransmissionLEDpinNumber = BTledPinNumber
btLEDPin.Initialize(BTledPinNumber, btLEDPin.MODE_OUTPUT)
Log("Starting BLE-Server")
StartBLEServer
End Sub
Sub SendMessage(msg() As Byte)
If BLE_client_Connected Then
RunNative("SendBLEMessage", msg)
PacketCounter = PacketCounter + 1
LEDblink
End If
End Sub
Sub NewBLEMessage 'called from inline C
Log("New BLE message...")
Dim mc(BLEMessage_Length) As Byte
bc.ArrayCopy2(BLEMessage,0,mc,0,BLEMessage_Length)
Log("Received: ", bc.StringFromBytes(mc))
PacketCounter = PacketCounter + 1
End Sub
Private Sub LEDblink
If PacketCounter > 20 Then
btLEDPin.DigitalWrite(btLEDPinState) 'restore state
PacketCounter = 0
End If
If PacketCounter > 17 Then
btLEDPin.DigitalWrite(False)
End If
If PacketCounter > 13 Then
btLEDPinState = btLEDPin.DigitalRead 'prev LED state
btLEDPin.DigitalWrite(True)
End If
End Sub