1
0
Fork 0
mirror of https://github.com/kidoman/embd synced 2025-07-03 11:57:38 +02:00

- add support for tmp006

- refactor the i2c interface
This commit is contained in:
Karan Misra 2014-01-05 14:27:29 +05:30
parent 1a6f97f102
commit 0563d2be5c
9 changed files with 513 additions and 70 deletions

View file

@ -102,8 +102,8 @@ func (d *bmp085) calibrate() (err error) {
defer d.cmu.Unlock()
readInt16 := func(reg byte) (value int16, err error) {
var v int
if v, err = d.bus.ReadInt(address, reg); err != nil {
var v uint16
if v, err = d.bus.ReadWordFromReg(address, reg); err != nil {
return
}
value = int16(v)
@ -111,8 +111,8 @@ func (d *bmp085) calibrate() (err error) {
}
readUInt16 := func(reg byte) (value uint16, err error) {
var v int
if v, err = d.bus.ReadInt(address, reg); err != nil {
var v uint16
if v, err = d.bus.ReadWordFromReg(address, reg); err != nil {
return
}
value = uint16(v)
@ -185,16 +185,13 @@ func (d *bmp085) calibrate() (err error) {
}
func (d *bmp085) readUncompensatedTemp() (temp uint16, err error) {
if err = d.bus.WriteToReg(address, control, readTempCmd); err != nil {
if err = d.bus.WriteByteToReg(address, control, readTempCmd); err != nil {
return
}
time.Sleep(tempReadDelay)
var t int
t, err = d.bus.ReadInt(address, tempData)
if err != nil {
if temp, err = d.bus.ReadWordFromReg(address, tempData); err != nil {
return
}
temp = uint16(t)
return
}
@ -250,7 +247,7 @@ func (d *bmp085) Temperature() (temp float64, err error) {
}
func (d *bmp085) readUncompensatedPressure() (pressure uint32, err error) {
if err = d.bus.WriteToReg(address, control, byte(readPressureCmd+(d.oss<<6))); err != nil {
if err = d.bus.WriteByteToReg(address, control, byte(readPressureCmd+(d.oss<<6))); err != nil {
return
}
time.Sleep(time.Duration(2+(3<<d.oss)) * time.Millisecond)