Copyright | (c) Dustin Sallings 2020 |
---|---|
License | BSD3 |
Stability | experimental |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
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
- gpsReadings :: Getter DEVC [GPSReading]
- 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 showsPrec :: Int -> Accelerometer -> ShowS # show :: Accelerometer -> String # showList :: [Accelerometer] -> ShowS # |
Gyroscope | |
|
data GPSReading Source #
Instances
Show GPSReading Source # | |
Defined in GoPro.DEVC showsPrec :: Int -> GPSReading -> ShowS # show :: GPSReading -> String # showList :: [GPSReading] -> ShowS # |
gpsReadings :: Getter DEVC [GPSReading] Source #
Get the best GPS readings from a DEVC. This will attempt to return any TVGPS9 readings, but will fall back to GPS5 readings if available.
data AudioLevel Source #
AudioLevel | |
|
Instances
Show AudioLevel Source # | |
Defined in GoPro.DEVC showsPrec :: Int -> AudioLevel -> ShowS # show :: AudioLevel -> String # showList :: [AudioLevel] -> ShowS # |
audio_peak :: Lens' AudioLevel [Int] Source #
_Vegetation :: Prism' Location () Source #
Telemetry | |
|