| Copyright | (c) Dustin Sallings 2020 |
|---|---|
| License | BSD3 |
| Stability | experimental |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
GoPro.GPMF
Description
A low-level parser for GPMF telemetry data.
Synopsis
- parseGPMF :: ByteString -> Either String [(FourCC, [Value])]
- data Value
- = GInt8 [Int8]
- | GUint8 [Word8]
- | GString String
- | GDouble Double
- | GFloat [Float]
- | GFourCC FourCC
- | GUUID [Word8]
- | GInt64 [Int64]
- | GUint64 [Word64]
- | GInt32 [Int32]
- | GUint32 [Word32]
- | GQ32 [Word32]
- | GQ64 [Word64]
- | GInt16 [Int16]
- | GUint16 [Word16]
- | GTimestamp UTCTime
- | GComplex String [Value]
- | GNested (FourCC, [Value])
- | GUnknown (Char, Int, Int, [[Word8]])
- newtype FourCC = FourCC (Char, Char, Char, Char)
Documentation
parseGPMF :: ByteString -> Either String [(FourCC, [Value])] Source #
Parse GPMF data from a telemetry stream. A successful return value contains a list of FourCC tagged value lists.
Note that the input is the telemetry stream itself, not the container that contains it.
Constructors
| GInt8 [Int8] | |
| GUint8 [Word8] | |
| GString String | |
| GDouble Double | |
| GFloat [Float] | |
| GFourCC FourCC | |
| GUUID [Word8] | |
| GInt64 [Int64] | |
| GUint64 [Word64] | |
| GInt32 [Int32] | |
| GUint32 [Word32] | |
| GQ32 [Word32] | |
| GQ64 [Word64] | |
| GInt16 [Int16] | |
| GUint16 [Word16] | |
| GTimestamp UTCTime | |
| GComplex String [Value] | |
| GNested (FourCC, [Value]) | |
| GUnknown (Char, Int, Int, [[Word8]]) |