aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-12-11 03:21:39 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-12-11 03:21:39 +0100
commitc9c0f74a41c0cb6e5c9561a3f0e50ddc596a1cc2 (patch)
tree23b6aa46021823b247cac2f289e97a21866c695d
parentb3404a173132496fb4bc1c5cf2e467b66a44b81f (diff)
wip
-rw-r--r--advertisement.go19
-rw-r--r--eir.go2
2 files changed, 19 insertions, 2 deletions
diff --git a/advertisement.go b/advertisement.go
index 443ae1d..87e51ed 100644
--- a/advertisement.go
+++ b/advertisement.go
@@ -1,5 +1,7 @@
package anki
+import "fmt"
+
const (
stateFullBattery = 1 << 4
stateLowBattery = 1 << 5
@@ -7,12 +9,27 @@ const (
)
type VehicleAdvInfo struct {
- VehicleAdvState uint8 // Battery
+ VehicleAdvState uint8 // Battery level bits
Version uint16
Reserved [5]uint8
Name [13]byte // UTF8: 12 bytes + NULL
}
+func (v VehicleAdvInfo) String() string {
+ b := "unknown"
+ if v.FullBattery() {
+ b = "full"
+ }
+ if v.LowBattery() {
+ b = "low"
+ }
+ if v.OnCharger() {
+ b = "charging"
+ }
+ return fmt.Sprintf("Battery: %v, Version %v, Name: %v",
+ b, v.Version, string(v.Name[:12]))
+}
+
func (v VehicleAdvInfo) FullBattery() bool {
return v.VehicleAdvState&stateFullBattery != 0
}
diff --git a/eir.go b/eir.go
index 2948c47..1b1f630 100644
--- a/eir.go
+++ b/eir.go
@@ -9,7 +9,7 @@ type BLEAdvRecord struct {
const (
AdvTypeInvalid = 0x00
AdvTypeFlags = 0x01
- AdvTypeUUID128 = 0x07
+ AdvTypeUUID = 0x07
AdvTypeLocalName = 0x09
AdvTypeTXPower = 0x0a
AdvTypeManufacturerData = 0xff