mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-07-26 10:38:41 +00:00
a45227590e
add sandbox electronics NDIR CO2 sensor
39 lines
1.1 KiB
Go
39 lines
1.1 KiB
Go
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
|
|
// Gas or liquid concentration, usually measured in ppm (parts per million).
|
|
Concentration
|
|
// 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
|
|
}
|