munin-miflora: enrich underlying library errors with current operation using wrapping

This commit is contained in:
cn 2018-12-14 16:22:27 +01:00
parent c96878c22c
commit 4c348f2044
4 changed files with 9 additions and 12 deletions

View File

@ -16,7 +16,6 @@ import (
)
const discoveryTimeout = 4 * time.Second
const connectionTimeout = 4 * time.Second
func readData(client ble.Client, profile *ble.Profile) {
prefix := flag.Args()[0]

View File

@ -1,11 +1,10 @@
package ble
import (
"errors"
"miflorad/common"
"github.com/go-ble/ble"
"github.com/pkg/errors"
)
func FindServiceByUUID(services []*ble.Service, u ble.UUID) *ble.Service {
@ -39,7 +38,7 @@ func RequestVersionBattery(client ble.Client, profile *ble.Profile) (common.Vers
bytes, err := client.ReadCharacteristic(mifloraVersionBatteryChar)
if err != nil {
return common.VersionBatteryResponse{}, err
return common.VersionBatteryResponse{}, errors.Wrap(err, "can't read version battery")
}
return common.ParseVersionBattery(bytes), nil
@ -58,7 +57,7 @@ func RequestModeChange(client ble.Client, profile *ble.Profile) error {
err := client.WriteCharacteristic(mifloraModeChangeChar, common.MifloraGetModeChangeData(), false)
if err != nil {
return err
return errors.Wrap(err, "can't change mode")
}
return nil
@ -77,7 +76,7 @@ func RequestSensorData(client ble.Client, profile *ble.Profile) (common.SensorDa
bytes, err := client.ReadCharacteristic(mifloraSensorDataChar)
if err != nil {
return common.SensorDataResponse{}, err
return common.SensorDataResponse{}, errors.Wrap(err, "can't read sensor data")
}
return common.ParseSensorData(bytes), nil

View File

@ -1,11 +1,10 @@
package gatt
import (
"errors"
"miflorad/common"
"github.com/currantlabs/gatt"
"github.com/pkg/errors"
)
var MifloraCharVersionBatteryUUID = gatt.MustParseUUID("00001a02-0000-1000-8000-00805f9b34fb")
@ -41,7 +40,7 @@ func MifloraRequestVersionBattery(p gatt.Peripheral) (common.VersionBatteryRespo
bytes, err := p.ReadCharacteristic(mifloraVersionBatteryChar)
if err != nil {
return common.VersionBatteryResponse{}, err
return common.VersionBatteryResponse{}, errors.Wrap(err, "can't read version battery")
}
return common.ParseVersionBattery(bytes), nil
@ -60,7 +59,7 @@ func MifloraRequestModeChange(p gatt.Peripheral) error {
err := p.WriteCharacteristic(mifloraModeChangeChar, common.MifloraGetModeChangeData(), false)
if err != nil {
return err
return errors.Wrap(err, "can't change mode")
}
return nil
@ -79,7 +78,7 @@ func MifloraRequstSensorData(p gatt.Peripheral) (common.SensorDataResponse, erro
bytes, err := p.ReadCharacteristic(mifloraSensorDataChar)
if err != nil {
return common.SensorDataResponse{}, err
return common.SensorDataResponse{}, errors.Wrap(err, "can't read sensor data")
}
return common.ParseSensorData(bytes), nil

2
go.mod
View File

@ -12,7 +12,7 @@ require (
github.com/mgutz/logxi v0.0.0-20161027140823-aebf8a7d67ab // indirect
github.com/muka/ble v0.0.0-20180314094923-5613a57406d1 // indirect
github.com/muka/go-bluetooth v0.0.0-20181012115104-31d8f53bf9a1
github.com/pkg/errors v0.8.0 // indirect
github.com/pkg/errors v0.8.0
github.com/sirupsen/logrus v1.2.0 // indirect
github.com/stretchr/testify v1.2.2
)