From c9c0f74a41c0cb6e5c9561a3f0e50ddc596a1cc2 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 11 Dec 2016 03:21:39 +0100 Subject: wip --- advertisement.go | 19 ++++++++++++++++++- eir.go | 2 +- 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 -- cgit v1.2.3