rtcm 0.2.16 → 0.2.17
raw patch · 5 files changed
+1711/−1 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Data.RTCM3: RTCM3Msg1074 :: Msg1074 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1075 :: Msg1075 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1076 :: Msg1076 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1077 :: Msg1077 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1084 :: Msg1084 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1085 :: Msg1085 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1086 :: Msg1086 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1087 :: Msg1087 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1094 :: Msg1094 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1095 :: Msg1095 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1096 :: Msg1096 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1097 :: Msg1097 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1104 :: Msg1104 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1105 :: Msg1105 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1106 :: Msg1106 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1107 :: Msg1107 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1114 :: Msg1114 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1115 :: Msg1115 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1116 :: Msg1116 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1117 :: Msg1117 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1124 :: Msg1124 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1125 :: Msg1125 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1126 :: Msg1126 -> Msg -> RTCM3Msg
+ Data.RTCM3: RTCM3Msg1127 :: Msg1127 -> Msg -> RTCM3Msg
+ Data.RTCM3: _RTCM3Msg1074 :: Prism' RTCM3Msg (Msg1074, Msg)
+ Data.RTCM3: _RTCM3Msg1075 :: Prism' RTCM3Msg (Msg1075, Msg)
+ Data.RTCM3: _RTCM3Msg1076 :: Prism' RTCM3Msg (Msg1076, Msg)
+ Data.RTCM3: _RTCM3Msg1077 :: Prism' RTCM3Msg (Msg1077, Msg)
+ Data.RTCM3: _RTCM3Msg1084 :: Prism' RTCM3Msg (Msg1084, Msg)
+ Data.RTCM3: _RTCM3Msg1085 :: Prism' RTCM3Msg (Msg1085, Msg)
+ Data.RTCM3: _RTCM3Msg1086 :: Prism' RTCM3Msg (Msg1086, Msg)
+ Data.RTCM3: _RTCM3Msg1087 :: Prism' RTCM3Msg (Msg1087, Msg)
+ Data.RTCM3: _RTCM3Msg1094 :: Prism' RTCM3Msg (Msg1094, Msg)
+ Data.RTCM3: _RTCM3Msg1095 :: Prism' RTCM3Msg (Msg1095, Msg)
+ Data.RTCM3: _RTCM3Msg1096 :: Prism' RTCM3Msg (Msg1096, Msg)
+ Data.RTCM3: _RTCM3Msg1097 :: Prism' RTCM3Msg (Msg1097, Msg)
+ Data.RTCM3: _RTCM3Msg1104 :: Prism' RTCM3Msg (Msg1104, Msg)
+ Data.RTCM3: _RTCM3Msg1105 :: Prism' RTCM3Msg (Msg1105, Msg)
+ Data.RTCM3: _RTCM3Msg1106 :: Prism' RTCM3Msg (Msg1106, Msg)
+ Data.RTCM3: _RTCM3Msg1107 :: Prism' RTCM3Msg (Msg1107, Msg)
+ Data.RTCM3: _RTCM3Msg1114 :: Prism' RTCM3Msg (Msg1114, Msg)
+ Data.RTCM3: _RTCM3Msg1115 :: Prism' RTCM3Msg (Msg1115, Msg)
+ Data.RTCM3: _RTCM3Msg1116 :: Prism' RTCM3Msg (Msg1116, Msg)
+ Data.RTCM3: _RTCM3Msg1117 :: Prism' RTCM3Msg (Msg1117, Msg)
+ Data.RTCM3: _RTCM3Msg1124 :: Prism' RTCM3Msg (Msg1124, Msg)
+ Data.RTCM3: _RTCM3Msg1125 :: Prism' RTCM3Msg (Msg1125, Msg)
+ Data.RTCM3: _RTCM3Msg1126 :: Prism' RTCM3Msg (Msg1126, Msg)
+ Data.RTCM3: _RTCM3Msg1127 :: Prism' RTCM3Msg (Msg1127, Msg)
+ Data.RTCM3.MSM: Msg1074 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1074
+ Data.RTCM3.MSM: Msg1075 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1075
+ Data.RTCM3.MSM: Msg1076 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1076
+ Data.RTCM3.MSM: Msg1077 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1077
+ Data.RTCM3.MSM: Msg1084 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1084
+ Data.RTCM3.MSM: Msg1085 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1085
+ Data.RTCM3.MSM: Msg1086 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1086
+ Data.RTCM3.MSM: Msg1087 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1087
+ Data.RTCM3.MSM: Msg1094 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1094
+ Data.RTCM3.MSM: Msg1095 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1095
+ Data.RTCM3.MSM: Msg1096 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1096
+ Data.RTCM3.MSM: Msg1097 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1097
+ Data.RTCM3.MSM: Msg1104 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1104
+ Data.RTCM3.MSM: Msg1105 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1105
+ Data.RTCM3.MSM: Msg1106 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1106
+ Data.RTCM3.MSM: Msg1107 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1107
+ Data.RTCM3.MSM: Msg1114 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1114
+ Data.RTCM3.MSM: Msg1115 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1115
+ Data.RTCM3.MSM: Msg1116 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1116
+ Data.RTCM3.MSM: Msg1117 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1117
+ Data.RTCM3.MSM: Msg1124 :: MsmHeader -> Msm46SatelliteData -> Msm4SignalData -> Msg1124
+ Data.RTCM3.MSM: Msg1125 :: MsmHeader -> Msm57SatelliteData -> Msm5SignalData -> Msg1125
+ Data.RTCM3.MSM: Msg1126 :: MsmHeader -> Msm46SatelliteData -> Msm6SignalData -> Msg1126
+ Data.RTCM3.MSM: Msg1127 :: MsmHeader -> Msm57SatelliteData -> Msm7SignalData -> Msg1127
+ Data.RTCM3.MSM: Msm46SatelliteData :: [Word8] -> [Word16] -> Msm46SatelliteData
+ Data.RTCM3.MSM: Msm4SignalData :: [Int16] -> [Int32] -> [Word8] -> [Bool] -> [Word8] -> Msm4SignalData
+ Data.RTCM3.MSM: Msm57SatelliteData :: [Word8] -> [Word8] -> [Word16] -> [Word16] -> Msm57SatelliteData
+ Data.RTCM3.MSM: Msm5SignalData :: [Int16] -> [Int32] -> [Word8] -> [Bool] -> [Word8] -> [Int16] -> Msm5SignalData
+ Data.RTCM3.MSM: Msm6SignalData :: [Int32] -> [Int32] -> [Word16] -> [Bool] -> [Word16] -> Msm6SignalData
+ Data.RTCM3.MSM: Msm7SignalData :: [Int32] -> [Int32] -> [Word16] -> [Bool] -> [Word16] -> [Int16] -> Msm7SignalData
+ Data.RTCM3.MSM: MsmHeader :: Word16 -> Word16 -> Word32 -> Bool -> Word8 -> Word8 -> Word8 -> Word8 -> Bool -> Word8 -> Word64 -> Word32 -> Word64 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1074_header] :: Msg1074 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1074_satelliteData] :: Msg1074 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1074_signalData] :: Msg1074 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1075_header] :: Msg1075 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1075_satelliteData] :: Msg1075 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1075_signalData] :: Msg1075 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1076_header] :: Msg1076 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1076_satelliteData] :: Msg1076 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1076_signalData] :: Msg1076 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1077_header] :: Msg1077 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1077_satelliteData] :: Msg1077 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1077_signalData] :: Msg1077 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msg1084_header] :: Msg1084 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1084_satelliteData] :: Msg1084 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1084_signalData] :: Msg1084 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1085_header] :: Msg1085 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1085_satelliteData] :: Msg1085 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1085_signalData] :: Msg1085 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1086_header] :: Msg1086 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1086_satelliteData] :: Msg1086 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1086_signalData] :: Msg1086 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1087_header] :: Msg1087 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1087_satelliteData] :: Msg1087 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1087_signalData] :: Msg1087 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msg1094_header] :: Msg1094 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1094_satelliteData] :: Msg1094 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1094_signalData] :: Msg1094 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1095_header] :: Msg1095 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1095_satelliteData] :: Msg1095 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1095_signalData] :: Msg1095 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1096_header] :: Msg1096 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1096_satelliteData] :: Msg1096 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1096_signalData] :: Msg1096 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1097_header] :: Msg1097 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1097_satelliteData] :: Msg1097 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1097_signalData] :: Msg1097 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msg1104_header] :: Msg1104 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1104_satelliteData] :: Msg1104 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1104_signalData] :: Msg1104 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1105_header] :: Msg1105 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1105_satelliteData] :: Msg1105 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1105_signalData] :: Msg1105 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1106_header] :: Msg1106 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1106_satelliteData] :: Msg1106 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1106_signalData] :: Msg1106 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1107_header] :: Msg1107 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1107_satelliteData] :: Msg1107 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1107_signalData] :: Msg1107 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msg1114_header] :: Msg1114 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1114_satelliteData] :: Msg1114 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1114_signalData] :: Msg1114 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1115_header] :: Msg1115 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1115_satelliteData] :: Msg1115 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1115_signalData] :: Msg1115 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1116_header] :: Msg1116 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1116_satelliteData] :: Msg1116 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1116_signalData] :: Msg1116 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1117_header] :: Msg1117 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1117_satelliteData] :: Msg1117 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1117_signalData] :: Msg1117 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msg1124_header] :: Msg1124 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1124_satelliteData] :: Msg1124 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1124_signalData] :: Msg1124 -> Msm4SignalData
+ Data.RTCM3.MSM: [_msg1125_header] :: Msg1125 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1125_satelliteData] :: Msg1125 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1125_signalData] :: Msg1125 -> Msm5SignalData
+ Data.RTCM3.MSM: [_msg1126_header] :: Msg1126 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1126_satelliteData] :: Msg1126 -> Msm46SatelliteData
+ Data.RTCM3.MSM: [_msg1126_signalData] :: Msg1126 -> Msm6SignalData
+ Data.RTCM3.MSM: [_msg1127_header] :: Msg1127 -> MsmHeader
+ Data.RTCM3.MSM: [_msg1127_satelliteData] :: Msg1127 -> Msm57SatelliteData
+ Data.RTCM3.MSM: [_msg1127_signalData] :: Msg1127 -> Msm7SignalData
+ Data.RTCM3.MSM: [_msm46SatelliteData_rangesModulo] :: Msm46SatelliteData -> [Word16]
+ Data.RTCM3.MSM: [_msm46SatelliteData_ranges] :: Msm46SatelliteData -> [Word8]
+ Data.RTCM3.MSM: [_msm4SignalData_cnrs] :: Msm4SignalData -> [Word8]
+ Data.RTCM3.MSM: [_msm4SignalData_halfCycles] :: Msm4SignalData -> [Bool]
+ Data.RTCM3.MSM: [_msm4SignalData_lockTimes] :: Msm4SignalData -> [Word8]
+ Data.RTCM3.MSM: [_msm4SignalData_phaseranges] :: Msm4SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msm4SignalData_pseudoranges] :: Msm4SignalData -> [Int16]
+ Data.RTCM3.MSM: [_msm57SatelliteData_extendeds] :: Msm57SatelliteData -> [Word8]
+ Data.RTCM3.MSM: [_msm57SatelliteData_phaseRangeRates] :: Msm57SatelliteData -> [Word16]
+ Data.RTCM3.MSM: [_msm57SatelliteData_rangesModulo] :: Msm57SatelliteData -> [Word16]
+ Data.RTCM3.MSM: [_msm57SatelliteData_ranges] :: Msm57SatelliteData -> [Word8]
+ Data.RTCM3.MSM: [_msm5SignalData_cnrs] :: Msm5SignalData -> [Word8]
+ Data.RTCM3.MSM: [_msm5SignalData_halfCycles] :: Msm5SignalData -> [Bool]
+ Data.RTCM3.MSM: [_msm5SignalData_lockTimes] :: Msm5SignalData -> [Word8]
+ Data.RTCM3.MSM: [_msm5SignalData_phaseRangeRates] :: Msm5SignalData -> [Int16]
+ Data.RTCM3.MSM: [_msm5SignalData_phaseranges] :: Msm5SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msm5SignalData_pseudoranges] :: Msm5SignalData -> [Int16]
+ Data.RTCM3.MSM: [_msm6SignalData_cnrs] :: Msm6SignalData -> [Word16]
+ Data.RTCM3.MSM: [_msm6SignalData_halfCycles] :: Msm6SignalData -> [Bool]
+ Data.RTCM3.MSM: [_msm6SignalData_lockTimes] :: Msm6SignalData -> [Word16]
+ Data.RTCM3.MSM: [_msm6SignalData_phaseranges] :: Msm6SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msm6SignalData_pseudoranges] :: Msm6SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msm7SignalData_cnrs] :: Msm7SignalData -> [Word16]
+ Data.RTCM3.MSM: [_msm7SignalData_halfCycles] :: Msm7SignalData -> [Bool]
+ Data.RTCM3.MSM: [_msm7SignalData_lockTimes] :: Msm7SignalData -> [Word16]
+ Data.RTCM3.MSM: [_msm7SignalData_phaseRangeRates] :: Msm7SignalData -> [Int16]
+ Data.RTCM3.MSM: [_msm7SignalData_phaseranges] :: Msm7SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msm7SignalData_pseudoranges] :: Msm7SignalData -> [Int32]
+ Data.RTCM3.MSM: [_msmHeader_cellMask] :: MsmHeader -> Word64
+ Data.RTCM3.MSM: [_msmHeader_clockSteering] :: MsmHeader -> Word8
+ Data.RTCM3.MSM: [_msmHeader_epoch] :: MsmHeader -> Word32
+ Data.RTCM3.MSM: [_msmHeader_externalClock] :: MsmHeader -> Word8
+ Data.RTCM3.MSM: [_msmHeader_iods] :: MsmHeader -> Word8
+ Data.RTCM3.MSM: [_msmHeader_multiple] :: MsmHeader -> Bool
+ Data.RTCM3.MSM: [_msmHeader_num] :: MsmHeader -> Word16
+ Data.RTCM3.MSM: [_msmHeader_reserved] :: MsmHeader -> Word8
+ Data.RTCM3.MSM: [_msmHeader_satelliteMask] :: MsmHeader -> Word64
+ Data.RTCM3.MSM: [_msmHeader_signalMask] :: MsmHeader -> Word32
+ Data.RTCM3.MSM: [_msmHeader_smoothingInterval] :: MsmHeader -> Word8
+ Data.RTCM3.MSM: [_msmHeader_smoothing] :: MsmHeader -> Bool
+ Data.RTCM3.MSM: [_msmHeader_station] :: MsmHeader -> Word16
+ Data.RTCM3.MSM: data Msg1074
+ Data.RTCM3.MSM: data Msg1075
+ Data.RTCM3.MSM: data Msg1076
+ Data.RTCM3.MSM: data Msg1077
+ Data.RTCM3.MSM: data Msg1084
+ Data.RTCM3.MSM: data Msg1085
+ Data.RTCM3.MSM: data Msg1086
+ Data.RTCM3.MSM: data Msg1087
+ Data.RTCM3.MSM: data Msg1094
+ Data.RTCM3.MSM: data Msg1095
+ Data.RTCM3.MSM: data Msg1096
+ Data.RTCM3.MSM: data Msg1097
+ Data.RTCM3.MSM: data Msg1104
+ Data.RTCM3.MSM: data Msg1105
+ Data.RTCM3.MSM: data Msg1106
+ Data.RTCM3.MSM: data Msg1107
+ Data.RTCM3.MSM: data Msg1114
+ Data.RTCM3.MSM: data Msg1115
+ Data.RTCM3.MSM: data Msg1116
+ Data.RTCM3.MSM: data Msg1117
+ Data.RTCM3.MSM: data Msg1124
+ Data.RTCM3.MSM: data Msg1125
+ Data.RTCM3.MSM: data Msg1126
+ Data.RTCM3.MSM: data Msg1127
+ Data.RTCM3.MSM: data Msm46SatelliteData
+ Data.RTCM3.MSM: data Msm4SignalData
+ Data.RTCM3.MSM: data Msm57SatelliteData
+ Data.RTCM3.MSM: data Msm5SignalData
+ Data.RTCM3.MSM: data Msm6SignalData
+ Data.RTCM3.MSM: data Msm7SignalData
+ Data.RTCM3.MSM: data MsmHeader
+ Data.RTCM3.MSM: getBitsMsm46SatelliteData :: Int -> BitGet Msm46SatelliteData
+ Data.RTCM3.MSM: getBitsMsm4SignalData :: Int -> BitGet Msm4SignalData
+ Data.RTCM3.MSM: getBitsMsm57SatelliteData :: Int -> BitGet Msm57SatelliteData
+ Data.RTCM3.MSM: getBitsMsm5SignalData :: Int -> BitGet Msm5SignalData
+ Data.RTCM3.MSM: getBitsMsm6SignalData :: Int -> BitGet Msm6SignalData
+ Data.RTCM3.MSM: getBitsMsm7SignalData :: Int -> BitGet Msm7SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm46SatelliteData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm4SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm57SatelliteData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm5SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm6SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.Msm7SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.FromJSON.FromJSON Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm46SatelliteData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm4SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm57SatelliteData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm5SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm6SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.Msm7SignalData
+ Data.RTCM3.MSM: instance Data.Aeson.Types.ToJSON.ToJSON Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: instance Data.Binary.Bits.BinaryBit Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance Data.Binary.Class.Binary Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance Data.RTCM3.Types.ToRTCM3 Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm46SatelliteData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm4SignalData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm57SatelliteData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm5SignalData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm6SignalData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.Msm7SignalData
+ Data.RTCM3.MSM: instance GHC.Classes.Eq Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm46SatelliteData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm4SignalData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm57SatelliteData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm5SignalData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm6SignalData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.Msm7SignalData
+ Data.RTCM3.MSM: instance GHC.Read.Read Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1074
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1075
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1076
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1077
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1084
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1085
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1086
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1087
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1094
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1095
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1096
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1097
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1104
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1105
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1106
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1107
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1114
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1115
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1116
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1117
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1124
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1125
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1126
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msg1127
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm46SatelliteData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm4SignalData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm57SatelliteData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm5SignalData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm6SignalData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.Msm7SignalData
+ Data.RTCM3.MSM: instance GHC.Show.Show Data.RTCM3.MSM.MsmHeader
+ Data.RTCM3.MSM: msg1074 :: Word16
+ Data.RTCM3.MSM: msg1074_header :: Lens' Msg1074 MsmHeader
+ Data.RTCM3.MSM: msg1074_satelliteData :: Lens' Msg1074 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1074_signalData :: Lens' Msg1074 Msm4SignalData
+ Data.RTCM3.MSM: msg1075 :: Word16
+ Data.RTCM3.MSM: msg1075_header :: Lens' Msg1075 MsmHeader
+ Data.RTCM3.MSM: msg1075_satelliteData :: Lens' Msg1075 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1075_signalData :: Lens' Msg1075 Msm5SignalData
+ Data.RTCM3.MSM: msg1076 :: Word16
+ Data.RTCM3.MSM: msg1076_header :: Lens' Msg1076 MsmHeader
+ Data.RTCM3.MSM: msg1076_satelliteData :: Lens' Msg1076 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1076_signalData :: Lens' Msg1076 Msm6SignalData
+ Data.RTCM3.MSM: msg1077 :: Word16
+ Data.RTCM3.MSM: msg1077_header :: Lens' Msg1077 MsmHeader
+ Data.RTCM3.MSM: msg1077_satelliteData :: Lens' Msg1077 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1077_signalData :: Lens' Msg1077 Msm7SignalData
+ Data.RTCM3.MSM: msg1084 :: Word16
+ Data.RTCM3.MSM: msg1084_header :: Lens' Msg1084 MsmHeader
+ Data.RTCM3.MSM: msg1084_satelliteData :: Lens' Msg1084 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1084_signalData :: Lens' Msg1084 Msm4SignalData
+ Data.RTCM3.MSM: msg1085 :: Word16
+ Data.RTCM3.MSM: msg1085_header :: Lens' Msg1085 MsmHeader
+ Data.RTCM3.MSM: msg1085_satelliteData :: Lens' Msg1085 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1085_signalData :: Lens' Msg1085 Msm5SignalData
+ Data.RTCM3.MSM: msg1086 :: Word16
+ Data.RTCM3.MSM: msg1086_header :: Lens' Msg1086 MsmHeader
+ Data.RTCM3.MSM: msg1086_satelliteData :: Lens' Msg1086 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1086_signalData :: Lens' Msg1086 Msm6SignalData
+ Data.RTCM3.MSM: msg1087 :: Word16
+ Data.RTCM3.MSM: msg1087_header :: Lens' Msg1087 MsmHeader
+ Data.RTCM3.MSM: msg1087_satelliteData :: Lens' Msg1087 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1087_signalData :: Lens' Msg1087 Msm7SignalData
+ Data.RTCM3.MSM: msg1094 :: Word16
+ Data.RTCM3.MSM: msg1094_header :: Lens' Msg1094 MsmHeader
+ Data.RTCM3.MSM: msg1094_satelliteData :: Lens' Msg1094 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1094_signalData :: Lens' Msg1094 Msm4SignalData
+ Data.RTCM3.MSM: msg1095 :: Word16
+ Data.RTCM3.MSM: msg1095_header :: Lens' Msg1095 MsmHeader
+ Data.RTCM3.MSM: msg1095_satelliteData :: Lens' Msg1095 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1095_signalData :: Lens' Msg1095 Msm5SignalData
+ Data.RTCM3.MSM: msg1096 :: Word16
+ Data.RTCM3.MSM: msg1096_header :: Lens' Msg1096 MsmHeader
+ Data.RTCM3.MSM: msg1096_satelliteData :: Lens' Msg1096 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1096_signalData :: Lens' Msg1096 Msm6SignalData
+ Data.RTCM3.MSM: msg1097 :: Word16
+ Data.RTCM3.MSM: msg1097_header :: Lens' Msg1097 MsmHeader
+ Data.RTCM3.MSM: msg1097_satelliteData :: Lens' Msg1097 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1097_signalData :: Lens' Msg1097 Msm7SignalData
+ Data.RTCM3.MSM: msg1104 :: Word16
+ Data.RTCM3.MSM: msg1104_header :: Lens' Msg1104 MsmHeader
+ Data.RTCM3.MSM: msg1104_satelliteData :: Lens' Msg1104 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1104_signalData :: Lens' Msg1104 Msm4SignalData
+ Data.RTCM3.MSM: msg1105 :: Word16
+ Data.RTCM3.MSM: msg1105_header :: Lens' Msg1105 MsmHeader
+ Data.RTCM3.MSM: msg1105_satelliteData :: Lens' Msg1105 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1105_signalData :: Lens' Msg1105 Msm5SignalData
+ Data.RTCM3.MSM: msg1106 :: Word16
+ Data.RTCM3.MSM: msg1106_header :: Lens' Msg1106 MsmHeader
+ Data.RTCM3.MSM: msg1106_satelliteData :: Lens' Msg1106 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1106_signalData :: Lens' Msg1106 Msm6SignalData
+ Data.RTCM3.MSM: msg1107 :: Word16
+ Data.RTCM3.MSM: msg1107_header :: Lens' Msg1107 MsmHeader
+ Data.RTCM3.MSM: msg1107_satelliteData :: Lens' Msg1107 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1107_signalData :: Lens' Msg1107 Msm7SignalData
+ Data.RTCM3.MSM: msg1114 :: Word16
+ Data.RTCM3.MSM: msg1114_header :: Lens' Msg1114 MsmHeader
+ Data.RTCM3.MSM: msg1114_satelliteData :: Lens' Msg1114 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1114_signalData :: Lens' Msg1114 Msm4SignalData
+ Data.RTCM3.MSM: msg1115 :: Word16
+ Data.RTCM3.MSM: msg1115_header :: Lens' Msg1115 MsmHeader
+ Data.RTCM3.MSM: msg1115_satelliteData :: Lens' Msg1115 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1115_signalData :: Lens' Msg1115 Msm5SignalData
+ Data.RTCM3.MSM: msg1116 :: Word16
+ Data.RTCM3.MSM: msg1116_header :: Lens' Msg1116 MsmHeader
+ Data.RTCM3.MSM: msg1116_satelliteData :: Lens' Msg1116 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1116_signalData :: Lens' Msg1116 Msm6SignalData
+ Data.RTCM3.MSM: msg1117 :: Word16
+ Data.RTCM3.MSM: msg1117_header :: Lens' Msg1117 MsmHeader
+ Data.RTCM3.MSM: msg1117_satelliteData :: Lens' Msg1117 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1117_signalData :: Lens' Msg1117 Msm7SignalData
+ Data.RTCM3.MSM: msg1124 :: Word16
+ Data.RTCM3.MSM: msg1124_header :: Lens' Msg1124 MsmHeader
+ Data.RTCM3.MSM: msg1124_satelliteData :: Lens' Msg1124 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1124_signalData :: Lens' Msg1124 Msm4SignalData
+ Data.RTCM3.MSM: msg1125 :: Word16
+ Data.RTCM3.MSM: msg1125_header :: Lens' Msg1125 MsmHeader
+ Data.RTCM3.MSM: msg1125_satelliteData :: Lens' Msg1125 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1125_signalData :: Lens' Msg1125 Msm5SignalData
+ Data.RTCM3.MSM: msg1126 :: Word16
+ Data.RTCM3.MSM: msg1126_header :: Lens' Msg1126 MsmHeader
+ Data.RTCM3.MSM: msg1126_satelliteData :: Lens' Msg1126 Msm46SatelliteData
+ Data.RTCM3.MSM: msg1126_signalData :: Lens' Msg1126 Msm6SignalData
+ Data.RTCM3.MSM: msg1127 :: Word16
+ Data.RTCM3.MSM: msg1127_header :: Lens' Msg1127 MsmHeader
+ Data.RTCM3.MSM: msg1127_satelliteData :: Lens' Msg1127 Msm57SatelliteData
+ Data.RTCM3.MSM: msg1127_signalData :: Lens' Msg1127 Msm7SignalData
+ Data.RTCM3.MSM: msm46SatelliteData_ranges :: Lens' Msm46SatelliteData [Word8]
+ Data.RTCM3.MSM: msm46SatelliteData_rangesModulo :: Lens' Msm46SatelliteData [Word16]
+ Data.RTCM3.MSM: msm4SignalData_cnrs :: Lens' Msm4SignalData [Word8]
+ Data.RTCM3.MSM: msm4SignalData_halfCycles :: Lens' Msm4SignalData [Bool]
+ Data.RTCM3.MSM: msm4SignalData_lockTimes :: Lens' Msm4SignalData [Word8]
+ Data.RTCM3.MSM: msm4SignalData_phaseranges :: Lens' Msm4SignalData [Int32]
+ Data.RTCM3.MSM: msm4SignalData_pseudoranges :: Lens' Msm4SignalData [Int16]
+ Data.RTCM3.MSM: msm57SatelliteData_extendeds :: Lens' Msm57SatelliteData [Word8]
+ Data.RTCM3.MSM: msm57SatelliteData_phaseRangeRates :: Lens' Msm57SatelliteData [Word16]
+ Data.RTCM3.MSM: msm57SatelliteData_ranges :: Lens' Msm57SatelliteData [Word8]
+ Data.RTCM3.MSM: msm57SatelliteData_rangesModulo :: Lens' Msm57SatelliteData [Word16]
+ Data.RTCM3.MSM: msm5SignalData_cnrs :: Lens' Msm5SignalData [Word8]
+ Data.RTCM3.MSM: msm5SignalData_halfCycles :: Lens' Msm5SignalData [Bool]
+ Data.RTCM3.MSM: msm5SignalData_lockTimes :: Lens' Msm5SignalData [Word8]
+ Data.RTCM3.MSM: msm5SignalData_phaseRangeRates :: Lens' Msm5SignalData [Int16]
+ Data.RTCM3.MSM: msm5SignalData_phaseranges :: Lens' Msm5SignalData [Int32]
+ Data.RTCM3.MSM: msm5SignalData_pseudoranges :: Lens' Msm5SignalData [Int16]
+ Data.RTCM3.MSM: msm6SignalData_cnrs :: Lens' Msm6SignalData [Word16]
+ Data.RTCM3.MSM: msm6SignalData_halfCycles :: Lens' Msm6SignalData [Bool]
+ Data.RTCM3.MSM: msm6SignalData_lockTimes :: Lens' Msm6SignalData [Word16]
+ Data.RTCM3.MSM: msm6SignalData_phaseranges :: Lens' Msm6SignalData [Int32]
+ Data.RTCM3.MSM: msm6SignalData_pseudoranges :: Lens' Msm6SignalData [Int32]
+ Data.RTCM3.MSM: msm7SignalData_cnrs :: Lens' Msm7SignalData [Word16]
+ Data.RTCM3.MSM: msm7SignalData_halfCycles :: Lens' Msm7SignalData [Bool]
+ Data.RTCM3.MSM: msm7SignalData_lockTimes :: Lens' Msm7SignalData [Word16]
+ Data.RTCM3.MSM: msm7SignalData_phaseRangeRates :: Lens' Msm7SignalData [Int16]
+ Data.RTCM3.MSM: msm7SignalData_phaseranges :: Lens' Msm7SignalData [Int32]
+ Data.RTCM3.MSM: msm7SignalData_pseudoranges :: Lens' Msm7SignalData [Int32]
+ Data.RTCM3.MSM: msmHeader_cellMask :: Lens' MsmHeader Word64
+ Data.RTCM3.MSM: msmHeader_clockSteering :: Lens' MsmHeader Word8
+ Data.RTCM3.MSM: msmHeader_epoch :: Lens' MsmHeader Word32
+ Data.RTCM3.MSM: msmHeader_externalClock :: Lens' MsmHeader Word8
+ Data.RTCM3.MSM: msmHeader_iods :: Lens' MsmHeader Word8
+ Data.RTCM3.MSM: msmHeader_multiple :: Lens' MsmHeader Bool
+ Data.RTCM3.MSM: msmHeader_num :: Lens' MsmHeader Word16
+ Data.RTCM3.MSM: msmHeader_reserved :: Lens' MsmHeader Word8
+ Data.RTCM3.MSM: msmHeader_satelliteMask :: Lens' MsmHeader Word64
+ Data.RTCM3.MSM: msmHeader_signalMask :: Lens' MsmHeader Word32
+ Data.RTCM3.MSM: msmHeader_smoothing :: Lens' MsmHeader Bool
+ Data.RTCM3.MSM: msmHeader_smoothingInterval :: Lens' MsmHeader Word8
+ Data.RTCM3.MSM: msmHeader_station :: Lens' MsmHeader Word16
+ Data.RTCM3.MSM: putBitsMsm46SatelliteData :: Msm46SatelliteData -> BitPut ()
+ Data.RTCM3.MSM: putBitsMsm4SignalData :: Msm4SignalData -> BitPut ()
+ Data.RTCM3.MSM: putBitsMsm57SatelliteData :: Msm57SatelliteData -> BitPut ()
+ Data.RTCM3.MSM: putBitsMsm5SignalData :: Msm5SignalData -> BitPut ()
+ Data.RTCM3.MSM: putBitsMsm6SignalData :: Msm6SignalData -> BitPut ()
+ Data.RTCM3.MSM: putBitsMsm7SignalData :: Msm7SignalData -> BitPut ()
- Data.RTCM3.Types: class HasMsg c_alLu
+ Data.RTCM3.Types: class HasMsg c_alSk
- Data.RTCM3.Types: msg :: HasMsg c_alLu => Lens' c_alLu Msg
+ Data.RTCM3.Types: msg :: HasMsg c_alSk => Lens' c_alSk Msg
- Data.RTCM3.Types: msgRTCM3Crc :: HasMsg c_alLu => Lens' c_alLu Word24
+ Data.RTCM3.Types: msgRTCM3Crc :: HasMsg c_alSk => Lens' c_alSk Word24
- Data.RTCM3.Types: msgRTCM3Len :: HasMsg c_alLu => Lens' c_alLu Word16
+ Data.RTCM3.Types: msgRTCM3Len :: HasMsg c_alSk => Lens' c_alSk Word16
- Data.RTCM3.Types: msgRTCM3Payload :: HasMsg c_alLu => Lens' c_alLu Bytes
+ Data.RTCM3.Types: msgRTCM3Payload :: HasMsg c_alSk => Lens' c_alSk Bytes
Files
- rtcm.cabal +3/−1
- src/Data/RTCM3.hs +122/−0
- src/Data/RTCM3/MSM.hs +1173/−0
- test/Test.hs +2/−0
- test/Test/Data/RTCM3/MSM.hs +411/−0
rtcm.cabal view
@@ -1,6 +1,6 @@ cabal-version: >=1.22 name: rtcm-version: 0.2.16+version: 0.2.17 license: BSD3 copyright: Copyright (C) 2015-2017 Swift Navigation, Inc. maintainer: Swift Navigation <dev@swift-nav.com>@@ -26,6 +26,7 @@ Data.RTCM3.Antennas Data.RTCM3.Ephemerides Data.RTCM3.Internal+ Data.RTCM3.MSM Data.RTCM3.Observations Data.RTCM3.SSR Data.RTCM3.System@@ -89,6 +90,7 @@ Test.Data.RTCM3.Antennas Test.Data.RTCM3.Ephemerides Test.Data.RTCM3.Extras+ Test.Data.RTCM3.MSM Test.Data.RTCM3.Observations Test.Data.RTCM3.SSR Test.Data.RTCM3.System
src/Data/RTCM3.hs view
@@ -26,6 +26,7 @@ import Data.ByteString.Lazy import Data.RTCM3.Antennas as Export import Data.RTCM3.Ephemerides as Export+import Data.RTCM3.MSM as Export import Data.RTCM3.Observations as Export import Data.RTCM3.SSR as Export import Data.RTCM3.System as Export@@ -61,6 +62,30 @@ | RTCM3Msg1064 Msg1064 Msg | RTCM3Msg1065 Msg1065 Msg | RTCM3Msg1066 Msg1066 Msg+ | RTCM3Msg1074 Msg1074 Msg+ | RTCM3Msg1075 Msg1075 Msg+ | RTCM3Msg1076 Msg1076 Msg+ | RTCM3Msg1077 Msg1077 Msg+ | RTCM3Msg1084 Msg1084 Msg+ | RTCM3Msg1085 Msg1085 Msg+ | RTCM3Msg1086 Msg1086 Msg+ | RTCM3Msg1087 Msg1087 Msg+ | RTCM3Msg1094 Msg1094 Msg+ | RTCM3Msg1095 Msg1095 Msg+ | RTCM3Msg1096 Msg1096 Msg+ | RTCM3Msg1097 Msg1097 Msg+ | RTCM3Msg1104 Msg1104 Msg+ | RTCM3Msg1105 Msg1105 Msg+ | RTCM3Msg1106 Msg1106 Msg+ | RTCM3Msg1107 Msg1107 Msg+ | RTCM3Msg1114 Msg1114 Msg+ | RTCM3Msg1115 Msg1115 Msg+ | RTCM3Msg1116 Msg1116 Msg+ | RTCM3Msg1117 Msg1117 Msg+ | RTCM3Msg1124 Msg1124 Msg+ | RTCM3Msg1125 Msg1125 Msg+ | RTCM3Msg1126 Msg1126 Msg+ | RTCM3Msg1127 Msg1127 Msg | RTCM3Msg1230 Msg1230 Msg | RTCM3Msg1265 Msg1265 Msg | RTCM3Msg1266 Msg1266 Msg@@ -104,6 +129,30 @@ | num == msg1064 = RTCM3Msg1064 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m | num == msg1065 = RTCM3Msg1065 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m | num == msg1066 = RTCM3Msg1066 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1074 = RTCM3Msg1074 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1075 = RTCM3Msg1075 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1076 = RTCM3Msg1076 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1077 = RTCM3Msg1077 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1084 = RTCM3Msg1084 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1085 = RTCM3Msg1085 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1086 = RTCM3Msg1086 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1087 = RTCM3Msg1087 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1094 = RTCM3Msg1094 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1095 = RTCM3Msg1095 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1096 = RTCM3Msg1096 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1097 = RTCM3Msg1097 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1104 = RTCM3Msg1104 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1105 = RTCM3Msg1105 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1106 = RTCM3Msg1106 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1107 = RTCM3Msg1107 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1114 = RTCM3Msg1114 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1115 = RTCM3Msg1125 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1116 = RTCM3Msg1116 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1117 = RTCM3Msg1117 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1124 = RTCM3Msg1124 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1125 = RTCM3Msg1125 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1126 = RTCM3Msg1126 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m+ | num == msg1127 = RTCM3Msg1127 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m | num == msg1230 = RTCM3Msg1230 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m | num == msg1265 = RTCM3Msg1265 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m | num == msg1266 = RTCM3Msg1266 (decode $ fromStrict $ unBytes _msgRTCM3Payload) m@@ -139,6 +188,30 @@ encoder (RTCM3Msg1064 _n m) = put m encoder (RTCM3Msg1065 _n m) = put m encoder (RTCM3Msg1066 _n m) = put m+ encoder (RTCM3Msg1074 _n m) = put m+ encoder (RTCM3Msg1075 _n m) = put m+ encoder (RTCM3Msg1076 _n m) = put m+ encoder (RTCM3Msg1077 _n m) = put m+ encoder (RTCM3Msg1084 _n m) = put m+ encoder (RTCM3Msg1085 _n m) = put m+ encoder (RTCM3Msg1086 _n m) = put m+ encoder (RTCM3Msg1087 _n m) = put m+ encoder (RTCM3Msg1094 _n m) = put m+ encoder (RTCM3Msg1095 _n m) = put m+ encoder (RTCM3Msg1096 _n m) = put m+ encoder (RTCM3Msg1097 _n m) = put m+ encoder (RTCM3Msg1104 _n m) = put m+ encoder (RTCM3Msg1105 _n m) = put m+ encoder (RTCM3Msg1106 _n m) = put m+ encoder (RTCM3Msg1107 _n m) = put m+ encoder (RTCM3Msg1114 _n m) = put m+ encoder (RTCM3Msg1115 _n m) = put m+ encoder (RTCM3Msg1116 _n m) = put m+ encoder (RTCM3Msg1117 _n m) = put m+ encoder (RTCM3Msg1124 _n m) = put m+ encoder (RTCM3Msg1125 _n m) = put m+ encoder (RTCM3Msg1126 _n m) = put m+ encoder (RTCM3Msg1127 _n m) = put m encoder (RTCM3Msg1230 _n m) = put m encoder (RTCM3Msg1265 _n m) = put m encoder (RTCM3Msg1266 _n m) = put m@@ -172,6 +245,30 @@ msg f (RTCM3Msg1064 n m) = RTCM3Msg1064 n <$> f m msg f (RTCM3Msg1065 n m) = RTCM3Msg1065 n <$> f m msg f (RTCM3Msg1066 n m) = RTCM3Msg1066 n <$> f m+ msg f (RTCM3Msg1074 n m) = RTCM3Msg1074 n <$> f m+ msg f (RTCM3Msg1075 n m) = RTCM3Msg1075 n <$> f m+ msg f (RTCM3Msg1076 n m) = RTCM3Msg1076 n <$> f m+ msg f (RTCM3Msg1077 n m) = RTCM3Msg1077 n <$> f m+ msg f (RTCM3Msg1084 n m) = RTCM3Msg1084 n <$> f m+ msg f (RTCM3Msg1085 n m) = RTCM3Msg1085 n <$> f m+ msg f (RTCM3Msg1086 n m) = RTCM3Msg1086 n <$> f m+ msg f (RTCM3Msg1087 n m) = RTCM3Msg1087 n <$> f m+ msg f (RTCM3Msg1094 n m) = RTCM3Msg1094 n <$> f m+ msg f (RTCM3Msg1095 n m) = RTCM3Msg1095 n <$> f m+ msg f (RTCM3Msg1096 n m) = RTCM3Msg1096 n <$> f m+ msg f (RTCM3Msg1097 n m) = RTCM3Msg1097 n <$> f m+ msg f (RTCM3Msg1104 n m) = RTCM3Msg1104 n <$> f m+ msg f (RTCM3Msg1105 n m) = RTCM3Msg1105 n <$> f m+ msg f (RTCM3Msg1106 n m) = RTCM3Msg1106 n <$> f m+ msg f (RTCM3Msg1107 n m) = RTCM3Msg1107 n <$> f m+ msg f (RTCM3Msg1114 n m) = RTCM3Msg1114 n <$> f m+ msg f (RTCM3Msg1115 n m) = RTCM3Msg1115 n <$> f m+ msg f (RTCM3Msg1116 n m) = RTCM3Msg1116 n <$> f m+ msg f (RTCM3Msg1117 n m) = RTCM3Msg1117 n <$> f m+ msg f (RTCM3Msg1124 n m) = RTCM3Msg1124 n <$> f m+ msg f (RTCM3Msg1125 n m) = RTCM3Msg1125 n <$> f m+ msg f (RTCM3Msg1126 n m) = RTCM3Msg1126 n <$> f m+ msg f (RTCM3Msg1127 n m) = RTCM3Msg1127 n <$> f m msg f (RTCM3Msg1230 n m) = RTCM3Msg1230 n <$> f m msg f (RTCM3Msg1265 n m) = RTCM3Msg1265 n <$> f m msg f (RTCM3Msg1266 n m) = RTCM3Msg1266 n <$> f m@@ -211,6 +308,30 @@ toJSON (RTCM3Msg1064 n m) = toJSON n <<>> toJSON m toJSON (RTCM3Msg1065 n m) = toJSON n <<>> toJSON m toJSON (RTCM3Msg1066 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1074 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1075 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1076 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1077 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1084 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1085 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1086 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1087 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1094 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1095 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1096 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1097 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1104 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1105 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1106 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1107 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1114 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1115 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1116 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1117 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1124 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1125 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1126 n m) = toJSON n <<>> toJSON m+ toJSON (RTCM3Msg1127 n m) = toJSON n <<>> toJSON m toJSON (RTCM3Msg1230 n m) = toJSON n <<>> toJSON m toJSON (RTCM3Msg1265 n m) = toJSON n <<>> toJSON m toJSON (RTCM3Msg1266 n m) = toJSON n <<>> toJSON m@@ -248,6 +369,7 @@ | num == msg1064 = RTCM3Msg1064 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj | num == msg1065 = RTCM3Msg1065 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj | num == msg1066 = RTCM3Msg1066 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj+ | num == msg1074 = RTCM3Msg1074 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj | num == msg1230 = RTCM3Msg1230 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj | num == msg1265 = RTCM3Msg1265 <$> pure (decode $ fromStrict $ unBytes payload) <*> parseJSON obj | otherwise = RTCM3MsgUnknown <$> pure num <*> parseJSON obj
+ src/Data/RTCM3/MSM.hs view
@@ -0,0 +1,1173 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TemplateHaskell #-}++-- |+-- Module: Data.RTCM3.MSM+-- Copyright: Copyright (C) 2018 Swift Navigation, Inc.+-- License: LGPL-3+-- Maintainer: Swift Navigation <dev@swiftnav.com>+-- Stability: experimental+-- Portability: portable+--+-- RTCMv3 messages for Multiple Signal Messages.++module Data.RTCM3.MSM+ ( module Data.RTCM3.MSM+ ) where++import BasicPrelude+import Control.Lens+import Data.Aeson.TH+import Data.Binary+import Data.Binary.Bits+import qualified Data.Binary.Bits.Get as B+import qualified Data.Binary.Bits.Put as B+import Data.Bits+import Data.Int+import Data.RTCM3.Extras+import Data.RTCM3.TH++{-# ANN module ("HLint: ignore Use camelCase"::String) #-}++-- | MsmHeader.+--+-- MSM observation header.+data MsmHeader = MsmHeader+ { _msmHeader_num :: Word16+ -- ^ Message number.+ , _msmHeader_station :: Word16+ -- ^ Reference station id.+ , _msmHeader_epoch :: Word32+ -- ^ GNSS epoch time.+ , _msmHeader_multiple :: Bool+ -- ^ Multiple message indicator.+ , _msmHeader_iods :: Word8+ -- ^ Issue of data station.+ , _msmHeader_reserved :: Word8+ -- ^ Reserved.+ , _msmHeader_clockSteering :: Word8+ -- ^ Clock steering indicator.+ , _msmHeader_externalClock :: Word8+ -- ^ External clock indicator.+ , _msmHeader_smoothing :: Bool+ -- ^ GNSS divergence-free smoothing indicator.+ , _msmHeader_smoothingInterval :: Word8+ -- ^ GNSS smoothing interval.+ , _msmHeader_satelliteMask :: Word64+ -- ^ GNSS satellite mask.+ , _msmHeader_signalMask :: Word32+ -- ^ GNSS signal mask.+ , _msmHeader_cellMask :: Word64+ -- ^ GNSS cell mask.+ } deriving ( Show, Read, Eq )++$(makeLenses ''MsmHeader)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msmHeader_" . stripPrefix "_msmHeader_"} ''MsmHeader)++instance BinaryBit MsmHeader where+ getBits _n = do+ _msmHeader_num <- B.getWord16be 12+ _msmHeader_station <- B.getWord16be 12+ _msmHeader_epoch <- B.getWord32be 30+ _msmHeader_multiple <- B.getBool+ _msmHeader_iods <- B.getWord8 3+ _msmHeader_reserved <- B.getWord8 7+ _msmHeader_clockSteering <- B.getWord8 2+ _msmHeader_externalClock <- B.getWord8 2+ _msmHeader_smoothing <- B.getBool+ _msmHeader_smoothingInterval <- B.getWord8 3+ _msmHeader_satelliteMask <- B.getWord64be 64+ _msmHeader_signalMask <- B.getWord32be 32+ let x = min 64 $ popCount _msmHeader_satelliteMask * popCount _msmHeader_signalMask+ _msmHeader_cellMask <- B.getWord64be x+ pure MsmHeader {..}++ putBits _n MsmHeader {..} = do+ B.putWord16be 12 _msmHeader_num+ B.putWord16be 12 _msmHeader_station+ B.putWord32be 30 _msmHeader_epoch+ B.putBool _msmHeader_multiple+ B.putWord8 3 _msmHeader_iods+ B.putWord8 7 _msmHeader_reserved+ B.putWord8 2 _msmHeader_clockSteering+ B.putWord8 2 _msmHeader_externalClock+ B.putBool _msmHeader_smoothing+ B.putWord8 3 _msmHeader_smoothingInterval+ B.putWord64be 64 _msmHeader_satelliteMask+ B.putWord32be 32 _msmHeader_signalMask+ let x = min 64 $ popCount _msmHeader_satelliteMask * popCount _msmHeader_signalMask+ B.putWord64be x _msmHeader_cellMask++-- | Msm46SatelliteData.+--+-- MSM46 satellite data.+data Msm46SatelliteData = Msm46SatelliteData+ { _msm46SatelliteData_ranges :: [Word8]+ -- ^ The number of integer milliseconds in GNSS Satellite rough ranges.+ , _msm46SatelliteData_rangesModulo :: [Word16]+ -- ^ GNSS Satellite rough ranges modulo 1 millisecond.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm46SatelliteData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm46SatelliteData_" . stripPrefix "_msm46SatelliteData_"} ''Msm46SatelliteData)++-- | Get Bits for Msm4SatelliteData.+--+getBitsMsm46SatelliteData :: Int -> B.BitGet Msm46SatelliteData+getBitsMsm46SatelliteData n = do+ _msm46SatelliteData_ranges <- replicateM n $ B.getWord8 8+ _msm46SatelliteData_rangesModulo <- replicateM n $ B.getWord16be 10+ pure Msm46SatelliteData {..}++-- | Put Bits for Msm46SatelliteData.+--+putBitsMsm46SatelliteData :: Msm46SatelliteData -> B.BitPut ()+putBitsMsm46SatelliteData Msm46SatelliteData {..} = do+ forM_ _msm46SatelliteData_ranges $ B.putWord8 8+ forM_ _msm46SatelliteData_rangesModulo $ B.putWord16be 10++-- | Msm57SatelliteData+--+-- MSM57 satellite data.+data Msm57SatelliteData = Msm57SatelliteData+ { _msm57SatelliteData_ranges :: [Word8]+ -- ^ The number of integer milliseconds in GNSS Satellite rough ranges.+ , _msm57SatelliteData_extendeds :: [Word8]+ -- ^ Extended satellite information.+ , _msm57SatelliteData_rangesModulo :: [Word16]+ -- ^ GNSS Satellite rough ranges modulo 1 millisecond.+ , _msm57SatelliteData_phaseRangeRates :: [Word16]+ -- ^ GNSS Satellite rough PhaseRangeRates.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm57SatelliteData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm57SatelliteData_" . stripPrefix "_msm57SatelliteData_"} ''Msm57SatelliteData)++-- | Get Bits for Msm57SatelliteData.+--+getBitsMsm57SatelliteData :: Int -> B.BitGet Msm57SatelliteData+getBitsMsm57SatelliteData n = do+ _msm57SatelliteData_ranges <- replicateM n $ B.getWord8 8+ _msm57SatelliteData_extendeds <- replicateM n $ B.getWord8 4+ _msm57SatelliteData_rangesModulo <- replicateM n $ B.getWord16be 10+ _msm57SatelliteData_phaseRangeRates <- replicateM n $ B.getWord16be 14+ pure Msm57SatelliteData {..}++-- | Put Bits for Msm4SatelliteData.+--+putBitsMsm57SatelliteData :: Msm57SatelliteData -> B.BitPut ()+putBitsMsm57SatelliteData Msm57SatelliteData {..} = do+ forM_ _msm57SatelliteData_ranges $ B.putWord8 8+ forM_ _msm57SatelliteData_extendeds $ B.putWord8 4+ forM_ _msm57SatelliteData_rangesModulo $ B.putWord16be 10+ forM_ _msm57SatelliteData_phaseRangeRates $ B.putWord16be 14++-- | Msm4SignalData.+--+-- MSM4 signal data.+data Msm4SignalData = Msm4SignalData+ { _msm4SignalData_pseudoranges :: [Int16]+ -- ^ GNSS signal fine pseudoranges.+ , _msm4SignalData_phaseranges :: [Int32]+ -- ^ GNSS signal fine phaserange data.+ , _msm4SignalData_lockTimes :: [Word8]+ -- ^ GNSS phaserange lock time indicators.+ , _msm4SignalData_halfCycles :: [Bool]+ -- ^ Half-cycle ambiguity indicators.+ , _msm4SignalData_cnrs :: [Word8]+ -- ^ GNSS signal CNRs.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm4SignalData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm4SignalData_" . stripPrefix "_msm4SignalData_"} ''Msm4SignalData)++-- | Get Bits for Msm4SignalData.+--+getBitsMsm4SignalData :: Int -> B.BitGet Msm4SignalData+getBitsMsm4SignalData n = do+ _msm4SignalData_pseudoranges <- replicateM n $ getInt16be 15+ _msm4SignalData_phaseranges <- replicateM n $ getInt32be 22+ _msm4SignalData_lockTimes <- replicateM n $ B.getWord8 4+ _msm4SignalData_halfCycles <- replicateM n B.getBool+ _msm4SignalData_cnrs <- replicateM n $ B.getWord8 6+ pure Msm4SignalData {..}++-- | Put Bits for Msm4SignalData.+--+putBitsMsm4SignalData :: Msm4SignalData -> B.BitPut ()+putBitsMsm4SignalData Msm4SignalData {..} = do+ forM_ _msm4SignalData_pseudoranges $ putInt16be 15+ forM_ _msm4SignalData_phaseranges $ putInt32be 22+ forM_ _msm4SignalData_lockTimes $ B.putWord8 4+ forM_ _msm4SignalData_halfCycles B.putBool+ forM_ _msm4SignalData_cnrs $ B.putWord8 6++-- | Msm5SignalData.+--+-- MSM5 signal data.+data Msm5SignalData = Msm5SignalData+ { _msm5SignalData_pseudoranges :: [Int16]+ -- ^ GNSS signal fine pseudoranges.+ , _msm5SignalData_phaseranges :: [Int32]+ -- ^ GNSS signal fine phaserange data.+ , _msm5SignalData_lockTimes :: [Word8]+ -- ^ GNSS phaserange lock time indicators.+ , _msm5SignalData_halfCycles :: [Bool]+ -- ^ Half-cycle ambiguity indicators.+ , _msm5SignalData_cnrs :: [Word8]+ -- ^ GNSS signal CNRs.+ , _msm5SignalData_phaseRangeRates :: [Int16]+ -- ^ GNSS signal fine phaserangerates.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm5SignalData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm5SignalData_" . stripPrefix "_msm5SignalData_"} ''Msm5SignalData)++-- | Get Bits for Msm5SignalData.+--+getBitsMsm5SignalData :: Int -> B.BitGet Msm5SignalData+getBitsMsm5SignalData n = do+ _msm5SignalData_pseudoranges <- replicateM n $ getInt16be 15+ _msm5SignalData_phaseranges <- replicateM n $ getInt32be 22+ _msm5SignalData_lockTimes <- replicateM n $ B.getWord8 4+ _msm5SignalData_halfCycles <- replicateM n B.getBool+ _msm5SignalData_cnrs <- replicateM n $ B.getWord8 6+ _msm5SignalData_phaseRangeRates <- replicateM n $ getInt16be 15+ pure Msm5SignalData {..}++-- | Put Bits for Msm5SignalData.+--+putBitsMsm5SignalData :: Msm5SignalData -> B.BitPut ()+putBitsMsm5SignalData Msm5SignalData {..} = do+ forM_ _msm5SignalData_pseudoranges $ putInt16be 15+ forM_ _msm5SignalData_phaseranges $ putInt32be 22+ forM_ _msm5SignalData_lockTimes $ B.putWord8 4+ forM_ _msm5SignalData_halfCycles B.putBool+ forM_ _msm5SignalData_cnrs $ B.putWord8 6+ forM_ _msm5SignalData_phaseRangeRates $ putInt16be 15++-- | Msm6SignalData.+--+-- MSM6 signal data.+data Msm6SignalData = Msm6SignalData+ { _msm6SignalData_pseudoranges :: [Int32]+ -- ^ GNSS signal fine pseudoranges.+ , _msm6SignalData_phaseranges :: [Int32]+ -- ^ GNSS signal fine phaserange data.+ , _msm6SignalData_lockTimes :: [Word16]+ -- ^ GNSS phaserange lock time indicators.+ , _msm6SignalData_halfCycles :: [Bool]+ -- ^ Half-cycle ambiguity indicators.+ , _msm6SignalData_cnrs :: [Word16]+ -- ^ GNSS signal CNRs.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm6SignalData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm6SignalData_" . stripPrefix "_msm6SignalData_"} ''Msm6SignalData)++-- | Get Bits for Msm6SignalData.+--+getBitsMsm6SignalData :: Int -> B.BitGet Msm6SignalData+getBitsMsm6SignalData n = do+ _msm6SignalData_pseudoranges <- replicateM n $ getInt32be 20+ _msm6SignalData_phaseranges <- replicateM n $ getInt32be 24+ _msm6SignalData_lockTimes <- replicateM n $ B.getWord16be 10+ _msm6SignalData_halfCycles <- replicateM n B.getBool+ _msm6SignalData_cnrs <- replicateM n $ B.getWord16be 10+ pure Msm6SignalData {..}++-- | Put Bits for Msm6SignalData.+--+putBitsMsm6SignalData :: Msm6SignalData -> B.BitPut ()+putBitsMsm6SignalData Msm6SignalData {..} = do+ forM_ _msm6SignalData_pseudoranges $ putInt32be 20+ forM_ _msm6SignalData_phaseranges $ putInt32be 24+ forM_ _msm6SignalData_lockTimes $ B.putWord16be 10+ forM_ _msm6SignalData_halfCycles B.putBool+ forM_ _msm6SignalData_cnrs $ B.putWord16be 10++-- | Msm7SignalData.+--+-- MSM7 signal data.+data Msm7SignalData = Msm7SignalData+ { _msm7SignalData_pseudoranges :: [Int32]+ -- ^ GNSS signal fine pseudoranges.+ , _msm7SignalData_phaseranges :: [Int32]+ -- ^ GNSS signal fine phaserange data.+ , _msm7SignalData_lockTimes :: [Word16]+ -- ^ GNSS phaserange lock time indicators.+ , _msm7SignalData_halfCycles :: [Bool]+ -- ^ Half-cycle ambiguity indicators.+ , _msm7SignalData_cnrs :: [Word16]+ -- ^ GNSS signal CNRs.+ , _msm7SignalData_phaseRangeRates :: [Int16]+ -- ^ GNSS signal fine phaserangerates.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msm7SignalData)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msm7SignalData_" . stripPrefix "_msm7SignalData_"} ''Msm7SignalData)++-- | Get Bits for Msm7SignalData.+--+getBitsMsm7SignalData :: Int -> B.BitGet Msm7SignalData+getBitsMsm7SignalData n = do+ _msm7SignalData_pseudoranges <- replicateM n $ getInt32be 20+ _msm7SignalData_phaseranges <- replicateM n $ getInt32be 24+ _msm7SignalData_lockTimes <- replicateM n $ B.getWord16be 10+ _msm7SignalData_halfCycles <- replicateM n B.getBool+ _msm7SignalData_cnrs <- replicateM n $ B.getWord16be 10+ _msm7SignalData_phaseRangeRates <- replicateM n $ getInt16be 15+ pure Msm7SignalData {..}++-- | Put Bits for Msm7SignalData.+--+putBitsMsm7SignalData :: Msm7SignalData -> B.BitPut ()+putBitsMsm7SignalData Msm7SignalData {..} = do+ forM_ _msm7SignalData_pseudoranges $ putInt32be 20+ forM_ _msm7SignalData_phaseranges $ putInt32be 24+ forM_ _msm7SignalData_lockTimes $ B.putWord16be 10+ forM_ _msm7SignalData_halfCycles B.putBool+ forM_ _msm7SignalData_cnrs $ B.putWord16be 10+ forM_ _msm7SignalData_phaseRangeRates $ putInt16be 15++msg1074 :: Word16+msg1074 = 1074++-- | Message 1074+--+-- RTCMv3 message 1074.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1074 = Msg1074+ { _msg1074_header :: MsmHeader+ -- ^ MSM header.+ , _msg1074_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1074_signalData :: Msm4SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1074)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1074_" . stripPrefix "_msg1074_"} ''Msg1074)++instance Binary Msg1074 where+ get = B.runBitGet $ do+ _msg1074_header <- getBits 0+ _msg1074_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1074_header ^. msmHeader_satelliteMask+ _msg1074_signalData <- getBitsMsm4SignalData $ popCount $ _msg1074_header ^. msmHeader_cellMask+ pure Msg1074 {..}++ put Msg1074 {..} = B.runBitPut $ do+ putBits 0 _msg1074_header+ putBitsMsm46SatelliteData _msg1074_satelliteData+ putBitsMsm4SignalData _msg1074_signalData++$(deriveRTCM3 ''Msg1074)++msg1075 :: Word16+msg1075 = 1075++-- | Message 1075+--+-- RTCMv3 message 1075.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1075 = Msg1075+ { _msg1075_header :: MsmHeader+ -- ^ MSM header.+ , _msg1075_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1075_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1075)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1075_" . stripPrefix "_msg1075_"} ''Msg1075)++instance Binary Msg1075 where+ get = B.runBitGet $ do+ _msg1075_header <- getBits 0+ _msg1075_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1075_header ^. msmHeader_satelliteMask+ _msg1075_signalData <- getBitsMsm5SignalData $ popCount $ _msg1075_header ^. msmHeader_cellMask+ pure Msg1075 {..}++ put Msg1075 {..} = B.runBitPut $ do+ putBits 0 _msg1075_header+ putBitsMsm57SatelliteData _msg1075_satelliteData+ putBitsMsm5SignalData _msg1075_signalData++$(deriveRTCM3 ''Msg1075)++msg1076 :: Word16+msg1076 = 1076++-- | Message 1076+--+-- RTCMv3 message 1076.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1076 = Msg1076+ { _msg1076_header :: MsmHeader+ -- ^ MSM header.+ , _msg1076_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1076_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1076)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1076_" . stripPrefix "_msg1076_"} ''Msg1076)++instance Binary Msg1076 where+ get = B.runBitGet $ do+ _msg1076_header <- getBits 0+ _msg1076_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1076_header ^. msmHeader_satelliteMask+ _msg1076_signalData <- getBitsMsm6SignalData $ popCount $ _msg1076_header ^. msmHeader_cellMask+ pure Msg1076 {..}++ put Msg1076 {..} = B.runBitPut $ do+ putBits 0 _msg1076_header+ putBitsMsm46SatelliteData _msg1076_satelliteData+ putBitsMsm6SignalData _msg1076_signalData++$(deriveRTCM3 ''Msg1076)++msg1077 :: Word16+msg1077 = 1077++-- | Message 1077+--+-- RTCMv3 message 1077.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1077 = Msg1077+ { _msg1077_header :: MsmHeader+ -- ^ MSM header.+ , _msg1077_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1077_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1077)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1077_" . stripPrefix "_msg1077_"} ''Msg1077)++instance Binary Msg1077 where+ get = B.runBitGet $ do+ _msg1077_header <- getBits 0+ _msg1077_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1077_header ^. msmHeader_satelliteMask+ _msg1077_signalData <- getBitsMsm7SignalData $ popCount $ _msg1077_header ^. msmHeader_cellMask+ pure Msg1077 {..}++ put Msg1077 {..} = B.runBitPut $ do+ putBits 0 _msg1077_header+ putBitsMsm57SatelliteData _msg1077_satelliteData+ putBitsMsm7SignalData _msg1077_signalData++$(deriveRTCM3 ''Msg1077)++msg1084 :: Word16+msg1084 = 1084++-- | Message 1084+--+-- RTCMv3 message 1084.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1084 = Msg1084+ { _msg1084_header :: MsmHeader+ -- ^ MSM header.+ , _msg1084_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1084_signalData :: Msm4SignalData+ -- ^ MSM satellite data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1084)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1084_" . stripPrefix "_msg1084_"} ''Msg1084)++instance Binary Msg1084 where+ get = B.runBitGet $ do+ _msg1084_header <- getBits 0+ _msg1084_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1084_header ^. msmHeader_satelliteMask+ _msg1084_signalData <- getBitsMsm4SignalData $ popCount $ _msg1084_header ^. msmHeader_cellMask+ pure Msg1084 {..}++ put Msg1084 {..} = B.runBitPut $ do+ putBits 0 _msg1084_header+ putBitsMsm46SatelliteData _msg1084_satelliteData+ putBitsMsm4SignalData _msg1084_signalData++$(deriveRTCM3 ''Msg1084)++msg1085 :: Word16+msg1085 = 1085++-- | Message 1085+--+-- RTCMv3 message 1085.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1085 = Msg1085+ { _msg1085_header :: MsmHeader+ -- ^ MSM header.+ , _msg1085_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1085_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1085)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1085_" . stripPrefix "_msg1085_"} ''Msg1085)++instance Binary Msg1085 where+ get = B.runBitGet $ do+ _msg1085_header <- getBits 0+ _msg1085_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1085_header ^. msmHeader_satelliteMask+ _msg1085_signalData <- getBitsMsm5SignalData $ popCount $ _msg1085_header ^. msmHeader_cellMask+ pure Msg1085 {..}++ put Msg1085 {..} = B.runBitPut $ do+ putBits 0 _msg1085_header+ putBitsMsm57SatelliteData _msg1085_satelliteData+ putBitsMsm5SignalData _msg1085_signalData++$(deriveRTCM3 ''Msg1085)++msg1086 :: Word16+msg1086 = 1086++-- | Message 1086+--+-- RTCMv3 message 1086.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1086 = Msg1086+ { _msg1086_header :: MsmHeader+ -- ^ MSM header.+ , _msg1086_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1086_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1086)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1086_" . stripPrefix "_msg1086_"} ''Msg1086)++instance Binary Msg1086 where+ get = B.runBitGet $ do+ _msg1086_header <- getBits 0+ _msg1086_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1086_header ^. msmHeader_satelliteMask+ _msg1086_signalData <- getBitsMsm6SignalData $ popCount $ _msg1086_header ^. msmHeader_cellMask+ pure Msg1086 {..}++ put Msg1086 {..} = B.runBitPut $ do+ putBits 0 _msg1086_header+ putBitsMsm46SatelliteData _msg1086_satelliteData+ putBitsMsm6SignalData _msg1086_signalData++$(deriveRTCM3 ''Msg1086)++msg1087 :: Word16+msg1087 = 1087++-- | Message 1087+--+-- RTCMv3 message 1087.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1087 = Msg1087+ { _msg1087_header :: MsmHeader+ -- ^ MSM header.+ , _msg1087_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1087_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1087)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1087_" . stripPrefix "_msg1087_"} ''Msg1087)++instance Binary Msg1087 where+ get = B.runBitGet $ do+ _msg1087_header <- getBits 0+ _msg1087_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1087_header ^. msmHeader_satelliteMask+ _msg1087_signalData <- getBitsMsm7SignalData $ popCount $ _msg1087_header ^. msmHeader_cellMask+ pure Msg1087 {..}++ put Msg1087 {..} = B.runBitPut $ do+ putBits 0 _msg1087_header+ putBitsMsm57SatelliteData _msg1087_satelliteData+ putBitsMsm7SignalData _msg1087_signalData++$(deriveRTCM3 ''Msg1087)++msg1094 :: Word16+msg1094 = 1094++-- | Message 1094+--+-- RTCMv3 message 1094.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1094 = Msg1094+ { _msg1094_header :: MsmHeader+ -- ^ MSM header.+ , _msg1094_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1094_signalData :: Msm4SignalData+ -- ^ MSM satellite data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1094)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1094_" . stripPrefix "_msg1094_"} ''Msg1094)++instance Binary Msg1094 where+ get = B.runBitGet $ do+ _msg1094_header <- getBits 0+ _msg1094_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1094_header ^. msmHeader_satelliteMask+ _msg1094_signalData <- getBitsMsm4SignalData $ popCount $ _msg1094_header ^. msmHeader_cellMask+ pure Msg1094 {..}++ put Msg1094 {..} = B.runBitPut $ do+ putBits 0 _msg1094_header+ putBitsMsm46SatelliteData _msg1094_satelliteData+ putBitsMsm4SignalData _msg1094_signalData++$(deriveRTCM3 ''Msg1094)++msg1095 :: Word16+msg1095 = 1095++-- | Message 1095+--+-- RTCMv3 message 1095.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1095 = Msg1095+ { _msg1095_header :: MsmHeader+ -- ^ MSM header.+ , _msg1095_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1095_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1095)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1095_" . stripPrefix "_msg1095_"} ''Msg1095)++instance Binary Msg1095 where+ get = B.runBitGet $ do+ _msg1095_header <- getBits 0+ _msg1095_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1095_header ^. msmHeader_satelliteMask+ _msg1095_signalData <- getBitsMsm5SignalData $ popCount $ _msg1095_header ^. msmHeader_cellMask+ pure Msg1095 {..}++ put Msg1095 {..} = B.runBitPut $ do+ putBits 0 _msg1095_header+ putBitsMsm57SatelliteData _msg1095_satelliteData+ putBitsMsm5SignalData _msg1095_signalData++$(deriveRTCM3 ''Msg1095)++msg1096 :: Word16+msg1096 = 1096++-- | Message 1096+--+-- RTCMv3 message 1096.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1096 = Msg1096+ { _msg1096_header :: MsmHeader+ -- ^ MSM header.+ , _msg1096_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1096_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1096)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1096_" . stripPrefix "_msg1096_"} ''Msg1096)++instance Binary Msg1096 where+ get = B.runBitGet $ do+ _msg1096_header <- getBits 0+ _msg1096_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1096_header ^. msmHeader_satelliteMask+ _msg1096_signalData <- getBitsMsm6SignalData $ popCount $ _msg1096_header ^. msmHeader_cellMask+ pure Msg1096 {..}++ put Msg1096 {..} = B.runBitPut $ do+ putBits 0 _msg1096_header+ putBitsMsm46SatelliteData _msg1096_satelliteData+ putBitsMsm6SignalData _msg1096_signalData++$(deriveRTCM3 ''Msg1096)++msg1097 :: Word16+msg1097 = 1097++-- | Message 1097+--+-- RTCMv3 message 1097.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1097 = Msg1097+ { _msg1097_header :: MsmHeader+ -- ^ MSM header.+ , _msg1097_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1097_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1097)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1097_" . stripPrefix "_msg1097_"} ''Msg1097)++instance Binary Msg1097 where+ get = B.runBitGet $ do+ _msg1097_header <- getBits 0+ _msg1097_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1097_header ^. msmHeader_satelliteMask+ _msg1097_signalData <- getBitsMsm7SignalData $ popCount $ _msg1097_header ^. msmHeader_cellMask+ pure Msg1097 {..}++ put Msg1097 {..} = B.runBitPut $ do+ putBits 0 _msg1097_header+ putBitsMsm57SatelliteData _msg1097_satelliteData+ putBitsMsm7SignalData _msg1097_signalData++$(deriveRTCM3 ''Msg1097)++msg1104 :: Word16+msg1104 = 1104++-- | Message 1104+--+-- RTCMv3 message 1104.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1104 = Msg1104+ { _msg1104_header :: MsmHeader+ -- ^ MSM header.+ , _msg1104_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1104_signalData :: Msm4SignalData+ -- ^ MSM satellite data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1104)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1104_" . stripPrefix "_msg1104_"} ''Msg1104)++instance Binary Msg1104 where+ get = B.runBitGet $ do+ _msg1104_header <- getBits 0+ _msg1104_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1104_header ^. msmHeader_satelliteMask+ _msg1104_signalData <- getBitsMsm4SignalData $ popCount $ _msg1104_header ^. msmHeader_cellMask+ pure Msg1104 {..}++ put Msg1104 {..} = B.runBitPut $ do+ putBits 0 _msg1104_header+ putBitsMsm46SatelliteData _msg1104_satelliteData+ putBitsMsm4SignalData _msg1104_signalData++$(deriveRTCM3 ''Msg1104)++msg1105 :: Word16+msg1105 = 1105++-- | Message 1105+--+-- RTCMv3 message 1105.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1105 = Msg1105+ { _msg1105_header :: MsmHeader+ -- ^ MSM header.+ , _msg1105_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1105_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1105)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1105_" . stripPrefix "_msg1105_"} ''Msg1105)++instance Binary Msg1105 where+ get = B.runBitGet $ do+ _msg1105_header <- getBits 0+ _msg1105_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1105_header ^. msmHeader_satelliteMask+ _msg1105_signalData <- getBitsMsm5SignalData $ popCount $ _msg1105_header ^. msmHeader_cellMask+ pure Msg1105 {..}++ put Msg1105 {..} = B.runBitPut $ do+ putBits 0 _msg1105_header+ putBitsMsm57SatelliteData _msg1105_satelliteData+ putBitsMsm5SignalData _msg1105_signalData++$(deriveRTCM3 ''Msg1105)++msg1106 :: Word16+msg1106 = 1106++-- | Message 1106+--+-- RTCMv3 message 1106.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1106 = Msg1106+ { _msg1106_header :: MsmHeader+ -- ^ MSM header.+ , _msg1106_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1106_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1106)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1106_" . stripPrefix "_msg1106_"} ''Msg1106)++instance Binary Msg1106 where+ get = B.runBitGet $ do+ _msg1106_header <- getBits 0+ _msg1106_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1106_header ^. msmHeader_satelliteMask+ _msg1106_signalData <- getBitsMsm6SignalData $ popCount $ _msg1106_header ^. msmHeader_cellMask+ pure Msg1106 {..}++ put Msg1106 {..} = B.runBitPut $ do+ putBits 0 _msg1106_header+ putBitsMsm46SatelliteData _msg1106_satelliteData+ putBitsMsm6SignalData _msg1106_signalData++$(deriveRTCM3 ''Msg1106)++msg1107 :: Word16+msg1107 = 1107++-- | Message 1107+--+-- RTCMv3 message 1107.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1107 = Msg1107+ { _msg1107_header :: MsmHeader+ -- ^ MSM header.+ , _msg1107_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1107_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1107)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1107_" . stripPrefix "_msg1107_"} ''Msg1107)++instance Binary Msg1107 where+ get = B.runBitGet $ do+ _msg1107_header <- getBits 0+ _msg1107_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1107_header ^. msmHeader_satelliteMask+ _msg1107_signalData <- getBitsMsm7SignalData $ popCount $ _msg1107_header ^. msmHeader_cellMask+ pure Msg1107 {..}++ put Msg1107 {..} = B.runBitPut $ do+ putBits 0 _msg1107_header+ putBitsMsm57SatelliteData _msg1107_satelliteData+ putBitsMsm7SignalData _msg1107_signalData++$(deriveRTCM3 ''Msg1107)++msg1114 :: Word16+msg1114 = 1114++-- | Message 1114+--+-- RTCMv3 message 1114.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1114 = Msg1114+ { _msg1114_header :: MsmHeader+ -- ^ MSM header.+ , _msg1114_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1114_signalData :: Msm4SignalData+ -- ^ MSM satellite data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1114)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1114_" . stripPrefix "_msg1114_"} ''Msg1114)++instance Binary Msg1114 where+ get = B.runBitGet $ do+ _msg1114_header <- getBits 0+ _msg1114_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1114_header ^. msmHeader_satelliteMask+ _msg1114_signalData <- getBitsMsm4SignalData $ popCount $ _msg1114_header ^. msmHeader_cellMask+ pure Msg1114 {..}++ put Msg1114 {..} = B.runBitPut $ do+ putBits 0 _msg1114_header+ putBitsMsm46SatelliteData _msg1114_satelliteData+ putBitsMsm4SignalData _msg1114_signalData++$(deriveRTCM3 ''Msg1114)++msg1115 :: Word16+msg1115 = 1115++-- | Message 1115+--+-- RTCMv3 message 1115.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1115 = Msg1115+ { _msg1115_header :: MsmHeader+ -- ^ MSM header.+ , _msg1115_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1115_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1115)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1115_" . stripPrefix "_msg1115_"} ''Msg1115)++instance Binary Msg1115 where+ get = B.runBitGet $ do+ _msg1115_header <- getBits 0+ _msg1115_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1115_header ^. msmHeader_satelliteMask+ _msg1115_signalData <- getBitsMsm5SignalData $ popCount $ _msg1115_header ^. msmHeader_cellMask+ pure Msg1115 {..}++ put Msg1115 {..} = B.runBitPut $ do+ putBits 0 _msg1115_header+ putBitsMsm57SatelliteData _msg1115_satelliteData+ putBitsMsm5SignalData _msg1115_signalData++$(deriveRTCM3 ''Msg1115)++msg1116 :: Word16+msg1116 = 1116++-- | Message 1116+--+-- RTCMv3 message 1116.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1116 = Msg1116+ { _msg1116_header :: MsmHeader+ -- ^ MSM header.+ , _msg1116_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1116_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1116)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1116_" . stripPrefix "_msg1116_"} ''Msg1116)++instance Binary Msg1116 where+ get = B.runBitGet $ do+ _msg1116_header <- getBits 0+ _msg1116_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1116_header ^. msmHeader_satelliteMask+ _msg1116_signalData <- getBitsMsm6SignalData $ popCount $ _msg1116_header ^. msmHeader_cellMask+ pure Msg1116 {..}++ put Msg1116 {..} = B.runBitPut $ do+ putBits 0 _msg1116_header+ putBitsMsm46SatelliteData _msg1116_satelliteData+ putBitsMsm6SignalData _msg1116_signalData++$(deriveRTCM3 ''Msg1116)++msg1117 :: Word16+msg1117 = 1117++-- | Message 1117+--+-- RTCMv3 message 1117.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1117 = Msg1117+ { _msg1117_header :: MsmHeader+ -- ^ MSM header.+ , _msg1117_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1117_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1117)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1117_" . stripPrefix "_msg1117_"} ''Msg1117)++instance Binary Msg1117 where+ get = B.runBitGet $ do+ _msg1117_header <- getBits 0+ _msg1117_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1117_header ^. msmHeader_satelliteMask+ _msg1117_signalData <- getBitsMsm7SignalData $ popCount $ _msg1117_header ^. msmHeader_cellMask+ pure Msg1117 {..}++ put Msg1117 {..} = B.runBitPut $ do+ putBits 0 _msg1117_header+ putBitsMsm57SatelliteData _msg1117_satelliteData+ putBitsMsm7SignalData _msg1117_signalData++$(deriveRTCM3 ''Msg1117)++msg1124 :: Word16+msg1124 = 1124++-- | Message 1124+--+-- RTCMv3 message 1124.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1124 = Msg1124+ { _msg1124_header :: MsmHeader+ -- ^ MSM header.+ , _msg1124_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1124_signalData :: Msm4SignalData+ -- ^ MSM satellite data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1124)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1124_" . stripPrefix "_msg1124_"} ''Msg1124)++instance Binary Msg1124 where+ get = B.runBitGet $ do+ _msg1124_header <- getBits 0+ _msg1124_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1124_header ^. msmHeader_satelliteMask+ _msg1124_signalData <- getBitsMsm4SignalData $ popCount $ _msg1124_header ^. msmHeader_cellMask+ pure Msg1124 {..}++ put Msg1124 {..} = B.runBitPut $ do+ putBits 0 _msg1124_header+ putBitsMsm46SatelliteData _msg1124_satelliteData+ putBitsMsm4SignalData _msg1124_signalData++$(deriveRTCM3 ''Msg1124)++msg1125 :: Word16+msg1125 = 1125++-- | Message 1125+--+-- RTCMv3 message 1125.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1125 = Msg1125+ { _msg1125_header :: MsmHeader+ -- ^ MSM header.+ , _msg1125_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1125_signalData :: Msm5SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1125)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1125_" . stripPrefix "_msg1125_"} ''Msg1125)++instance Binary Msg1125 where+ get = B.runBitGet $ do+ _msg1125_header <- getBits 0+ _msg1125_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1125_header ^. msmHeader_satelliteMask+ _msg1125_signalData <- getBitsMsm5SignalData $ popCount $ _msg1125_header ^. msmHeader_cellMask+ pure Msg1125 {..}++ put Msg1125 {..} = B.runBitPut $ do+ putBits 0 _msg1125_header+ putBitsMsm57SatelliteData _msg1125_satelliteData+ putBitsMsm5SignalData _msg1125_signalData++$(deriveRTCM3 ''Msg1125)++msg1126 :: Word16+msg1126 = 1126++-- | Message 1126+--+-- RTCMv3 message 1126.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1126 = Msg1126+ { _msg1126_header :: MsmHeader+ -- ^ MSM header.+ , _msg1126_satelliteData :: Msm46SatelliteData+ -- ^ MSM satellite data.+ , _msg1126_signalData :: Msm6SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1126)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1126_" . stripPrefix "_msg1126_"} ''Msg1126)++instance Binary Msg1126 where+ get = B.runBitGet $ do+ _msg1126_header <- getBits 0+ _msg1126_satelliteData <- getBitsMsm46SatelliteData $ popCount $ _msg1126_header ^. msmHeader_satelliteMask+ _msg1126_signalData <- getBitsMsm6SignalData $ popCount $ _msg1126_header ^. msmHeader_cellMask+ pure Msg1126 {..}++ put Msg1126 {..} = B.runBitPut $ do+ putBits 0 _msg1126_header+ putBitsMsm46SatelliteData _msg1126_satelliteData+ putBitsMsm6SignalData _msg1126_signalData++$(deriveRTCM3 ''Msg1126)++msg1127 :: Word16+msg1127 = 1127++-- | Message 1127+--+-- RTCMv3 message 1127.+--+-- See RTCM spec and MSM signal specification for more information+-- about these fields.+data Msg1127 = Msg1127+ { _msg1127_header :: MsmHeader+ -- ^ MSM header.+ , _msg1127_satelliteData :: Msm57SatelliteData+ -- ^ MSM satellite data.+ , _msg1127_signalData :: Msm7SignalData+ -- ^ MSM signal data.+ } deriving ( Show, Read, Eq )++$(makeLenses ''Msg1127)+$(deriveJSON defaultOptions {fieldLabelModifier = fromMaybe "_msg1127_" . stripPrefix "_msg1127_"} ''Msg1127)++instance Binary Msg1127 where+ get = B.runBitGet $ do+ _msg1127_header <- getBits 0+ _msg1127_satelliteData <- getBitsMsm57SatelliteData $ popCount $ _msg1127_header ^. msmHeader_satelliteMask+ _msg1127_signalData <- getBitsMsm7SignalData $ popCount $ _msg1127_header ^. msmHeader_cellMask+ pure Msg1127 {..}++ put Msg1127 {..} = B.runBitPut $ do+ putBits 0 _msg1127_header+ putBitsMsm57SatelliteData _msg1127_satelliteData+ putBitsMsm7SignalData _msg1127_signalData++$(deriveRTCM3 ''Msg1127)+
test/Test.hs view
@@ -13,6 +13,7 @@ import qualified Test.Data.RTCM3.Antennas as Antennas import qualified Test.Data.RTCM3.Ephemerides as Ephemerides import qualified Test.Data.RTCM3.Extras as Extras+import qualified Test.Data.RTCM3.MSM as MSM import qualified Test.Data.RTCM3.Observations as Observations import qualified Test.Data.RTCM3.SSR as SSR import qualified Test.Data.RTCM3.System as System@@ -25,6 +26,7 @@ , Antennas.tests , Ephemerides.tests , Extras.tests+ , MSM.tests , Observations.tests , SSR.tests , System.tests
+ test/Test/Data/RTCM3/MSM.hs view
@@ -0,0 +1,411 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# LANGUAGE RecordWildCards #-}+{-# OPTIONS -fno-warn-orphans #-}++-- |+-- Module: Test.Data.RTCM3.MSM+-- Copyright: (c) 2015 Swift Navigation+-- License: BSD3+-- Maintainer: Swift Navigation <dev@swiftnav.com>+--+-- Test MSM module for RTCM3.++module Test.Data.RTCM3.MSM+ ( tests+ ) where++import BasicPrelude+import Control.Lens+import Data.Binary+import Data.Bits+import Data.RTCM3+import Test.Data.RTCM3.Test+import Test.Tasty+import Test.Tasty.QuickCheck++instance Arbitrary MsmHeader where+ arbitrary = do+ _msmHeader_num <- arbitraryWord 12+ _msmHeader_station <- arbitraryWord 12+ _msmHeader_epoch <- arbitraryWord 30+ _msmHeader_multiple <- arbitrary+ _msmHeader_iods <- arbitraryWord 3+ _msmHeader_reserved <- arbitraryWord 7+ _msmHeader_clockSteering <- arbitraryWord 2+ _msmHeader_externalClock <- arbitraryWord 2+ _msmHeader_smoothing <- arbitrary+ _msmHeader_smoothingInterval <- arbitraryWord 3+ _msmHeader_satelliteMask <- arbitraryWord 64+ _msmHeader_signalMask <- arbitraryWord 32+ let x = min 64 $ popCount _msmHeader_satelliteMask * popCount _msmHeader_signalMask+ _msmHeader_cellMask <- arbitraryWord x+ pure MsmHeader {..}++arbitraryMsm46SatelliteData :: Int -> Gen Msm46SatelliteData+arbitraryMsm46SatelliteData n = do+ _msm46SatelliteData_ranges <- replicateM n $ arbitraryWord 8+ _msm46SatelliteData_rangesModulo <- replicateM n $ arbitraryWord 10+ pure Msm46SatelliteData {..}++arbitraryMsm57SatelliteData :: Int -> Gen Msm57SatelliteData+arbitraryMsm57SatelliteData n = do+ _msm57SatelliteData_ranges <- replicateM n $ arbitraryWord 8+ _msm57SatelliteData_extendeds <- replicateM n $ arbitraryWord 4+ _msm57SatelliteData_rangesModulo <- replicateM n $ arbitraryWord 10+ _msm57SatelliteData_phaseRangeRates <- replicateM n $ arbitraryWord 14+ pure Msm57SatelliteData {..}++arbitraryMsm4SignalData :: Int -> Gen Msm4SignalData+arbitraryMsm4SignalData n = do+ _msm4SignalData_pseudoranges <- replicateM n $ arbitraryInt 15+ _msm4SignalData_phaseranges <- replicateM n $ arbitraryInt 22+ _msm4SignalData_lockTimes <- replicateM n $ arbitraryWord 4+ _msm4SignalData_halfCycles <- replicateM n arbitrary+ _msm4SignalData_cnrs <- replicateM n $ arbitraryWord 6+ pure Msm4SignalData {..}++arbitraryMsm5SignalData :: Int -> Gen Msm5SignalData+arbitraryMsm5SignalData n = do+ _msm5SignalData_pseudoranges <- replicateM n $ arbitraryInt 15+ _msm5SignalData_phaseranges <- replicateM n $ arbitraryInt 22+ _msm5SignalData_lockTimes <- replicateM n $ arbitraryWord 4+ _msm5SignalData_halfCycles <- replicateM n arbitrary+ _msm5SignalData_cnrs <- replicateM n $ arbitraryWord 6+ _msm5SignalData_phaseRangeRates <- replicateM n $ arbitraryInt 15+ pure Msm5SignalData {..}++arbitraryMsm6SignalData :: Int -> Gen Msm6SignalData+arbitraryMsm6SignalData n = do+ _msm6SignalData_pseudoranges <- replicateM n $ arbitraryInt 20+ _msm6SignalData_phaseranges <- replicateM n $ arbitraryInt 24+ _msm6SignalData_lockTimes <- replicateM n $ arbitraryWord 10+ _msm6SignalData_halfCycles <- replicateM n arbitrary+ _msm6SignalData_cnrs <- replicateM n $ arbitraryWord 10+ pure Msm6SignalData {..}++arbitraryMsm7SignalData :: Int -> Gen Msm7SignalData+arbitraryMsm7SignalData n = do+ _msm7SignalData_pseudoranges <- replicateM n $ arbitraryInt 20+ _msm7SignalData_phaseranges <- replicateM n $ arbitraryInt 24+ _msm7SignalData_lockTimes <- replicateM n $ arbitraryWord 10+ _msm7SignalData_halfCycles <- replicateM n arbitrary+ _msm7SignalData_cnrs <- replicateM n $ arbitraryWord 10+ _msm7SignalData_phaseRangeRates <- replicateM n $ arbitraryInt 15+ pure Msm7SignalData {..}++instance Arbitrary Msg1074 where+ arbitrary = do+ _msg1074_header <- arbitrary+ _msg1074_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1074_header ^. msmHeader_satelliteMask+ _msg1074_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1074_header ^. msmHeader_cellMask+ pure Msg1074 {..}++instance Arbitrary Msg1075 where+ arbitrary = do+ _msg1075_header <- arbitrary+ _msg1075_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1075_header ^. msmHeader_satelliteMask+ _msg1075_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1075_header ^. msmHeader_cellMask+ pure Msg1075 {..}++instance Arbitrary Msg1076 where+ arbitrary = do+ _msg1076_header <- arbitrary+ _msg1076_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1076_header ^. msmHeader_satelliteMask+ _msg1076_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1076_header ^. msmHeader_cellMask+ pure Msg1076 {..}++instance Arbitrary Msg1077 where+ arbitrary = do+ _msg1077_header <- arbitrary+ _msg1077_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1077_header ^. msmHeader_satelliteMask+ _msg1077_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1077_header ^. msmHeader_cellMask+ pure Msg1077 {..}++instance Arbitrary Msg1084 where+ arbitrary = do+ _msg1084_header <- arbitrary+ _msg1084_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1084_header ^. msmHeader_satelliteMask+ _msg1084_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1084_header ^. msmHeader_cellMask+ pure Msg1084 {..}++instance Arbitrary Msg1085 where+ arbitrary = do+ _msg1085_header <- arbitrary+ _msg1085_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1085_header ^. msmHeader_satelliteMask+ _msg1085_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1085_header ^. msmHeader_cellMask+ pure Msg1085 {..}++instance Arbitrary Msg1086 where+ arbitrary = do+ _msg1086_header <- arbitrary+ _msg1086_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1086_header ^. msmHeader_satelliteMask+ _msg1086_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1086_header ^. msmHeader_cellMask+ pure Msg1086 {..}++instance Arbitrary Msg1087 where+ arbitrary = do+ _msg1087_header <- arbitrary+ _msg1087_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1087_header ^. msmHeader_satelliteMask+ _msg1087_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1087_header ^. msmHeader_cellMask+ pure Msg1087 {..}++instance Arbitrary Msg1094 where+ arbitrary = do+ _msg1094_header <- arbitrary+ _msg1094_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1094_header ^. msmHeader_satelliteMask+ _msg1094_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1094_header ^. msmHeader_cellMask+ pure Msg1094 {..}++instance Arbitrary Msg1095 where+ arbitrary = do+ _msg1095_header <- arbitrary+ _msg1095_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1095_header ^. msmHeader_satelliteMask+ _msg1095_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1095_header ^. msmHeader_cellMask+ pure Msg1095 {..}++instance Arbitrary Msg1096 where+ arbitrary = do+ _msg1096_header <- arbitrary+ _msg1096_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1096_header ^. msmHeader_satelliteMask+ _msg1096_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1096_header ^. msmHeader_cellMask+ pure Msg1096 {..}++instance Arbitrary Msg1097 where+ arbitrary = do+ _msg1097_header <- arbitrary+ _msg1097_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1097_header ^. msmHeader_satelliteMask+ _msg1097_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1097_header ^. msmHeader_cellMask+ pure Msg1097 {..}++instance Arbitrary Msg1104 where+ arbitrary = do+ _msg1104_header <- arbitrary+ _msg1104_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1104_header ^. msmHeader_satelliteMask+ _msg1104_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1104_header ^. msmHeader_cellMask+ pure Msg1104 {..}++instance Arbitrary Msg1105 where+ arbitrary = do+ _msg1105_header <- arbitrary+ _msg1105_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1105_header ^. msmHeader_satelliteMask+ _msg1105_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1105_header ^. msmHeader_cellMask+ pure Msg1105 {..}++instance Arbitrary Msg1106 where+ arbitrary = do+ _msg1106_header <- arbitrary+ _msg1106_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1106_header ^. msmHeader_satelliteMask+ _msg1106_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1106_header ^. msmHeader_cellMask+ pure Msg1106 {..}++instance Arbitrary Msg1107 where+ arbitrary = do+ _msg1107_header <- arbitrary+ _msg1107_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1107_header ^. msmHeader_satelliteMask+ _msg1107_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1107_header ^. msmHeader_cellMask+ pure Msg1107 {..}++instance Arbitrary Msg1114 where+ arbitrary = do+ _msg1114_header <- arbitrary+ _msg1114_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1114_header ^. msmHeader_satelliteMask+ _msg1114_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1114_header ^. msmHeader_cellMask+ pure Msg1114 {..}++instance Arbitrary Msg1115 where+ arbitrary = do+ _msg1115_header <- arbitrary+ _msg1115_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1115_header ^. msmHeader_satelliteMask+ _msg1115_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1115_header ^. msmHeader_cellMask+ pure Msg1115 {..}++instance Arbitrary Msg1116 where+ arbitrary = do+ _msg1116_header <- arbitrary+ _msg1116_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1116_header ^. msmHeader_satelliteMask+ _msg1116_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1116_header ^. msmHeader_cellMask+ pure Msg1116 {..}++instance Arbitrary Msg1117 where+ arbitrary = do+ _msg1117_header <- arbitrary+ _msg1117_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1117_header ^. msmHeader_satelliteMask+ _msg1117_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1117_header ^. msmHeader_cellMask+ pure Msg1117 {..}++instance Arbitrary Msg1124 where+ arbitrary = do+ _msg1124_header <- arbitrary+ _msg1124_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1124_header ^. msmHeader_satelliteMask+ _msg1124_signalData <- arbitraryMsm4SignalData $ popCount $ _msg1124_header ^. msmHeader_cellMask+ pure Msg1124 {..}++instance Arbitrary Msg1125 where+ arbitrary = do+ _msg1125_header <- arbitrary+ _msg1125_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1125_header ^. msmHeader_satelliteMask+ _msg1125_signalData <- arbitraryMsm5SignalData $ popCount $ _msg1125_header ^. msmHeader_cellMask+ pure Msg1125 {..}++instance Arbitrary Msg1126 where+ arbitrary = do+ _msg1126_header <- arbitrary+ _msg1126_satelliteData <- arbitraryMsm46SatelliteData $ popCount $ _msg1126_header ^. msmHeader_satelliteMask+ _msg1126_signalData <- arbitraryMsm6SignalData $ popCount $ _msg1126_header ^. msmHeader_cellMask+ pure Msg1126 {..}++instance Arbitrary Msg1127 where+ arbitrary = do+ _msg1127_header <- arbitrary+ _msg1127_satelliteData <- arbitraryMsm57SatelliteData $ popCount $ _msg1127_header ^. msmHeader_satelliteMask+ _msg1127_signalData <- arbitraryMsm7SignalData $ popCount $ _msg1127_header ^. msmHeader_cellMask+ pure Msg1127 {..}++testMsg1074 :: TestTree+testMsg1074 =+ testProperty "Roundtrip Msg1074" $ \m ->+ decode (encode m) == (m :: Msg1074)++testMsg1075 :: TestTree+testMsg1075 =+ testProperty "Roundtrip Msg1075" $ \m ->+ decode (encode m) == (m :: Msg1075)++testMsg1076 :: TestTree+testMsg1076 =+ testProperty "Roundtrip Msg1076" $ \m ->+ decode (encode m) == (m :: Msg1076)++testMsg1077 :: TestTree+testMsg1077 =+ testProperty "Roundtrip Msg1077" $ \m ->+ decode (encode m) == (m :: Msg1077)++testMsg1084 :: TestTree+testMsg1084 =+ testProperty "Roundtrip Msg1084" $ \m ->+ decode (encode m) == (m :: Msg1084)++testMsg1085 :: TestTree+testMsg1085 =+ testProperty "Roundtrip Msg1085" $ \m ->+ decode (encode m) == (m :: Msg1085)++testMsg1086 :: TestTree+testMsg1086 =+ testProperty "Roundtrip Msg1086" $ \m ->+ decode (encode m) == (m :: Msg1086)++testMsg1087 :: TestTree+testMsg1087 =+ testProperty "Roundtrip Msg1087" $ \m ->+ decode (encode m) == (m :: Msg1087)++testMsg1094 :: TestTree+testMsg1094 =+ testProperty "Roundtrip Msg1094" $ \m ->+ decode (encode m) == (m :: Msg1094)++testMsg1095 :: TestTree+testMsg1095 =+ testProperty "Roundtrip Msg1095" $ \m ->+ decode (encode m) == (m :: Msg1095)++testMsg1096 :: TestTree+testMsg1096 =+ testProperty "Roundtrip Msg1096" $ \m ->+ decode (encode m) == (m :: Msg1096)++testMsg1097 :: TestTree+testMsg1097 =+ testProperty "Roundtrip Msg1097" $ \m ->+ decode (encode m) == (m :: Msg1097)++testMsg1104 :: TestTree+testMsg1104 =+ testProperty "Roundtrip Msg1104" $ \m ->+ decode (encode m) == (m :: Msg1104)++testMsg1105 :: TestTree+testMsg1105 =+ testProperty "Roundtrip Msg1105" $ \m ->+ decode (encode m) == (m :: Msg1105)++testMsg1106 :: TestTree+testMsg1106 =+ testProperty "Roundtrip Msg1106" $ \m ->+ decode (encode m) == (m :: Msg1106)++testMsg1107 :: TestTree+testMsg1107 =+ testProperty "Roundtrip Msg1107" $ \m ->+ decode (encode m) == (m :: Msg1107)++testMsg1114 :: TestTree+testMsg1114 =+ testProperty "Roundtrip Msg1114" $ \m ->+ decode (encode m) == (m :: Msg1114)++testMsg1115 :: TestTree+testMsg1115 =+ testProperty "Roundtrip Msg1115" $ \m ->+ decode (encode m) == (m :: Msg1115)++testMsg1116 :: TestTree+testMsg1116 =+ testProperty "Roundtrip Msg1116" $ \m ->+ decode (encode m) == (m :: Msg1116)++testMsg1117 :: TestTree+testMsg1117 =+ testProperty "Roundtrip Msg1117" $ \m ->+ decode (encode m) == (m :: Msg1117)++testMsg1124 :: TestTree+testMsg1124 =+ testProperty "Roundtrip Msg1124" $ \m ->+ decode (encode m) == (m :: Msg1124)++testMsg1125 :: TestTree+testMsg1125 =+ testProperty "Roundtrip Msg1125" $ \m ->+ decode (encode m) == (m :: Msg1125)++testMsg1126 :: TestTree+testMsg1126 =+ testProperty "Roundtrip Msg1126" $ \m ->+ decode (encode m) == (m :: Msg1126)++testMsg1127 :: TestTree+testMsg1127 =+ testProperty "Roundtrip Msg1127" $ \m ->+ decode (encode m) == (m :: Msg1127)++tests :: TestTree+tests =+ testGroup "MSM tests"+ [ testMsg1074+ , testMsg1075+ , testMsg1076+ , testMsg1077+ , testMsg1084+ , testMsg1085+ , testMsg1086+ , testMsg1087+ , testMsg1094+ , testMsg1095+ , testMsg1096+ , testMsg1097+ , testMsg1104+ , testMsg1105+ , testMsg1106+ , testMsg1107+ , testMsg1114+ , testMsg1115+ , testMsg1116+ , testMsg1117+ , testMsg1124+ , testMsg1125+ , testMsg1126+ , testMsg1127+ ]