Documentation
¶
Overview ¶
Package aio provides Gobot drivers for Analog Input/Output devices.
Installing:
go get -d -u gobot.io/x/gobot
For further information refer to aio README: https://github.com/hybridgroup/gobot/blob/master/platforms/aio/README.md
Index ¶
- Constants
- Variables
- func AnalogActuatorLinearScaler(fromMin, fromMax float64, toMin, toMax int) func(input float64) (value int)
- func AnalogSensorLinearScaler(fromMin, fromMax int, toMin, toMax float64) func(input int) (value float64)
- func TemperatureSensorNtcScaler(vRef uint, rOhm uint, reverse bool, ntc TemperatureSensorNtcConf) func(input int) (value float64)
- type AnalogActuatorDriver
- func (a *AnalogActuatorDriver) Connection() gobot.Connection
- func (a *AnalogActuatorDriver) Halt() (err error)
- func (a *AnalogActuatorDriver) Name() string
- func (a *AnalogActuatorDriver) Pin() string
- func (a *AnalogActuatorDriver) RawValue() (val int)
- func (a *AnalogActuatorDriver) RawWrite(val int) (err error)
- func (a *AnalogActuatorDriver) SetName(n string)
- func (a *AnalogActuatorDriver) SetScaler(scaler func(float64) int)
- func (a *AnalogActuatorDriver) Start() (err error)
- func (a *AnalogActuatorDriver) Value() (val float64)
- func (a *AnalogActuatorDriver) Write(val float64) (err error)
- type AnalogReader
- type AnalogSensorDriver
- func (a *AnalogSensorDriver) Connection() gobot.Connection
- func (a *AnalogSensorDriver) Halt() (err error)
- func (a *AnalogSensorDriver) Name() string
- func (a *AnalogSensorDriver) Pin() string
- func (a *AnalogSensorDriver) RawValue() int
- func (a *AnalogSensorDriver) Read() (val int, err error)
- func (a *AnalogSensorDriver) ReadValue() (val float64, err error)
- func (a *AnalogSensorDriver) SetName(n string)
- func (a *AnalogSensorDriver) SetScaler(scaler func(int) float64)
- func (a *AnalogSensorDriver) Start() (err error)
- func (a *AnalogSensorDriver) Value() float64
- type AnalogWriter
- type GroveLightSensorDriver
- type GrovePiezoVibrationSensorDriver
- type GroveRotaryDriver
- type GroveSoundSensorDriver
- type GroveTemperatureSensorDriver
- type TemperatureSensorDriver
- type TemperatureSensorNtcConf
Constants ¶
const ( // Error event Error = "error" // Data event Data = "data" // Value event Value = "value" // Vibration event Vibration = "vibration" )
Variables ¶
var ( // ErrAnalogReadUnsupported is error resulting when a driver attempts to use // hardware capabilities which a connection does not support ErrAnalogReadUnsupported = errors.New("AnalogRead is not supported by this platform") )
Functions ¶
func AnalogActuatorLinearScaler ¶ added in v1.16.0
func AnalogSensorLinearScaler ¶ added in v1.16.0
func TemperatureSensorNtcScaler ¶ added in v1.16.0
Types ¶
type AnalogActuatorDriver ¶ added in v1.16.0
type AnalogActuatorDriver struct { gobot.Eventer gobot.Commander // contains filtered or unexported fields }
AnalogActuatorDriver represents an analog actuator
func NewAnalogActuatorDriver ¶ added in v1.16.0
func NewAnalogActuatorDriver(a AnalogWriter, pin string) *AnalogActuatorDriver
NewAnalogActuatorDriver returns a new AnalogActuatorDriver given by an AnalogWriter and pin. The driver supports customizable scaling from given float64 value to written int. The default scaling is 1:1. An adjustable linear scaler is provided by the driver.
Adds the following API Commands:
"Write" - See AnalogActuator.Write "RawWrite" - See AnalogActuator.RawWrite
func (*AnalogActuatorDriver) Connection ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Connection() gobot.Connection
Connection returns the drivers Connection
func (*AnalogActuatorDriver) Halt ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Halt() (err error)
Halt is for halt
func (*AnalogActuatorDriver) Name ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Name() string
Name returns the drivers name
func (*AnalogActuatorDriver) Pin ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Pin() string
Pin returns the drivers pin
func (*AnalogActuatorDriver) RawValue ¶ added in v1.16.0
func (a *AnalogActuatorDriver) RawValue() (val int)
RawValue returns the last written raw value
func (*AnalogActuatorDriver) RawWrite ¶ added in v1.16.0
func (a *AnalogActuatorDriver) RawWrite(val int) (err error)
RawWrite write the given raw value to the actuator
func (*AnalogActuatorDriver) SetName ¶ added in v1.16.0
func (a *AnalogActuatorDriver) SetName(n string)
SetName sets the drivers name
func (*AnalogActuatorDriver) SetScaler ¶ added in v1.16.0
func (a *AnalogActuatorDriver) SetScaler(scaler func(float64) int)
SetScaler substitute the default 1:1 return value function by a new scaling function
func (*AnalogActuatorDriver) Start ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Start() (err error)
Start starts driver
func (*AnalogActuatorDriver) Value ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Value() (val float64)
Value returns the last written value
func (*AnalogActuatorDriver) Write ¶ added in v1.16.0
func (a *AnalogActuatorDriver) Write(val float64) (err error)
Write writes the given value to the actuator
type AnalogReader ¶
AnalogReader interface represents an Adaptor which has AnalogRead capabilities
type AnalogSensorDriver ¶
type AnalogSensorDriver struct { gobot.Eventer gobot.Commander // contains filtered or unexported fields }
AnalogSensorDriver represents an Analog Sensor
func NewAnalogSensorDriver ¶
func NewAnalogSensorDriver(a AnalogReader, pin string, v ...time.Duration) *AnalogSensorDriver
NewAnalogSensorDriver returns a new AnalogSensorDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin. The driver supports customizable scaling from read int value to returned float64. The default scaling is 1:1. An adjustable linear scaler is provided by the driver.
Optionally accepts:
time.Duration: Interval at which the AnalogSensor is polled for new information
Adds the following API Commands:
"Read" - See AnalogDriverSensor.Read "ReadValue" - See AnalogDriverSensor.ReadValue
func (*AnalogSensorDriver) Connection ¶
func (a *AnalogSensorDriver) Connection() gobot.Connection
Connection returns the AnalogSensorDrivers Connection
func (*AnalogSensorDriver) Halt ¶
func (a *AnalogSensorDriver) Halt() (err error)
Halt stops polling the analog sensor for new information
func (*AnalogSensorDriver) Name ¶
func (a *AnalogSensorDriver) Name() string
Name returns the AnalogSensorDrivers name
func (*AnalogSensorDriver) Pin ¶
func (a *AnalogSensorDriver) Pin() string
Pin returns the AnalogSensorDrivers pin
func (*AnalogSensorDriver) RawValue ¶ added in v1.16.0
func (a *AnalogSensorDriver) RawValue() int
RawValue returns the last read raw value from the sensor
func (*AnalogSensorDriver) Read ¶
func (a *AnalogSensorDriver) Read() (val int, err error)
Read returns the current reading from the sensor without scaling
func (*AnalogSensorDriver) ReadValue ¶ added in v1.16.0
func (a *AnalogSensorDriver) ReadValue() (val float64, err error)
ReadValue returns the current reading from the sensor
func (*AnalogSensorDriver) SetName ¶
func (a *AnalogSensorDriver) SetName(n string)
SetName sets the AnalogSensorDrivers name
func (*AnalogSensorDriver) SetScaler ¶ added in v1.16.0
func (a *AnalogSensorDriver) SetScaler(scaler func(int) float64)
SetScaler substitute the default 1:1 return value function by a new scaling function
func (*AnalogSensorDriver) Start ¶
func (a *AnalogSensorDriver) Start() (err error)
Start starts the AnalogSensorDriver and reads the sensor at the given interval. Emits the Events:
Data int - Event is emitted on change and represents the current raw reading from the sensor. Value float64 - Event is emitted on change and represents the current reading from the sensor. Error error - Event is emitted on error reading from the sensor.
func (*AnalogSensorDriver) Value ¶ added in v1.16.0
func (a *AnalogSensorDriver) Value() float64
Value returns the last read value from the sensor
type AnalogWriter ¶ added in v1.16.0
AnalogWriter interface represents an Adaptor which has AnalogWrite capabilities
type GroveLightSensorDriver ¶
type GroveLightSensorDriver struct {
*AnalogSensorDriver
}
GroveLightSensorDriver represents an analog light sensor with a Grove connector
func NewGroveLightSensorDriver ¶
func NewGroveLightSensorDriver(a AnalogReader, pin string, v ...time.Duration) *GroveLightSensorDriver
NewGroveLightSensorDriver returns a new GroveLightSensorDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin.
Optionally accepts:
time.Duration: Interval at which the AnalogSensor is polled for new information
Adds the following API Commands:
"Read" - See AnalogSensor.Read
type GrovePiezoVibrationSensorDriver ¶
type GrovePiezoVibrationSensorDriver struct {
*AnalogSensorDriver
}
GrovePiezoVibrationSensorDriver represents an analog vibration sensor with a Grove connector
func NewGrovePiezoVibrationSensorDriver ¶
func NewGrovePiezoVibrationSensorDriver(a AnalogReader, pin string, v ...time.Duration) *GrovePiezoVibrationSensorDriver
NewGrovePiezoVibrationSensorDriver returns a new GrovePiezoVibrationSensorDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin.
Optionally accepts:
time.Duration: Interval at which the AnalogSensor is polled for new information
Adds the following API Commands:
"Read" - See AnalogSensor.Read
type GroveRotaryDriver ¶
type GroveRotaryDriver struct {
*AnalogSensorDriver
}
GroveRotaryDriver represents an analog rotary dial with a Grove connector
func NewGroveRotaryDriver ¶
func NewGroveRotaryDriver(a AnalogReader, pin string, v ...time.Duration) *GroveRotaryDriver
NewGroveRotaryDriver returns a new GroveRotaryDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin.
Optionally accepts:
time.Duration: Interval at which the AnalogSensor is polled for new information
Adds the following API Commands:
"Read" - See AnalogSensor.Read
type GroveSoundSensorDriver ¶
type GroveSoundSensorDriver struct {
*AnalogSensorDriver
}
GroveSoundSensorDriver represents a analog sound sensor with a Grove connector
func NewGroveSoundSensorDriver ¶
func NewGroveSoundSensorDriver(a AnalogReader, pin string, v ...time.Duration) *GroveSoundSensorDriver
NewGroveSoundSensorDriver returns a new GroveSoundSensorDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin.
Optionally accepts:
time.Duration: Interval at which the AnalogSensor is polled for new information
Adds the following API Commands:
"Read" - See AnalogSensor.Read
type GroveTemperatureSensorDriver ¶
type GroveTemperatureSensorDriver struct {
*TemperatureSensorDriver
}
GroveTemperatureSensorDriver represents a temperature sensor The temperature is reported in degree Celsius
func NewGroveTemperatureSensorDriver ¶
func NewGroveTemperatureSensorDriver(a AnalogReader, pin string, v ...time.Duration) *GroveTemperatureSensorDriver
NewGroveTemperatureSensorDriver returns a new GroveTemperatureSensorDriver with a polling interval of 10 Milliseconds given an AnalogReader and pin.
Optionally accepts:
time.Duration: Interval at which the sensor is polled for new information (given 0 switch the polling off)
Adds the following API Commands:
"Read" - See AnalogDriverSensor.Read "ReadValue" - See AnalogDriverSensor.ReadValue
type TemperatureSensorDriver ¶ added in v1.16.0
type TemperatureSensorDriver struct {
*AnalogSensorDriver
}
TemperatureSensorDriver represents an Analog Sensor
func NewTemperatureSensorDriver ¶ added in v1.16.0
func NewTemperatureSensorDriver(a AnalogReader, pin string, v ...time.Duration) *TemperatureSensorDriver
NewTemperatureSensorDriver is a gobot driver for analog temperature sensors with a polling interval 10 Milliseconds given an AnalogReader and pin. For further details please refer to AnalogSensorDriver. Linear scaling and NTC scaling is supported.
Optionally accepts:
time.Duration: Interval at which the sensor is polled for new information (given 0 switch the polling off)
Adds the following API Commands:
"Read" - See AnalogDriverSensor.Read "ReadValue" - See AnalogDriverSensor.ReadValue
func (*TemperatureSensorDriver) SetLinearScaler ¶ added in v1.16.0
func (t *TemperatureSensorDriver) SetLinearScaler(fromMin, fromMax int, toMin, toMax float64)
SetLinearScaler sets a function for linear scaling the read value. This can be applied for some silicon based PTC sensors or e.g. PT100, and in a small temperature range also for NTC.
func (*TemperatureSensorDriver) SetNtcScaler ¶ added in v1.16.0
func (t *TemperatureSensorDriver) SetNtcScaler(vRef uint, rOhm uint, reverse bool, ntc TemperatureSensorNtcConf)
SetNtcSaler sets a function for typical NTC scaling the read value. The read value is related to the voltage over the thermistor in an series connection to a resistor. If the thermistor is connected to ground, the reverse flag must be set to true. This means the voltage decreases when temperature gets higher. Currently no negative values are supported.
func (*TemperatureSensorDriver) Temperature ¶ added in v1.16.0
func (t *TemperatureSensorDriver) Temperature() (val float64)
Temperature returns the last read temperature from the sensor.