nau7802

package module
v0.0.0-...-8e20885 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2023 License: MIT Imports: 5 Imported by: 2

README

nau7802

Golang package to interface nau7802 load cell amplifier

Documentation

Index

Constants

View Source
const (
	DEVICE_ADDRESS = 0x2A

	// Register Map
	NAU7802_PU_CTRL     = 0x00
	NAU7802_CTRL1       = 0x01
	NAU7802_CTRL2       = 0x02
	NAU7802_OCAL1_B2    = 0x03
	NAU7802_OCAL1_B1    = 0x04
	NAU7802_OCAL1_B0    = 0x05
	NAU7802_GCAL1_B3    = 0x06
	NAU7802_GCAL1_B2    = 0x07
	NAU7802_GCAL1_B1    = 0x08
	NAU7802_GCAL1_B0    = 0x09
	NAU7802_OCAL2_B2    = 0x0A
	NAU7802_OCAL2_B1    = 0x0B
	NAU7802_OCAL2_B0    = 0x0C
	NAU7802_GCAL2_B3    = 0x0D
	NAU7802_GCAL2_B2    = 0x0E
	NAU7802_GCAL2_B1    = 0x0F
	NAU7802_GCAL2_B0    = 0x10
	NAU7802_I2C_CONTROL = 0x11
	NAU7802_ADCO_B2     = 0x12
	NAU7802_ADCO_B1     = 0x13
	NAU7802_ADCO_B0     = 0x14
	NAU7802_ADC         = 0x15 // Shared ADC and OTP 32:24
	NAU7802_OTP_B1      = 0x16 // OTP 23:16 or 7:0?
	NAU7802_OTP_B0      = 0x17 // OTP 15:8
	NAU7802_PGA         = 0x1B
	NAU7802_PGA_PWR     = 0x1C
	NAU7802_DEVICE_REV  = 0x1F

	// Bits within the PU_CTRL register
	NAU7802_PU_CTRL_RR    = 0
	NAU7802_PU_CTRL_PUD   = 1
	NAU7802_PU_CTRL_PUA   = 2
	NAU7802_PU_CTRL_PUR   = 3
	NAU7802_PU_CTRL_CS    = 4
	NAU7802_PU_CTRL_CR    = 5
	NAU7802_PU_CTRL_OSCS  = 6
	NAU7802_PU_CTRL_AVDDS = 7

	// Bits within the CTRL1 register
	NAU7802_CTRL1_GAIN     = 2
	NAU7802_CTRL1_VLDO     = 5
	NAU7802_CTRL1_DRDY_SEL = 6
	NAU7802_CTRL1_CRP      = 7

	// Bits within the CTRL2 register
	NAU7802_CTRL2_CALMOD    = 0
	NAU7802_CTRL2_CALS      = 2
	NAU7802_CTRL2_CAL_ERROR = 3
	NAU7802_CTRL2_CRS       = 4
	NAU7802_CTRL2_CHS       = 7

	// Bits within the PGA register
	NAU7802_PGA_CHP_DIS    = 0
	NAU7802_PGA_INV        = 3
	NAU7802_PGA_BYPASS_EN  = 4
	NAU7802_PGA_OUT_EN     = 5
	NAU7802_PGA_LDOMODE    = 6
	NAU7802_PGA_RD_OTP_SEL = 7

	// Bits within the PGA PWR register
	NAU7802_PGA_PWR_PGA_CURR       = 0
	NAU7802_PGA_PWR_ADC_CURR       = 2
	NAU7802_PGA_PWR_MSTR_BIAS_CURR = 4
	NAU7802_PGA_PWR_PGA_CAP_EN     = 7

	// Allowed Low drop out regulator voltages
	NAU7802_LDO_2V4 = 0b111
	NAU7802_LDO_2V7 = 0b110
	NAU7802_LDO_3V0 = 0b101
	NAU7802_LDO_3V3 = 0b100
	NAU7802_LDO_3V6 = 0b011
	NAU7802_LDO_3V9 = 0b010
	NAU7802_LDO_4V2 = 0b001
	NAU7802_LDO_4V5 = 0b000

	// Allowed gains
	NAU7802_GAIN_128 = 0b111
	NAU7802_GAIN_64  = 0b110
	NAU7802_GAIN_32  = 0b101
	NAU7802_GAIN_16  = 0b100
	NAU7802_GAIN_8   = 0b011
	NAU7802_GAIN_4   = 0b010
	NAU7802_GAIN_2   = 0b001
	NAU7802_GAIN_1   = 0b000

	// Allowed samples per second
	NAU7802_SPS_320 = 0b111
	NAU7802_SPS_80  = 0b011
	NAU7802_SPS_40  = 0b010
	NAU7802_SPS_20  = 0b001
	NAU7802_SPS_10  = 0b000

	// Select between channel values
	NAU7802_CHANNEL_1 = 0
	NAU7802_CHANNEL_2 = 1

	// Calibration state
	NAU7802_CAL_SUCCESS     = 0
	NAU7802_CAL_IN_PROGRESS = 1
	NAU7802_CAL_FAILURE     = 2
)

Variables

This section is empty.

Functions

This section is empty.

Types

type NAU7802

type NAU7802 struct {
	Dev *i2c.Device
	// contains filtered or unexported fields
}

func Initialize

func Initialize() (*NAU7802, error)

func NewNAU7802

func NewNAU7802() (*NAU7802, error)

func (*NAU7802) GetI2CDevice

func (n *NAU7802) GetI2CDevice() *i2c.Device

func (*NAU7802) GetWeight

func (n *NAU7802) GetWeight(allowNegative bool, samples int) (float64, error)

func (*NAU7802) Reset

func (n *NAU7802) Reset() error

func (*NAU7802) SetCalibrationFactor

func (n *NAU7802) SetCalibrationFactor(calibrationFactor float64)

func (*NAU7802) SetChannel

func (n *NAU7802) SetChannel(channel int) error

func (*NAU7802) SetGain

func (n *NAU7802) SetGain(gain int) error

func (*NAU7802) SetSampleRate

func (n *NAU7802) SetSampleRate(sampleRate int) error

func (*NAU7802) SetZeroOffset

func (n *NAU7802) SetZeroOffset(zeroOffset int32)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL