func onStateChanged(d gatt.Device, s gatt.State) { fmt.Println("State:", s) switch s { case gatt.StatePoweredOn: fmt.Println("scanning...") d.Scan([]gatt.UUID{}, false) return default: d.StopScanning() } }
// Get bdaddr with LnxSendHCIRawCommand() for demo purpose func bdaddr(d gatt.Device) { rsp := bytes.NewBuffer(nil) if err := d.Option(gatt.LnxSendHCIRawCommand(&cmdReadBDAddr{}, rsp)); err != nil { fmt.Printf("Failed to send HCI raw command, err: %s", err) } b := rsp.Bytes() if b[0] != 0 { fmt.Printf("Failed to get bdaddr with HCI Raw command, status: %d", b[0]) } log.Printf("BD Addr: %02X:%02X:%02X:%02X:%02X:%02X", b[6], b[5], b[4], b[3], b[2], b[1]) }