Export Current and Voltage function
This commit is contained in:
parent
124e954d3a
commit
b39caa074d
50
ina3221.go
50
ina3221.go
@ -29,7 +29,7 @@ var (
|
|||||||
i2c_dev i2c.Dev
|
i2c_dev i2c.Dev
|
||||||
)
|
)
|
||||||
|
|
||||||
func start(slave_addr uint16) error {
|
func Start(slave_addr uint16) error {
|
||||||
logger.SetPrefix("ina3112: ")
|
logger.SetPrefix("ina3112: ")
|
||||||
logger.Println("Starting")
|
logger.Println("Starting")
|
||||||
|
|
||||||
@ -53,10 +53,33 @@ func start(slave_addr uint16) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func stop() error {
|
func Stop() error {
|
||||||
return bus.Close()
|
return bus.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Current(channel Channel) (float64, error) {
|
||||||
|
res, err := shunt_voltage(channel)
|
||||||
|
if err != nil {
|
||||||
|
logger.Println(err)
|
||||||
|
return 0.0, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return res * current_factor, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func Voltage(channel Channel) (float64, error) {
|
||||||
|
res, err := bus_voltage(channel)
|
||||||
|
if err != nil {
|
||||||
|
logger.Println(err)
|
||||||
|
return 0.0, err
|
||||||
|
}
|
||||||
|
return res * voltage_factor, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func ManufacturerID() (uint16, error) {
|
||||||
|
return read_register(0xfe)
|
||||||
|
}
|
||||||
|
|
||||||
func read_register(address uint8) (uint16, error) {
|
func read_register(address uint8) (uint16, error) {
|
||||||
return mem_dev.ReadUint16(address)
|
return mem_dev.ReadUint16(address)
|
||||||
}
|
}
|
||||||
@ -80,26 +103,3 @@ func bus_voltage(channel Channel) (float64, error) {
|
|||||||
res >>= 3
|
res >>= 3
|
||||||
return float64(res), err
|
return float64(res), err
|
||||||
}
|
}
|
||||||
|
|
||||||
func Current(channel Channel) (float64, error) {
|
|
||||||
res, err := shunt_voltage(channel)
|
|
||||||
if err != nil {
|
|
||||||
logger.Println(err)
|
|
||||||
return 0.0, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return res * current_factor, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func Voltage(channel Channel) (float64, error) {
|
|
||||||
res, err := bus_voltage(channel)
|
|
||||||
if err != nil {
|
|
||||||
logger.Println(err)
|
|
||||||
return 0.0, err
|
|
||||||
}
|
|
||||||
return res * voltage_factor, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func ManufacturerID() (uint16, error) {
|
|
||||||
return read_register(0xfe)
|
|
||||||
}
|
|
||||||
|
@ -12,7 +12,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(t *testing.T) {
|
func TestMain(t *testing.T) {
|
||||||
err := start(i2c_slave_addr)
|
err := Start(i2c_slave_addr)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
|
|
||||||
var id uint16
|
var id uint16
|
||||||
@ -27,6 +27,6 @@ func TestMain(t *testing.T) {
|
|||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = stop()
|
err = Stop()
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user