diff --git a/examples/mag3110/main.go b/examples/mag3110/main.go index 8a47e74..869abf9 100644 --- a/examples/mag3110/main.go +++ b/examples/mag3110/main.go @@ -16,7 +16,11 @@ func main() { for { x, y, z := mag.ReadMagnetic() - println(x, y, z) + println("Magnetic readings:", x, y, z) + + c, _ := mag.ReadTemperature() + println("Temperature:", float32(c)/1000, "ºC") + time.Sleep(time.Millisecond * 100) } } diff --git a/mag3110/mag3110.go b/mag3110/mag3110.go index 3f996cd..27e73e8 100644 --- a/mag3110/mag3110.go +++ b/mag3110/mag3110.go @@ -48,9 +48,10 @@ func (d Device) ReadMagnetic() (x int16, y int16, z int16) { return } -// ReadTemperature reads the current die temperature in degrees Celsius. -func (d Device) ReadTemperature() (temp int8) { +// ReadTemperature reads and returns the current die temperature in +// celsius milli degrees (ºC/1000). +func (d Device) ReadTemperature() (int32, error) { data := make([]byte, 1) d.bus.ReadRegister(uint8(d.Address), DIE_TEMP, data) - return int8(data[0]) + return int32(data[0]) * 1000, nil }