Go·Hardware·Lean - Device drivers
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Michael Traver e27c424b7b mcp9808: Fix conversions between temperature and bits (#403)
The datasheet (http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf)
says that negative temperatures are stored in two's complement. See
page 22 for alert registers and pages 24-25 for the ambient temperature
register.

However, the code currently assumes negative values are stored in a
sign-and-magnitude representation. Fix this to handle two's complement
values correctly.

For register bits to temperature conversion this implementation follows
the datasheet, but the code in the datasheet isn't quite right -- it
should be `temp - 256` instead of `256 - temp` -- but the fact that the
256 figure is in Microchip's code backs up the idea stated in the text
that negative values are in two's complement. Others seem to agree that
this is correct: https://electronics.stackexchange.com/a/244826

For temperature to bits conversion this implementation relies on the
fact that Go also uses two's complement. I've added a long comment in
the code about this.
7 years ago
devices Officially drop support for pre-go1.7 (#365) 7 years ago
experimental/devices mcp9808: Fix conversions between temperature and bits (#403) 7 years ago
AUTHORS as7262: initial experimental support for AMS AS7262 Spectral ID i2c sensor (#300) 8 years ago
CONTRIBUTING.md conntest: Add 100% coverage 9 years ago
CONTRIBUTORS inky: Adds device driver for Inky pHAT e-ink screens (#390) 7 years ago
LICENSE Initial commit of pio. 10 years ago
README.md Use timeTicker instead of Sleep 8 years ago

README.md

periph - Peripherals I/O in Go

mascot

Documentation is at https://periph.io

GoDoc Go Report Card Coverage Status Build Status

Join us for a chat on gophers.slack.com/messages/periph, get an invite here.

Example

Blink a LED:

package main

import (
    "time"
    "periph.io/x/periph/conn/gpio"
    "periph.io/x/periph/host"
    "periph.io/x/periph/host/rpi"
)

func main() {
    host.Init()
    t := time.NewTicker(500 * time.Millisecond)
    for l := gpio.Low; ; l = !l {
        rpi.P1_33.Out(l)
        <-t.C
    }
}

Curious? Look at supported devices for more examples!

Authors

periph was initiated with ❤️ and passion by Marc-Antoine Ruel. The full list of contributors is in AUTHORS and CONTRIBUTORS.

Disclaimer

This is not an official Google product (experimental or otherwise), it is just code that happens to be owned by Google.

This project is not affiliated with the Go project.