Documentation ¶
Overview ¶
Package ezopmp is a motor driver for the hydrogarden pump
Package ezopmp is a motor driver for the hydrogarden pump, but our implementation is Linux-only.
Index ¶
- func NewMotor(ctx context.Context, deps resource.Dependencies, c *Config, name resource.Name, ...) (motor.Motor, error)
- type Config
- type Ezopmp
- func (m *Ezopmp) GoFor(ctx context.Context, mLPerMin, mins float64, extra map[string]interface{}) error
- func (m *Ezopmp) GoTo(ctx context.Context, mLPerMin, mins float64, extra map[string]interface{}) error
- func (m *Ezopmp) IsMoving(ctx context.Context) (bool, error)
- func (m *Ezopmp) IsPowered(ctx context.Context, extra map[string]interface{}) (bool, float64, error)
- func (m *Ezopmp) Position(ctx context.Context, extra map[string]interface{}) (float64, error)
- func (m *Ezopmp) Properties(ctx context.Context, extra map[string]interface{}) (motor.Properties, error)
- func (m *Ezopmp) ResetZeroPosition(ctx context.Context, offset float64, extra map[string]interface{}) error
- func (m *Ezopmp) SetPower(ctx context.Context, powerPct float64, extra map[string]interface{}) error
- func (m *Ezopmp) SetRPM(ctx context.Context, mLPerMin float64, extra map[string]interface{}) error
- func (m *Ezopmp) Stop(ctx context.Context, extra map[string]interface{}) error
- func (m *Ezopmp) Validate() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶ added in v0.2.36
type Config struct { BusName string `json:"i2c_bus"` I2CAddress *byte `json:"i2c_addr"` MaxReadBits *int `json:"max_read_bits"` }
Config is user config inputs for ezopmp.
type Ezopmp ¶
type Ezopmp struct { resource.Named resource.AlwaysRebuild resource.TriviallyCloseable I2CAddress byte // contains filtered or unexported fields }
Ezopmp represents a motor connected via the I2C protocol.
func (*Ezopmp) GoFor ¶
func (m *Ezopmp) GoFor(ctx context.Context, mLPerMin, mins float64, extra map[string]interface{}) error
GoFor sets a constant flow rate mLPerMin = rpm, mins = revolutions.
func (*Ezopmp) GoTo ¶
func (m *Ezopmp) GoTo(ctx context.Context, mLPerMin, mins float64, extra map[string]interface{}) error
GoTo uses the Dose Over Time Command in the EZO-PMP datasheet mLPerMin = rpm, mins = revolutions.
func (*Ezopmp) IsPowered ¶
func (m *Ezopmp) IsPowered(ctx context.Context, extra map[string]interface{}) (bool, float64, error)
IsPowered returns whether or not the motor is currently on, and how much power it's getting.
func (*Ezopmp) Properties ¶
func (m *Ezopmp) Properties(ctx context.Context, extra map[string]interface{}) (motor.Properties, error)
Properties returns the status of optional properties on the motor.
func (*Ezopmp) ResetZeroPosition ¶
func (m *Ezopmp) ResetZeroPosition(ctx context.Context, offset float64, extra map[string]interface{}) error
ResetZeroPosition clears the amount of volume that has been dispensed.
func (*Ezopmp) SetPower ¶
func (m *Ezopmp) SetPower(ctx context.Context, powerPct float64, extra map[string]interface{}) error
SetPower sets the percentage of power the motor should employ between -1 and 1. Negative power implies a backward directional rotational for this pump, it goes between 0.5ml to 105ml/min.
func (*Ezopmp) SetRPM ¶ added in v0.29.0
SetRPM instructs the motor to move at the specified RPM indefinitely.