Handling BLE Connections

Currently, the bt. object only supports the BLE peripheral role. This means that you cannot initiate a connection from the bt. object, but can only enable the bt. object to accept incoming connections from central devices. As soon as you bring up and enable the BLE interface, your device will be ready to accept incoming connections from central devices.

An on_bt_event(PL_BT_EVENT_CONNECTED) is generated every time your device accepts an incoming connection. An on_bt_event(PL_BT_EVENT_DISCONNECTED) is generated when the BLE connection is lost. In the following code example, the on_bt_event event handler sets various LED patters depending on the BLE state:

** Tibbo Basic **

sub on_bt_event(bt_event as enum pl_bt_events)
 select case bt_event
 case PL_BT_EVENT_CONNECTED:
         pat.play("G*~",PL_PAT_CANINT) 'Green ON

 case PL_BT_EVENT_DISCONNECTED:
         pat.play("-G*~",PL_PAT_CANINT) 'Green BLINKING

 case PL_BT_EVENT_ENABLED:
         bt.advertise=YES
         pat.play("-G*~",PL_PAT_CANINT) 'Green BLINKING

 case PL_BT_EVENT_DISABLED:
         pat.play("-",PL_PAT_CANINT) 'Green OFF
 end select
end sub

You can also check the status of the BLE connection at any time using the bt.connected R/O property.

As soon as the connection is established, you can send and receive data through the BLE interface.