Added support for RAWv2 in my Go package

I’ve now added support for RAWv2 (Data Format 5) in my Go package available from https://github.com/peterhellberg/ruuvitag

Example usage

package main

import (
	"fmt"

	"github.com/peterhellberg/ruuvitag"
	"github.com/raff/goble"
)

func main() {
	var quit chan bool

	ble := goble.New()

	ble.On("stateChange", func(ev goble.Event) bool {
		switch ev.State {
		case "poweredOn":
			ble.StartScanning(nil, true)
			return false
		default:
			ble.StopScanning()
			quit <- true

			return true
		}
	})

	ble.On("discover", func(ev goble.Event) bool {
		p := ev.Peripheral
		a := p.Advertisement
		d := a.ManufacturerData

		switch {
		case ruuvitag.IsRAWv2(d):
			if raw, err := ruuvitag.ParseRAWv2(d); err == nil {
				fmt.Printf("[%s] RSSI: %d: %+v\n", p.Uuid, p.Rssi, raw)
			}
		case ruuvitag.IsRAWv1(d):
			if raw, err := ruuvitag.ParseRAWv1(d); err == nil {
				fmt.Printf("[%s] RSSI: %d: %+v\n", p.Uuid, p.Rssi, raw)
			}
		}

		return false
	})

	ble.Init()

	<-quit
}
3 Likes