mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-03 06:27:47 +00:00
add Sensor interface and Measurement type
This commit is contained in:
committed by
Ron Evans
parent
c0ab3596fa
commit
8ddfa6ac8f
@@ -0,0 +1,36 @@
|
||||
package drivers
|
||||
|
||||
// Measurement specifies a type of measurement,
|
||||
// for example: temperature, acceleration, pressure.
|
||||
type Measurement uint32
|
||||
|
||||
// Sensor measurements
|
||||
const (
|
||||
Voltage Measurement = 1 << iota
|
||||
Temperature
|
||||
Humidity
|
||||
Pressure
|
||||
Distance
|
||||
Acceleration
|
||||
AngularVelocity
|
||||
MagneticField
|
||||
Luminosity
|
||||
Time
|
||||
// Add Measurements above AllMeasurements.
|
||||
|
||||
// AllMeasurements is the OR of all Measurement values. It ensures all measurements are done.
|
||||
AllMeasurements Measurement = (1 << 32) - 1
|
||||
)
|
||||
|
||||
// Sensor represents an object capable of making one
|
||||
// or more measurements. A sensor will then have methods
|
||||
// which read the last updated measurements.
|
||||
//
|
||||
// Many Sensors may be collected into
|
||||
// one Sensor interface to synchronize measurements.
|
||||
type Sensor interface {
|
||||
// Update performs IO to update the measurements of a sensor.
|
||||
// It shall return error only when the sensor encounters an error that prevents it from
|
||||
// storing all or part of the measurements it was called to do.
|
||||
Update(which Measurement) error
|
||||
}
|
||||
Reference in New Issue
Block a user