acquisition-0.1: Generic interface for digital multimeters and data loggersSource codeContentsIndex
System.Hardware.Acquisition
Synopsis
type Value = Double
data Measurement
= Whatever
| VoltageAC
| VoltageDC
| CurrentAC
| CurrentDC
| Resistance
| Capacitance
| Inductance
| Temperature
| DCGain
| DutyCycle
| Frequency
| Length
| Illuminance
| Mass
| Force
| Time
data Sample = Sample {
measurement :: Measurement
value :: Value
}
data Channel = Channel {
getSample :: (Error e, MonadError e m, MonadIO m) => m Sample
close :: MonadIO m => m ()
}
ioChannel :: IO Sample -> Channel
constChannel :: Sample -> Channel
data Protocol = Protocol {
initialise :: MonadIO m => m [Channel]
destroy :: MonadIO m => m ()
}
data Connection = Connection {
getWord8 :: (Error e, MonadError e m, MonadIO m) => m Word8
disconnect :: MonadIO m => m ()
}
type Adaptor m = Channel -> m Channel
(=>>=) :: Monad m => Adaptor m -> Adaptor m -> Adaptor m
Documentation
type Value = DoubleSource
Base type for all measurements; Double seems a reasonable choice.
data Measurement Source
All measurements normalised to SI units; base units are preferred over derived units.
Constructors
Whateverno frackin' clue whatsoever
VoltageACVolts RMS
VoltageDCVolts
CurrentACAmperes RMS
CurrentDCAmperes
ResistanceOhms
CapacitanceFarads
InductanceHenries
TemperatureKelvins
DCGainRatio, hFE for bipolar transistors
DutyCycleRatio, not percentage!
FrequencyHertz
LengthMetres
IlluminanceLux
MassKilograms
ForceNewtons
TimeSeconds
show/hide Instances
data Sample Source
Constructors
Sample
measurement :: Measurement
value :: ValueOverload shows up as NaN; infinite values ought to show up as ±Infinity.
show/hide Instances
data Channel Source
Constructors
Channel
getSample :: (Error e, MonadError e m, MonadIO m) => m Sample
close :: MonadIO m => m ()
show/hide Instances
ioChannel :: IO Sample -> ChannelSource
constChannel :: Sample -> ChannelSource
data Protocol Source
Constructors
Protocol
initialise :: MonadIO m => m [Channel]
destroy :: MonadIO m => m ()
data Connection Source
Constructors
Connection
getWord8 :: (Error e, MonadError e m, MonadIO m) => m Word8
disconnect :: MonadIO m => m ()
type Adaptor m = Channel -> m ChannelSource
(=>>=) :: Monad m => Adaptor m -> Adaptor m -> Adaptor mSource
Produced by Haddock version 2.3.0