cayene-lpp-0.1.0.0: Cayenne Low Power Payload

Maintainersrk <srk@48.io>
Safe HaskellSafe
LanguageHaskell2010

Data.Cayene.Types

Description

Encoding example:

import qualified Data.Cayene as CLPP
import qualified Data.ByteString.Base16.Lazy as B16L
import qualified Data.ByteString.Lazy.Char8 as BSL

BSL.putStrLn $ B16L.encode . CLPP.encodeMany [(7, Illum 1337), (0, Power 13.5)]

Synopsis

Documentation

data Sensor Source #

Constructors

DigitalIn Word8

Digital input (8 bits)

DigitalOut Word8

Digital output (8 bits)

AnalogIn Float

Analog input

AnalogOut Float

Analog output

Illum Word16

Illuminance sensor (Lux)

Presence Word8

Presence

Temperature Float

Temperature (Celsius)

Humidity Float

Humidity (%)

Accelerometer Float Float Float

Accelerometer (G)

Barometer Float

Barometer (hPa)

Voltage Float

Voltage (V)

Current Float

Current (A)

Percentage Float

Percentage

Pressure Float

Pressure

Power Float

Power (W)

Energy Float

Energy (J)

Direction Word8

??? (this should probably be Word16)

Gyrometer Float Float Float

Gyrometer (°/s)

GPS Float Float Float

GPS Latitude (°) ,Longitude (°), Altitude (m)

encode :: Reading -> ByteString Source #

Encode a single Reading

encodeMany :: [Reading] -> ByteString Source #

Encode a list of Readings

decode :: ByteString -> Reading Source #

Decode a single Reading, may fail

decodeMany :: ByteString -> [Reading] Source #

Decode multiple Readings, returns empty list if nothing is decoded

decodeMaybe :: ByteString -> Maybe Reading Source #

Maybe decode a single Reading