49f8082e4b
There used to be GAP events (connect/disconnect). The main purpose for these events was to allow applications to re-start advertisement when a connection was lost - on nrf. Unfortunately things work differently on Linux, which already has this behavior and for which I haven't yet implemented these events. Therefore I have removed these events and instead added code to automatically restart advertisement on connection loss. Supporting multiple (incoming) connections as a peripheral would be useful, but is not currently supported.
22 lines
567 B
Go
22 lines
567 B
Go
package bluetooth
|
|
|
|
import (
|
|
"github.com/go-ole/go-ole"
|
|
"github.com/tinygo-org/bluetooth/winbt"
|
|
)
|
|
|
|
type Adapter struct {
|
|
watcher *winbt.IBluetoothLEAdvertisementWatcher
|
|
}
|
|
|
|
// DefaultAdapter is the default adapter on the system.
|
|
//
|
|
// Make sure to call Enable() before using it to initialize the adapter.
|
|
var DefaultAdapter = Adapter{}
|
|
|
|
// Enable configures the BLE stack. It must be called before any
|
|
// Bluetooth-related calls (unless otherwise indicated).
|
|
func (a *Adapter) Enable() error {
|
|
return ole.RoInitialize(1) // initialize with multithreading enabled
|
|
}
|