aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-12-26 13:30:44 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-12-26 13:30:44 +0100
commit408b7ee43006fd4f7f86371be0098cf7dd66ad52 (patch)
treedc81a809da589d995961d4095d1665046313fd07
parentb5588b20d8e0bb2a29ac5a656b9b9338090a46e4 (diff)
wip
-rw-r--r--cmd/experimental/main.go51
-rw-r--r--vehicle_gatt.go6
2 files changed, 54 insertions, 3 deletions
diff --git a/cmd/experimental/main.go b/cmd/experimental/main.go
new file mode 100644
index 0000000..31181af
--- /dev/null
+++ b/cmd/experimental/main.go
@@ -0,0 +1,51 @@
+package main
+
+import (
+ "log"
+ "mystuff/anki"
+
+ "github.com/currantlabs/gatt"
+)
+
+func onStateChange(d gatt.Device, s gatt.State) {
+ log.Println("State", s)
+ switch s {
+ case gatt.StatePoweredOn:
+ log.Println("Scan...")
+ d.Scan([]gatt.UUID{}, false)
+ default:
+ d.StopScanning()
+ }
+}
+
+func onDiscover(p gatt.Peripheral, a *gatt.Advertisement, rssi int) {
+ sid := gatt.MustParseUUID(anki.ServiceUUID)
+ for _, s := range a.Services {
+ if s.Equal(sid) {
+ log.Println("Found", p.ID())
+ p.Device().Connect(p)
+ }
+ }
+}
+
+func onConnect(p gatt.Peripheral, err error) {
+ defer p.Device().CancelConnection(p)
+ ss, err := p.DiscoverServices(nil)
+ if err != nil {
+ log.Println(err)
+ return
+ }
+ for _, s := range ss {
+ log.Println(s)
+ }
+}
+
+func main() {
+ d, err := gatt.NewDevice()
+ if err != nil {
+ log.Fatal(err)
+ }
+ d.Handle(gatt.PeripheralDiscovered(onDiscover))
+ d.Init(onStateChange)
+ select {}
+}
diff --git a/vehicle_gatt.go b/vehicle_gatt.go
index accb09c..6127470 100644
--- a/vehicle_gatt.go
+++ b/vehicle_gatt.go
@@ -1,7 +1,7 @@
package anki
var (
- ServiceUUID, _ = ParseUUID("BE15BEEF-6186-407E-8381-0BD89C4D8DF4")
- ChrReadUUID, _ = ParseUUID("BE15BEE0-6186-407E-8381-0BD89C4D8DF4")
- ChrWriteUUID, _ = ParseUUID("BE15BEE1-6186-407E-8381-0BD89C4D8DF4")
+ ServiceUUID = "BE15BEEF-6186-407E-8381-0BD89C4D8DF4"
+ ChrReadUUID = "BE15BEE0-6186-407E-8381-0BD89C4D8DF4"
+ ChrWriteUUID = "BE15BEE1-6186-407E-8381-0BD89C4D8DF4"
)