Copyright | (c) Dustin Sallings 2020 |
---|---|
License | BSD3 |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GoPro.DEVC
Description
DEVC is one of the GPMF data types that contains the bulk of interesting telemetry data from within GPMF streams. This module doesn't currently provide high level access to *all* DEVC data (some of it remains low level), but it currently has useful representations of things that seemed interesting to the author.
Synopsis
- mkDEVC :: FourCC -> [Value] -> Maybe DEVC
- data DEVC = DEVC {}
- dev_id :: Lens' DEVC Int
- dev_name :: Lens' DEVC String
- dev_telems :: Lens' DEVC (Map String Telemetry)
- data Accelerometer = Accelerometer {}
- acc_temp :: Lens' Accelerometer Float
- acc_vals :: Lens' Accelerometer [(Float, Float, Float)]
- data Gyroscope = Gyroscope {
- _gyro_temp :: Float
- _gyro_vals :: [(Float, Float, Float)]
- gyro_temp :: Lens' Gyroscope Float
- gyro_vals :: Lens' Gyroscope [(Float, Float, Float)]
- data Face = Face {}
- face_id :: Lens' Face Int
- face_x :: Lens' Face Float
- face_y :: Lens' Face Float
- face_w :: Lens' Face Float
- face_h :: Lens' Face Float
- face_smile :: Lens' Face Float
- data GPSReading = GPSReading {}
- gpsr_lat :: Lens' GPSReading Double
- gpsr_lon :: Lens' GPSReading Double
- gpsr_alt :: Lens' GPSReading Double
- gpsr_speed2d :: Lens' GPSReading Double
- gpsr_speed3d :: Lens' GPSReading Double
- gpsr_time :: Lens' GPSReading UTCTime
- gpsr_dop :: Lens' GPSReading Double
- gpsr_fix :: Lens' GPSReading Int
- data AudioLevel = AudioLevel {
- _audio_rms :: [Int]
- _audio_peak :: [Int]
- audio_rms :: Lens' AudioLevel [Int]
- audio_peak :: Lens' AudioLevel [Int]
- data Location
- _Snow :: Prism' Location ()
- _Urban :: Prism' Location ()
- _Indoor :: Prism' Location ()
- _Water :: Prism' Location ()
- _Vegetation :: Prism' Location ()
- _Beach :: Prism' Location ()
- data TVals
- = TVUnknown [Value]
- | TVAccl Accelerometer
- | TVGyro Gyroscope
- | TVFaces [Face]
- | TVGPS5 [GPSReading]
- | TVGPS9 [GPSReading]
- | TVAudioLevel AudioLevel
- | TVScene [Map Location Float]
- _TVUnknown :: Prism' TVals [Value]
- _TVAccl :: Prism' TVals Accelerometer
- _TVGyro :: Prism' TVals Gyroscope
- _TVFaces :: Prism' TVals [Face]
- _TVGPS5 :: Prism' TVals [GPSReading]
- _TVGPS9 :: Prism' TVals [GPSReading]
- _TVAudioLevel :: Prism' TVals AudioLevel
- _TVScene :: Prism' TVals [Map Location Float]
- data Telemetry = Telemetry {
- _tele_stmp :: Word64
- _tele_tsmp :: Int
- _tele_name :: String
- _tele_values :: TVals
- tele_stmp :: Lens' Telemetry Word64
- tele_tsmp :: Lens' Telemetry Int
- tele_name :: Lens' Telemetry String
- tele_values :: Lens' Telemetry TVals
Documentation
mkDEVC :: FourCC -> [Value] -> Maybe DEVC Source #
Given a FourCC value (specifically, DEVC) and a list of Values, produce a DEVC value.
data Accelerometer Source #
Instances
Show Accelerometer Source # | |
Defined in GoPro.DEVC Methods showsPrec :: Int -> Accelerometer -> ShowS # show :: Accelerometer -> String # showList :: [Accelerometer] -> ShowS # |
Constructors
Gyroscope | |
Fields
|
Constructors
Face | |
data GPSReading Source #
Constructors
GPSReading | |
Instances
Show GPSReading Source # | |
Defined in GoPro.DEVC Methods showsPrec :: Int -> GPSReading -> ShowS # show :: GPSReading -> String # showList :: [GPSReading] -> ShowS # |
data AudioLevel Source #
Constructors
AudioLevel | |
Fields
|
Instances
Show AudioLevel Source # | |
Defined in GoPro.DEVC Methods showsPrec :: Int -> AudioLevel -> ShowS # show :: AudioLevel -> String # showList :: [AudioLevel] -> ShowS # |
audio_peak :: Lens' AudioLevel [Int] Source #
_Vegetation :: Prism' Location () Source #
Constructors
TVUnknown [Value] | |
TVAccl Accelerometer | |
TVGyro Gyroscope | |
TVFaces [Face] | |
TVGPS5 [GPSReading] | |
TVGPS9 [GPSReading] | |
TVAudioLevel AudioLevel | |
TVScene [Map Location Float] |
Constructors
Telemetry | |
Fields
|