From 2d3659523409c2eb09c58ee1ee148358fca74710 Mon Sep 17 00:00:00 2001 From: Christian Reimer Date: Fri, 6 Jun 2025 18:35:42 +0200 Subject: [PATCH 1/5] Clarify DF389-derived fields --- spec/yaml/swiftnav/sbp/ssr.yaml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spec/yaml/swiftnav/sbp/ssr.yaml b/spec/yaml/swiftnav/sbp/ssr.yaml index 5e268b3bdc..c3a7a99811 100644 --- a/spec/yaml/swiftnav/sbp/ssr.yaml +++ b/spec/yaml/swiftnav/sbp/ssr.yaml @@ -182,8 +182,9 @@ definitions: type: u8 units: mm desc: > - Modified DF389. class 3 MSB, value 5 LSB. - stddev = (3^class * (1 + value/16) - 1) + Encoded standard deviation leaning on RTCM DF389 specification. + The upper 3 bit are the class, the lower 5 bits are the value. + Standard deviation [mm] = (3^class * (1 + value/16) - 1) - STECResidualNoStd: desc: STEC residual for the given satellite at the grid point. @@ -210,9 +211,11 @@ definitions: desc: STEC residual - stddev: type: u8 + units: TECU desc: > - Modified DF389. class 3 MSB, value 5 LSB. - stddev = (3^class * (1 + value/16) - 1) * 10 + Encoded standard deviation leaning on RTCM DF389 specification. + The upper 3 bit are the class, the lower 5 bits are the value. + Standard deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1 - MSG_SSR_ORBIT_CLOCK: id: 0x05DD From c4e3986e9432909dff5f9996cc04ffadd125f400 Mon Sep 17 00:00:00 2001 From: Christian Reimer Date: Fri, 6 Jun 2025 19:06:48 +0200 Subject: [PATCH 2/5] Generated files --- c/include/libsbp/ssr/STECResidual.h | 5 +++-- .../libsbp/ssr/TroposphericDelayCorrection.h | 5 +++-- docs/sbp.pdf | Bin 566916 -> 567388 bytes haskell/src/SwiftNav/SBP/Ssr.hs | 10 ++++++---- .../com/swiftnav/sbp/ssr/STECResidual.java | 6 +++++- .../sbp/ssr/TroposphericDelayCorrection.java | 6 +++++- javascript/sbp/ssr.js | 10 ++++++---- kaitai/ksy/acquisition.ksy | 2 +- kaitai/ksy/bootload.ksy | 2 +- kaitai/ksy/ext_events.ksy | 2 +- kaitai/ksy/file_io.ksy | 2 +- kaitai/ksy/flash.ksy | 2 +- kaitai/ksy/gnss.ksy | 2 +- kaitai/ksy/imu.ksy | 2 +- kaitai/ksy/integrity.ksy | 2 +- kaitai/ksy/linux.ksy | 2 +- kaitai/ksy/logging.ksy | 2 +- kaitai/ksy/mag.ksy | 2 +- kaitai/ksy/navigation.ksy | 2 +- kaitai/ksy/ndb.ksy | 2 +- kaitai/ksy/observation.ksy | 2 +- kaitai/ksy/orientation.ksy | 2 +- kaitai/ksy/piksi.ksy | 2 +- kaitai/ksy/profiling.ksy | 2 +- kaitai/ksy/sbas.ksy | 2 +- kaitai/ksy/sbp.ksy | 2 +- kaitai/ksy/settings.ksy | 2 +- kaitai/ksy/signing.ksy | 2 +- kaitai/ksy/solution_meta.ksy | 2 +- kaitai/ksy/ssr.ksy | 12 +++++++----- kaitai/ksy/system.ksy | 2 +- kaitai/ksy/telemetry.ksy | 2 +- kaitai/ksy/tracking.ksy | 2 +- kaitai/ksy/user.ksy | 2 +- kaitai/ksy/vehicle.ksy | 2 +- kaitai/perl/KaitaiSbp/Table.pm | 2 +- .../auto_check_sbp_acquisition_MsgAcqResult.t | 2 +- ...o_check_sbp_acquisition_MsgAcqResultDepA.t | 2 +- ...o_check_sbp_acquisition_MsgAcqResultDepB.t | 2 +- ...o_check_sbp_acquisition_MsgAcqResultDepC.t | 2 +- ...to_check_sbp_acquisition_MsgAcqSvProfile.t | 2 +- ...check_sbp_acquisition_MsgAcqSvProfileDep.t | 2 +- ...k_sbp_bootload_MsgBootloaderHandshakeReq.t | 2 +- ..._sbp_bootload_MsgBootloaderHandshakeResp.t | 2 +- ...heck_sbp_bootload_MsgBootloaderJumptoApp.t | 2 +- ...to_check_sbp_bootload_MsgNapDeviceDnaReq.t | 2 +- ...o_check_sbp_bootload_MsgNapDeviceDnaResp.t | 2 +- .../t/auto_check_sbp_ext_events_MsgExtEvent.t | 2 +- ...uto_check_sbp_file_io_MsgFileioConfigReq.t | 2 +- ...to_check_sbp_file_io_MsgFileioConfigResp.t | 2 +- ...to_check_sbp_file_io_MsgFileioReadDirReq.t | 2 +- ...o_check_sbp_file_io_MsgFileioReadDirResp.t | 2 +- .../auto_check_sbp_file_io_MsgFileioReadReq.t | 2 +- ...auto_check_sbp_file_io_MsgFileioReadResp.t | 2 +- .../auto_check_sbp_file_io_MsgFileioRemove.t | 2 +- ...uto_check_sbp_file_io_MsgFileioWriteResp.t | 2 +- .../t/auto_check_sbp_flash_MsgFlashDone.t | 2 +- .../t/auto_check_sbp_flash_MsgFlashErase.t | 2 +- .../t/auto_check_sbp_flash_MsgFlashProgram.t | 2 +- .../t/auto_check_sbp_flash_MsgFlashReadReq.t | 2 +- .../t/auto_check_sbp_flash_MsgFlashReadResp.t | 2 +- ...o_check_sbp_flash_MsgM25FlashWriteStatus.t | 2 +- ...to_check_sbp_flash_MsgStmFlashLockSector.t | 2 +- ..._check_sbp_flash_MsgStmFlashUnlockSector.t | 2 +- .../auto_check_sbp_flash_MsgStmUniqueIdReq.t | 2 +- .../auto_check_sbp_flash_MsgStmUniqueIdResp.t | 2 +- .../t/auto_check_sbp_imu_MsgImuAux.t | 2 +- .../t/auto_check_sbp_imu_MsgImuComp.t | 2 +- .../t/auto_check_sbp_imu_MsgImuRaw.t | 2 +- .../auto_check_sbp_integrity_MsgAcknowledge.t | 2 +- ..._check_sbp_integrity_MsgSsrFlagHighLevel.t | 2 +- ..._integrity_MsgSsrFlagIonoGridPointSatLos.t | 2 +- ...k_sbp_integrity_MsgSsrFlagIonoGridPoints.t | 2 +- ...k_sbp_integrity_MsgSsrFlagIonoTileSatLos.t | 2 +- ...check_sbp_integrity_MsgSsrFlagSatellites.t | 2 +- ..._sbp_integrity_MsgSsrFlagTropoGridPoints.t | 2 +- .../t/auto_check_sbp_linux_MsgLinuxCpuState.t | 2 +- ...uto_check_sbp_linux_MsgLinuxCpuStateDepA.t | 2 +- .../t/auto_check_sbp_linux_MsgLinuxMemState.t | 2 +- ...uto_check_sbp_linux_MsgLinuxMemStateDepA.t | 2 +- ...o_check_sbp_linux_MsgLinuxProcessFdCount.t | 2 +- ...check_sbp_linux_MsgLinuxProcessFdSummary.t | 2 +- ...ck_sbp_linux_MsgLinuxProcessSocketCounts.t | 2 +- ...ck_sbp_linux_MsgLinuxProcessSocketQueues.t | 2 +- ...auto_check_sbp_linux_MsgLinuxSocketUsage.t | 2 +- .../t/auto_check_sbp_linux_MsgLinuxSysState.t | 2 +- ...uto_check_sbp_linux_MsgLinuxSysStateDepA.t | 2 +- .../t/auto_check_sbp_logging_MsgFwd.t | 2 +- .../t/auto_check_sbp_logging_MsgLog.t | 2 +- .../t/auto_check_sbp_logging_MsgPrintDep.t | 2 +- .../t/auto_check_sbp_mag_MsgMagRaw.t | 2 +- ...o_check_sbp_navigation_MsgAgeCorrections.t | 2 +- ...uto_check_sbp_navigation_MsgBaselineECEF.t | 2 +- ...check_sbp_navigation_MsgBaselineECEFDepA.t | 2 +- ...ck_sbp_navigation_MsgBaselineHeadingDepA.t | 2 +- ...auto_check_sbp_navigation_MsgBaselineNED.t | 2 +- ..._check_sbp_navigation_MsgBaselineNEDDepA.t | 2 +- .../t/auto_check_sbp_navigation_MsgDops.t | 2 +- .../t/auto_check_sbp_navigation_MsgDopsDepA.t | 2 +- .../t/auto_check_sbp_navigation_MsgGPSTime.t | 2 +- ...auto_check_sbp_navigation_MsgGPSTimeDepA.t | 2 +- ...auto_check_sbp_navigation_MsgGPSTimeGNSS.t | 2 +- .../t/auto_check_sbp_navigation_MsgPosECEF.t | 2 +- .../auto_check_sbp_navigation_MsgPosECEFCov.t | 2 +- ...o_check_sbp_navigation_MsgPosECEFCovGNSS.t | 2 +- ...auto_check_sbp_navigation_MsgPosECEFDepA.t | 2 +- ...auto_check_sbp_navigation_MsgPosECEFGNSS.t | 2 +- .../t/auto_check_sbp_navigation_MsgPosLLH.t | 2 +- .../auto_check_sbp_navigation_MsgPosLLHCov.t | 2 +- .../auto_check_sbp_navigation_MsgPosLLHDepA.t | 2 +- .../auto_check_sbp_navigation_MsgPosLlhAcc.t | 2 +- ...to_check_sbp_navigation_MsgPosLlhCovGnss.t | 2 +- .../auto_check_sbp_navigation_MsgPosLlhGnss.t | 2 +- ...uto_check_sbp_navigation_MsgPoseRelative.t | 2 +- ..._check_sbp_navigation_MsgProtectionLevel.t | 2 +- ...ck_sbp_navigation_MsgProtectionLevelDepA.t | 2 +- ...ck_sbp_navigation_MsgReferenceFrameParam.t | 2 +- ...to_check_sbp_navigation_MsgUTCLeapSecond.t | 2 +- .../t/auto_check_sbp_navigation_MsgUTCTime.t | 2 +- ...auto_check_sbp_navigation_MsgUTCTimeGNSS.t | 2 +- .../t/auto_check_sbp_navigation_MsgVelBody.t | 2 +- .../t/auto_check_sbp_navigation_MsgVelCog.t | 2 +- .../t/auto_check_sbp_navigation_MsgVelECEF.t | 2 +- .../auto_check_sbp_navigation_MsgVelECEFCov.t | 2 +- ...auto_check_sbp_navigation_MsgVelECEFDepA.t | 2 +- ...o_check_sbp_navigation_MsgVelEcefCovGnss.t | 2 +- ...auto_check_sbp_navigation_MsgVelEcefGnss.t | 2 +- .../t/auto_check_sbp_navigation_MsgVelNED.t | 2 +- .../auto_check_sbp_navigation_MsgVelNEDCOV.t | 2 +- .../auto_check_sbp_navigation_MsgVelNEDDepA.t | 2 +- ...to_check_sbp_navigation_MsgVelNedCovGnss.t | 2 +- .../auto_check_sbp_navigation_MsgVelNedGnss.t | 2 +- .../t/auto_check_sbp_ndb_MsgNdbEvent.t | 2 +- ...auto_check_sbp_observation_MsgAlmanacGLO.t | 2 +- ...o_check_sbp_observation_MsgAlmanacGLODep.t | 2 +- ...auto_check_sbp_observation_MsgAlmanacGPS.t | 2 +- ...o_check_sbp_observation_MsgAlmanacGPSDep.t | 2 +- ...uto_check_sbp_observation_MsgBasePosEcef.t | 2 +- ...auto_check_sbp_observation_MsgBasePosLLH.t | 2 +- ...to_check_sbp_observation_MsgEphemerisBds.t | 2 +- ...o_check_sbp_observation_MsgEphemerisDepA.t | 2 +- ...o_check_sbp_observation_MsgEphemerisDepC.t | 2 +- ...o_check_sbp_observation_MsgEphemerisDepD.t | 2 +- ...to_check_sbp_observation_MsgEphemerisGLO.t | 2 +- ...heck_sbp_observation_MsgEphemerisGLODepA.t | 2 +- ...heck_sbp_observation_MsgEphemerisGLODepB.t | 2 +- ...heck_sbp_observation_MsgEphemerisGLODepC.t | 2 +- ...heck_sbp_observation_MsgEphemerisGLODepD.t | 2 +- ...to_check_sbp_observation_MsgEphemerisGPS.t | 2 +- ...heck_sbp_observation_MsgEphemerisGPSDepE.t | 2 +- ...heck_sbp_observation_MsgEphemerisGPSDepF.t | 2 +- ...to_check_sbp_observation_MsgEphemerisGal.t | 2 +- ...heck_sbp_observation_MsgEphemerisGalDepA.t | 2 +- ...o_check_sbp_observation_MsgEphemerisSbas.t | 2 +- ...eck_sbp_observation_MsgEphemerisSbasDepA.t | 2 +- ...eck_sbp_observation_MsgEphemerisSbasDepB.t | 2 +- .../auto_check_sbp_observation_MsgGloBiases.t | 2 +- .../auto_check_sbp_observation_MsgGnssCapb.t | 2 +- ...auto_check_sbp_observation_MsgGroupDelay.t | 2 +- ..._check_sbp_observation_MsgGroupDelayDepA.t | 2 +- ..._check_sbp_observation_MsgGroupDelayDepB.t | 2 +- .../t/auto_check_sbp_observation_MsgIono.t | 2 +- .../t/auto_check_sbp_observation_MsgObs.t | 2 +- .../t/auto_check_sbp_observation_MsgObsDepB.t | 2 +- .../t/auto_check_sbp_observation_MsgObsDepC.t | 2 +- .../t/auto_check_sbp_observation_MsgOsr.t | 2 +- .../t/auto_check_sbp_observation_MsgSvAzEl.t | 2 +- ...sbp_observation_MsgSvConfigurationGpsDep.t | 2 +- ...o_check_sbp_observation_msgEphemerisDepB.t | 2 +- ...o_check_sbp_observation_msgEphemerisQzss.t | 2 +- .../t/auto_check_sbp_observation_msgObsDepA.t | 2 +- ...uto_check_sbp_orientation_MsgAngularRate.t | 2 +- ...check_sbp_orientation_MsgBaselineHeading.t | 2 +- ...uto_check_sbp_orientation_MsgOrientEuler.t | 2 +- ...auto_check_sbp_orientation_MsgOrientQuat.t | 2 +- .../t/auto_check_sbp_piksi_MsgAlmanac.t | 2 +- .../auto_check_sbp_piksi_MsgCellModemStatus.t | 2 +- .../t/auto_check_sbp_piksi_MsgCommandOutput.t | 2 +- .../t/auto_check_sbp_piksi_MsgCommandReq.t | 2 +- .../t/auto_check_sbp_piksi_MsgCommandResp.t | 2 +- .../t/auto_check_sbp_piksi_MsgCwResults.t | 2 +- .../t/auto_check_sbp_piksi_MsgCwStart.t | 2 +- .../t/auto_check_sbp_piksi_MsgDeviceMonitor.t | 2 +- .../t/auto_check_sbp_piksi_MsgFrontEndGain.t | 2 +- .../t/auto_check_sbp_piksi_MsgIarState.t | 2 +- .../t/auto_check_sbp_piksi_MsgInitBaseDep.t | 2 +- .../t/auto_check_sbp_piksi_MsgMaskSatellite.t | 2 +- ...auto_check_sbp_piksi_MsgMaskSatelliteDep.t | 2 +- ...check_sbp_piksi_MsgNetworkBandwidthUsage.t | 2 +- .../auto_check_sbp_piksi_MsgNetworkStateReq.t | 2 +- ...auto_check_sbp_piksi_MsgNetworkStateResp.t | 2 +- .../t/auto_check_sbp_piksi_MsgReset.t | 2 +- .../t/auto_check_sbp_piksi_MsgResetDep.t | 2 +- .../t/auto_check_sbp_piksi_MsgResetFilters.t | 2 +- .../t/auto_check_sbp_piksi_MsgSetTime.t | 2 +- .../t/auto_check_sbp_piksi_MsgSpecan.t | 2 +- .../t/auto_check_sbp_piksi_MsgSpecanDep.t | 2 +- .../t/auto_check_sbp_piksi_MsgThreadState.t | 2 +- .../t/auto_check_sbp_piksi_MsgUartState.t | 2 +- .../t/auto_check_sbp_piksi_MsgUartStateDepA.t | 2 +- ..._check_sbp_profiling_MsgMeasurementPoint.t | 2 +- ...bp_profiling_MsgProfilingResourceCounter.t | 2 +- ...eck_sbp_profiling_MsgProfilingSystemInfo.t | 2 +- ...eck_sbp_profiling_MsgProfilingThreadInfo.t | 2 +- .../t/auto_check_sbp_sbas_MsgSbasRaw.t | 2 +- ..._sbp_settings_MsgSettingsReadByIndexDone.t | 2 +- ...k_sbp_settings_MsgSettingsReadByIndexReq.t | 2 +- ..._sbp_settings_MsgSettingsReadByIndexResp.t | 2 +- ...to_check_sbp_settings_MsgSettingsReadReq.t | 2 +- ...o_check_sbp_settings_MsgSettingsReadResp.t | 2 +- ...o_check_sbp_settings_MsgSettingsRegister.t | 2 +- ...eck_sbp_settings_MsgSettingsRegisterResp.t | 2 +- .../auto_check_sbp_settings_MsgSettingsSave.t | 2 +- ...auto_check_sbp_settings_MsgSettingsWrite.t | 2 +- ..._check_sbp_settings_MsgSettingsWriteResp.t | 2 +- ...to_check_sbp_signing_MsgAesCmacSignature.t | 2 +- ...to_check_sbp_signing_MsgCertificateChain.t | 2 +- ...check_sbp_signing_MsgCertificateChainDep.t | 2 +- ...to_check_sbp_signing_MsgEcdsaCertificate.t | 2 +- ...auto_check_sbp_signing_MsgEcdsaSignature.t | 2 +- ..._check_sbp_signing_MsgEcdsaSignatureDepA.t | 2 +- ..._check_sbp_signing_MsgEcdsaSignatureDepB.t | 2 +- ...eck_sbp_signing_MsgEd25519CertificateDep.t | 2 +- ...heck_sbp_signing_MsgEd25519SignatureDepA.t | 2 +- ...heck_sbp_signing_MsgEd25519SignatureDepB.t | 2 +- ...auto_check_sbp_solution_meta_MsgSolnMeta.t | 2 +- ..._check_sbp_solution_meta_MsgSolnMetaDepA.t | 2 +- .../t/auto_check_sbp_ssr_MsgSsrCodeBiases.t | 2 +- ...heck_sbp_ssr_MsgSsrCodePhaseBiasesBounds.t | 2 +- ...o_check_sbp_ssr_MsgSsrGridDefinitionDepA.t | 2 +- ...to_check_sbp_ssr_MsgSsrGriddedCorrection.t | 2 +- ...ck_sbp_ssr_MsgSsrGriddedCorrectionBounds.t | 2 +- ...heck_sbp_ssr_MsgSsrGriddedCorrectionDepA.t | 2 +- ...sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.t | 2 +- .../t/auto_check_sbp_ssr_MsgSsrOrbitClock.t | 2 +- ...uto_check_sbp_ssr_MsgSsrOrbitClockBounds.t | 2 +- ...bp_ssr_MsgSsrOrbitClockBoundsDegradation.t | 2 +- .../auto_check_sbp_ssr_MsgSsrOrbitClockDepA.t | 2 +- .../t/auto_check_sbp_ssr_MsgSsrPhaseBiases.t | 2 +- .../t/auto_check_sbp_ssr_MsgSsrSatelliteApc.t | 2 +- ...uto_check_sbp_ssr_MsgSsrSatelliteApcDepA.t | 2 +- .../auto_check_sbp_ssr_MsgSsrStecCorrection.t | 2 +- ...to_check_sbp_ssr_MsgSsrStecCorrectionDep.t | 2 +- ...o_check_sbp_ssr_MsgSsrStecCorrectionDepA.t | 2 +- .../auto_check_sbp_ssr_MsgSsrTileDefinition.t | 2 +- ...o_check_sbp_ssr_MsgSsrTileDefinitionDepA.t | 2 +- ...o_check_sbp_ssr_MsgSsrTileDefinitionDepB.t | 2 +- .../auto_check_sbp_system_MsgCsacTelemetry.t | 2 +- ..._check_sbp_system_MsgCsacTelemetryLabels.t | 2 +- .../t/auto_check_sbp_system_MsgDgnssStatus.t | 2 +- .../auto_check_sbp_system_MsgGnssTimeOffset.t | 2 +- .../t/auto_check_sbp_system_MsgGroupMeta.t | 2 +- .../t/auto_check_sbp_system_MsgHeartbeat.t | 2 +- .../t/auto_check_sbp_system_MsgInsStatus.t | 2 +- .../t/auto_check_sbp_system_MsgInsUpdates.t | 2 +- .../t/auto_check_sbp_system_MsgPpsTime.t | 2 +- .../auto_check_sbp_system_MsgSensorAidEvent.t | 2 +- .../t/auto_check_sbp_system_MsgStartup.t | 2 +- .../auto_check_sbp_system_MsgStatusJournal.t | 2 +- .../t/auto_check_sbp_system_MsgStatusReport.t | 2 +- .../t/auto_check_sbp_telemetry_MsgTelSv.t | 2 +- ...o_check_sbp_tracking_MsgMeasurementState.t | 2 +- .../t/auto_check_sbp_tracking_MsgTrackingIq.t | 2 +- ...uto_check_sbp_tracking_MsgTrackingIqDepA.t | 2 +- ...uto_check_sbp_tracking_MsgTrackingIqDepB.t | 2 +- ...auto_check_sbp_tracking_MsgTrackingState.t | 2 +- ..._check_sbp_tracking_MsgTrackingStateDepB.t | 2 +- ...sbp_tracking_MsgTrackingStateDetailedDep.t | 2 +- ...bp_tracking_MsgTrackingStateDetailedDepA.t | 2 +- ..._check_sbp_tracking_MsgtrackingStateDepA.t | 2 +- .../t/auto_check_sbp_user_MsgUserData.t | 2 +- .../t/auto_check_sbp_vehicle_MsgOdometry.t | 2 +- .../t/auto_check_sbp_vehicle_MsgWheeltick.t | 2 +- kaitai/python/kaitai_sbp/table.py | 2 +- ...auto_check_sbp_acquisition_MsgAcqResult.py | 2 +- ..._check_sbp_acquisition_MsgAcqResultDepA.py | 2 +- ..._check_sbp_acquisition_MsgAcqResultDepB.py | 2 +- ..._check_sbp_acquisition_MsgAcqResultDepC.py | 2 +- ...o_check_sbp_acquisition_MsgAcqSvProfile.py | 2 +- ...heck_sbp_acquisition_MsgAcqSvProfileDep.py | 2 +- ..._sbp_bootload_MsgBootloaderHandshakeReq.py | 2 +- ...sbp_bootload_MsgBootloaderHandshakeResp.py | 2 +- ...eck_sbp_bootload_MsgBootloaderJumptoApp.py | 2 +- ...o_check_sbp_bootload_MsgNapDeviceDnaReq.py | 2 +- ..._check_sbp_bootload_MsgNapDeviceDnaResp.py | 2 +- ...t_auto_check_sbp_ext_events_MsgExtEvent.py | 2 +- ...to_check_sbp_file_io_MsgFileioConfigReq.py | 2 +- ...o_check_sbp_file_io_MsgFileioConfigResp.py | 2 +- ...o_check_sbp_file_io_MsgFileioReadDirReq.py | 2 +- ..._check_sbp_file_io_MsgFileioReadDirResp.py | 2 +- ...auto_check_sbp_file_io_MsgFileioReadReq.py | 2 +- ...uto_check_sbp_file_io_MsgFileioReadResp.py | 2 +- ..._auto_check_sbp_file_io_MsgFileioRemove.py | 2 +- ...to_check_sbp_file_io_MsgFileioWriteResp.py | 2 +- .../test_auto_check_sbp_flash_MsgFlashDone.py | 2 +- ...test_auto_check_sbp_flash_MsgFlashErase.py | 2 +- ...st_auto_check_sbp_flash_MsgFlashProgram.py | 2 +- ...st_auto_check_sbp_flash_MsgFlashReadReq.py | 2 +- ...t_auto_check_sbp_flash_MsgFlashReadResp.py | 2 +- ..._check_sbp_flash_MsgM25FlashWriteStatus.py | 2 +- ...o_check_sbp_flash_MsgStmFlashLockSector.py | 2 +- ...check_sbp_flash_MsgStmFlashUnlockSector.py | 2 +- ..._auto_check_sbp_flash_MsgStmUniqueIdReq.py | 2 +- ...auto_check_sbp_flash_MsgStmUniqueIdResp.py | 2 +- .../test_auto_check_sbp_imu_MsgImuAux.py | 2 +- .../test_auto_check_sbp_imu_MsgImuComp.py | 2 +- .../test_auto_check_sbp_imu_MsgImuRaw.py | 2 +- ...auto_check_sbp_integrity_MsgAcknowledge.py | 2 +- ...check_sbp_integrity_MsgSsrFlagHighLevel.py | 2 +- ...integrity_MsgSsrFlagIonoGridPointSatLos.py | 2 +- ..._sbp_integrity_MsgSsrFlagIonoGridPoints.py | 2 +- ..._sbp_integrity_MsgSsrFlagIonoTileSatLos.py | 2 +- ...heck_sbp_integrity_MsgSsrFlagSatellites.py | 2 +- ...sbp_integrity_MsgSsrFlagTropoGridPoints.py | 2 +- ...t_auto_check_sbp_linux_MsgLinuxCpuState.py | 2 +- ...to_check_sbp_linux_MsgLinuxCpuStateDepA.py | 2 +- ...t_auto_check_sbp_linux_MsgLinuxMemState.py | 2 +- ...to_check_sbp_linux_MsgLinuxMemStateDepA.py | 2 +- ..._check_sbp_linux_MsgLinuxProcessFdCount.py | 2 +- ...heck_sbp_linux_MsgLinuxProcessFdSummary.py | 2 +- ...k_sbp_linux_MsgLinuxProcessSocketCounts.py | 2 +- ...k_sbp_linux_MsgLinuxProcessSocketQueues.py | 2 +- ...uto_check_sbp_linux_MsgLinuxSocketUsage.py | 2 +- ...t_auto_check_sbp_linux_MsgLinuxSysState.py | 2 +- ...to_check_sbp_linux_MsgLinuxSysStateDepA.py | 2 +- .../test_auto_check_sbp_logging_MsgFwd.py | 2 +- .../test_auto_check_sbp_logging_MsgLog.py | 2 +- ...test_auto_check_sbp_logging_MsgPrintDep.py | 2 +- .../test_auto_check_sbp_mag_MsgMagRaw.py | 2 +- ..._check_sbp_navigation_MsgAgeCorrections.py | 2 +- ...to_check_sbp_navigation_MsgBaselineECEF.py | 2 +- ...heck_sbp_navigation_MsgBaselineECEFDepA.py | 2 +- ...k_sbp_navigation_MsgBaselineHeadingDepA.py | 2 +- ...uto_check_sbp_navigation_MsgBaselineNED.py | 2 +- ...check_sbp_navigation_MsgBaselineNEDDepA.py | 2 +- .../test_auto_check_sbp_navigation_MsgDops.py | 2 +- ...t_auto_check_sbp_navigation_MsgDopsDepA.py | 2 +- ...st_auto_check_sbp_navigation_MsgGPSTime.py | 2 +- ...uto_check_sbp_navigation_MsgGPSTimeDepA.py | 2 +- ...uto_check_sbp_navigation_MsgGPSTimeGNSS.py | 2 +- ...st_auto_check_sbp_navigation_MsgPosECEF.py | 2 +- ...auto_check_sbp_navigation_MsgPosECEFCov.py | 2 +- ..._check_sbp_navigation_MsgPosECEFCovGNSS.py | 2 +- ...uto_check_sbp_navigation_MsgPosECEFDepA.py | 2 +- ...uto_check_sbp_navigation_MsgPosECEFGNSS.py | 2 +- ...est_auto_check_sbp_navigation_MsgPosLLH.py | 2 +- ..._auto_check_sbp_navigation_MsgPosLLHCov.py | 2 +- ...auto_check_sbp_navigation_MsgPosLLHDepA.py | 2 +- ..._auto_check_sbp_navigation_MsgPosLlhAcc.py | 2 +- ...o_check_sbp_navigation_MsgPosLlhCovGnss.py | 2 +- ...auto_check_sbp_navigation_MsgPosLlhGnss.py | 2 +- ...to_check_sbp_navigation_MsgPoseRelative.py | 2 +- ...check_sbp_navigation_MsgProtectionLevel.py | 2 +- ...k_sbp_navigation_MsgProtectionLevelDepA.py | 2 +- ...k_sbp_navigation_MsgReferenceFrameParam.py | 2 +- ...o_check_sbp_navigation_MsgUTCLeapSecond.py | 2 +- ...st_auto_check_sbp_navigation_MsgUTCTime.py | 2 +- ...uto_check_sbp_navigation_MsgUTCTimeGNSS.py | 2 +- ...st_auto_check_sbp_navigation_MsgVelBody.py | 2 +- ...est_auto_check_sbp_navigation_MsgVelCog.py | 2 +- ...st_auto_check_sbp_navigation_MsgVelECEF.py | 2 +- ...auto_check_sbp_navigation_MsgVelECEFCov.py | 2 +- ...uto_check_sbp_navigation_MsgVelECEFDepA.py | 2 +- ..._check_sbp_navigation_MsgVelEcefCovGnss.py | 2 +- ...uto_check_sbp_navigation_MsgVelEcefGnss.py | 2 +- ...est_auto_check_sbp_navigation_MsgVelNED.py | 2 +- ..._auto_check_sbp_navigation_MsgVelNEDCOV.py | 2 +- ...auto_check_sbp_navigation_MsgVelNEDDepA.py | 2 +- ...o_check_sbp_navigation_MsgVelNedCovGnss.py | 2 +- ...auto_check_sbp_navigation_MsgVelNedGnss.py | 2 +- .../test_auto_check_sbp_ndb_MsgNdbEvent.py | 2 +- ...uto_check_sbp_observation_MsgAlmanacGLO.py | 2 +- ..._check_sbp_observation_MsgAlmanacGLODep.py | 2 +- ...uto_check_sbp_observation_MsgAlmanacGPS.py | 2 +- ..._check_sbp_observation_MsgAlmanacGPSDep.py | 2 +- ...to_check_sbp_observation_MsgBasePosEcef.py | 2 +- ...uto_check_sbp_observation_MsgBasePosLLH.py | 2 +- ...o_check_sbp_observation_MsgEphemerisBds.py | 2 +- ..._check_sbp_observation_MsgEphemerisDepA.py | 2 +- ..._check_sbp_observation_MsgEphemerisDepC.py | 2 +- ..._check_sbp_observation_MsgEphemerisDepD.py | 2 +- ...o_check_sbp_observation_MsgEphemerisGLO.py | 2 +- ...eck_sbp_observation_MsgEphemerisGLODepA.py | 2 +- ...eck_sbp_observation_MsgEphemerisGLODepB.py | 2 +- ...eck_sbp_observation_MsgEphemerisGLODepC.py | 2 +- ...eck_sbp_observation_MsgEphemerisGLODepD.py | 2 +- ...o_check_sbp_observation_MsgEphemerisGPS.py | 2 +- ...eck_sbp_observation_MsgEphemerisGPSDepE.py | 2 +- ...eck_sbp_observation_MsgEphemerisGPSDepF.py | 2 +- ...o_check_sbp_observation_MsgEphemerisGal.py | 2 +- ...eck_sbp_observation_MsgEphemerisGalDepA.py | 2 +- ..._check_sbp_observation_MsgEphemerisSbas.py | 2 +- ...ck_sbp_observation_MsgEphemerisSbasDepA.py | 2 +- ...ck_sbp_observation_MsgEphemerisSbasDepB.py | 2 +- ...auto_check_sbp_observation_MsgGloBiases.py | 2 +- ..._auto_check_sbp_observation_MsgGnssCapb.py | 2 +- ...uto_check_sbp_observation_MsgGroupDelay.py | 2 +- ...check_sbp_observation_MsgGroupDelayDepA.py | 2 +- ...check_sbp_observation_MsgGroupDelayDepB.py | 2 +- ...test_auto_check_sbp_observation_MsgIono.py | 2 +- .../test_auto_check_sbp_observation_MsgObs.py | 2 +- ...t_auto_check_sbp_observation_MsgObsDepB.py | 2 +- ...t_auto_check_sbp_observation_MsgObsDepC.py | 2 +- .../test_auto_check_sbp_observation_MsgOsr.py | 2 +- ...st_auto_check_sbp_observation_MsgSvAzEl.py | 2 +- ...bp_observation_MsgSvConfigurationGpsDep.py | 2 +- ..._check_sbp_observation_msgEphemerisDepB.py | 2 +- ..._check_sbp_observation_msgEphemerisQzss.py | 2 +- ...t_auto_check_sbp_observation_msgObsDepA.py | 2 +- ...to_check_sbp_orientation_MsgAngularRate.py | 2 +- ...heck_sbp_orientation_MsgBaselineHeading.py | 2 +- ...to_check_sbp_orientation_MsgOrientEuler.py | 2 +- ...uto_check_sbp_orientation_MsgOrientQuat.py | 2 +- .../test_auto_check_sbp_piksi_MsgAlmanac.py | 2 +- ...auto_check_sbp_piksi_MsgCellModemStatus.py | 2 +- ...t_auto_check_sbp_piksi_MsgCommandOutput.py | 2 +- ...test_auto_check_sbp_piksi_MsgCommandReq.py | 2 +- ...est_auto_check_sbp_piksi_MsgCommandResp.py | 2 +- .../test_auto_check_sbp_piksi_MsgCwResults.py | 2 +- .../test_auto_check_sbp_piksi_MsgCwStart.py | 2 +- ...t_auto_check_sbp_piksi_MsgDeviceMonitor.py | 2 +- ...st_auto_check_sbp_piksi_MsgFrontEndGain.py | 2 +- .../test_auto_check_sbp_piksi_MsgIarState.py | 2 +- ...est_auto_check_sbp_piksi_MsgInitBaseDep.py | 2 +- ...t_auto_check_sbp_piksi_MsgMaskSatellite.py | 2 +- ...uto_check_sbp_piksi_MsgMaskSatelliteDep.py | 2 +- ...heck_sbp_piksi_MsgNetworkBandwidthUsage.py | 2 +- ...auto_check_sbp_piksi_MsgNetworkStateReq.py | 2 +- ...uto_check_sbp_piksi_MsgNetworkStateResp.py | 2 +- .../test_auto_check_sbp_piksi_MsgReset.py | 2 +- .../test_auto_check_sbp_piksi_MsgResetDep.py | 2 +- ...st_auto_check_sbp_piksi_MsgResetFilters.py | 2 +- .../test_auto_check_sbp_piksi_MsgSetTime.py | 2 +- .../test_auto_check_sbp_piksi_MsgSpecan.py | 2 +- .../test_auto_check_sbp_piksi_MsgSpecanDep.py | 2 +- ...est_auto_check_sbp_piksi_MsgThreadState.py | 2 +- .../test_auto_check_sbp_piksi_MsgUartState.py | 2 +- ...t_auto_check_sbp_piksi_MsgUartStateDepA.py | 2 +- ...check_sbp_profiling_MsgMeasurementPoint.py | 2 +- ...p_profiling_MsgProfilingResourceCounter.py | 2 +- ...ck_sbp_profiling_MsgProfilingSystemInfo.py | 2 +- ...ck_sbp_profiling_MsgProfilingThreadInfo.py | 2 +- .../test_auto_check_sbp_sbas_MsgSbasRaw.py | 2 +- ...sbp_settings_MsgSettingsReadByIndexDone.py | 2 +- ..._sbp_settings_MsgSettingsReadByIndexReq.py | 2 +- ...sbp_settings_MsgSettingsReadByIndexResp.py | 2 +- ...o_check_sbp_settings_MsgSettingsReadReq.py | 2 +- ..._check_sbp_settings_MsgSettingsReadResp.py | 2 +- ..._check_sbp_settings_MsgSettingsRegister.py | 2 +- ...ck_sbp_settings_MsgSettingsRegisterResp.py | 2 +- ...auto_check_sbp_settings_MsgSettingsSave.py | 2 +- ...uto_check_sbp_settings_MsgSettingsWrite.py | 2 +- ...check_sbp_settings_MsgSettingsWriteResp.py | 2 +- ...o_check_sbp_signing_MsgAesCmacSignature.py | 2 +- ...o_check_sbp_signing_MsgCertificateChain.py | 2 +- ...heck_sbp_signing_MsgCertificateChainDep.py | 2 +- ...o_check_sbp_signing_MsgEcdsaCertificate.py | 2 +- ...uto_check_sbp_signing_MsgEcdsaSignature.py | 2 +- ...check_sbp_signing_MsgEcdsaSignatureDepA.py | 2 +- ...check_sbp_signing_MsgEcdsaSignatureDepB.py | 2 +- ...ck_sbp_signing_MsgEd25519CertificateDep.py | 2 +- ...eck_sbp_signing_MsgEd25519SignatureDepA.py | 2 +- ...eck_sbp_signing_MsgEd25519SignatureDepB.py | 2 +- ...uto_check_sbp_solution_meta_MsgSolnMeta.py | 2 +- ...check_sbp_solution_meta_MsgSolnMetaDepA.py | 2 +- ...est_auto_check_sbp_ssr_MsgSsrCodeBiases.py | 2 +- ...eck_sbp_ssr_MsgSsrCodePhaseBiasesBounds.py | 2 +- ..._check_sbp_ssr_MsgSsrGridDefinitionDepA.py | 2 +- ...o_check_sbp_ssr_MsgSsrGriddedCorrection.py | 2 +- ...k_sbp_ssr_MsgSsrGriddedCorrectionBounds.py | 2 +- ...eck_sbp_ssr_MsgSsrGriddedCorrectionDepA.py | 2 +- ...bp_ssr_MsgSsrGriddedCorrectionNoStdDepA.py | 2 +- ...est_auto_check_sbp_ssr_MsgSsrOrbitClock.py | 2 +- ...to_check_sbp_ssr_MsgSsrOrbitClockBounds.py | 2 +- ...p_ssr_MsgSsrOrbitClockBoundsDegradation.py | 2 +- ...auto_check_sbp_ssr_MsgSsrOrbitClockDepA.py | 2 +- ...st_auto_check_sbp_ssr_MsgSsrPhaseBiases.py | 2 +- ...t_auto_check_sbp_ssr_MsgSsrSatelliteApc.py | 2 +- ...to_check_sbp_ssr_MsgSsrSatelliteApcDepA.py | 2 +- ...auto_check_sbp_ssr_MsgSsrStecCorrection.py | 2 +- ...o_check_sbp_ssr_MsgSsrStecCorrectionDep.py | 2 +- ..._check_sbp_ssr_MsgSsrStecCorrectionDepA.py | 2 +- ...auto_check_sbp_ssr_MsgSsrTileDefinition.py | 2 +- ..._check_sbp_ssr_MsgSsrTileDefinitionDepA.py | 2 +- ..._check_sbp_ssr_MsgSsrTileDefinitionDepB.py | 2 +- ..._auto_check_sbp_system_MsgCsacTelemetry.py | 2 +- ...check_sbp_system_MsgCsacTelemetryLabels.py | 2 +- ...st_auto_check_sbp_system_MsgDgnssStatus.py | 2 +- ...auto_check_sbp_system_MsgGnssTimeOffset.py | 2 +- ...test_auto_check_sbp_system_MsgGroupMeta.py | 2 +- ...test_auto_check_sbp_system_MsgHeartbeat.py | 2 +- ...test_auto_check_sbp_system_MsgInsStatus.py | 2 +- ...est_auto_check_sbp_system_MsgInsUpdates.py | 2 +- .../test_auto_check_sbp_system_MsgPpsTime.py | 2 +- ...auto_check_sbp_system_MsgSensorAidEvent.py | 2 +- .../test_auto_check_sbp_system_MsgStartup.py | 2 +- ..._auto_check_sbp_system_MsgStatusJournal.py | 2 +- ...t_auto_check_sbp_system_MsgStatusReport.py | 2 +- .../test_auto_check_sbp_telemetry_MsgTelSv.py | 2 +- ..._check_sbp_tracking_MsgMeasurementState.py | 2 +- ...t_auto_check_sbp_tracking_MsgTrackingIq.py | 2 +- ...to_check_sbp_tracking_MsgTrackingIqDepA.py | 2 +- ...to_check_sbp_tracking_MsgTrackingIqDepB.py | 2 +- ...uto_check_sbp_tracking_MsgTrackingState.py | 2 +- ...check_sbp_tracking_MsgTrackingStateDepB.py | 2 +- ...bp_tracking_MsgTrackingStateDetailedDep.py | 2 +- ...p_tracking_MsgTrackingStateDetailedDepA.py | 2 +- ...check_sbp_tracking_MsgtrackingStateDepA.py | 2 +- .../test_auto_check_sbp_user_MsgUserData.py | 2 +- ...test_auto_check_sbp_vehicle_MsgOdometry.py | 2 +- ...est_auto_check_sbp_vehicle_MsgWheeltick.py | 2 +- python/sbp/ssr.py | 10 ++++++---- rust/sbp/src/messages/ssr.rs | 10 ++++++---- 513 files changed, 550 insertions(+), 530 deletions(-) diff --git a/c/include/libsbp/ssr/STECResidual.h b/c/include/libsbp/ssr/STECResidual.h index bd8ab3b5cd..6712adfa11 100644 --- a/c/include/libsbp/ssr/STECResidual.h +++ b/c/include/libsbp/ssr/STECResidual.h @@ -56,8 +56,9 @@ typedef struct { s16 residual; /** - * Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - * value/16) - 1) * 10 + * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 + * bit are the class, the lower 5 bits are the value. Standard deviation + * [TECU] = (3^class * (1 + value/16) - 1) * 0.1 [TECU] */ u8 stddev; } sbp_stec_residual_t; diff --git a/c/include/libsbp/ssr/TroposphericDelayCorrection.h b/c/include/libsbp/ssr/TroposphericDelayCorrection.h index 19de4ac45b..648f640d5d 100644 --- a/c/include/libsbp/ssr/TroposphericDelayCorrection.h +++ b/c/include/libsbp/ssr/TroposphericDelayCorrection.h @@ -54,8 +54,9 @@ typedef struct { s8 wet; /** - * Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - * value/16) - 1) [mm] + * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 + * bit are the class, the lower 5 bits are the value. Standard deviation [mm] + * = (3^class * (1 + value/16) - 1) [mm] */ u8 stddev; } sbp_tropospheric_delay_correction_t; diff --git a/docs/sbp.pdf b/docs/sbp.pdf index 8f34ecbdeb42a13e3221906101e65c2fc02c64fa..f1a173b87c4c6e269080768c99a98ae67bb37d01 100644 GIT binary patch delta 352462 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

  • _s-GeO(eun6&bP%GuwK2&}BS*CesXVDZ^j?KPugFmR-mgWMBRiZcc zmKM%#E>jrvQMuE{zI8sXG*OIT|FFcpWpLO`@IGc{W;>>s?Uylsp zyVWKNASz2TUnjbo%)b$@n7Vy4(~Hkluvtaj(IRh4d4F-FmnIu>&A|2wiT4;C5SbHH zg%};$pR~R?>2e%YDrq8XAdkzW`5CE{D8ouSYUBD|rP=(PD3hRr**4a#T9IGny8hi(uG~fuI8sh|4|@boGKHG029CU29tbHfO%oW4_I?=`gEB0^5q4dXX73&(ESr$u%Yw$=D&^CDOCgh#TNwWc-OFp%5_$bpO^cD z9c?oEIu&`IHS4H65JN14|GU<=@}%%^;ggpzj<9S4f5?Y980XO?1|i(;e@7!A_a_MD#=mm+P|F83=oh#a z{Hs%06W0~10cbBT7XWJ2vb;7;Px$7`-zkJ+K7fOp(WeIaI&D4_&~-Qk)b7p zyJ8zN?P%e^gnimrT6dYVi&)&V>&=VF69H4`H5SAJ6i9|j+0!D9425kJ!(a~Id1R>u zZ}%s@hhtm4KfLT?FPAhn*sn}D#+94Z^Bbh!uy-E%TC|2v;VHe3@ zREe*Y0ND7oXl1`X4>CE(%CP?|d3#kfdIL(h@`A*l&6lk+u9Q*urxBy{WfCPhevxK8UX+A3*mKlym zXYTpP*4-~PkxGVTP_0a=hJG!6lgBioc#ig^g8PL8+@50f*6p_$x z_l-PV^k~b+5*?Ge$0%sJek5zCSaT#yFV~=%vMPy#H2rO|J!t_96V54=6ZoHA$2Ws^ zoVD7vS6xl0b^qhiI|=|1%8U)uGs~R#J6i!kYU}KHiB*j*ME*}-Pm5d) z`;y*%2E{a%SeB`Eoi5?<{8d@L%f(ojk$ELH#3M`?DwQXRjbs9rUzYZnlN@L74nUWl zdn-<@a(q;!D+Sh}!MPPIaQ_-hBkXFsQ`FqnPb7OBpEqB*YQ1($=v`1S&xj@0CcHW5 z`4g&#rKfK#%Dg5^ZGU_`+~2~6CF}O&C?tOzln5Bmyu$z^Pz?{XChCy%BTCA&q-B3G zDdsi@3!kfA>2Bpztdm`Jix=fCpts-KS6zKNHhbX&Isl!gV~P8>&JH~rGqL*}Y>bSs zY{^HH?ptMjhKPA<0zzXIs{_|=ouft2w5!qZwp5h#L)+H0;G&jwLuH?Su#_v2x7{1| z9LyX><>!qoSSv_qT)SX9^uMEqSe%9@CJCHk_7&=$=SR5a9aOh}VzAe<^t1`GhaLOB z)+h#L3BY{K82fD)kIYe9lB;r1!m4(|CgwPaEcZN-)VYb3I)*LF$OZ%4;4Qc^^3wZF z@i=ERJ2>f-)5=VTA(m|)92QAY54aAknV>H_xVwBX%95#ng-#sX@P_W0YLdyd4JJj^ z*?fp~^q8xiUdDlclu9a>K8As*4(ZC)2Kbw8G_YD#Z}(hIk#^pVnZz+wt@56jtd1tGn5%G0TEB#PRh1}dk z62=je73wM7I~Bo~$>OXPUc0xspazbN1sk5bAvc$hoH(F#=vE`)g*GLs9W z7-QqF!Uo~Z@;28zb@Cy93i$2$?+uYN#geVi5idw4e`KdL=s0MVU}c5u;z&6fQxPv( zQN^z)yxoLhEF&;k(o*vfIAi0(hP8F@YOuz`m|2%`M@};4(~^O48iQu*k@5B6159CE zbj5v|Mrmk_6_b=C)!u$TD8u^L8(SSm&r@-B@%~2G2bbC&x0^Zp)j+`rKe#uC8+8v~ zphrDdkNY++*#4OvM)Qm0(*n0vVNuNQw^fnZwDj7ZPWf_3_?1$=91CG^u+H`Y98;hplSi=*-x+F3TtRfB+14GT3Ux!JIjDRby%AL{&UxrFa04v!tJ!U`!FpaPQvp`>A z?endZhuPKaZ_E5ZU}%70t_vEKb{OHgbt{@A-Wu;imo_pI*n2fQ zJ_V=-i0!3)F6Rp?EL2S}RwyBAyHT-2KFbFcTU$J89?v1()GWyIh10@*`!XrXBQ6&I z&)Sm#6!bFr0l%xwl051+LrAuXFog|6f~h|B4uUD6gnN}FmDim&z(;}lb?z4u)XcA} zgkmJY5Pvo?7_Y+_XNxbY3ennXE&FBk>UkTJy~fizp$JwzM%7e!h!icDQ;h_Z5msm79a|!1M(9DkJ_zwym zL!fEB;Ysqc0)GuYt9R=yXt7o`)Ol6kH$5!bYN^QQG>6sqb(xp^#l}#vPAt?R@D}FW z;i56Z#s|@_@tr-mv6=#`Wj+yTp`6j4(=0_wUsGxtvli@fSjD<7Z)l zqTUyf4WIcHDfF*?RS_r1I(3vD0SxwfA=i>DUWp%d1kg=FMTu0w9p$VOOck!S!%^pC z?bpMoc5zL#aXq+0HP>W=?Sp`$(I{C9wJgkvVv2Lw)h1=b%zZ|B_XzAo^anc{PiW< z>k3IxtuaJ3M~`*}39!55=5fGQ?@>%SUCBy|0eh_d7?9RvF`-4jNfbW`c%zo=I-H&= zUT9>4<|bE^*s7*RE4owNai~h6D4Ws9?KIFC;oz~h>B2Vs_goXuMoOo_xSfOM0~Dha zzC8i(j#Ry5Liv#!*B9VQ@`_|qi6Pw?5M~_1*!=VX(knVEI+B=^<1e||nRs*?6DWuw|XAIW2 zPNF7WVH>+BKD34a(lVoo2(ue##`W1=%a-%hC~mWNu?x<+heRrIh+EU(mLJG*Sj_OE zC95Y76t6?moomZ^+99}b&uXF3{c9N zUDw%fHudr(PBLMB!wZ3USZ5d~$Z3_hHX}>@{G-q~gdXlJR&M)p&l3nQr-UIl^hy%Y zYj2zS4J!ZlI;2i#`_tc-T|I^(4RgbIGF|O$TEm}YdQ{Y~F<)$APbfN@*c_9NLq?eI z@$@QpY7QCfVk-0kIz1XN1>wwSwQ|6~S{YFU^Cp8D#mnIq!=sFNL3v$|Mw3`1HbXVT zN2k7DEWP?T5^2P(SaZkIRXF`p?VYKRl=a>27T5(=JS8!>Z?lfJPG?6hA8djVY#Ied zcZ>F?_dOgg^X%oP@AWR7y-307vcSj4q)#EQ1L+F~8!O?IqYxXjEvAJZf;jYnLY`JxWiq;jEU&dY(eBBiu!i!y@f~(6(ovwcb;Q zLa}=js+K_}oV$q%|KB^sbc?O2mI*S<{BTuCkyp*qBE4OI@y>*=MgE&9EMpr%^TK6$ zzBRAbvjokrRmzw{KP6?uQU^dutIr)xA`~x{oR#FtpK;bDwZ_)=q|;$9!}1d9T+Qdu z-ZYU*`)cAELX>tHoHu*3UyEd-k#VuRmF`dP#17AR)83?o?-90=OlK&sT{w3E|AuWl zo&iBHj9}B00rV$Lr7hQQL0H68k#j5|46@4n4AyZWlX%M#W_V44SWn;(_51vjHM`h3 zh-+2Z_i{hStQ0x_%r!aiT78xWE#%FCNfP*O9f1M4d3`0ZW(RoCiYAijE4uo~-#=9j z=+Ym<#1{CpVeE~N`k=)%-C6n$z=AC2HnY6sPTT*$nJql|>al)9HgEDP zP=$X|vMV200$;D{Xy^f4Y;A^pm-B*1PlXQj>yEOKxL;4iHC#ZnNq04cEt>0c%r8&1 zS?moki`GRhitXS}=Zd^;z2^Oo*v&zDnqJq|%5|E-2L1`@yG!xmIG#NejJ0gHTm74M z(eYl*_lF%QSSH-dYj%JQMcKy@kE!x{zrN`juuLMeMlsGtEMW)mi(2j*=IcP3S1rlL zfA`=MMA&w^$~+Fao{AqgSHJCUyLl|NuHv(=wUb4D`jx&vFEXfo<;~OkeA~UPVbIg< zQU@FQ_ks+qKLATy>z9&(G*#2|02TA1mBuxiKT)2w2bb1|a^i-gyKIpV{RdM)NLa*m z0|wKuN?pRP3(5dkvY27$Q0$Uw@m=H+cdrmm-F}tlcK*SpP66s*SDA|StFA?teMInRXXXln!IL}Sw$-;}Y&u)h%YyG4a!kSHl(GG6mnzW%k z`7Usy!u{ZE1Q)EV=oO(XF{SUyPGHNKNWq#71ldB`l}4${`34N@NVJiS`N*yzbh1!j zlTKG@F6IHYR(Ws17Jj+py<&VD+TYZ9o=RioTIr7AT5KrGArT2d!AqiZq#kK=qNC3d zSQHd>rapg`*(Ha>Lxe%};tjx>uF?F3?T4?cN44F{Z>>$b(64{%()~)Znh;fY#i)*k zFM&FeVI$_AuZwrU5SV>^!|J`y8k@-vs$F zKsODC4t7zM+>p$DMzzJ{A@>v8$J{s%M{}~iIU*l_Pj+xlI--2W)?U49eBSWxXt;ba zV6dNEn&4ayI08yi=^R?e=N;KX){8hNFgf^JT50+zDYPt}Cxj5z5ZZ zIeCH9Y=Tk40T?qWj>1f`b*Kh@1EPsTG^D;ti8MZ8E{H~c6QUUksu-w7!h-=L;m}mq zkmioj=z(8EiZIIP!jU0m*(e-ZRBy!x=0=NtoiQp-E;xoNF>mAjFAywD>W}Sy=rwGP zra?}K+V=cGq>WxYxAxV7lJ?^T`in25_$z=7BJxkA#6FuF1Foa4gv{ubEvNV(MtW$k zW7w&O%)wsqCyJ0XMXD;dw){Z(mh)FUhjA~Cfscd-3?$y?;w@cb-XnPq3Q zo-GpGn*g=2gT2(Z1Cmbw~(9(d)QINnPC!fhb`-$m^_q1{(iw&Jot7{9Z8Lf#P#wHt^0`|m%jYWw7v|59HJt3}?rl3x z7SKg)3y3%?*cBi|Kn}wNU^f@~)tS;c_aWU?UPBBCO~m zqiVtDQL-{vk^aj6Sz>jB#l)s7Gh; z8)0yQC9@6r2|xGf__ z0(yAlOQWf2+-y(N^6fLPQDtO_n+2OQ4Z>SLrK2=R5*uX&X3^N%)ow(s9_o3cjfltN z$b}PwN8bTP(a?XWJiwW<)26F6OIv>r?Z>h9T8Hv2S8-~lNrXgv506ZF^moe%g-W|H zcL9^q%NS%hGtdKeApJWS5-n(sv8cFkEVDeTDZ{wix7{)zz`i{E=dNx-@Q=Uj=^}ry znJ%Z?G8mpN${8`!88}U*v&)yg`z$_7VAhQkuZ`8*I`<4KVgUVuz=SV96_o}<-KNG; zJyZyjRNW7+VQmT*Y(iYv6U*LGSz8`cE0cn~D5qNxJ$A|@Qt~g%=q@{xJs>g>%{??(5f|`@9isS0;@Vj&B$x?>Jmaarx)Xo+j8^c za;lLzCo`GGI?zkhql@@Yx^o55ULsMxJVAuIs*&5wjS?vmY|fbkTR~i8n6*Uacray- z#nAByTWAw`7W{TZlsxrf^%MFf(+AH1tkw+fyKy!;4v6U-;h=|g@q#f9Q;56{i82yO z?hQ^O+5Y2`;EuR?{J*h`wdW1{1^m<3-q$$-UZMM;CE#K+DD9Q!-+{Em;{zaaN^SKq z`N1%%`?_3U9t_=B(*M3Zucpp~sv-z;&Rb>wj;j+qilYRsK3#`Z2_IqtAMHs!J^$xk0iOEi`AOUMK-whl#I z?nRiKiR&my46_r{Dn`KJVBKgRz~4HVuR$CZxal(c@k)5|<&~xv*Hu7EIn|6hahkaw zDMU<6b&PI7O4CcbVvLE=M5|nfr(k1?*uy?DUr-Mx@9P}y1U#O>p$C+@?|H-YnPCTr zc7js>YDIzTK2W!(2F?NsgG%)!e`(k6Fq_Z{fel*>XNWp{$L^GZjqZfjz;JKN(YS~A9jT|Pb`m{NtSXrV+dMin$`gQ!4_V)Y|i>6%Uy`}XSi(437cQ4Zij%S9(tC<`&2 zOd)Wz6?Db_i~%fABJ~&w(5k|I5srUWgkb}}y9Z>d@TWkC85?Ja-uJHjpf-$QdN7c7 zLHLu=7>$asMDyb$ojFn8y5m=Ef&y6yp`Gk5tNveELeQmtNh#`Lkwx`W1n~gP2IDWb zlzv=T%b?UIi1b*osx%r=60*{W7qnpmt^8q-MX+aBSW`g$T2PWPw4EqUA4#2;J#%~o zfH_eHd#(dZ85-GZNFq04M4Onw289wqg21UH42;uX!bjEvd|EwUdjzUC7k?x7Y!g*) zdA}XKU)OITgjSSXURIxSv|hj1Z3{eKRG8KHE(|za-JW&;n_F)VpMSA<;AI{zB)lD* zyxcy|mVw8X6|&HZ%dK@WF75aC!<1LO%M((uk-BZ~TaX7gfiCx#eTJm2i4}`6!uw1< z{>=BG4D8FTci1z#ExBV8`OE1QAIe8}cS6~Zll5hW9DeBM^%muuJE@E3NCKTh+Q&Ql zmz0`q@7JRvy)Mt&{l&(sXY`lb_MC*%l6`^BPvG%>^Y6)OXiTm&wDz_xDYt7I>DhRO z-o?grd^D{&RlQF>I)T8R15Ptf)AU{|z#CD>?}=F$6jiCP!QbX1{pw5VgD(|s0WP(` z|1FI@enV2a)z5g{bdig0Wl%z}4DyR`e=kjcY(YQ1rMGke$I)6S4!*Q@AF;Uk4Xg1^ z82F(AV{No=AO=U8)QB(4x}#cy(s+PduXx}MtHOlC`N8C8(Lx*xX~Q+>2#Q(9Bw2wl zRBU`dL1+HTsIVkcDh+Nb6Jqm2b$bJh0-iq4kO`*(a~;Xp2G*%rCD9o)DX2JJ9Z8t( zM_m*pg(Dw3Ur>a2xj90WL6GM!EC0>eWFW~HfK_4doCCu@*3^fUup}9wo0d@0*d8`A zaevSjYa(tr8M3)CDw7VBY6eeeiZZq#)nJjuHc6`7AIq*VUX+;~EpRB7sh3vu%2cBZ z!&;${?fpf#l`zA4JOJ2OGueyn-)A#*9`SS$8C znl0XXQ$V10^N*lPB{8`>e7fHdo_(D}EAI@R+b`8nl41QNbIN9gO3;+T6on=uihw1w zvx(4LDa|tlg=Ueyz0%Q^C5i4PexTlo_}R1@MjD>*pBhiOx%=#ulC?ix8=l7piHf>{ z&nmXNx&?0zVFpIC&-n3%<%o=(9MzLI=KlvexVT^8K z!e^Rtn1>=wihbF0>6*XH@B38!^9gRxC5GhmfupvFG=(~4U5g%?QQvj^Pk?+q;6@Cw z?r@&pvWMa4NN2)&cKVjZ|E+~`FV>G5q$br0iJ|I)csecV2)4o>!ORJwtRqFt$!fIOP++#-9bj@iwJ7w)Q zw`-#DsG5(VsYJ*t+hSVBOVd(5@PT(eyZxbYAsg!4qL|O+d_d`y(OjP8Tx6Ml6u)9J zyNsZ9`eEQ~kLb*Y`a#x4Znv?vN~RHdt{vi1(wi&pi8a=q_b7I97kF$i%8?si{ovKf zF;nlWZGHFR8ZjL2GLTyu65~mxtqWmpRJr(ySb4@wei!i=tXGLve=cM{Y8;FQ{cWmV zXEcj;s_peZt*((dXG2tHId8K1l9He*(;n8EmWv)NW^~QgN~(P{EpwpGU5b59)=K^Z z`6nCYbzYwU-1GIbw6(el0*NO1pI+K9IiFtJ%T4!T54^s`682{*VI4GAu~ic{3Dq5i z2WLW$obx*E7s4`?LXXew?H8Fx>NXFuZWryh(vNx9S#WFR#78Q%ky@C>@+-f4J4kRw zh9w(}%dq|D93K=QvN8QVQNxneMJ{e#?n#0=`{6_YDRb5M8JT*gb-tw;ck?Cp_D4tc z^7GJPbknF3E!x+j2j3a~iN?#2@eh_Yy9P6?@l8Vuv$}y|a=iGpCM2zcW($v%Mh~*W zi-E@5zvv^woKBo4Q!+y}rpQw=EJsBbosCXge8~vv4K6N6MOn8ObyG6J|2s~wv;%aq zI_Z8@X#eG9uba-r;BrK+V=2JNFqxUseygPUe<^BP3Oq4RdZ)G{D{EU4L7&gdzFxFo zq^ynS`ea&cZ>AWRz3+6hI_aHU$kZ?R+UupaF}OUE>sku9Gfj4;wqv6+G#v?faanu< z=euBw@+nN}P#7s>t}q-aihK~%K$K=*G+7H`*RR8&X!D)N7F(9%Q)1d7S4Dgz72 z$5oWXb4oHI!u0G;Y9R2O$#4Xw%5Y5bA5cr-2?cN}3ABM;k+lb&pEu_lq$H z(rl8mm<#(GLq&}Tk^vzVJBgi)Rl@M}FtAu-aQ^Obg(&3TpF=h9hA?5rNpKA`hNM0$ zOyiN6X9EiZRjyzrXmZMZEM;`bQFhwtaf9@q6Ul-Cl#y5zm*nwu6R<>Os{4bz^Mh4! zwfU2Ri5H=t$!d*Jnp8kjCu`^irQ#E5vA*Y?lr$!?owmj+_ydJvB=nH0Z#POX&a8PY ziI%=5)NE$Bq}TnY<$E+5%)ejC=qeHYlqghxgE<&n`>c z^_I&XA}{##E)I-kEyt~HUyqNPBmlYSz-0U5=6GB!3P4z2?%_LbdB8f7XXueh9XvuU zi-EBnG(!2N^q3C2<$U+^zTAz*=t7C8rLM3)THPJ@N1Hl}Hf*%IRYyeA4bG3rL*ptw zES+It>>rbc2ZTR#2ImO8!tO(EFswF>iiT6_Mu+;>)h!s%qJmTE#4p?uOVpts%XA%T zPFRNXrGQFJFWUCVV0zW`p+9^}j9tIMWs?bCIw|Xu2VC#INI+ga635$M15%(8SJFwW*kG_N-}+g-v!{ zX4Y;la+EGEC6qOxug-R%CE)w6?rTSOJiLEB39nM)6TqeiE3JStDMJEI24k{eN z`YR6%c1P{=>LZz%WUbLG%n8lat(1K(y{2I6_f5L7mqBJZ;dEWxN8d!ng~#3%HfMCgy0($@U|<3)6l9hGu2 zyIEAZCoBIc_IL-dQ*~T@OMD-1B-g9`$mD#^Dzn4Z z3me^f;r0dGU+$kzZ!YaV-fpguKfQfkZeB_m2v6#~Z2W#`Sr*pFf2ae0;k`xUC|$h_tD~-_mCn;7*?u z(r#F5wmGVeTjia~Z?-`uaBzj#WC|F=%5SSxvF`NzH)%a3zuO`^l|Sfk(`?*~<+nf5 z#{`m=$N@l&NC-E02>$t2K&0!jXOl$KY{C^`Zi5%&wM_+qt-JP`}!lgQnQ>-2T6w z(Vzh{@{PvMmiX6Jd5-XYxFu~cpbL*T6H6_;951J z0oU#fix3YLU$%|pUo@!fwT18e*zmUwlF?zUd*82Cj2Z7$wULa9i&i+r5)?d%;UqO5 z$}s-0q2pR(&X`;jQ(ePz?=fW$)ebTL)`lK=x3UQqSy;*DtStUV^L9~OpFK1#u}K_= zX8U7$ixU-!MoS`;l&<=KSt=Q~-{Y(+` zPPV8fGtVQlnSEQA-z)o8E|lELHEb)R$kr%dDZ!n6Ph^i&Tl6v}s%#b0{#2di;wVNN z^vQU1XZ~GrA_->l(OMtP9MjSqX=iqkvE@r`?dk$QFSe!#l~V@1*4l+aff3!nSyiKU z3KFIeW0ol1wDK;#-V2HYYA!i6=Y1rxVnw^@g_fOYJ_-q~$YTvh_?dm#U#6_Minc_| zOyDhuY25zn!LpgelN>4DXJ1{fDLdMm)Nzc%>BEEz-tq~Pm@aWBn@k+zVqOlx%Fy9` zMvY-ZU97Jlt}5Hxd+c`%V7H=|k72h?4(!7axD|`19=^g7$Ry_{G*e@9_i_9c#`lPG z_z~q~Qy0&FRR`Xfx=Qv|qUobb_9(U1S7Fns;z8m{aS*=IZ=3$& zEw>;tOtO_eCwc+I&PGzWA=*4}@3Kdj#*qG8P49|o)i8fx1-rGd35{%$98TveXmzxE zpxyn`rNR>Bw3*(8-j%end=yiYqsxB^Ki}QynqZ8DFXD36cMi3)MJ9R{n!QOTx<5Z7 zEK0xi>#l1&Lp_FUi>&Ry`8Jvrf!}@0@a?^Xw6Uw^Tu=h&P^i^&&C)Tvv|3obpG&87 z<*AzF{%7#nEIhq3sHCe|#7 zBdgl6{NXL}(M@VQU@e}KZVl2@rxAL>Q{7=nDlnOyx`T4 zIcB{X>k$Tixb52kc3&*?+gs3@k+WMH{cq=+#MO4S zDRH$=y@V-$ULgcM5ni@M{Agx|X#Xky%CFVXD^mKMetz<8uHX?^0i4=wnwNt-C0^b* zFMTB*T+iegLWH(`nu@yT44Ds%ao zmh85_=q9lk**zI1bd??_@9&RG^s>dOR6E+X`ElhHJ9Ih1AH?4| zHq8VK?Uw2ho!_vwt8!~%O&Wc@Uu*z{ymxvJ%h^viv!3m&jI$d-4gq*B=Y*fhQ=g!t z9J>N3c>yp5RBVjwjOjLiS1n<>_TFhl>tUe=-+ z1cL(!aQQAAf*o>JP#{yK5HbHk+)N}d#lu@F5@xqLW>RGwNvSO(iCrn1P5sK{+$`y$ zoFzA}PKjEw$cl&=9-F=Hoq_wEP0l#WDI*L%GE;S4bjhL_bU}ZABdxUVCqj3M+=BXW zu8-h`u_X-lzRFbP7|E&ML6|jDu^gLCZjF;5fOuzPJ?e|xm#yWKf#=U=W9+ueTFdbi zVWn?pjRyL_o+S$Im0)L%&haaN5Jxc~?Ynwx%c>s1z5^2X=z1dVX?nc<5~cN9-a|XE zsbVL@*Ye6`ogUHDi$QVnY1$#Y{PXRX`2Ei}g^=b?QA$2|*)NB53MEOyVh{HQHzXfMe5iA7L@0jf6Fo(=8~gQf#I7^v5S}XXA2D-+G399MYQG$ zzDAT@OtICRWhcyblIrQ%2w+)JJG-y$59qSDLlN`Kkij=Q87=g8!^|~ZK@t3Ex*{Sa z)`kb{I5yJ*gRJQ~VFaC%v8=~kFTy=n(1hx-J`%t%to{m63)W&)FS=e0B~2oAL&<4N z^h?wlzqVnY82ni1!v>y1H0iXz!qHP1IzhXigy5>UZ_!s+*G=FxpM5X<#aF% zJ>in6&f8$wtY_g+=`4>&OOpHg>pS&+C-_$Uqdmu<$r$Q|_~)DY?24Ho1b=QPRObMO zk8D_<_N!u;6UVW>^#{&JK9FL>;yDAa4 z6u700n5^w;z?R&y6-uGkc4h-KG~v`@G4!mj<$W=TtQ|n5uDeuWEzi=V5w(cS=aPB| zgyXBdy{NkvcFiJpMd+$Q(@5x=AS;xn z$N^&LR-L!lktF9ya?l0%JWD`))FIGtFsn|PSl_>8&jRJXZ=uk0qf$>cI^|2XRT9x;ur z`>F6xw}bRFx{{~<;zy~Mah&6XZ^NrBnOn_39HIm}{_0gGa*Q=_S2I)b?XL@G{om0L z(v0le<2W%hj(Jnv9^$t7zZfZ`<&1BJNJ#xtE-!M?h<2xuJ=q*TLy?d0THw zz^7IFBt<3#3E>kNf#3sVU!p<(l!NkbP%Ff6p%E>6i%p%6bPt5!OsGJWd+Dr|Qr+Yc$tNDx^adcE9(T;g)G~d?}Hj`;3TaVS7@L4~TuO{nRjT^}%8*9`P zfLRkJuwuZFK}h=T9L(Somc$M?<)XkH#DN44DCO?VD69!1S;L-D!%iy*C)4?hvJQ3S z)OJXC-z7usaIHKaR<>NvDa7f@sQn~qqG3rJ3)EnB-z4$@gt@J-8W@0Bh* zo&`d0*l7^vYCx&x5{RseH{k!u%@RB<(STLW&k{c^(10wToyxN*(g3&gVMykVX%03e zP(J_~ufQ}JCOvEMY*4F05AkZTY+!9zCZT5jHByBv$u+>T77Wd@&uT+!&d|)V&sjs- znBSZ0u&(!cHkvm6O#dbby~f>$lz#G0c-^n~d;33%Mmh6SixX%Y@l)~n0~eMqb02dX zRyI_v*_YY7dDifEa}jeoR+Cx^n%RdE{;zTl}~Le!oM>7}yfIob+JGM9aVy5r+}Kvh&7mVjhZ!wLTxN5*Mh_uuZLJIqPTF6 zI(BdQXv1dcwz{CPv}Zi)h-OAIbC*0Fn9#H(*CfE};TnlNDxbxhNjBeAt;VW?jC!5? z>uig;Cf*3o8Xmu4$x4wws(lbvyP?S%(Bqy>F`H&3x*j#mdlYu2&4P!nnpq&Fy01AS z8Ad{QFj}hp4G+0$mn+@a$d*sjFQn&-S7zCNSfqkeF2Q)(C67r>%#c)~{zy9;psYrb z9AaUWde|^+#ADs1`9eKsEoXnuldU>w%`WAlCUC{`EyoOt6uU=IjAeflB#n(2bc!~f zJ{R2kt}HwIrN%ScoEr!KrN$A-?&q5MpO)BsX1v4~(()~;@CRX$RQ=II?zs>tv=f<^ zEfHRwYG&aVgp`{l1dsy%VPH|}KM3=`unon0eRE68E3)($b|GcpAJrNhtB$n54JV$I z8n2)-N2>6=_OY3{WA5d!EAA5?PDzCKe&xL=3eH1W-J;VSU0-^{^F+_8ga-$ z&f%}orWgMdawm*}Hg`xY23rZ19z*y{j7WEd{6tItB8*QhMms`F-xW*NIs7b=c@W|7 zaHcYM&Bwi(O_U8}H6o5?_iqj~1#2~C7^4wvo|g?!YVz0q}$pJfeDTIW0k}auFK?@Abj|fn?>vTSH_Ba?FU`FW<4;z1|JDNVKa=`cp_W z6dy0}j{ALQL=f+#T7h&8QXAn|XZaQBS(57arJO*~-YW6=4e40I>r17afYa_Pt%HoWEV%aO z)3L#*mluVAz&9?y=xZdeef0xVE%eve(Ccdt5*Y|t+DFC-79C);!^sJ%v_r-T zS=?)Z;>WT>n+nCUgP#iNqz|hNkpcoNL8*V!xAAKN{r^V*{$DoV$IFR~)eBh*!^kzb zkCGrFi^TMQD**qy(t^x)icn9?!F>e=zf^of$FQ-l>;LZs;Q!tR4R9~WZ?~0t{P%ZH z8RYGuSz@j9uGnqyR`FrHM+-(Hlm?_`A5<;sogaTK0fN7dK9c$QKtIKJ0C`2yh;%LP zU0{~Jz|1?%34NNIh_-_mXNabs6}i(yr&src-B>mRD3A&XzeDmH9b9wDysBTg(1^_( zf=-|BA6Q18DkFre|2r`Vi@tx7EN&^76{y;nv!87(_!%TL=&51OeR@q&q+u8}l2o1o z7mL}}kDM9Ac*XB5gf}aZqXl8k;Tv<8bZWS0ajK|e7>e&2q*1&PUpQ}sWJ>8mr`wq# zg9Tp-p8xPSrQg1h!%@>9s2y`x-TCUA{3)Bisg%gL*bctHSGy0 zwapWT{IbD^x{4l0JxhPv?bR?GCyVLKBp!gZ?itjympl1?4Mi zknw-*UOps2t_s75kj(ok+$qFMCcR!5xC0|2+zrJCZG*;8tHpUKNzbAWCtnB5*iuJK zgEmnwAEdxLTPcnFmahuUk}D4&1;*CB;+OA@=g!V$=G=eCCj;PHLkVoT6P2#2T}ioc zS5VpeOwNQ|~L4M!0+7o$HfUsrJGi_xHtT zY}v2!hiyQz{95*mIac7<)6Uz4MA!p$Ya#CfZS+A9{P`Qg?aZ%S8DU%lP#NJ|L6g!$ zCY4&OYH5DaNCD@NG~7|(N$Jsk@1_lxGdo{nrh@-5jsom4L@se6ucfO<3{*vQVSk*i z2kYZPXnX@PW5>B~6c4;9h)Ui*Z*F!%CQHX{4qFhjLVUZtBWh_q=`=(7=A$oSTco&X zq0eoGmdc(K$cHVr?Zd^TlrpFU=C?OVbZCoRVjbIuzkm?pcci&Np>$5kJ-c*$NuFte zy3+57x?hlH6SOdmTwELlIRFu43^`fV%TB2BDgxWLiqk`4i0K#+Q~K> zWwau_Bz-6Ic}(CmpN1Tb-y?WP>?={}VQI#d|o`f^cDQNx%|%qb~;K1=Sm1+P^f8&eCKA+xO?@@DCR^P=x3@~)6RG< z`)NV5UB-K8OQARbX(>dY4tXM!@wN5+Fnr#--*A@O3Wc&;r!N^l7pb#kRQILA zc>S}9*gm(+7KK#zVefeTf$VLo4@}I!TL@2Gf8B#>-o69m0FkeG8-ntlGW?YndH5~p z`O>?JUJ#LA;5a1Ha07!A5zHQH;#503)nk_*Sa^e$Khb6;&v6u)VzC9)2Kic}Zd5vr zCGw6X3YdJ1*e$df|H`HvSN`%7GCoI<7lhyr%r@Iv?ESTbU~IvGmO!=Bd}Fa}*|F)2 z&x67#9gyF)qgjz&i0*W)@EeoR%<@ON`TV%hunJ)Dxfrp59w{cDcl0`U%;|6`i&&=y zRhg|yNQQ?%jo9SZwErvM>m{xP!#w=F0>@KBJP`yh!A%7tz87r)JU3GvJj zf;WfE%H4b`(Nh2}J!e3Fd0sGoy2+Ork?u4o*M$`D&lr7tcB*uhOI5&BSvvMS1MMON z>%FdwU{I65^}vZjum<^ojy`_rTnACBewS;)a9MgMcB!s64t}k=N7NTfeMFyHG{~P; zH3~Xamv_~&58b>CFENuB&FIn--88TT$C?Sh1gr`mX9|Gn)ewYy{6m{7?qxzq>+gi6 zrB>62VOjIlk%A6>J&?h@V!vJRjkJZrK=TV@YggWTV#WP17~5hSS01D+TJ?xY;4ne< z;5l{l*WfpVL8sxLwA3x?W)ZogR;cv74G_&CTJ_AK5wS8jOB`DDdf&k=u-8(tb?m@< zpTJNRdx4pL&))K;3nTao_^=e-9OZbB59*g7dbe+VSzwt;4gJ@P3HSqC~myT!iJ zDs4U31Ui2$_O;JR>jJ%?+hSM$LmDsNGrWAyIM2WHUTIsw4zSH)|Neey`e3x0qhT;; zu^&9F4&K>kc7qX%{pd5&M!`NXX0iNxr0oHF!2xgt90iAg^Zcn_Y1}wC2o8Z`;5aw| zrojw21Kcy>*$?Qn6rd0=a|%p>(}23b%se=2vFCs8(%^GIpKCPZi{QM)Ubuey)DLDZ zgC&doB_r)3HH8@PEMER&l^x9D_uZ|d1i3|Wd( z*?EiK`lLG8hfQ|R7{(9U`c6gSk{Gg8FAOT81Ifz+2^M3Uv zK`Eew)IkZUqr&3v`jUDpK^<_0zV{hvHDC=`W$_Orr0I)i6Gy^Yi+}i0bu@rh&}@J4 zzx%1QbzlQ%v-m@gNoxliL5IaZ{cCBRpa*QS_~&nvMmeja54aHc@+YL}Q*tv$+d;p@ zzkYoVwt)dK40c%j>htOt1iQhA#s95L+9=oq4uCO>KmI;-P&ez?2Mz%j2Ty!c9TR|p zTE`?f0bDRVc~!kfz%igNUApO$;0%9AS^Vj5Xxu4q8k_?z4t_tPj%hFlE`V8!zwjP) z%!Bg)<1^A0E#ZGuN2)Pi0+%iEHA)-F3?^p?fs9$A?g?o=AT~18A~PkHX!*Q4w4*`= zM82Lfu$;l7`89dLlS>j-%UJ9WZLM20NWT=K_x-1b~|1J7#tm{!B&GcAe`g`i= z1zP|ikm<9;OBAP>et`R#0ZY8}5orWXhU#i&3{Yat?6kxkpHwfAlNkX7NQOAb?6$-` z-U*vRa+#Jx@G7zcm))ZNAr0g^cm4qM`Hsx*WE$s7eKKnP?`SmMDU^%5!> zVk0vJ2$~GWXD~janlE9I;ghMaPp0~eDpzMgV2O{tR+l;pC>3X@Q~NQFh?2~lB_6)+ z`66IjfL{g_FPALwrFLDJ7k8f>R(^?OF_OOPq{laHi z;cw?=`0($KT4MQK?sgKc7W}8fiqAQe|HPrsE!jX7*rAajO}}(#E;_7x)}eppnnPO*{MKQ;`^_aA z)_{UT2d8!Z$)U@wElM_Wy-n`+OS<3gu=yhnJ^Y|vche;AQs>}8tvz0rSR|B}Oj8t`q0ac+O&lEc9{heMMNhq<@O7KbBc;MWdEx&32LI2>m> zPrTG2HRf=#8vM@T)YA@A-*PzputV^G!x?`4S;kFsy_pJ!b70ofZ$1dv_U5yn%bx_= zz`(u-U*BE$Z{VM>lDQS`v^g$6&*YqcnZrUSz^x1X@x^}^94>Odm-ykAo^iOL9sJbc zC7*J*kpOw=HyvJX4(VEln_3-i-so`4sKc#i9m4$%w{Z)%-|O&K*mDQB@QNmfzb-Pz^vnmVxTa96_NZt%JZhkKZa*Y9(9!)*?4Bo6NVq{DsRb$HVc9o~H1 zMs_~>e5!x&DN*}uy7dDqxqn=}XRPFxU(nH6OSV0sqiIXNtx-oami+kj2f#T?Uj2xU zW-a+tsG~V6jr~za^H$p0t)uf+y6>uv7OXTZ(T+FO-1H5o6Yz{EYU`E$e{@^vtA493 zmSp_0HhHqmd6~^d%i7O64A_FQJPO!avP|wTYxjRAJI|K2$CZd()^12`OJEU{ju7# z%$vjV9GC~%w5&~(+BK=Y$=W!}2A^ei+bp|(9c8_qmA>g)9!Caz5Cd_L03{#^Np%-=1#O@mtOpxF2j~P{U?bQB zy1{191A4(0uod)yey|M;fbC!h7z8`P5Eup{U=-{EyTKUP1NMS_R(jv-+)O^u6*ilUYY1Drj{7>W+K(3Num@nUqpX)3%_&ORHy@90#+iplpe)=v1QX)g8x0;=4zrcMDET z_A6PsJ{Hxha<)E5NWh`dEUU#+!!u#4?T ztzTxcHM}?y>|@2+2XFzn->A&Qd9h>&HYzD-knSTS^{cYX@3E&yZ#DQbR4eDw%nD}x zx)s+t8LCF}p1d;tC6$T9b&qQZkP~QJgutm6En3`yri9!-UOXGlRF?}4!d|ywj&gl_ z{9(w=O(LeE(AK0RWidI1U`DrBjKmn(|LkaUkhnDwvHNr@mhA#o{%J)oHR)xI!SEs5 zQu0JNu&l=!f&qO=9wd;@x+r@LA@_~A3$S{5nM0YQ(ioVCy8_QX8qGSZ+>ohyVzX4# zEf)cr=xX60dS!D*D;XL!nsm{$C(HS}(E8SO*)6)fT^h`sR(iasr!6yp4^25Pi$RCP zBSLnP$|Ou5;ZdR%_%s(pCAf3Tu+6m8-`m>Dflddn+46dOUKt?G#X}jl88=jc)7crZ1bJx(9T8p70ZT^{N8J_H(NzXFX&wMyofN2 zL|kHb$JFD4aUbPZJ@h{R9s-d%qHRQMO*6=o5b6vO%#j!Aa54{uhzC71GOWw#lvH)X z^FkF5YrypQ9{j{8CRfdt9%dw*fG9HRKVQX1D`VEQoZX`@5ey;GL^vwsmc_jj#d1vQ z8p#M=(FmkuJ?6~XGU#6@w*}OE=(lQ9)aQ@Sbuj_;S4znRUQ5lj!{>GraDr2MH4~8- z(j>YsZg5FnO{<}4dMiS}^qLuqd?_#6jpsr?~L;h^XJ&4=kR;&UK_nwo=z-EnT zu0bi>r@|c1Z~Oy3OcXcGN1nrdEv<)1;T2ASan@C(d9{5SH1bi%>rQd>kfo-54W}u! z0_+54PyCn}f85^GQ+6@g=gM>$M<*Y_Lk~=-cz>cHbus=cIA!Uu^oKqMj#>&XkyxbZ z4bS)qKMNApU2+fedyN8$kYw!XW)aTVrxdK1V&9$nSqxck9B+RdN}p-ZUt&0d{K<%{ zmfgdZ(6z1))$QW4C($Dxng&ccp)m}|Q~*k_AEQq>sTa$GV~4;zt8#QLo`Zc;8_{p~ zsHsqzB$lGSa3lwlbv%HiSXm&@Q+9p}Ro?CApMs;sEsuY5$8{wzgVOg7Z!){I-E}#h zuPQmw2NA@35zslG9Qjb@Ene-b6FUhIxp3a!g5HlbF?R6o>0r{A&q}|ZYwjqE1OfBd zK}onY)bHl(nFu5<FjQi2s?Td6%6S zoKh#FsIuhCdUn`sdsvU~OC#a|YpdE={>$)>rUX#O{PfAfA$%#Q z)G$mUVim&-1_fg};GPYBPz61TAgg?C^myxkWqb2qR@o&n`MsD>_%7zi0^vJmM_Mi{ zE-#+esUFckGqeZ@-Xt1qBl+(e;Yo)Hgp>Mc%GTa;&gH=Fxvg6^f}uai0J5kmrMf`u z?EHR!yEcZ7aZF}!2z7OMm*rTI{rIW23i#<2fUq@bY&6uOvGCe)%6!+|#CI0+Hjib? z1G-;|>QabIefh;j{%_aJmO}qB6h&RSV(n=J*uIWIc_aK$pi)nt$S!ly!8uuWMZnS| zS>*>G-1bnwk40_n$$YsE;6d3Z)>o)Cr$R!D2_nA^7=?65Z5ORAeUe9m`|uU#L^20s zB6xgsR*;LkJE7ZF@$Hw-(yu&jYEIN0AT<69Q@$1!Lt0^nxP#OhK;UU%CaV>lVA#OP za7#AcK=$D=W^7QVzA>NTR)`tb(5CGAr=dH0ud0>R z{d1#9rK`^}cixV8c=T{i%QeBeD;s4UIpUaveOQ8rWewD)N6v{TC@j-HCP3lXGlsia z_`_pKBsuLf^EoO?j?Rwsqv4D%jW{)Mf`ZIMgXX}S@K4<@-)Vd0vd(VbJr|wq+K<>K z)5nPN&Gz21Nb1c4KxwP_LjSI1)fU+_39K9>frNQJNx8I0j6#n14=bRLRbz98yIH^6 z3ddunO7iC*!QFJJX^u3wibqQn{kI*kopEaJ4kxpUR%vL<<}J24Y*&BhJ>dK5(aYyS4JsQytA|+ZZ!U*1~NDAh5_kKu5L3{cLHHt|bPU z@#l)zir7LGXWZvzd*o^P##`F}oK~chd`Ila9;u}7*_SBn>!7rJ(Zs>mD`9M^G6ZJG zhq=uC_9^zx6L0e(O=hls*dG8hP@U~!ByLfhturu;(Y}YLDocMl^v$@R<@1yMA!@B( z!IdnJGg(<4d*kxg{m|;CEUcUhZx5;OE9s%uOl<>*AO;@%dm8#GGy|X$_n$uTzcM5@ zBGnv@UgdW^WI8bmLZTTdCX9kk?2Ba_vo|ptLqBlx_W#hVlh$$WSRghtw2fp;aMSX` zLgfZWH8AXKZEJm}o(_&akimfFIU`GCOcfy*k(XpufzIte3pPNFDvF-J)~}Nu=(#V( zb6sZk?|I=;_8Ok&4+S>56>Lfjj+>8hC-^%Hk5E5EuWJd<9agzo_l7F6qF8Vtxc39` zR?!(#*y&nubN!D*pyhgC{z!P?5Hap>hnqvNZ`&w1`rXtZUQ&hN;~=Imc%Jg~-QVn) zR{YJTLJK-zt94S3lg`);5>HJ%bGX9t{fRK`_1w%|yz-CEj|BLvM`M6O9yG37ya=VK z3G+8ZdGk*QYuZ>rG`UC)j%F8;^sG%zG%t)X@Fh!0)wgNHM-p(ec_l?5Ms{y!wz;!y zzT1bw55Q4N*?|{jA1gG1uRoNXW6S*>N8;@0rcGtM!4d}Y_L`+C z(g%@nC54{(lLId*-&p4!Kqj6D%W@v~s$e|qpXkj~gIFnQq_6k-3)q)!?@E zE1uf2L%g-@Y9JR*se(}=8LUqqa%ihQWusovekx3%Jzhi+F3yuC-T+35};li&Ko%rjnw2e<+JU3^o{WWZr)uVRkEkf4Jr zDtHjle*-*G=AlCFr+X>V;Wab-hhJWAp9d8!jelD@iZ_=oj4&xH5i-N}I$o|D$eM=woJFTC_AN17`l;2Nyff3)QUue} zXOjOQv3n5=wt>0p4|W>XC|n@GGt9pHCU=YAR0IZWoEO5Z%rGpKgIT>z62`90?ZyqR zB(t*@N!n_J{50U&4D~D=oS6 zL>>cEGfietMj~!?cu4Cql_Y&RSBgBfLRzEPp#?WZjU^{i8<&`67($zgG&e}Q4e@8r zRQ-!?GnCQNQgP{ zd(Sf4^jZk*>re>c2=w1JO6oyh{>K`j>{W)a%y>_Tc-mME=gkJQ!9+8vq1TpZmyA#? zkJ*Rh7-sU~2HtmVt+!@|wOf?jeC5rhgIrE=!tI_WaFkeZC38Ju2oMLK{+zP;i zZdj{U)mF*mnAh512@5D@~}3?UlSIF zizPYk@;=9L=Y2?1rZ`1&apqR!?5Tkgh5Q!$Gybz2l0oNAajiPy_`TT$EOFUQw$XcW184A79WK?$O(ig9dxHFySdFdEZ1uT zWQjB0hG(PtHXjf{uloZBx<1f|or*AjJpPY6=X?i8KFD00xnINhRI;Usve6NdRYCj8 z9$f5x_79$gkG?z&6l%PE>*6J{Y$Z$}jo@kD2jLp*-h$)!~M9+QS;=Hl=$sk#f1<2w$)mCY2wnG?w&c z17$e=KU}n7w$=Ha)w%g(KSx!zTvUC(@{lOSvu9|#Gg#fH)*Gt7$e@BAj-AFh8~7zOO31qLA;QtzyA9;!358W(XlvbHIlw4A?ix~_ zxPM>&W$Wi?6>MP%OeF-?;muN-$gtZkC^rulKKaM>Pbo|H^)@SUb_O|baHVsBXNFvX zT#^-`_x9CGd04U?Kh-;*>veg*vg~N}`M_5xG}R_dV0sH^^UKc^Y-$)~LAlZac_f#Z zfkSrlEr1;>+Z@ca7+(RCY+#XlkNyh?Ih@0qQfe(WM;PQQ=b@6RKtTRy^QWiux9W{# zHO_E7zU=MiDY+*Sw{%uhSRKzi|5#?fg;nxZsF&TJu=8zcQ^bEWs+=IAWm2?zx$7$H zur)E>i|zdyoc~>H&X&N%l3GP}J1OBeE$&x5djKH((^TUz*RvhgO`U-P8w-YB5zln# z;SO5814DH1S-d)z!MnkYsa}irDp#HOkJu4nbR0>M8lHfO;XB&#>(Aie<*Vu%;@~&z zlOg9MlTq#U5!&L~XnJ(g7ukmQGTRNcy=aN{s(Z$q^%8tk#w8yPe?cOA3zP(J<{Oj+ zN+4r(>M*(I1fIjn`>bxRycz^wox!KOFXY}DMN3C;$+h5hA8Uwoh)bDbP=gB*|N9}> zeU{`cO;0i!+hXB!zA8tq@L zFfs}2#2S|F_lP8jP=8t0T}fJ0``sVt>OsivI@y4p;k$ES@bB4RDC0;Gn-1B~DMLeo zhs^|d@=-Wt(<_n!w1L5_$?T;WIoa+>_+j3z$u)+S=B)d1{4RY<{WHG$;%k;%ONyp$ zpK>0ZJ&MwmNu$!s* zCrcp4!O+nEk@&3Mu0bPSHTk8OPFF~k>vQE@nNPX)8Z)wTqW@AycQ}SXXhmWQhEVuw z!LMhLG`);wygbOj7+>LPyppbkBSLMz9}S5X58qZ4@5cvuzkAgJ?&g{^%|gvJ;sl*y z!2y(J!)Xz{7GG^&s9O@=NhXixsal; zTrfwjDBhV&;KYDJX~5>jzDs+_KFZ3FAWDu&v8&b$!$Ez(-c|jXePVS_s=cin-ceF* zyOTY6D6f*}Z`l0O+#c8Br>Z8Bka~V>A7oLpj3w?|)mdJZGnHb&3vJFB#?e!)DF~1W z8w&JPiRJ_fGio`OVj9n4z_X_(&_m-#MS z^OLP_gOHDx9AH2g`3s+NqVZsbX?HIz&t+)r-dx3Al6Fx#VX?UJ`!84GaVnGP51-Q% zb+;}h^CT6JojyYnnAw+B5#6`f{RIb7!9gk=Eb|+EE&F9KHGQ2wKcK^*DgZYf+#MzV@3~a5qlNZeWHB&FiGvWRyq=+G zj6gX{{nQCPy4}WqlM@i=CK}tL=ah-0-5lurq#w4!Sd;MI)ux_D?{Vl?sq;kYc1q7Y z4$$ns4$xd1^Uq4CfZq#;!}%5)w=DGT_HyZcvm<3QQZi&1^%PYBe}NID(!l>OWbd|%Q~^VYrMvBRdPk^?Dp zfm(e3J<3_1iv816$!T6o<}FbNYg65uJSH!#>>q4{R$tb#e0xLo>vGWfyFF=hyk(1U zcRKh$nGqN^utI^jwE6PrL)K)j^hryDgbul{{RDEkRbNmXleg3>Hp+L8Rvw}JWX%agyQ8XdNt32-FB+JAcX*5_+tYcnWTf8MeL?|P##@5 zU-t#!k%u2yuv|K0JX=utVL#r`pJz$KPC%MnB-rB!EAzt!2|{AVA_>6N7vg<)-wdP~ zrQL(oRe(D|U_f;@!HR^rOpCnS6=#qB9(z<0%Ec+B`UKWuKjGW|5lx07n|<(6wwKFF zEYLr7pxn?n2f+=r%R?}-{zC0kc}d7dKregJbY?Rq8l z&9Ng62t@}Y+nW4geBDxeNp;|p;`T+7v%&lNw@Spjh-%@T(CYIYn_ugWamIsW)rFVB zIQkww#fU-sN5*z%dfw1>YHo-5LVH}3@@PZ6Jho<;r`I>&W*#TsUo_vok+i!O!AH7k zn&W8Q_2YB-iMu!-<9;g$3TF4qir3OIufG&5y%<>>K4i5*dxm3(X%Y)51mSmWGHsNu zxAyuYBTC|V&cG^56J~&ejomLr$WL|X=gDQ=(R%gn(=F^d$72ootFHwx55)D;MF>Hu zfQYLe4jFNBba?aInYOSbkT$&De;V?d}K!Y%@#T&4wTPa<-9ldB$`* ztrHezohij=5^0#Cx6PZiItbRjv@Dh!-IUFz>N5|g`soWW=4i!b-He>IAbXBfN!_}? zx6Efia1?e#XRXjegzXxPy za`>kIMg+J>6^qbp#W%rh^L*JD zB6Nb_$f)=~d2=2w|{Yym*l$cVD z`2>?;U8mbh#KNkD7@M}d<4#2UE>M_I8xK-dHJHVcro^B9Va|xXGlYlbljdJy(O0Q& z*^TseXS>;^a<}Z1tHvhV*Covs?*Vqk&d>Gn8>=1xw%Pq!E%7V6N43_50G# z9`xHFP_qwTmOJ+k@*iockv29=VSJHe2Bc2BydHQ;p2nj0rC#ztRIcPJg9T{<7h!RF zD}!H@c*4}76?p-3DR>r5c&=P9)Fwy-sMPGkXb6O^)S5>t(zv2l zCB}_Sc$FW?INFqX#g{ceC1jH|>kmw9j97?m)P__x{KjB!ht3iy2eW3Z3qjadSO+T} zz6}`s5tx&!-zelu4bTSCX09jq!e`b`yDl%$F&_Vg`_TV^+{Qoh+A)an{e6=`i$V#K zUBRl7-0*j5jV*NBno<#cf&+!6#*QyLGM_qPu>vyRxsL)%0QS;@J+m0BGYmT&M})+M z%Yvel3}(BHF1|aXH7gBE>=0X@z6eNuFOW%Yo2(V-_l4|yK2TdEr2<~f@mP0(8UV73 z#vT@NIG|?T;HoD2fx}Bok3H?yrt!tRM7g@+qG7P@3F1+>p658%G+*IvMk{kZ2T^)| z(>b=Q*)^tT7|r)0&xWM)(9e^K4f0VFsdl++R|zG8ZmA!Bp^}vN9a1juu17b!q)nl=5h&NPbyMhK27>rbfq{1x;|_$3Xt08T!~F2c=QZVwJx@uR=ra;{vQ zu0>^rzF{uVh3OU8n0Av;)(>6$*bqb`&=P9#z}di#xTuld9k7@1H+4P+4p88!NPxpGHynd{7w^r`p*%SBb}0yNB--hwpMz(@Bzr=|CTW6A>in+Nj!Zj&^Ie zq*HT*dk)q(=J;zciZyOQEH!*?K= zrgFH$$ouJuI0!)j`Jz1-DX0#I>8ktP{FjR-@K9kv(0paR<=IzsXoQQmvW#Kp`~=FT zhu?|VA&b&>Y|*g_YuT%B5&cme8o$Fg8`I^9#>R*VZWy`|osxok)(GyZpO1p5N~u?4?k;uYW$Rf0{`Q>5mH5 z0y%%9co8sfkoGfYr5V647ie$3TgQr@6dkKu^j3x4pKxH$6uPD?XfP8ZXt_8guy%F# z8n#cx*)TF-7{;0VoE3gD4@_wl+yAiqr`PGD4SEvk)HIgYArYiePvygs?V^KIy? z9qMcJ&7QzH0cl`FxntPd6f;N5cgExl0E?oj`x|Cgxd*`|cHIYD_?F(`M9a0?5$DE) zNO)KfG{BmSEn&4aF11Jf4s?Wz^aXygSY*)FZV3JK?Ne7Hzh|aUR7uBW1n7HJ+pEyE zRFZ2Klw0-*yfZ)E6ki>J0>p`d5zW7(FelN2tR^ebQ55k+`{{c^ay;ipMVuQ1Aab!y zt(33W&S(MqHKDj;KQ=&@y1(+bTc%S*K!+=|LiR~3d|~*r1mdJH{M_44^Tg~5eoQF->nd@V1PAREuM4kVZWC_$UAau+N9`9siFHzuNpfXSy_j$B zW!`f$wXQ#`e;iW!eo>d;>ronP&Vx9kxNq9gKsrQFq2isGGpISAend}5K&*8jdo7YW z-XZ-;uPhuVVBkZ?Vz_}JLT@{MrzuLGFDUUV{v=H+(2U!S)qr~G!Qj0wp>Ai+X zBI!1weuw${H&o|nk2yr1q2BAg^(yB^SR9m)CNdrofxio1o;=X=8b z)Oky20k4$M6ct2eDM7^5^{gz>Hz9|W8xQkC6b4M?AQE<`wl(hoAQoanxHqst!0KNB zXD8it5}l)Z7;5%fUm?dXxTQssK6W9MnM%>MaKzvt4{Sc>rCDfd;Yhu6)R_b{P}FLE!uGZg zKhKUupXkL{_CZ7sm^aYSIA*}ra(*yPT!bM~$LUl@`xm+dj)*S`9J1?GmW~dkak7wY z5$Dn-O_%4-e?v~mM$c2USg;prWp=RSL^oUT^ooaagTZ`xFQJ$!WX~Hm?pLF9%RS3v z_`|UocGfQ%Qj&}K3rPY?lny3U zen5Q};TZ*i{(l57R+Ch7?m3CX3IXbV8~gNJlW`E{sKb zl5BC!$z9`3*~K;$hri0BHAH(5_L!1wE6gCve`p@|Sg0OR4E?`I4$Sn5gKyVY9sAb10`F_zTdxrvf<$ls^ydI zdGG~#1{SuqQ7^ zV*FVNxwgelgah<<#Cz3{jV(g+7#&%TVE$@*RO^Tf{xtU`waqoXEu@yX`D4#K*P_L> ziXhC{HQe|nV}8`j^G%upoJx=eHA(9AuzBe^fsfVD)3T|H>DFS&c9jM+201@%yQ2OR zh@m}t)J(7;Q*CZJ?d;Go(+M3@vLLyNuJe1Pinue`&kf&$;Bf3>aJJ^|MUWI*x@!19+2!PcN_VwwIPEw zKK+_oVM(LUuZ{WY0V+kSa(+^A?8FnwV|ZQ`=wBvVXs_~y3_8sMk`F z#(tg=PH8ObZaV#3%Er_OUYb1mMavnKWF`H58Q>H6v<;f3|I~kQs@b{828Ep2U$en{ z3=M&Iny349g^X4^?pq^?4}{HCB3oaRY6(`6Tjo2jEfn9jP=v+&`EF-N4%s2wb4ib) zJD_Ib^+tMVv>;sU$J?}N*1)R=YS=J@!8!|Q1pg&7ntE+ae4_S;oL70KN`sT{UDaC z(Ll+FWg?b?4<+6ZP@4Kj;0tq=BM>5;w~4>3E~Kyjq3-4(fg8g$XO0P{z=rE32N4KKL5kJn6MLhP6;Myq~@}qmia3hFbEtEq4 z@Jz3TlY&EDTjOBH`<(m$_eML1XWySQ4nmSsqBn7cR>m;)H1Myz(d_+e);U2Dj1I%% z%_@E`6opq}iI{O74JhF`K~d!1U~z=n3A_f$7{mJJz=zU3^ABLK8Nq#zkP(Nuiywq* zOOK~yg*2x_iw=T6meTcvIfO73uM3~VknlB-o+L}6lg-9s9@BkEFc$FAHUEh&In00=$WKNTHNWWR;_34)^mA z8>YXD4%f-x_>17#-p-T$VSv^~o=zH^8?}7@&%H4qhhMX!gJb(L7hzelpU@AmLMe@N zhvUzh(70>)%HgK@8;^SWy_JyHV*w#rqbu z8=^xa?_-==1FR;WiyN{Rg?|&B)`8_f%b6{(G2uoF~}03P8bD(}ah-K*po8qP1yUAlHE zJOBMZXIE8jts8zB@c6Y%xGK`#TJspbw-bgfSid_hoQoGEJ&TytIw1);NNHdcT-a(I5 zUKTe&fJk=P^AShs@ih}pE#U#m@)=Hf4*rhniDs#*ZCA4hsFcZiVvWYGq1oKF;dG*$ zrJ}p?wf=vCn$qrq*T~av<^L0~pJFx>fiCV!wMtdjjySjk^xpSv=UflBKlj28KP%i9 z9B?*n8+jzw0ff6bu7TZlzAHi($0r*HVoE`%{3tYg(0fXgp~z*}qgmSMf;lP)FRypQ zd(qd(`x7oIDD5KZ3S|ERd+6Kkjqbp*rUB~W{rNf9TK;{*w!;DZ>iVw$Ohl!oWmb2R zmJlib%L`6{5j7p^%&Qi~!|VOOUO)ROX3wRqt;eT0pcmb-Mk)?qz1%f~rOjBBvK;xi zes^s9bkhVt?z9R#&uM-JfT2)nkI!K!?9HfzLr#%8{267erszK0Bz9?w7Vj$dE>eV@PMds0o;Icm1k zFu^OT#-=grsEYm0Kh(&xH_YSS@uj(c3ir}%O6Wo-TAp`42C@r`g(7t)FA&7rCQ$yR zSe0HuHup|MmWJYgguhOfeMALcPvyM~Wfz!&`D+EPONJX?*yki>^0&%II3vdbQYLd0 zvISX6UwVmu?!SQ+Y{8PyTA9!~-N67HiYpj)fe9F8-AAuH?xTV~uYq3+|J5YPUW3aZ z+)}eF?7>)V9&9KVTdr=$x0{&mg#IH@jH*o3Uk%k}d(XdCLH_)Y6T>fVNXMkwY6ydx8O@5LT&#y+y5e!?b*X=pe0$q0;hC>|-y!&a zWU~-(koYad9r?Islb}v`I8T)Nfwvm_!7?Chhmuo{R!8&5g9#QK!1pW-k$;ik;-W6aCBFW}bE51yOamKfA zVrb(+gjR&m3%Ou<1UUHup0lobnwgv@LjQos&5VNKImi@RzRQnCJ=~NFR2$ClTpxO? zIJ8S_{9!B~+9FYH18<@d$6v7t=`o)?>xF&gaoAMX?^snoE3Ux>^PKP2sabo8;O~4E zQ2zjZ4l|}xi3k%whlx4jY>$o1AY)@uY4!MEfF$O=MO;u80JaC|gBO$peSs@p^5cP| z^P3W)_mcLBBe3*B*X9$kRIp92WGyFsc0<>?d|hEIqAT5LEW3}Wx57LWv&SsxR*lQl zv&zL(qegXN;{Q-aUHjyikw=_WOkPS_#Brx#zG$y-w8HHj3_HoZn^+8R4zT*{eXNm* z>Y}89SQdXYAZ|y9KY7@95Ld(;s|6t_{D80xziq-^^OJ?=tvAH%DQ5t&Kx<~lT*bl= zyRzn+ggI%bAL`H0O(Aofn(y%64cb>`=JY+Pl4zvS{#gP?Z`lGE5asfI~~wpyCuyBYjOy_ z#Uu4xHNQ-#2AZDAF_!;F4IaD}OU5{SfW?x!w64>;awSL#pT!ckgp?p{N^%=4vzUO& zzBsPSI+_C_bwg!8f+*f{!2|u+a+dP$($|7hH9<3TAY|vjFp5xIaZ{=vvrT7z}J3;>rpS79^r`M;5e^i z&c3uA0O02FLM=(&Dhz4H9FX)$Q!1!{%sQz|G_g0aBa-5b{S}r3XwU){WF1VK_3=PS z9>`J$NpUIfu-Hu{YE*f(@LlT2f@~6+45_+0xI)Qq5esSTAEyKy2{g0}1BR{YPMIO)Rd3+tk0^*(Z!O(kw%gM6Vaw*0U0I+|ViO6l+hJJuWJVIfl;ye#Hf{HiL;Tq z-ljmzXBK123x%mx1wQeh_4?ePP;DSxr5Is60hp!Ac)4cY{W}}%4=Z+0=?xytOsI$3 zgq}HAluZ*^IL$}YeoUmXdMJbib$(GCjd)gl2X11u=n`ybQQR6mRg{ERrySafmn822U&%?bYo z>BgXZ<17n#%~pN9_^tBfs^YoltucXFII`>kw?+Jb}V`O*D-;wxr*e|1yD&K7@0dC_$#9Z0<))-7eY1}jC+11 z&EI=GH~juY;6!E_zLLMCB6sDPTDuo$KvSXfp37bO;F14nbQbulYGeexq${{J=g8nu z{(`oGN_P;+8=Mu$)Hr@>+HJ(GQ*7a*ZjZVvZ4=5b8|Akl&L`(!?#w6LTn!v5q@fjH zrlTkL<-ciFqQ|U1&sBIUh0^PmI|RUhkCIn#LHHre}tqms8nG0Ee?LXl~YG3t=5hXPH!6i3Bj`&Fl zWB9i%a~S0={1wa~leFBW=)Z_)R6Nwj4Lta!L3&ZNx7^IV@h|p4pIw{wnksA4A^$M< zTPFjaaTgH*OKc7-c!RgL_5Fm0N>9(U)qe!WInmyly(zXq0fbGl2KmEk*uVHU1$Tm3 zi}xbI`G=8QpTuf0$VizSMrn8ALbmy<$+#ToC|2#d13luAA4foM}M;ZO{ zMPCqU&%qcrBl0;MOH`OYPL4(x8qGm?s(&Vuvy5j0be`zTBcB=*$qG{|=E7CoRDwd2 zgDLdY9F_lG-Lk7soPc|I=Is8S?OWiU`q|HQR#kfOy2;!4#~@r{z`s_XWG)Z?swHl& zUtk?S=$Xz#r)(@CpRP;Ve%7L^gBQ;yY0hv*Z{kn)L%`v+T&~MjhoHuaN*;Ncu#d*d z+;(*>P)H#I>8-JnPhH_>g5Bv?%uLrCpC^yII543+bj&97HYA)H5cu4);`=dFA3;SN zY}8hD1)`E0f7NbC7x`|3ZVnx<&YgNMVzsfJI@dCMsT6I>G1lTzn^@=@-cHgh6#5CpB9bUC}4r>_f6F8^n@ z-H~PRuzw;uH*p-TgTp@yqF0n+TPwazKKA&l@J9LAd!(_g6i$BCj^6i*-BJO6stV-B znFDJx|0O}*3Jub{ORCT!cfkOjq_mbCj!(x3j$dVjH0EvT^NA_eLKZWzNkJjXOTTA< z0vO1(ghw?5B2$JTs8slP(m{e0cs9wj$C0S>coEQ$bT#ug)L6BUhJTYBhGUWP-6`{cG35E^pHTE*&W_DMeSH^mOq` zcN5M+E-rQ&60{dXI8U~lkYGNHql73R37f|`_27Un1qfBrT7o0pn$l z$IymXG5&k81;U5d^*PZN*Xp;hLN+e`EGI(jQv*BE#PRzbMF#URD+7w@5C3RK@yB_U zglEJIBPZmx-~)Ebn(+1#H5CV`;v>8;-+Aolt^{0^VMP`quUNuoQhjW78xCB)p1MgR z<5e^J*#&|L2A8;TWU_9tHgItu{{*HnKT*k(c;-VWsU$-@K6eZ(muZkJMC=L(8mCi; zdskhPI{l(k+@j6~up7L^Eb1QTqJ@N$b=XB_Jov?iQsq-jvn@eqSzmobX0(l@9NKzL--_8 zB_EXU@Q0-&&r--BlP-mzG^`uypBn00NN#ospU^(Xt=#ngo`^ggSI5^c{Pz^WxrSID z*UX;=D)K1z!kW)xb(c(aT_?+B{lW^R7#3n<7N7n57qiLEnrg3FwB5KX#>q9uFAPlT z@^!R+yCG|xz-(@dYN!J!(T`?Ucbwscuk9HdY=d?L4&#|~{B{d{H4G0`mZ@^iM@jiy zC?hypHXM~(6=5hrCee0;@Nrzok;`YRh{O+k$`*Z7i5v2@J^04@dP6p0R>Hb1qD%z_usJs7BoF6hcM*su;8v3%t49tS}~C$@t;se z!a{-w=JsYTuFehey0dU;82ixlNfKsgz?4sgdj(oQw`msyU0K;=G6E%|nxrV@Ebpda zPfLdgi(Dv8j+qcukS3xF%9GRO1&kXG@xQjNQ)sQ8^-_xwGzA5jaS~4i-`ZIbI@+(b>fxfObltw-{4Yj}$xn+Bw0r<&;#2Ah$AvC#;J22$ z;HoP%l^OJh(73Ae&^OxF*E`uD#Ddty4q};qY?tB_6*WNKG*S0!Q?U3D=MNUw-TFck zWY+lHBI2*p1#AZN0MCj5yNTo!tr%Uv*x)^lBCz@59fK@}5&C&C`8l5w zl5zCBAhJz5^?4w*sSZ3+>`%s6Lxk5%WC$+-&=2mrpq z`~=Otzzt<+tzw@cAmmlp|Lq~l7O%&%3e|RQJLE@^t;|U%(&_I9%t{CXEb|iG{CQER z9hG`P%-^ITkHOwj@ggxN?bk)NJ^2qQ7I&X^`I)n)s13}$&i6g2&gj9WU&xKy;Qww< zyHpB#6$B0h!r3&%zf&-dk0c7z&(tE37-(_-&ih8+zhX%_gy|Q*(+REE06$Hy&B!CG zZyj9k$pBldFGHb}7$ndL%y28I*#*rv@!Q8wv6&&7kAJL*A9>)t zjnnlp0n))bQyu1Zw3lghl{>B?T(fxAk9DR6^~J_uZ~`Zl0$9kN_@w-~q? zMII(mVy%cf{AjHRG$<`#-_{O}Fro_iKLB|^hQGy@`gs)&=Ir1vkQZ56?1Fwue-Hm! zxr$^c^?7Uz1Pq7Ps1HH?69@Vc1CP~%DVhi(tD5i+HsR1goYI`4Y`G+ywO~Z$W5j=-a8P2@+Jo~gf#fD51Q6yiJK8$~Ig9s@=haLGmY$Hv zG2a^%83Mg?CVqT}`Y{Y1j>gkqG7bLE49BiGqv>c{thYrQBD7i}MkIa&U&h`&OE;WO zgc|6fKeusSDx&;tjy;H#tGIZ{HqWQ(FoYb^2E5(|JeR+ysEw+)46}a?N|Og=4-Ec` z+Yjz$Q{TGf(iUh`i?s(9`;yFyrz$P((f~~rYgPaVMY38P*9R>M98~Y(1omJ6d9m*d z>GPfXKh(?BdM^h}Q8EG1bXi#hR7%T(0)4xl?`)_wW0$4Gp``LBj%|&8C`;I=rO98% zQL))BE3FZxum9~Dq+)+;VL0`Y>c#^u#-m{7Kz6vbTpm88`fAF%VK}U=D%{%pxVWW3 zu5&G`ny4J#b=i`kB_wg4cVKHekh^0}#pdPSiDbwO@X)dRspkxxQ9ybEld(Jc!TAu? z+Q2CVl(u0U=1hhz<5ihrCZH`ch^qXyLCBJ8$(nfM8+YK2z*&EQtl#_qf{Q!48S|9f z^<4y?)(l4txnt<=L6m5PRN+8M%z||nIFWupc&Lw}!LH-*!E{M`wp0$bNceF4@zjH& z%pOlifx}ajDbhL8Bu$j`I?{HG;4_@bvWRFamd$IE*66X3`!AEpW3!N{cce*4M)r@~(pqi3Av+p>wx>9dbLDeff zM^M=@OjfP%8MXK<$Di3lz-QSr-@P4y*7bg@En&Idm>mBaZjy8jLHd-+M*{uF957iV zMOez=92{=fVQNDeYVLhMhc5#)ay~*v>3rvSIUlX^P4h@4si@w4eBYamNm}c*I^m61L`C7!KSk7XiMH}-!yRv3R-`nt-NNforCEPkXZFM(n# zZ^ayL#M~_jMQ*?E^xKiAet^B5&3DK4cDqUDbJ7IY4NwEDDp_aw`YA3~PIN*K=ML#wg(I2>^f9cHn&W$^AIZa%a8!YV+XI&*Fa2c}(HGGmq zDp?lbCd%_-$;>v1*uW`iFjORIEVf}oX(m5F0ZBr+)H|~#HV+s0`(ve9A1aSmh{IJ8 zuU6rkOcTYd;r}M4wlXDzTWGhRfhaD$cWfG&S) z&HT?iYViXipivtEC$!~rO>5M&+Ang#!v)4<(sd-%M$cS*Hm%WKs=%}Cd)l$*-B4A( z=II}zJ;ZRdi*djB-NM;Sz0q!{{UQ!GPPrcE=~9b=p?Fy>z}eVw_0$z$;Ft&U?K_)a z+p?nYJ$m<3i|775QM*29zcKr_CR2YYgf!eqgtHzr&0~(94@OG81fBYhH|vvaeq8?Nb&9c#-o91fgRrQe#f&RyoBT#&Z}*} zD*AREeoJz?xvAVVNA|~M5!r6ZyEp}RS^q4*+&Ru5pzZH_uC{kAW-E%e%PoJHXQe$} zp5izyl6|XgTP@5UZe2L@I)MZxpsJ^D6X>$Of15zXqK5Q0Zxg(IUjoA=C9`~)z^J@U zg#`XkJsV9#BK{Z2{)XW9CTI4m7q9D+xOD0B3>sMyvBvdoM1=xIb=laz^?{KnA?47* zHu@U%|IfK-B5`2$C0L#}h1eee8@k0c^vdC60zz9kxhW_Wt@*AEek6 zMNyjdgNH}6zN+F^T?d7eMS_#Nn->o^|9B}(qLGo3Cl8Mar%2F534thw3-jcCdcQ9o ztI3pdmA=X*D*aY0vZ~muCm$bvPMFb183EFUf7iN8FN$@xolH&o!=Jy|P6$pnmHU6T zSz3uVw+}a8ZwLs)32D?JNKu;1RyXfI;$#lDeoiprMkjl>aFqxu!3O)-GP%EbdxL|8 za0Lm%6oa$vB59xgcJ8kCj!XzaMt~Xz_Yj2`Cf;P_v>uj}yq^+`ae7~6pO?8c-lV_g ze`T31!pTqh2h7yEu)Zptz`w!(uRTTv8)CJ`$&?C2m8NdZ(mIaPanKrK42>S5&n(|Cf%!4II47<FbRbE z?ckQ+t9f4KvqKnd9)qveXM7S|Qa$DV;O@=+!FqpGglOGZzq@xb4^Qo%irJGtfBaIc z;am%H|Dk!lK7)xrB@HOXvxHp(Wz#DEJjqCxgFdThp*xs6;3M zp{%{1Uq3#UdF6I7%TyO8{>}$1@aKt0e^hx1$1X||ZjgjMsJ-sK_;aGc;bTQGg(Q=a zh?j2f+paQj88Jeo?_d)EuW_X@e{7-lH4(;?f*qoqZHq7U#@p*Di4lfvsk=>rXHI#F zBsSjfjzw{am|#|vy&T)V&6CI07VEq%RgbsbVW;_(T+2Wuy10@d2HKCt)ix#3e;9Y4=YN!^ zkts8l=i+-5_ww)>;? zZuJ@VA-Aa@W5vP${TmDANHE^vI3-9EJ)YwX>K`K8d^-tS^E}24JRgf&^Sq7AhjAOO zcMSGi9{}#>dK-Di&e+`We?7(yd>@Tn^SzC|Duor z!1}R_`iJJvI(aC{oKN46w@wIL4d6<=EK)^l4qxy9~+U*;+TdvTp-F6oy(4|2po z=O~e_3P{ssKHEU1KN;gbptu36u<8U9qfoo6@c~67(k7&6c{XWue=tKZjm4~ksg23c zCylP5K9B}L`va+sS~7Y*X>@Qy5RJyIgQ$(W9+5FRuyp_p;PwYljQeSum&JUSEzhTp zt^y&5#v0xPQCopm*?JRbJtdS<-;e~2>=ovM%H3+k!1Pp{MDZq=gsuQugV+DHC&HD3 zz86`$4#+Ne^pC9ke~PKV_Mg8MVzsBP^sDNM@?47J8as=hRmO465mBKzA$U}d>i}O@ z%f-Osa$MKq>*~1(d8fyvxDNDSN!J$E6L7JlYfH4qipOQPD97cjF8r01S_J>HfgegB z68d5=^m%ku3{gn~YsmQw5`$hz)d+M%2I*LOB~9C?fu_R=eYr(u4C5i5qn0BL7!C{$v)6|SheEKb=Rj{JBDEvfAInV^hBUwA>qYf+Qh7m<^bOkB zLCXL|4M&W^e=B1gNiAv(1?Utepvul45&5TgcJEA0wI*pQT^$CdDlMz+ZdUDF((WDO zb^n6FO*BaG8xsj53JK}Timx|FVFe@#f2Q%Nea?}tnaMgq(^}HBC93uXcuFzte9^%R zQ@%2Hvv4=7n|G&R1G>JwOb-qrLzvS80#8C2#jtX-fAcWDhRQ?f(7VRF2Jk{cm%@lZ z&@6O`!CK>YCSliP4KHFDw$ovl0yo5v3|LMPhYkNohO$#+`aBu6E$3x)Z0S0iKw6_3 zdJLjrop}y>f~09nR1bSPcs`Pv0q$3*SBolqP_boZ#H9Y9W8F1}da{Rs$M(Lx%$61d zVaKLef5Z$VJK>z1aF<5df6?@V=#o%Em4YhEkf0(cJi+njhPVv44h`78LL@w%RA zI+kwP!{F_bdQ~4?+La@0OGYLfLxs)MP;EmXb#iJ3J|Z!wwMX{f ze-!vnv3NQ>-u`yie)@!E5}H0NE^+ig!7hM3&?zw6A2EHhh@^pG7wk^opfa{^ZJ3a@ zYA{4ajC_wj_K?!HjogeRB^27i4enT7tex}~yj!E$5DSEFdl`WqNnAzBS{1o> ztqwJ|kB(XSZvDr4vkxy|8a{1|7N*ses^+$x_6t+ z{P0HqW-B>TV=wsYZ&j zn6u;x&h~Ur-IkFN*GOORyPV@X!%KoZLNIUGOVWH>Ha~cfh$0exmhgJ!hohhC86O)^ z8tza`d5@KX66lR;D|I(4{||827UHv~e>4aKH90w#5yk{7e{iaNi!arq9slx$`Pq3&aXd<3uSfP%Ld zzuaE@bQ#M)L^4TOaQhH262&CoaU2l_1GC_Bc(W@W>dBNa9{!O|c=)ZDr**L|Ctq%V z3#b$kmoZ4|f1j&|eksayGnvZp$^5?BOfU-9wf@Z3OC|B*&F#h43k(8LfcNU)h!YZI ztBcQHP%wjAzXd2_QUp6aaTUZQ0UOlcmch-%#|vaFgpnx5lvDV%nFsFA>zD2t?<4_6 zkwg+Z?!i2g0Ip5u5z%`0%L+bEF+wPOx7zC2jegqwe-czDiIR_kDVCAIR`$Cx-zZmw zb&)QO&)(;0wcSi)n6L8Ey82UD*sH%$jNZNf1Yg(;tn#W#=Xn)*s1ADKEdG?jS_V^a zC6S5I;Qh_pI}mtx{d$6B_+KSd0t!jY75a`OLhVsP5mR_AvX67Ai`N% zr{=E@e})n(GhQ!pb8+AZ(cuWG9r4QC&emm}7G+V+&8;-c@?~zN=d}?h!nB;3i}{ne zS7qzR-26ogPiG(k+&3kXgtv`8RbE#1a{b`xD#7LHRL6!|OidkQt)p!PGbsvFJpk84 zh9(Hi_`MxVm&LryXJ&9$)C+TEkl=n%&WcROf0q@g15F9jGhkqrPZ9{i%>FFuDqlV* zV+1*LAWYbT11sf0O2gfv$QD+SMp2kjJ?2^QH=;bV+BAxH<90Y=p~cO1d#Ua^RC!%1 zkH50Z=FG{~s}(2+7Uy>Iw<2v3rQz%Ai3mUaX~t{}*fo4-*K1o@ZV1I(Tot|Fce&-W?Vj^>Az`mF2}ZgAF2cZ8+T870ac$%D;n) zYkM13U2_%2Q}d-veEY}E&E4(0_iye#TwdP1nE+aNYi_SM=AUZX)s>lL?(A1eVSs7( z%c5GC$-aV1!>L8_Xa?`|dY9*Amu28I-i^6U&5-G zyDEazAGH$AbkJ}0sJ)~{R_j>~jKETK%rZZV%1F@`eBBoM+iKESuC7g(D_?7DRiuEc z%Ewv8)2@}?Y)ik0bQJ2Ci3pRpU8p(bM+@TtzVbMzc0qXhZ|e|O$Zp_g;82!&1)PsF8m)Mk~|iixqQyTCfe1%h@* z^Pf`A!(a0%+Z2yYlho-cf}=`M z+9B=jgm-uwiM?CiILLOCOUR$HYWNoQnfPf0GEquO3j3 zR+z>S^tC?fmXaP^9!HYLZQO)L6twTgJzOM0CA3qlEd?`ZhlK1?pS!&oVbGFu;;Ub; zcgNMIf<{Qt17H}&$#B0>AtMAd^nl+xDQPlIsBEfcLWN0=4--sO_Jm7&1Fjy|s-sYs zsz~TajTort7fV}DxhlW)f3|5|BdJt`&(6%lc&xQMD+m~vsv^)K3?A}Uya3(AgAd&s4;|0~M^der3%#n$ivMK3NSySmvJWa>m9atP=>kD@ z_s|c&53Lsb$k6iO{m^29H=)JEk(!hmSjw<1Q{4SU*|@k0iQ_+z|cc z0^(!$vfUNd!FXTNXv({0D9S$#%>OO;vAlQT&*c4IE#CKKboCXJGdT|~6vVzNmM^Dt zA9Ez%UCbdly=CY~uDhtilDdyOHmmzmMswU%Uvd1$fVAF%e;&(k7y3+o|L?@SPT@J5 z(K9(tStN06`*S=jvHQRyiS7aqP3$d;N0Qw|9-i2J>~j*kFKIOCT{GrS8{5mgoY-6N zV~Ov=zb@z7rRlbLX!&nRo!WPB<|X*>rlv2s6Qpa(dBi6yLdb3fVfu1*_d!RJ-US_! z-CLH9B)p3{e=NKExMQ=sFJ&~*UG){wp9W<27W7z>yU_mv$^SYr!y~DS%Xvh{RKFuL zM30AMcprEq*SUP0^hDQtmX@Nrk z8WX5Jyh70-k6=1c(;@s3lWihV=SUC+s&T&Oktc%191sbV3f?CIX(3Qf+9DuZ#56uj zL}SRyB3g#Dos4-BQKgL9d==yjzBQ7jj;KS*f3@-2tZR->@b0(O>W1A2av%KMP3~ia z>#+3WX;wVbP6${*>Cukp*B5{SD)~fQ{%i=0xEdCUv9gl+AcLr*GsgQgO4ADpcFxe0eMlaG39-=j*vJK zao=GGN)zZaXh76X6R|1&KNCX2bh$ML4ru>*gS|Q&MGzW&eZvXr#Lzu8@iC=@;_&*# zNU!!~so8SUzs&(U9%kE(`L7*+dv#+jfAsO0j^%_ZK`9r*k)L;#8_epds`FJ_ukB;U zu^yuAj8Cw0TmDn7cb%uE=&7=nX=S}~1ztJ6#%kwLoJ6^v7B_~D9A*+k!3pwcdqr$} z)!le}gZ5BSwbh5TLJ$+^4_M*^;b)3|rua)oEHVxhBu8Vhqb)n=LZS2~Cmkm~Hmrg+ z&p}KfwvS2-OIhvTX(lS!y)xGyGIO%*KDUntgxEU-5!PX)Iv^w%Zp@VJeDi;wT|y9( zERrgh5XJ;6e_3{osSEI`j_8vAr zoyW4`F#`u!pom5ow6J^lFQVywfDe_LBk_z6?#uJBK6Flnw*hK04ih^GPR zR2I@9e>%a$3MWqX#aM*fpXoB)MS?LB&Z9iCS2WD-k~sZ@nTp*V7aVsla!YsiQOd(S zjkimCZSR4-$lacOPu$YibhZ7GKinnoBEGtNR&cVMyZiU)a_N?%<-L7d51G61Epf~7 z?K(@dJXz;{eVcouN)?;236spP-rl%Hf7cpne}yh@Bd;*c3d~>#2u8*SWS)#A;3Q5Q zCaV71@6mehF6PNyvYuz|ONppLmA&`@nxf^_f3ud@&sqdf0k0AW9WawzBF$A3W{Ro3 zFzZMl4Y*W+WD+sPoQv;nZn7k=`i_me^9c+54G{5=CmCFmVh=Y+0@|zluF`)2i^rG>33 z%)Uqwh&zF}w?ttHxvi}zyIl8ulLR-FWGtU&jwmyT z8s3ybIMg+5`m9&g8cR9!6GiLR?{agm4@@(JHEU^yWg?G{9n%J3fMQKM)JtDNN)teu z6#;)ctAj8CX$aj}Kotf|F*VTaRqMgp(0dwKYkFzF-V(4)hff1+O>;)%0o@+8e+}Ke zsI3ZXBex;xROHs&$dlDwzaJ%Xo7zuAZcY1#=-wgs7lgr{WHY8XjPh;KlK1D72ean3 z0iTCu4cOAu8O073-MY#XVO&*tM9pouc_M+`5pHVOzD`7F?ioH-`&u zL;0zwtt#Jv6)dpyZn5=%?V%aMe=25T2+i0J9Yx`7dM?CwOuZ5^1MUG%{UkFRa}A?O zwDhA2FsurjwM%c4^&%w5 z^vQtj5FD_tCBr~PuCrF+B)!@>o zq#9~E+nsMzIcu}(K}Xx|>%vf_%nFV$ff_*x!b11e2%;1+(6sgsoJ<(l5eTTxqCB$s zYfPyhhhe5;{UhDZ8i*e^vai}6Z4C$BLufgVO&Db)e0rP3-~B<*fAlqxxNDjv_M|}R z@M`9EPSe;O5+%zd&fVoYjr}pe#nqHC{PyjuE>Xe(xMPIDm{pFGE`>rv5CR6H@AP%Jfm^?rZIE&Qo5Ljcgzb_D@WrRwmi);KueeOsOsDnh4z1eY0rx6l{Hx|&MuhMfmjh8g3i0bGx z4Sj{-FCQENv-q|Q*N14m7}jv)poY_S`*N5|)rJFOG~oe--Mj<{G#n}gbCjsraDa4D z3A#CAz5RxA=t!co-!NpT0F}@PjXtecNDZWvoF}7n<*c-{YiLoew7 z4jcO1A#xl;J#<)HC3&(r6^mjJ7Td004s)x5MP(-qQO6=wY$~+sBtHtn1biMAK?F7O zJRBJgWsjaGqjcqDEVgUE1}e#+N-&PPi4SWQ{jM>rx8MU;5sX#~emP5a5Fu`kWI{05 zP{ZI826oN*e;T1702JAG@{SqIyv6iMr8$KNmBzsIODX9iLPr||FxOnviO_G4Coa@< z(MN%H+j!?T>RHEbn_l#>pxrhi7k&I^x6f_c6Cny?1my!>R}XEWP$r-PFsy(K@1Jdj zNATg=cO-+662>mw1T-)hb^?QG9HUsyW&#R8;#&67e>;07O<5nKhH=X%6;NeA$tk!l z&4EU0+Hb8!@Q*jgPN7`yLpH{^{Ml~dE*|^ShNB=)hCScP1u^LHR*q0Hd zE}DmKPx^m8=)EEc6+(zJ@drT<3z{t z93#*qI|ltnL7SR6NfaZ3f6d(_Og7oBnZkI7$Rl_CE_T1=e=AECrH{&Np*fcjsqlPj86f7><^eV?!3BUKf_xDgk>B~Ic>YQ6TvldVl0my4D-8dh|f zh?H&l>(c~44nR>9MfzpLYoG4MIcN~T;Aj=$=;h51cQ?;|PIRP@7J^52_YtQkp^;1y zL^)hoM(^UcpY!{2Hm6+1|4nBy{*ge)XpERL6f|D(n&d zf;CRsS1H4~^4?@qe}io*jBUtGG_On(Yx&2tOsh9od~ajlRA)RcA2NISmurzi;#MJ9~Sv+m>m*&9^Iio-P*II&;>u(wbv&x?S4)tE0VF zEOw6$)EG~fV4|pPZXUC3k(SxgdAr-&J6TcY8*{yCeGI{2f23V-+1^^-S5}m8kZ=Gl z7G-LDhqK3rW05aRba0m4-_Hn*vqf2;*_`7fzB9RiTf0N~cyKS}&gLf|Rl3fNVd>ne zZu@ClAMHgGmbGpUw~MTH2ojmOS9kaJciZACT>1+q77F|oe40Vn5BXx9*>h(ZjvC9zNTDWeha?0`kY=ha3CZMHNpy%^ zfrexxXo5I(YJYuyUu0!hR8=-U&XV|8W=vX$8IKr5e@sC-t*yoRRchs3Ff2C%$&;o#?L=$nX`E!R@w&zfyw?;Feu5b$>mnxf&IDc#Fx7cX zLN$_7odhZn0nd9t16mQ_CRC6R^&of;t^_vAq>U>WVsJJXR}rL5GkLh1eBt`L47#CZ zao!2ae>9?+x1AsydU4h3h4kwQ72TT3Iv zborTw^#JX!%;dGr8x%fm-L5OD#!f0jsy?IhBT?HlXhd1$HTc~2PKJom%6 zU#F|0Kahs(EqF)vp;>Im?!&*ZW1))VP&DkI3J%i8$8~P1Fq|}F8(Ze#%46!v?%b9% z#KFCwZdJo5ryMtql2+1IOvmlw!HR5~fAz+@o87WU^-es{f|XdO)f6ER6Rv`j0YxPQ ze;rv=d{921sI(#-SyX(~g3$p*CBz+DRDu*|bK#o!84P4Fr31=J=*H->;`;$({SOtN zKYSTbTw3^Ji;Iu{BK%H}&BsS2rzai!-`)I@7lZ0aLXD)SNdi7$Iq=1{7avwoLg10I z@PYZjg3^k3q%?fwS{j!NN{BsH9znXhf8}x3l|~|=E2Aai`_f3{IIt|Wd>AVe--m%R z`J*M1zN*0qgvusLgmaW|;o3}Ht{NfeNO}06L#jqA(vi~eQHNEH5O=IBf)tOb8lfAb zCE@$gNaE{&s?ow9D+eEcpd9|ZvT87F3ez-6Fb1TS?rVS!s~REjNLl#6L#swBf8vqS z@R5gCjSzdRJbdgYc`UQlvtnS$2>lqX58sj1aqo|+E|-j!4`Vgr`*5m}?dq^j_w_fs zkxJG*yy~kPM4PfSO(c{eN!?sI6_@Kq2s%?`B-ZyV9y9xj!sQ zyT%(V{GI!SP#amn0G(qMF#*tqN&nm+i6!vI{mjGD>NUeRYpS+0uMN$gEY(SX6iKE` z5<)bSgWs|uGpqV$U31x9f4MyG=M&r}DG zT6m_dzHje&xt2?(LEK*FpvNVJk&rwjQ_@8yg%s4NNo0chpG@qORAQC|rjf~oGMP+J z{uxca1(}?s3uJ2Hf4KqFKHshLV*a!>X%L4_eZRfVFP}p&?tm|!fJ3~4LrNlo#Uu`a z35Jtt?GHmE#`#1Zx=^Nb2&$~q--JWf(j^Xsc&4p>O5Jv}hq>#An#s+1Jp>;{s*_-D zuXEHRm4*xhNdi)_4pQj^v1yzF3rV6U@quCj1!`iUbdgM@e-y=4!KL3|tW;a-A1k%- z+LT&Z3YqGSrwU>hUU*_bH_&Issp++u&g!HT$J0?Bb^Si8)=2ia}bXp>%Eg zq+ov|1i-_ZTb#I{7;O z7=blJTZ!DdY5mg4Vx4Z2zKwr{_dmA@qw#-c@BdFWOUJP{827&S7&4?0E7f5{a~@4r zy_>Hzn&PLA5hcQ!=!Yj;5*eah6Wg+hrD(zd3)r{aS9)Y1q5lZ-aaATg4&x794^kr9;AcF0I^^ zZNs+h?hP&&8vjVQ?rWirj|Dy~*0ara<#C>R4Eqpz&;;x1(Mj_J8H`4kqc`FC?}W4X z{b+bTJj+*pADnzHp3jG;m*Hty1;f&-kAK;6R}X1R4k^kASk=rS4f<#fwN!rxgGr|& zX(=%#58dT#w#)WyW`CiQ-X=2swa<3=%sh>-L}4md>8=<5CMM3F%mOq~plU2mL!eg9 zx6Dc%e_k*4=x?DhY{PVg5oQ1y-J0zt+r_t{ezkc@YC$ZQ2h|2WbIemLatVKS$VxH7 zwRgH(uG_xNqFJR&|*qCYE!?Y+WWhE|YOf zv^EEZD#B3n4xu$zF^~jXPF?D~=@6?Wv0668Dj=s+XwqfoIVOtTLcb#tO1$yh!JJDNZ)`H+Vrxzo* zV#q%Gx$ick#Bf9SOEFv#{zprTM=)2M+lF0)pS19tx_ul=UGBe(w=YHNq_a>DOP~J`cid#W=X!h0fOsarTTa0D{gxrnQTIN$}qsd`2 z1^E;Z;z3aQT6u^dMF3t0LbOT9*P*bmohMAR(?Cw+Zv)y0L{3m#5wy|BoMw2LFo?(J9|mnyDyQ<-2`%4U zOW`)ZdN_aXbI`77*=GQtWB8MdFxg0iwzBu6WO%@V$suUhog3g#Z)&-5L*MbQEeRqt zs>P2cNXxL&oXY^qpL*8SJr-^GIzNl}WeTqFQo?6;4P3oLQ43UKgY zay^^8yWu)eNDC1MvtK|oMQ|TZ_t~JNvyTDO z3Q5gD+j&{Lbe-jY$u_#u;ftH!Z6kuiqPD;DVr?`|exFVLoe)rn1Jas9kfb!2ZzlJT zI9R}=j{!!pR>9s1ZURmP_+YlJgX!e+1bYvM|ITC4@tA=FERaMY4En4We@;Jqx%ub4 zF;a&QmXoz~fZb5@xxINYRFm8?=XDP0h3 zuokJ6AYuLNpC(V)I;&sY#0AQYmjy&pg?k974i|2h*XvQN%1DIi*3GBacM;(#L~h!c z1KUid8i?ep0rBXq8GyEN!o||9?6(mG^U5;IS8iojIthc*b+fWW!4M3BH0LfD#_DvQ zX4b%kqr+2w#9L-$U#rXwt)phJE>KEsM&zD#J!(Xp{_-yZ|Ts<8sJ1w<)Wi z-RKY@V=-Y!#}drONMqgP&;*2$uqt-Og}I+X=JGmwz)V^!hQlmhWb>r97J|UiL2uk_ z|D4o*V_usb;AYb3N}Pgzf^CcpZfzr%ctwkJ>qBUNvZ`2PARhB|#LnJI)iKTl;A$)a zjuMiE>Gv|7*VZnWjljXG7p7y*z~fD|a)Wu1*GZOF-~B?Eb9(rTwkI^vbO| z(g9MEFM8O1!v@qlQozbL;Cr&(rGBq9$_rTcjptxe2_fT1|Z! zsa}GUo~;&tGw0KCS*7)up%0j2`!)gpU`(t`tdW2s+LfDT|3wO1f2|58kzk^y;>IRv zyD@|&n#=I7JTpm&rNVFqY#^?LF)73MX*J(wWpi?jMT#qlxIT(h43Rk%DFSgP5ceZh z(r{N8Rc5*G`!)@hoioBlTgc;Rb14xe{!qZy>IScWXT7F~#7CI@VEqsi4pKsNACsKM zBvd0Q)sdqD5wQFWXpdHeaRi5bA9bhBz)Fs^YDBNv+A4vxQ3$`I zm4ZWm7(w_aNh<_m&D%-N!#2e2<6cPIH{iD99XNa;dArD-yr-cX0{5ZM61b~ugv5PK z7n8W_MY%2N_C|ctmzK%{3ofN{--5Bb(h;LaUop>S4(y`pC)o_0i0?z_j|*@g@j@OS z5N}^meg{ro$lwF!PTk)=zM}s2aWAdEeJvM%Q}jZNo9>N1MLv)b)g8#5jA)_2e|mAOl*;4$t1*P~MRfmKeUR z{>2IO6~VD18UfmNpq=c<7$8U^GK*pb?{nhciL?A`u#y}1xwV9I$IQ^UHYE-u&mz_3Tb~|ZldZXRE-nrX+_fkImAMuV6 zM8%uFFf>lVs$}Z$?Sx`Puy^V2h!W_(tF~(p2pIpX8-JR+;`-FIrRDuuo-&V=x z%p;UNkc5N};ph_`kR&y~EJ5{z;BGGDe| zclNd6H()xIc7B{pi9wq9x#8<|;lfiDO|f-h`xgsbf8|TK5I0a2b)7GZ8bwnF5;9of zDT4(|rVuY`q?ft8xPEEZ=PF2$lZ6E}J@=a-}hlRzc(lV@jnz74>Xee(d->6e*zv!fKx;h|IA_k;EqS#r{;* zTP*BUcG&yQDA1~sZILVj65D7?wI6MvIFel|e`3#)(~GP(6cN6s>4P;^6SgZtOsvU| zYZ7XZQhLu(i3nIeAR46=VFJOH8mrzhI-sirGD`GyB|{9XAFZniGIp6l-Kst=OPPUP zf%jzz2b%Sut_rsp%AtIyo^G?bKQ7EPLs+vtVHhTIe4v>&2t(dR!Y|9!s;rCIW<3XD ze<&4cU9M+#uc0!no4nms)5g8pEZq3T>q|FqUlbn@+-j2k;@{bgszn`fFgfD+wp`w3 zQ^sj}Q#SU7q-E^}U=w))cT%{G&JHzYRm30Ntv{?c_iHz}*}B1UJw3E{e1iI#ugbaK z8j-PKfxid0M?n=Vq3V%JNn2}1lgc5Vf20YiIV#)H8tZym$Le;phPq@}cSmf`VMpwM z@L^&@sx`Q^B_Rx-&?w}2&tJ;;ur|v?995!VKa%@Tm@_;ReK@M#JkgpfR@;jV+ z@*d~0q1fRZ%J*>AUvbtv##wuu;p%YK4rjm+Vq;Gq6sP%YdJJY;MDvx4_{ZJ6e@FK) z4;qn3L;l5}`DsUkMlmA7ADqPLk{D~o=ZDddg_?9kN$ff502>fJ3|OdI6FH(J#=4%a z(YhU7p>9>q{4bHBUgcxzV{Ai*)qoL)v5Jhym)D<1RLGvRM{2D9JETHs_cNoMbw4kd zDpqs%P_BE2^PA25VRw4B{8awMe_!sBe=h4$1qq9m>2Ko%!+LPPOkP6ej+fIFDb_xhnNa%>GpEZ@Y{%K$M1}x24np z@as)}8#Wx$m@(=cFel4PEO{O=k>rT#(sT1XSR&C;#U++KlaomH(X}Nuf8kt2VjBRF zFQ-dOPx(wbBIWNw$3Hzf4pPAo9Pb{}(>R{0ntnY460+-U1wl3t69B_EJ+CsZVST%! z;_FPLw)gq4+T`BXUyJp!xjkyUf>Sc(k7->EB%$HRPyk2(NJ4fN3b5&BSlX4Ywot0ac!-=p5s8HjuAxVqk6fWlQ627{@RAM zM;Ppz)PH1@q{X)0^_nGu&FhJ~e>HR6#G9^zN~wQCG35sqSlGTLGu;9c-tRvC4e=s$pFEYN zfzD#!cAeHteOHsdwibW)i@QJX1TYLe(W@f@Ev2{G-F^B!^wzNSlNSb2mU@qdaOcG` z0UPkO%Dcb&Qv_KYlbz;$6qRxTAkx!#)>VyWSjnf~3hQYVdiL9}cA@+CSvPJMr_~vfLgyPy!4T zNv<$-V?3D28}LA>5e#T)l=l;d`JNJ{3I27lenm@URL?CDiHj-}O|R{8)8pT&7qzm>%ecd`UN0Iq7B=O4ei5)TqezXpCReB-Lu> zP*}pUUI89W&V>0#h&iUV!gGkTy3T2xLdXpP&UY(daY`(avd~D(M%wL25>gRn>xMqZ zcma|DUQ87WSskEvfC^8Kr2znpmdt-*yJ6LUDzTsfGR}VmILE4+akHW2UL0G`MlBpu zVm2i~Qznwa*f0pE`n<1N<@om{?V2+d<%%+A(^H9e;p~CT#ii2>xtd< zM|_A({wyjJJPBrB+9E|6qbltJ8HQ2Xc0|x@I!oJG&WqB(4(P~h%70trEkSMvK1H8F zh<G0W%M5ibZS*W$~;N&m@qoP43;p` zj^__NPan|m*_HOG?TX!r57dm^o)sw%W@FlYvFd-Q4VVILvl$f$RtHArb+;{B6{qrC zy;FD|j~lhypt1SJW@FoCW7}wKO^hauZM(5;HE3+7vC~*P{r|rGUHjUHb22!Yxo17= zSxa;Rj?X7EVu|s)V5kRuc~gxqNWGDah;78RM5gtyNK1Su)@jwQWMr(Zeg zrL2ZUn*(DBi|raf^+n9>3KU+vQfFnEuQ6&TK@6mBE_}&piXsY89)?N^_?eyEovOLIcxpvVJB6C=EW8%>2qC;LgHq;{DRS@c>$uDz zjQu<$%9AUIufc4R-q2Ihpdu2*>^miMO7s^p*zSOCmM00oWB__jtiz^lM_WPypk2Z# zXhXv~<7%|4spyXz#o`*#sMtN%{Iirn=BT#kt!?D0Z*;Vcp6!`OA>snz=#@#)XHgfH z`FU^L)M7=(%gE#yPQku(|NO8F8R6!yiTvO3ys6KjdKURSo1N)=>=}^xVmlp>$le0A zKYv`ssyL?uRNo8@<$4u)$hRHl^tt%bhQ;6v(6i1ECmsS^E#(cYie-5F=sAw?9@QR? zks%&?ZCq`n_u@Q*zl6mK{X?UHcFS{ z6pFCO_LQ5M^~y@bg^oN5$lnApHilZ2**6sa1~>O^P-B={j-=$1+voaHLZD`i;`5wn zrD@^9#37oE{bC6j@6k9)%abM+y7?jkU4sVDBC!=_2Fw*mRgKI$#vXalVLQO4y}7m0 z6!UN=%65*6kN)-$zQFxK5eXwg+DWV3{-Y*p=hI4h+~HH5Zc;h1+!N2H^Ea;*^6wX?l7MqKfpQDF^Iidz3C(V;hQYQkUW@uEYeBxm%f_$Y53MTO z^LZ_Asy?d11QRDby5~;`FFwBKrn7T*3QR2YI@aDEnR(@ik{GjLB(-P#%IEWrbqu99 zmSx})!jQDcvR+zh6t`U|1sNjJ$8_Pq_Nx&c4UT1*eM}J(9NL5d3*}UDWSksQp^n*# zkdv9jR7zxR9)`F^u!3aVmqxYgMwYw)FHl5l&iTm1kf>+52$Xc$s7s5XKn?M~OF#lOFZ~l>3{H z_pUtI$UVgVNHAo{5H8KWV>nE9WP6Ox~zWPx&lSt#r#n5#90Q$fx3wwep!6X zf%al1zxMU=+n;Z?S1IgH5TnC?o31|$JdG*NY4QWBv9l?6<`7>vFgL6>RcnWKx@*Mo z!n-f7&zDwY^}GisIXiqOn4|0 z-KKdE&KBLSo`R7Ri}{Lb2{-P!?=;8snf;73M3F*e*aRlkJ?yf9D4g103k_;aP)W&{ zL=CPe&^tOEAEnZE<&DmQXS$NVIs3wPzccVgj(T5RQKha7iy}P7SW)%?wi&r)z{Y2u zxle>|smMfE{18oV!`z|MYfkCBm6g~%lDIG7`k+x(y9cI$*$21n?^WF$axv5+%6UV%tn>*ROHxIy>*fP-#XH|6@A~Qs08*7uN=dH9}0wP z1K&tXA@NQv)ap8(JVJs(u4Z-Ups`q){3*U$1`B7`@1*=`XT0#!^J{&4Ov&l$XxC@> z*+%(_u5zUF(4A^X7^4hC{QNvw0JW!bv=;=#e`bb(|1-F`mV)ThE7wM!PPvKER50sn zKC^RTXCG4ZEp>VWy9?~;!RlKp{l*eExzF|+hxmH(Ev4L%K%KL11XYUi0a`0?>Z z%sN&^$DMq$^`)Cm)rphy=F{}Or>}>$7${Z&Cljrpmgw<}l8g^{rE-GoHRKhRfU$2M zR&7v`uXSnUotxC<^&)~I`o2@ml)PxOY59G=N}toO@7!(&K9N3kZ)>Zs`?QG3MpFwq z;3tuFyVb7_eoe+IdNZPK148RfxY;|L!CY|_ZA$3y4J7#OgKZjbUI2Xc1_eZjg{x4s zQjP19CEkBe*dGme7zkHr{ZZQ{kOi^m{+NEFUiG%1=(mb%XD=#NK^;2oziV2uKr3;Z z);s`TaR$3j?A0e)Q9*HcG90!_hw=5dsZZL{c!-t+^Y-U(lSJ%3!ouj;AuFsc>@ z+}a27Y@tHgy5qJZ;|fl<^~!pUkW2SBJoA0p6CUBHErG$U?wEyHQ8caTjMd0(q`w{l&IAXWE_q21&X13o(b*bJx9K`Z zTbd@DsyW>FsZ?8e+1$R_-hgp{SIcW*lN2O+vIjwLO7wCt`K6*{MLzlP#QhA}lVZZL zuo;{iwdGd|vy{4^MGYiFNZYi!>V;O93=8m!HcFEs3P6qKbwlEm>MQB@{B;fB6t+kH zOKJc#Su*bzes25OxDy!%%K#O!C!$qsq3Od;QB1`jWik0$XTPfTir9{5O8ILrBwZ0b z_7h8B93p+W7E^jbRqSXd>FdD0SqQ-UM4>N6#9noxx17Hn?^k zrDFyhi#q;G)`lh%U#KVin`)Yg`eF|~-jWuR1!8d9x&KJrn{o@!5u376e`x4cS_@&7F zKA6bxc}4Z43O6wMOP`BI(kiL}R!?5Pn!1~lhSt$n-__o>%SN$XR^kE5Qa%}@)w*&S zgNf{DJ0clf+(OIV)8nHHD&BFBC6o(G zxI`&p!NII}Fdpfl@fwOS+1gW}E^4paHfs-B5o}>Nhkw*M`T_c z_@ZYge1krUOqpQ9M?OP%H=;u|6mtz1CRKq)kPN%)a2+zR6zvdV$OT-ri^gVMsU$X{jwt!LlIxa$fE;tD9VB{D8e+N%mlt(H!Pb6MECqFcuvB1Hpay zkl|Ce84LXae=n8vPZVJKm>W8C76T&CQUrWZ3Yg__Cpp}BpJ-@M@}}En;O7JssaXF%wUU6w{zl6 z9glFN!i+I-`OSZ!3aH!M1}_%lj5{ofYvk*{hMheJ=iKO`P=#neJ85Cv}^fW4N za`4z|LNMm_X#zY=^}SQ52%;3D-uh8yAlgsp0sEz z2(B$o&4b&Mj=j`mN4HgkkPceUk>_>Q>^sV%Ml_C5ePtk zLJygQ669;EvbN#V(o53!GAl_}5RL=c11HYbXE-H(b$)ktuz9f`JmvS|bAQvGQ`u~O z2VFd4u-(nnOV=$MQVZ6C#BP`^V?o$fqKOhz^K}DwS~qD7qY6&{_UqN}@#_;~72{ZS zJC)5hHyC-OnC*kjljBw0$+41Gr`?N}mY^o{ra%S$#4o@_)k@nP+6x-j029@?AH_(s zXE$$R+La(v!mqGS;QFz)4fuOs;ib0D$UAZ0ULf9u{I%Wn+@{CX!0qI=i;t_$@DL_2 z3Z)Am>jD!_&M-L|t*O*_BW;>YYM#V9x$7Gq$yz;T+>=8OMbI!LA`6nAo&FtdIS+pJ zx>(+ngG;Brt-y2VJw7FO2%aa3=w@_oFTWAzlqj zl%*N;Wcny!Q$OkLsomtQ?E#UOKhlX;6}mf+=spb9eHhubn}0Iyh28+&^%R+Tn)6d@ zvFxX%7dZ`$cxah!Je*xtyy=u_fpC9$Y%r-pn)~x&B7>4p^0dLe@tqU(eez@#A}5S4 z&5m31JaB*ut+?!>v6lxuqR`ZxG4q+wPkDYWIksUXxC3qz zna~_*coVSyj+bSV{=R^G>NJs2DU3LA@#g*UT1K}pJ#gTqQ*LJuPp^bd<)*;t5OEVq z+Q%DfWsnsTyeAYcO+0EPC4#6d_ZE`Zw)CVp;o`_B1mi(!g4;y>vc!UebD~BcPsnXWk1;r7 zz3A*jk3lKOyG`Sh;CJJMpUy4ZqI^vMBDnQmVDMggvo$qEWE3y0zB0K0U%q3sp$>j> z>!vn7?LYSfb>T0=ih|xwO z9!WwA$xzUggQ(Dpy6Yk{uB{`gTfMbzsFWks49^h7$4)lZrI_9Dh|!g^fN$v|m=8yL;0D(XPZ7jKk17UO8eJSuqN zK|dVkVT&G>vQ0!DTl{h!-o9ldc#~eKiV$bmK()>bHU4F*QZ_8AQr|N3UB@x-g}o1l7p(9`+Jh<*-T$1F#c+$e?Ss zvAJZ?F@22=Rk2~&sigj#RT=^5B9=WunpGMGa#hWiGAgkq30+seoz8B|RK%dUGo{dl z+&CtN$SDsJxDaURkloZ-@~6cFC`RyDVOD|TW02fKRpd37 zi5=b#NATLAQ2{@T5s)yCKmd-FX8$0uJ&h2gdaTWz^aSGV{xuTpv^;H`#54wm;3Kj` z)|wyajt7`$t?zYnWWVStAI!TdE6)&&cuLIHTTwt{Q5S#`a}>XL7NS#N6mU>A26%oE)l z?|6eynkus#$ zR2L#C4nGG06ImT~0=KZ+P4VbL42F#CXjZ4{Y`_L_2xgSagJz+@nR9gRgpQEC<+P@@ zSaEu`zn`*Pd-lksuEtCKT1pl95T<+O_2M~1mtV^`as_#;^V7iLRYS&+&!ek23T z0XaVKP@;lfBN7N>)zt>=>go!lGG*V|KZru-;X8oPISd=5Tl^!}*5ARMK>A^ec z2W9dNN1f*NB;`yt_KLnz)l{{iVogK1+-(h2zjMJ|=kL(w5DwpJ>obIuuN4NtwDvc? z5$mF(cF;a8bS>fWXgx{NG^3p+m0@wQbWtEcTq-v}**7?NT&ATpS}wMpMolArC5$C7 z#)_IiKx8rE9U3nyi&a;y<|T1s;geiJc1O6EXC)Cs1X+I8P&iBaO!Nw-KUy9KrA{G@ z7)gZzJ9;4EEm8^C zezw+#)@`)OYx1BpU|}W)S!v(K(Q6m1{J|uvT9|kF(z@e{+KZ2B1ZBMeDl~6THpO)l ztyyw-+MxZdqji+l*$Xn z*0McmE^qfbVyh=wgZ9n2HtOLIbcOa}{J{z)Ao?07j6o{(& zr}cokCt0o0SUWi}I82Ipzrr#Pdlw*}trZUVuu}a#x$nxQtfB_=s#1n0jKYD;iwtWQ z>=nCuKGg~T?k~+h8o|1{LOTm8j;^X3%9*a4YZ!4(F%2_)`Q3U!h`&?N$xnA89mx{~ zqzy0+dEGvo2onl?NBGZiojd4DYxRP^nhSo@sOqb}Z0gl|$YPMq>`{PxjVq2;-!q9( z#rN#ro)(3EGMaG(7PGy8m&K#qi_wHy*&D?oR z?a_}}fW4yVFdnTF@bJhz}qIpc1(~d=?(5Z1QzR2k2a#Q&vX70R1y+| zkLq}YuqHLK-@rAn9xAJf3`|IBp8Civ8FIjgh zJ2D*g&R=o}%ZuGvdK&7EuI^aXA5tRDCd9f-Nv9Rm%&3)rN& zjrXLizLzD)oJ5e|7M8(D)15(V0`jmZKc}7k{*p^%ly7W?bTw%aMuQ}ZY5)1oJ8Q=N zpTj0?=ZAN+V#a4aXycCTN}|>o&`y#WhLK#^wQFNHP~P42@t#uYqb}s;{w}?hrjkv% z;Rf@5iTWRDO^I;T=w#&0S8z>yMWRug zcDb!+L~Nl#G)yO{Tt;R40IiPQ)X)J4KDk@~KvMGE#ItYbdf}gZ%2i`L*&mcdHKikc zS;dnME)1v1j!XX#H3${0DdPNX2~bbTZDmg}I8nUm>|{^>k(S%uB*NX^2We5cNBJ0j zkk+qD3|=Om57K%}Endp_AT6p$jJBkIphahVYJSg$umMX3f!qhO@t}$Vy#QzSu^VX% z0Z(^h>O@RUK2_!K54>HZT(&73j_tkYp+x)NF}$619$Abp(1|4R7cxz&gQCM}gFC^`UW0Tf`7%dO(!ngL zGf+y@IC@$y`Vj$H80n!;x>Q~X3t#Am_iti%Nj0udk@6AsZNxOLSJBK1;eE0<%(t{h zk@b6?n-@$1>M9P9Yv^J#chK(x$E^g9x|iB1WWFzkBbHmx1Wt3T`dO@0)_eSxg|x3^ zBw;j1s5>hB0_R+HfhY~11L>B7H*Fa~)_78?B+$7mz%oUpN(H+n}6dIT>fAr(MMZM+J8{RQ5v1R65Xp%KOTmB2qAsY@w?u(E1D18=X9%Lhb8Nv7$oO7{P z@|M*>H*6ITre@OzmD>acLow}9N2)Pkzi`{R55{#R03Hnk^W6N{@&589Q9nwLe1;#>sGW|`(m^z%#2=CLA%&4{tv6HpHZU4 zp0JQ@7vE4!PvJL6WcrTFg3H)v+I+VK&})hrPhux9(WJVsp^2%UX;tUsQ2}?cC2W<6 z+3l{Y>du7b#S($uLj@0TYAF0-D7u}=LqYr4KDcc6htv{-vkQFr)#d=dd{5q4zVz~2 z=rsqboC-3&gBU>ld5pcYW%7sF8MB;R!+Z-0SOfW}UrMgPElbarO zFgI7pV%!i6`9H8~l0ym^rXgZ8tK`iqME@4*t)g-A=l)<^w5hwipPWQpJ$wZ`zM_i! zINkDkEP|w03g9h|u~jOwuAl>r8`%s+x3}$FhZ~lfhu|CnCLEkWZ?@azR$FV`=82&a zl6@dNJ7$}del~Yu=iIptLvA=){qYr~TJD0V#0&RTslnSOUno61y#;G%Z-t>mhHeeJ z=Jwk>8|X<1l}J*l)x&4ktF1Ow#noTJ+$mgu;o_$xpz*BBtmbGpD!Wo%-tc7f5R20W z$>9U4qGY)KgQ{>?31ewVG<3Eot6rvHM((8)SRK4@FPCr_6zHhwssTtv#qA;kM0Utp zVdZE8_yG%1Pnj`JR&astdwzDu{)ZFmMy|>X65}rWjEO9x_S^ij)#2Bwm46h;vWMAu5(K{RY&<9m6uufiSGI>C!F?OYdOZ>+NC*1Y5LVEdPQuX#uT- zkI~-0z;DSq>yRyC7-D6geQZjo>Wf_+ zSGQl?3V-7A3U_b;?#(^#Cv>VvBUF=%rk(JLFdT7VCsF0M`zW7K81=t@OB%PN-O162 z2=B%~t|;dsj92_cL{?0W_C2U!8?cxt;v6(`l`*G%vz|IA3Eq0pOxwJ5ETPzVweh@v zCIAcIBK^Sw2`f`@`*z+>h5v19AqG{VEPguD(}Bn_Jpl2kQLmxJ8wkq^IV))7x}h^S z{1gcp2NT3+GN>5&{QiEk?vvN3dL=2x`i%S@K$Cn{k!k$1#jy~)mW|c87oeYxq7H7Y zQBH{wPa6+UyeeMe*Qq|N-&H44dvTFb&8&{BYrR2rM)2whSb~4N#P3^U1*TTg zl*Fd5Unv4QlcsF!&YJd#4iMC%bUCAJQ#$-gX1;u!XR9FAwYrqBQ$w?mo5<_yIo?~D zz+ZN}*h_I26X3y<{_J=&^W?$8Iaac3v@1k6c=|5Cjc=OGqZ+~?v&qGiJGeH=7~_^1 z%N)y8s0^lVTv$^+Ja_c>vrqd9|AE;z$)C>KRcxXqit11+Z<{N`OTcRVa}IXo)91}W zg|Vxe=X3{LydSvA?!j_Hpm?hVB%EF``w`2aVLV!)NgYBMFrwa0W8U%NjGp)vhKdfI}VD!oaFsxkO>)x^|(u) zih|Ak9uZfK=7%2I2`k=pPUFLnn*TIIth3>vOiP}(GiZ(|ZL%!tr)Rof?SxSOxSM~=?h_#;87;G{udN)mK*-d zu!$=xP=^r!?*q_2^Iv+eZe!RiO0)e)C4zG9Mm_nVgbfA07WwCg(I+y*T~oDjhLRT) zXJdqiR2Q)^dmJ9-Pd;-z;Grsh;k-$&0(PSB+l55nip5-L(p*ek?ep*VHy@{!lyG?i+aEx=WFA%x_&phMdM`YT z8Su%C_R4oDj-9wCYuuCQ!BH0$CZJ?y9s2FfgN0~gSX52X<3*nRQ)bc0__sZ1EgE;$ z=-}ut;3UB10L*2;FjheFAbNj~B%uMM$Z1*amWhE9q{!tc*mePcV*sgrs8Y};`ED;F zo!O2vVC-vVil7EbDt8*9Bn;~_J@V0G4zp91p+s@?CmtoREgS@|Eh+YiC!ex`u5p^_ z(+UBiz;Qjk61s>cHq3g>0lFJvfhY}o0d&KKc>_@W>Q+M4%y{sC)lhJwIn3^Imj^i9 z9C$HcnDClS&Yiq;cIr;qta>ww-&$68^I@Gx@_vg{{>_w{aa*#9P2jxp)9OBZSzUo^ zM_HeBbwyDXVUnsUgRDa<_$pK~01O4&&eb}t@auc}HK(FS<)T>EdGwcNx67QD%dh-* zv@rmQ+R9N&ZNl;Et|aq(q&UhkhLL_X6*<1kQ-`wvCXB%LNVD7HfI$-4hPJ8={@C%~ zj;hl!;ToCW?vSDxOW-`RH4-X`GNKck7qLCyQd>y%m#W$Q@BV^`77A_T|Jxj>`7} z@+vEKqM$&eI=}MBdi{fRvv6T8Ig)utkxN<}7ld6ae5V7wZmF|mS z4wi#hy~%mp;~tHx+tV$A2Ny(ljBEn39)pQ$T;EW#Z5s;fQIQ+*P{JoXjxsD>jTHTp z^_XzsHGp;FSwEOZ5ofKdu=S5*K6cF??BW3 z7wpvU8CREQ8%j<3Uh}^B^USY&>UM!nW}V=nRGPPPE~kxFtuYN&tkHSgVD4@AHH8@h z96jOv5cJ=yP51~KIICqJrL5Is(9R#CJ4q#w;r*x``Su@#%n5jSz?^)AFlJGNs_!&FyRAmT5E43}Cl6#(CVn>>oFO0SCVdo;&`C zWz3@E&>#}n9!2weG7Cgiyxr^NSd)WHG7NgOgZQWJQ2x(k)VOo| z^5@{B`DSVg@O$gCOs6DbPC7>dhA~P$vg*+aI$X`+^2-|Xd)X6kq*1ZPq`Mx|6)mEG zojp4ZtV!nmvbCScZxMx~l#IVl7dSg|ilzOU+c~*LyIdIS8SmgX_dNH3*W+wpviW(f zjl-a+*+a<(8F&l-%+b`B)WR9LKKY3;um8^TXl|^j>#>U^f6d}q^pU!NuBrKC?HW92 z9kNJ-tNp@l5X++%^tI2Y$HhrwKkN@+hm{I0*p*Yq*7{hY0jYhaehwW5%Nek{bui{= z$%9TRum5xHq^*%Gm1IYiatr;r!u5!hk#MtYZ`JMoD~A9Ba&l!8&dak=)h`ZuT$$rN zS@ov2UaoO*h?_SyPJ{Y7uidH*`13rLE2`O`p~nz=-vNX#eR|QEHUt;kpm+-r&y3b_eo z>I|WBH}giFZtjfL2j}Jnwl6UYvc!KDTyGZ0{hUCgqui z&^)(NGqs^AzN$TfFH6XvfqrU_vAgk&+~-l2U~QDy5Nuxq~qAclI;(CqpU zUYElgkbc(t`~s0Sh-k*`gYr|4@kO;IBoTw6(_tv$N|m2h=gT2~RR|zQG5gxVLetEd zv(1K9YIg0ANQr|l1)gqfeOC&yV^{Jo0 zG0q4S{a3j{#hjN(LjHr|)Pk_hCMRCHUsIgJ71?gHaY-X%FD8-8CLyiz&Ja^N-99dgb;oj(@4s(B%Vh}rXk z;bZIOq$B*e$;ZkU!v2^)J}`o8-NPdVoZ#JOOW zOKmXFD|mA8ixHM|5&$QN-NZ|d-t!LsP|bv#VjPFj_y^VzM$ef~EtA7qmW>@-rm#fg zeIR`4rbYjrl*th;7W*H1wlW&Z*e-C6o3u_f$+mypF`%2M+qe+#O!u`$*b-7?Ed+Ei z;Q276Xa(&p`iK0XE?Ydp{YPtR`ODZ^b$n8x}U*0o<4o z%lj|28)gD?Z%Ov{_XfO4Dfm9F3$!lC@5D}tP}9lH9W!736^h52j;T#QD#H}VCnE$_ z7FB!g%xiMChQ^-zjW3dS3W{#4zJPRYGQSjhz+nV+kl1cKpTW^o`V+jdL=sK7C(C0V zW#wv7SYds%5Ps5EmeUbryR0PII52x_@ol!XL;idCbk4`mCByz<6pC)y;t)B>7vl!T zOe9bgVu?|H6K8%|--CpAYX)Euh*4-UDU5N(_8$t4>*-Ta29OcD24~oEl)Kq! z!+O|Ww%e>u zNDiogLe(BMP^M&gggcc%&Mi)H2~0=iYwp+exi{-uKHasb zy;xduKfpn&L55Qs0%lS_3IjvFY`e$feQuK|UWBeu?DwErU4kYJE~8>FQlO1XycU7t zRe_3SZ6!I~LqOorhZ&Q9eMGqK!#EpjpSB}}<{Wo~LQ(z~FFjK~=?ws%9|ZBAwBd@s|U z)dr_0P8E`D-a~&I4~W?$5fvn|c9mhg?3O){U9R$5@VqcPXJBN2V5%agPn>P`qx=0N z0p^+y>^VXFn*TGHU|x=PLfCb&UG?w5^|AhO+M*|XgS#T;h@MXmeRqmf&*e{fCQt%w z3Bq}wocqE}cOpQ-b;)W~`|*Ti;bZl0_I-|nXXL_`XyZ0rs36&2JTv6^;V*mVn@=j! zw@9Cg-mt&Z*w>=L@s-A(%tY*%lfS|`+ab39$5pjApcExr2wFf_%XyXSUvYs8CPMq?c)l;{+?4QZ~ zf(!sojWQXa1{b@)zo7r**p#`3ENOPNHz~M=49lQy^L+2c&WXmTudn~&Dl9}y82gh4 zl12u4F*0)Vy(b9o;W!0MqGK)yn%99DMKus{zvVp?nOnu8~hkDyTVa95&*U(bE|gISeYGO#5f4J8 z`G77GUB929WD<^!&E*!8!uyr_6P#~RiG%s&C!;@!JOt??kL_IT9lpDsF(`B`@xH{S zpueAKxWB11>S`4o=j;Pny}(Wv^#Zb<80xjwz#VCHd4w8`mBSLs;N%o zJAnkHspRIHv1^DA>Pq@YUF!8k+t9m%%_{^K$JWmExMyzaoWs%^5(0% z{QlX!UUI?w@pdd2;w1wVx9C93m#>R@543#}p2rUn}-Sjalh`MpgfeOpRPh)`Sg&F0Br zT>JP7`!PI$h%RajYW6SuQzXaPm{sU>Q1+kzLOM* zWk}}Hj#2(_?_|CNyk zyZcKtkjfDs!kNtdIB`SzaA3<&DC>@*u%W&>ve&vxwnRQL(P5B^$!7PVA<3tn52zVw zNO8OL(Dv$86Cy#dPM|EmYk#>9Z&nA1eAM6&h{#)mb>UZl4a-KZBtIK-~uhN~Mu*k#M!(;q4966?_kA1Xia8KlE|`zl@q6Tln*0E>HO_7-EQ=4i z6QJoHzHH4z-hSS{2XSZIll;BUe&i3B{No4Hx%>9+bj@qtq?$SGjesn-(*3FM$>Rgd zSh^QKWmz8y^Zkb8swhtgVFiXJDZIlwfrlvOBK|rbgsh1>lxMHov*WAdTFENK z9_L5G!0yULRu7aW#v_j>Z6?ceqUS`W63e^b&C3)i)n1cg{>W2a+nE-(2;31)Q!H1RjQ4p&Uvyzj3j*qqU)FT`W;cwBv zYP;M%(u~;Ja=vk%_GHfI{yh~I&ZnI~`b2JczdKJdIEfhY>A6zsVWYyB+SX>;b2=9^ zliOBc-VGfB$@Ouvt!zxPS}s-wk-b@3iKrYre3Cb5OtR3a=vb7^;1QLJ?{Uj_J1*Cmv zTExcQtPo_70zU=BE?a9+`*KtXN&lW+!feZX_;epX%Fy&q{fI^Bws(B+YvB3>EkDZ5 zh{jcW5&6@4=OG3f*3ujloLeaAC`C6B6@cPe;5`=tYD##17TmF?!IvG~cPM=YuFJD4 zPY7`YdME$bhrim@KkQ(&owmTOsNOt|GYs6wD)4n$_|5-zD^txuP|PvfhOp?Zo(sH{ zz50uzE-2PhXc1j9RSQlkvT>OGn003Wi3(>!!sDCliWrAE`?%M1o>qQTUuhSNBZKPTl1JQwWSCfcqRRb9vUb-lIj4`Z?-0GGqOFU89zpxdtP$xX}Wa z;DiP`QP_KVa`Q zX0I@$ajtQiDo(h4-S;}f>J*P$L?Y-tq`zqu`3}J>3pP+Y_*xBLSOcC8JoHlwu-|KG zv$t-*;bi}=0X^%a{l#CJIA)>t31@87ZP;J{$x@3)J^@O76(8!+Jzuejg5Ozz&uR{x7MOFlq4}}9&&=7Fns-7!v#E+L4+)@<$PGIp zIrmV~{7FM_1B(9=8`#Q7ntUfohHbXe;rOvsp~c?4JmET<(B%4tY7t+Og2uyCnc?U2 zycFMbh5##(uJnx#F58CqhRJgA<2Tmzyn~4V4WbKw!?PFTGww7P`tLKFZl~Ktk|MX^ zi1qcJHcn34qyPn#nz|F314!2`uneh%Q+W{c7>p`PGk|XHHrrIxZ~JBfS3G>Sd!xu( zcbRdYUVnB@D`>QfOw@!YgcdQk1*iPNm!S|AoW8F9Taw=W_Sd)1*5t3Y3dp0z`U@4U zo}JbgR!!E8QTr2z>*~W~?%@)P<(`$#s(SCO+UfMF^!-Id0&iDDyS@kbnI>?O!pk&? zCmxld(Ll5iPab}L!?NZ=x{2>rW8smZjjALh8k~GrIO(PPOW@lyTBwjQoz)am@JKNQ z-dB$<#(Q+7Lrjm2KXPto{(T5a?73n>t>oNBOVkjvlylh6wzX--9mKt+iZ3 zHZ$CJx5PJv*(Z2Ym21#_7KF*+*u?|nj`p{S;{X}OLKU6qY`WQ45#~s%A^ppGD|7u} zE4$5f#~EqXJ~@MhG{cE027kHKBZ#{2g;G(>nfwGxs!|iIh4NtQ=jYH3iB+8T4`0+P z=Ke#?HK>hhLgC5``W+;UaXx3~hcq2ytk``T_BWePH8wyk{(JyFuD3r~!|do;*rc8B zhzsCevLDML|Bl-0^Ggc+wrK;ZKnx>}Xzk$M5B=t@8A|4r6JxeXBfsxO5Vq2GywJP% z4)|IXb>8?Hj1u}|aGS^TnHG>u*x^F!TCCn`qBQ<}Oy6ohJ3Sk-?1$9I8q@FXQ%0aoFZyFO zA^Km?lSd86_eZhfQ5{H;T4Q>6SyNnaX1-FY{_J7(teOnVrqCE{254JNj?ph(UAE(k zD6n{bzOj>YNW}cJ>Dk1AX7AV9`S`J!AjC)7_z&VGZzd)d?L8X&HM*mjc4`UvlMp${ zgejH`+kQ&UW-xLtX)V1pV98DyLqXNVeZ<$rYG_{>J?)?0lpL);-`oGlcl`UYmEhM8 z7<~uq1TYhE*JTZWA>y<#Wfl)}HWKDO5v|^4WGjJe6#D#OI>nzR+>YSgGz>t5HKD*JdyMl6Z>S}?YN0|!$qsg`e0_HDrik!bd*$1ct95` zB!N3j0!?y2YI_r)pTAKf`B(H>K_RoGc22FkhXxzRY13;ujZ z{a^y_G7k8o?pVV{?TW@^){N?Vu{5`0^x_XQ^YArmA0aGtu<}PgS6?k2cSTFLr$_M|xj^FF*i8Z_5zVoWvBw?#=_SW7h*A?GK+8q}EP2yU{MX4naHl~OaN zr#I)kE0()1{~*kr+&aPxLv8bN|RL$xLdM1u%fnZ{E`M%)OH>IHJ%v+!-I!QeB|{H zmN}WaXgz=kQZJPy`48auUu2KD>;j8wS;8zHtZ4OcUg`t^LM_bcnn_rv8P35ZTWAIs zza-ibanB~lr%zR3Q47p}VGESoe^9W$QL+i(F+V-B@UDUOY56=VIAGjDqBhaDTaLI= zre#SLPSD7}Rx#oK%>bfN_Ik9swtE2x{&mYq$~ky5{!cHIQese{v{kJ=2tGN!08=Ok z!Osl~O%_FT4UOe z$NsV}uo?RMTJVl+eY-Y^{RZ<|?4_U+c_&Go+kNT_#fRnH@8+@U1gcgnA5@S7!uRG` zc^vay!kHI@a4gUOhoLL(06;)awK*tr@@hsDgk;u=T;XGOA65*$c3J3saW#EH`k-t9 zJsY>S`2%>+NgHC%OS+h=qAd`jaVz2%zh-?x8b2lvF-ox-g-u}srgVwYR>LbKM`*P5 zk;|-hF&}8>b?9yy7w8kQ)5}5!?~+RpPnI6PgK!Fcfd_>R(hucS!268@W2e6B_R6`f zW>;s1jeQT*x!YU1<>{VX&`4)Y0Sg9=2p-2ZAsmE;2H!eGs-@9y~h{Us>G0`g3OqJp-G) zz9V1V?kgA1x7!wg4(GY-U+|4WBKt;s@cxuu3H>&!7k24+Uaad(AUsfQSAy0%MNc=Ajr{KAn8w8LYY{|(K#S(Q8|r`Qs6#D z9}ufqx%X1w-c|^Zt3v%aynK-yZa6qnfk@x@s%T5Pe)nvERE}FySpV002%!P3AZYkT zLZqKAY=6!i&(i%{$$E{Q^eKlinV(_oXmSh zV;PRTd%2N>sDx>#1U{{I_-Y&+QzueA^|I0Rezk6I=zbAD`3vK#a;8x0+b?+SDxz+* z_3dVt&rpy8oNygiSn-GHYmhK;&$(qndV%*IJSjIxd|)pS;W^>C{g?n%)T3bod%6EX zdEThxU4vnzQGJVjoqH!daWg!x9bCtUXvnNs9^ZP(zLF%304%!%#ZjxQqIdW4w)waU zXA*3p&vQ53Ne(MNO@xr0E@W6b_eRQ2=J(A7>EdX

    i%EyK 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⩔{{1IjlPz3`at7@5zy^#^zGFcxgVjL;^m}H>n5Q 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%0DkSz&GCBN<)^lN$zglZp_dcta~GZ3!SD9}lf%xx zcG&f>!@xTo2H)qf`*RLMpK#d2*6@2BMn2`R_gfD8*mtz#aKPQL)WOXThhFfU1t7i_ zCQvo-SDuHx1rKYneu!xGoK z%!yy`c37ErxUqi`{LtYx0^~)%cX-JGhnG$|+i` z^$P5HC6{p5C5O9@I^4reeAR6Z_oCgmW$*|D(1Rt>TWuTJffuo4x^c z1D+9OExpoTN3T`f+o2_vWc;cYd9uuTmBmJ@TF*KPSc0;80I;-VmE2#|>Q7dlt!j-c z5xc6@kXnD1%o43t{sUGCi&d?L)Vf!~VwJF1B`j98B$BXL)hcBzgVlObt&8NYt!k+< z%ez*2ja;1pT0W}vv0Ajuo5SinSO8kItVNVsHL119S~$xBpH)`dth&FB%6`u(9^wgH z*>AuH2@rrJNP#q{0F_`3r~=iX2CN0Opbo49^`L(NG=e6u9&7*`K{IFpn?Nhr47Px+ zpbfNx4$uj@KsV?C+rW0v3;Mtg&<}QkU0?tVg56*U>;c1I1ndR-z$n-c4uFH;5EujF z;4nC16>ogp-O0C4dH)X-`7)^rWo~41baG{3Z3<;>WN%_>3UhQ}a&&ldWo8OBHZV6a MISK|PB}Gq03V)S09RL6T diff --git a/haskell/src/SwiftNav/SBP/Ssr.hs b/haskell/src/SwiftNav/SBP/Ssr.hs index 608dfa9f84..d7a231d64a 100644 --- a/haskell/src/SwiftNav/SBP/Ssr.hs +++ b/haskell/src/SwiftNav/SBP/Ssr.hs @@ -256,8 +256,9 @@ data TroposphericDelayCorrection = TroposphericDelayCorrection , _troposphericDelayCorrection_wet :: !Int8 -- ^ Wet vertical delay. Add 0.252 m to get actual value. , _troposphericDelayCorrection_stddev :: !Word8 - -- ^ Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - -- value/16) - 1) + -- ^ Encoded standard deviation leaning on RTCM DF389 specification. The + -- upper 3 bit are the class, the lower 5 bits are the value. Standard + -- deviation [mm] = (3^class * (1 + value/16) - 1) } deriving ( Show, Read, Eq ) instance Binary TroposphericDelayCorrection where @@ -308,8 +309,9 @@ data STECResidual = STECResidual , _sTECResidual_residual :: !Int16 -- ^ STEC residual , _sTECResidual_stddev :: !Word8 - -- ^ Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - -- value/16) - 1) * 10 + -- ^ Encoded standard deviation leaning on RTCM DF389 specification. The + -- upper 3 bit are the class, the lower 5 bits are the value. Standard + -- deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1 } deriving ( Show, Read, Eq ) instance Binary STECResidual where diff --git a/java/src/com/swiftnav/sbp/ssr/STECResidual.java b/java/src/com/swiftnav/sbp/ssr/STECResidual.java index 41adcb820a..d07c53e31c 100644 --- a/java/src/com/swiftnav/sbp/ssr/STECResidual.java +++ b/java/src/com/swiftnav/sbp/ssr/STECResidual.java @@ -28,7 +28,11 @@ public class STECResidual extends SBPStruct { /** STEC residual */ public int residual; - /** Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - 1) * 10 */ + /** + * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 bit are the + * class, the lower 5 bits are the value. Standard deviation [TECU] = (3^class * (1 + value/16) + * - 1) * 0.1 + */ public int stddev; public STECResidual() {} diff --git a/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java b/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java index fd9be6320a..fbb7ba890d 100644 --- a/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java +++ b/java/src/com/swiftnav/sbp/ssr/TroposphericDelayCorrection.java @@ -28,7 +28,11 @@ public class TroposphericDelayCorrection extends SBPStruct { /** Wet vertical delay. Add 0.252 m to get actual value. */ public int wet; - /** Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - 1) */ + /** + * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 bit are the + * class, the lower 5 bits are the value. Standard deviation [mm] = (3^class * (1 + value/16) - + * 1) + */ public int stddev; public TroposphericDelayCorrection() {} diff --git a/javascript/sbp/ssr.js b/javascript/sbp/ssr.js index 50d7528ea7..bc82c459a0 100644 --- a/javascript/sbp/ssr.js +++ b/javascript/sbp/ssr.js @@ -266,8 +266,9 @@ TroposphericDelayCorrectionNoStd.prototype.fieldSpec.push(['wet', 'writeInt8', 1 * Fields in the SBP payload (`sbp.payload`): * @field hydro number (signed 16-bit int, 2 bytes) Hydrostatic vertical delay. Add 2.3 m to get actual value. * @field wet number (signed 8-bit int, 1 byte) Wet vertical delay. Add 0.252 m to get actual value. - * @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - - * 1) + * @field stddev number (unsigned 8-bit int, 1 byte) Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 bit + * are the class, the lower 5 bits are the value. Standard deviation [mm] = + * (3^class * (1 + value/16) - 1) * * @param sbp An SBP object with a payload to be decoded. */ @@ -329,8 +330,9 @@ STECResidualNoStd.prototype.fieldSpec.push(['residual', 'writeInt16LE', 2]); * Fields in the SBP payload (`sbp.payload`): * @field sv_id SvId space vehicle identifier * @field residual number (signed 16-bit int, 2 bytes) STEC residual - * @field stddev number (unsigned 8-bit int, 1 byte) Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + value/16) - - * 1) * 10 + * @field stddev number (unsigned 8-bit int, 1 byte) Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 bit + * are the class, the lower 5 bits are the value. Standard deviation [TECU] = + * (3^class * (1 + value/16) - 1) * 0.1 * * @param sbp An SBP object with a payload to be decoded. */ diff --git a/kaitai/ksy/acquisition.ksy b/kaitai/ksy/acquisition.ksy index 889bf8d37b..5315963fac 100644 --- a/kaitai/ksy/acquisition.ksy +++ b/kaitai/ksy/acquisition.ksy @@ -238,4 +238,4 @@ types: SV profiles during acquisition time type: acq_sv_profile_dep repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/bootload.ksy b/kaitai/ksy/bootload.ksy index 1925932a7a..e128a2b68d 100644 --- a/kaitai/ksy/bootload.ksy +++ b/kaitai/ksy/bootload.ksy @@ -92,4 +92,4 @@ types: Version number string (not NULL terminated) type: u1 repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/ext_events.ksy b/kaitai/ksy/ext_events.ksy index 0ff3edad77..bdb59366bb 100644 --- a/kaitai/ksy/ext_events.ksy +++ b/kaitai/ksy/ext_events.ksy @@ -47,4 +47,4 @@ types: doc: | Pin number. 0..9 = DEBUG0..9. type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/file_io.ksy b/kaitai/ksy/file_io.ksy index 38d767f571..8e195c02fe 100644 --- a/kaitai/ksy/file_io.ksy +++ b/kaitai/ksy/file_io.ksy @@ -209,4 +209,4 @@ types: doc: | The version of FileIO that is supported type: u4 - \ No newline at end of file + diff --git a/kaitai/ksy/flash.ksy b/kaitai/ksy/flash.ksy index c45443283e..edbf6307c1 100644 --- a/kaitai/ksy/flash.ksy +++ b/kaitai/ksy/flash.ksy @@ -181,4 +181,4 @@ types: type: u1 repeat: expr repeat-expr: 1 - \ No newline at end of file + diff --git a/kaitai/ksy/gnss.ksy b/kaitai/ksy/gnss.ksy index 2be3dba735..446345cb59 100644 --- a/kaitai/ksy/gnss.ksy +++ b/kaitai/ksy/gnss.ksy @@ -132,4 +132,4 @@ types: doc: | Carrier phase fractional part type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/imu.ksy b/kaitai/ksy/imu.ksy index 2493d2c367..342a6c33fc 100644 --- a/kaitai/ksy/imu.ksy +++ b/kaitai/ksy/imu.ksy @@ -126,4 +126,4 @@ types: doc: | Compensated angular rate Z axis type: s4 - \ No newline at end of file + diff --git a/kaitai/ksy/integrity.ksy b/kaitai/ksy/integrity.ksy index d467e9cc1f..bb34cfda71 100644 --- a/kaitai/ksy/integrity.ksy +++ b/kaitai/ksy/integrity.ksy @@ -275,4 +275,4 @@ types: doc: | The solution ID of the instance providing the corrections. type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/linux.ksy b/kaitai/ksy/linux.ksy index 2e5f2daee4..d0861bbd8c 100644 --- a/kaitai/ksy/linux.ksy +++ b/kaitai/ksy/linux.ksy @@ -376,4 +376,4 @@ types: doc: | flags type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/logging.ksy b/kaitai/ksy/logging.ksy index 90ed9c2d01..94ff7d650c 100644 --- a/kaitai/ksy/logging.ksy +++ b/kaitai/ksy/logging.ksy @@ -72,4 +72,4 @@ types: type: str encoding: ascii size-eos: true - \ No newline at end of file + diff --git a/kaitai/ksy/mag.ksy b/kaitai/ksy/mag.ksy index eae9fe9a40..ba995e018f 100644 --- a/kaitai/ksy/mag.ksy +++ b/kaitai/ksy/mag.ksy @@ -45,4 +45,4 @@ types: doc: | Magnetic field in the body frame Z axis type: s2 - \ No newline at end of file + diff --git a/kaitai/ksy/navigation.ksy b/kaitai/ksy/navigation.ksy index 5556e51d7d..4908edcb2b 100644 --- a/kaitai/ksy/navigation.ksy +++ b/kaitai/ksy/navigation.ksy @@ -2033,4 +2033,4 @@ types: doc: | Status flags of relative translation and rotation type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/ndb.ksy b/kaitai/ksy/ndb.ksy index 410ebfb434..99c9d3d654 100644 --- a/kaitai/ksy/ndb.ksy +++ b/kaitai/ksy/ndb.ksy @@ -63,4 +63,4 @@ types: least significant bytes of the device serial number, valid only if data_source is NDB_DS_SBP. Reserved in case of other data_source. type: u2 - \ No newline at end of file + diff --git a/kaitai/ksy/observation.ksy b/kaitai/ksy/observation.ksy index 9a83a64ecb..6786c77a67 100644 --- a/kaitai/ksy/observation.ksy +++ b/kaitai/ksy/observation.ksy @@ -2506,4 +2506,4 @@ types: Network correction for a satellite signal. type: packed_osr_content repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/orientation.ksy b/kaitai/ksy/orientation.ksy index 283e47aef0..f3c4ea5ef6 100644 --- a/kaitai/ksy/orientation.ksy +++ b/kaitai/ksy/orientation.ksy @@ -170,4 +170,4 @@ types: doc: | Status flags type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/piksi.ksy b/kaitai/ksy/piksi.ksy index 3505e1f086..6e97140a8d 100644 --- a/kaitai/ksy/piksi.ksy +++ b/kaitai/ksy/piksi.ksy @@ -547,4 +547,4 @@ types: type: s1 repeat: expr repeat-expr: 8 - \ No newline at end of file + diff --git a/kaitai/ksy/profiling.ksy b/kaitai/ksy/profiling.ksy index 40b000306a..f05c5aeafc 100644 --- a/kaitai/ksy/profiling.ksy +++ b/kaitai/ksy/profiling.ksy @@ -185,4 +185,4 @@ types: List of resource buckets type: resource_bucket repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/sbas.ksy b/kaitai/ksy/sbas.ksy index d454aba7ff..71d3c8110c 100644 --- a/kaitai/ksy/sbas.ksy +++ b/kaitai/ksy/sbas.ksy @@ -43,4 +43,4 @@ types: type: u1 repeat: expr repeat-expr: 27 - \ No newline at end of file + diff --git a/kaitai/ksy/sbp.ksy b/kaitai/ksy/sbp.ksy index e9413ce93c..870563ca55 100644 --- a/kaitai/ksy/sbp.ksy +++ b/kaitai/ksy/sbp.ksy @@ -605,4 +605,4 @@ types: 2307: vehicle::msg_odometry 2308: vehicle::msg_wheeltick - id: crc - type: u2 \ No newline at end of file + type: u2 diff --git a/kaitai/ksy/settings.ksy b/kaitai/ksy/settings.ksy index 3d7f0ad73d..5e77b93219 100644 --- a/kaitai/ksy/settings.ksy +++ b/kaitai/ksy/settings.ksy @@ -198,4 +198,4 @@ types: type: str encoding: ascii size-eos: true - \ No newline at end of file + diff --git a/kaitai/ksy/signing.ksy b/kaitai/ksy/signing.ksy index be60643d54..b3694e8ea1 100644 --- a/kaitai/ksy/signing.ksy +++ b/kaitai/ksy/signing.ksy @@ -434,4 +434,4 @@ types: CRCs of signed messages. type: u4 repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/solution_meta.ksy b/kaitai/ksy/solution_meta.ksy index 621487b67c..0dc2e946ee 100644 --- a/kaitai/ksy/solution_meta.ksy +++ b/kaitai/ksy/solution_meta.ksy @@ -169,4 +169,4 @@ types: doc: | Instrument ODO rate, grade, and quality. type: u1 - \ No newline at end of file + diff --git a/kaitai/ksy/ssr.ksy b/kaitai/ksy/ssr.ksy index f6c3806e92..8532a9c733 100644 --- a/kaitai/ksy/ssr.ksy +++ b/kaitai/ksy/ssr.ksy @@ -187,8 +187,9 @@ types: type: s1 - id: stddev doc: | - Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - value/16) - 1) + Encoded standard deviation leaning on RTCM DF389 specification. The + upper 3 bit are the class, the lower 5 bits are the value. Standard + deviation [mm] = (3^class * (1 + value/16) - 1) type: u1 stec_residual_no_std: @@ -219,8 +220,9 @@ types: type: s2 - id: stddev doc: | - Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - value/16) - 1) * 10 + Encoded standard deviation leaning on RTCM DF389 specification. The + upper 3 bit are the class, the lower 5 bits are the value. Standard + deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1 type: u1 msg_ssr_orbit_clock: @@ -1296,4 +1298,4 @@ types: doc: | Orbit and Clock Bounds Degradation Parameters type: orbit_clock_bound_degradation - \ No newline at end of file + diff --git a/kaitai/ksy/system.ksy b/kaitai/ksy/system.ksy index fb2f9f42ef..7f176f5846 100644 --- a/kaitai/ksy/system.ksy +++ b/kaitai/ksy/system.ksy @@ -368,4 +368,4 @@ types: including GROUP_META itself type: u2 repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/telemetry.ksy b/kaitai/ksy/telemetry.ksy index bac50760ff..b9517992f8 100644 --- a/kaitai/ksy/telemetry.ksy +++ b/kaitai/ksy/telemetry.ksy @@ -91,4 +91,4 @@ types: Array of per-signal telemetry entries type: telemetry_sv repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/tracking.ksy b/kaitai/ksy/tracking.ksy index 249c946e57..1160c75cbc 100644 --- a/kaitai/ksy/tracking.ksy +++ b/kaitai/ksy/tracking.ksy @@ -409,4 +409,4 @@ types: Signal tracking channel state type: tracking_channel_state_dep_b repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/user.ksy b/kaitai/ksy/user.ksy index 8a16f4c364..833ffb7a99 100644 --- a/kaitai/ksy/user.ksy +++ b/kaitai/ksy/user.ksy @@ -30,4 +30,4 @@ types: User data payload type: u1 repeat: eos - \ No newline at end of file + diff --git a/kaitai/ksy/vehicle.ksy b/kaitai/ksy/vehicle.ksy index 9684f16d4e..3d32d754d0 100644 --- a/kaitai/ksy/vehicle.ksy +++ b/kaitai/ksy/vehicle.ksy @@ -84,4 +84,4 @@ types: The counter should be incrementing if travelling into one direction and decrementing when travelling in the opposite direction. type: s4 - \ No newline at end of file + diff --git a/kaitai/perl/KaitaiSbp/Table.pm b/kaitai/perl/KaitaiSbp/Table.pm index bc9314a6fc..2f69d8e287 100644 --- a/kaitai/perl/KaitaiSbp/Table.pm +++ b/kaitai/perl/KaitaiSbp/Table.pm @@ -338,4 +338,4 @@ sub _read { } -1; \ No newline at end of file +1; diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResult.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResult.t index 35ead53c6e..c3ba29b9f5 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResult.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResult.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_acquisition_msg_acq_result_1() { } test_auto_check_sbp_acquisition_msg_acq_result_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepA.t index eea31839cf..1f63f867fc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepA.t @@ -209,4 +209,4 @@ test_auto_check_sbp_acquisition_msg_acq_result_dep_a_4(); test_auto_check_sbp_acquisition_msg_acq_result_dep_a_5(); test_auto_check_sbp_acquisition_msg_acq_result_dep_a_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepB.t index e9a41b6911..e9d1a3a721 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepB.t @@ -179,4 +179,4 @@ test_auto_check_sbp_acquisition_msg_acq_result_dep_b_3(); test_auto_check_sbp_acquisition_msg_acq_result_dep_b_4(); test_auto_check_sbp_acquisition_msg_acq_result_dep_b_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepC.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepC.t index dbef80e7a2..ecedab342a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepC.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqResultDepC.t @@ -179,4 +179,4 @@ test_auto_check_sbp_acquisition_msg_acq_result_dep_c_3(); test_auto_check_sbp_acquisition_msg_acq_result_dep_c_4(); test_auto_check_sbp_acquisition_msg_acq_result_dep_c_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfile.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfile.t index 9e908bbb12..d2ce427369 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfile.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfile.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_acquisition_msg_acq_sv_profile_1() { } test_auto_check_sbp_acquisition_msg_acq_sv_profile_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfileDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfileDep.t index 3d68b2c910..55b9c745de 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfileDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_acquisition_MsgAcqSvProfileDep.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_acquisition_msg_acq_sv_profile_dep_1() { } test_auto_check_sbp_acquisition_msg_acq_sv_profile_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeReq.t index cf3c5ae4df..e02d7ff911 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeReq.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_bootload_msg_bootloader_handshake_req_1() { } test_auto_check_sbp_bootload_msg_bootloader_handshake_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeResp.t index 37521593f1..6bbed86693 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderHandshakeResp.t @@ -79,4 +79,4 @@ sub test_auto_check_sbp_bootload_msg_bootloader_handshake_resp_2() { test_auto_check_sbp_bootload_msg_bootloader_handshake_resp_1(); test_auto_check_sbp_bootload_msg_bootloader_handshake_resp_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderJumptoApp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderJumptoApp.t index d9d2a99e11..1ef998d411 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderJumptoApp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgBootloaderJumptoApp.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_bootload_msg_bootloader_jumpto_app_1() { } test_auto_check_sbp_bootload_msg_bootloader_jumpto_app_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaReq.t index d9262346b8..82bd14c636 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaReq.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_bootload_msg_nap_device_dna_req_1() { } test_auto_check_sbp_bootload_msg_nap_device_dna_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaResp.t index badae4aa23..cfe01d8459 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_bootload_MsgNapDeviceDnaResp.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_bootload_msg_nap_device_dna_resp_1() { } test_auto_check_sbp_bootload_msg_nap_device_dna_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ext_events_MsgExtEvent.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ext_events_MsgExtEvent.t index 3c49ce275e..002013965d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ext_events_MsgExtEvent.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ext_events_MsgExtEvent.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ext_events_msg_ext_event_1() { } test_auto_check_sbp_ext_events_msg_ext_event_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigReq.t index 654aa03bfe..caff60652a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigReq.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_config_req_1() { } test_auto_check_sbp_file_io_msg_fileio_config_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigResp.t index 5b4f0ba1bc..c770275852 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioConfigResp.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_config_resp_1() { } test_auto_check_sbp_file_io_msg_fileio_config_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirReq.t index b30a380d1d..9212446850 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirReq.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_read_dir_req_1() { } test_auto_check_sbp_file_io_msg_fileio_read_dir_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirResp.t index 02f78ba72f..7de413739e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadDirResp.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_read_dir_resp_1() { } test_auto_check_sbp_file_io_msg_fileio_read_dir_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadReq.t index b5f5bc13cf..c98b09d4fb 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadReq.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_read_req_1() { } test_auto_check_sbp_file_io_msg_fileio_read_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadResp.t index 13e4e1550a..bc74e53309 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioReadResp.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_read_resp_1() { } test_auto_check_sbp_file_io_msg_fileio_read_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioRemove.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioRemove.t index c1fcc62537..4621e30380 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioRemove.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioRemove.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_remove_1() { } test_auto_check_sbp_file_io_msg_fileio_remove_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioWriteResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioWriteResp.t index 3e631f570c..23c8a6d9bc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioWriteResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_file_io_MsgFileioWriteResp.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_file_io_msg_fileio_write_resp_1() { } test_auto_check_sbp_file_io_msg_fileio_write_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashDone.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashDone.t index f9938b1459..2c39830897 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashDone.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashDone.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_flash_msg_flash_done_1() { } test_auto_check_sbp_flash_msg_flash_done_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashErase.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashErase.t index baf410898e..ae869f64e4 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashErase.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashErase.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_flash_msg_flash_erase_1() { } test_auto_check_sbp_flash_msg_flash_erase_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashProgram.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashProgram.t index 53bf0f22cd..833124864b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashProgram.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashProgram.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_flash_msg_flash_program_1() { } test_auto_check_sbp_flash_msg_flash_program_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadReq.t index 12437cad59..6c5059647c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadReq.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_flash_msg_flash_read_req_1() { } test_auto_check_sbp_flash_msg_flash_read_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadResp.t index 0177e7e4e7..7be679b7a1 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgFlashReadResp.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_flash_msg_flash_read_resp_1() { } test_auto_check_sbp_flash_msg_flash_read_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgM25FlashWriteStatus.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgM25FlashWriteStatus.t index 0b850f754c..bdc43fa806 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgM25FlashWriteStatus.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgM25FlashWriteStatus.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_flash_msg_m25_flash_write_status_1() { } test_auto_check_sbp_flash_msg_m25_flash_write_status_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashLockSector.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashLockSector.t index 77e7e62075..6574a7702c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashLockSector.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashLockSector.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_flash_msg_stm_flash_lock_sector_1() { } test_auto_check_sbp_flash_msg_stm_flash_lock_sector_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashUnlockSector.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashUnlockSector.t index 48e89bcc0a..4582f10f7d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashUnlockSector.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmFlashUnlockSector.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_flash_msg_stm_flash_unlock_sector_1() { } test_auto_check_sbp_flash_msg_stm_flash_unlock_sector_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdReq.t index 44a4983f92..c2689ee562 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdReq.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_flash_msg_stm_unique_id_req_1() { } test_auto_check_sbp_flash_msg_stm_unique_id_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdResp.t index 7bce426a89..42ca8dd4e6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_flash_MsgStmUniqueIdResp.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_flash_msg_stm_unique_id_resp_1() { } test_auto_check_sbp_flash_msg_stm_unique_id_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuAux.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuAux.t index f8d3689574..3e4a08a011 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuAux.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuAux.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_imu_msg_imu_aux_1() { } test_auto_check_sbp_imu_msg_imu_aux_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuComp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuComp.t index 4a268cb577..d3d982d1d8 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuComp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuComp.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_imu_msg_imu_comp_1() { } test_auto_check_sbp_imu_msg_imu_comp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuRaw.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuRaw.t index 5f52940f9d..dee85de719 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuRaw.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_imu_MsgImuRaw.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_imu_msg_imu_raw_1() { } test_auto_check_sbp_imu_msg_imu_raw_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgAcknowledge.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgAcknowledge.t index 0935386523..39637113d7 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgAcknowledge.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgAcknowledge.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_integrity_msg_acknowledge_1() { } test_auto_check_sbp_integrity_msg_acknowledge_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagHighLevel.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagHighLevel.t index 852f406ff8..2e66aa82db 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagHighLevel.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagHighLevel.t @@ -81,4 +81,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_high_level_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_high_level_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.t index e220bd1cc0..6fd436ca57 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_point_sat_los_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_point_sat_los_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.t index d0b9b871c2..f8b41f0b00 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_points_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_points_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.t index 1b46827fc5..05d00b4cd0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_iono_tile_sat_los_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_iono_tile_sat_los_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagSatellites.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagSatellites.t index 8370fa2c37..da889a496c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagSatellites.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagSatellites.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_satellites_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_satellites_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.t index 89bd431cd5..ad2d3747fb 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_integrity_msg_ssr_flag_tropo_grid_points_1() { } test_auto_check_sbp_integrity_msg_ssr_flag_tropo_grid_points_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuState.t index b7ec07ca8d..0d1c6abd0e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuState.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_linux_msg_linux_cpu_state_1() { } test_auto_check_sbp_linux_msg_linux_cpu_state_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuStateDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuStateDepA.t index e358df6be7..cea901a9b4 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuStateDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxCpuStateDepA.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_linux_msg_linux_cpu_state_dep_a_1() { } test_auto_check_sbp_linux_msg_linux_cpu_state_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemState.t index dfc78faf70..6a13d7b03c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemState.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_linux_msg_linux_mem_state_1() { } test_auto_check_sbp_linux_msg_linux_mem_state_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemStateDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemStateDepA.t index acb41ac110..4e95ba7941 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemStateDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxMemStateDepA.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_linux_msg_linux_mem_state_dep_a_1() { } test_auto_check_sbp_linux_msg_linux_mem_state_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdCount.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdCount.t index d88d3639c5..d94895557f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdCount.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdCount.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_linux_msg_linux_process_fd_count_1() { } test_auto_check_sbp_linux_msg_linux_process_fd_count_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdSummary.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdSummary.t index 91bf8d74e4..22b1ac924c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdSummary.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessFdSummary.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_linux_msg_linux_process_fd_summary_1() { } test_auto_check_sbp_linux_msg_linux_process_fd_summary_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketCounts.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketCounts.t index 6e116704f5..544f87782b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketCounts.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketCounts.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_linux_msg_linux_process_socket_counts_1() { } test_auto_check_sbp_linux_msg_linux_process_socket_counts_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketQueues.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketQueues.t index e087617179..1b7b2123c0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketQueues.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxProcessSocketQueues.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_linux_msg_linux_process_socket_queues_1() { } test_auto_check_sbp_linux_msg_linux_process_socket_queues_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSocketUsage.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSocketUsage.t index 800b0fe211..98b4b1aee9 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSocketUsage.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSocketUsage.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_linux_msg_linux_socket_usage_1() { } test_auto_check_sbp_linux_msg_linux_socket_usage_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysState.t index 0f32169bd1..e967adc4d2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysState.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_linux_msg_linux_sys_state_1() { } test_auto_check_sbp_linux_msg_linux_sys_state_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysStateDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysStateDepA.t index 252fa8007e..7d38976e25 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysStateDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_linux_MsgLinuxSysStateDepA.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_linux_msg_linux_sys_state_dep_a_1() { } test_auto_check_sbp_linux_msg_linux_sys_state_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgFwd.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgFwd.t index 341c9e33e3..087949dbaa 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgFwd.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgFwd.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_logging_msg_fwd_1() { } test_auto_check_sbp_logging_msg_fwd_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgLog.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgLog.t index b29fcd4150..c3fa45c93a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgLog.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgLog.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_logging_msg_log_1() { } test_auto_check_sbp_logging_msg_log_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgPrintDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgPrintDep.t index 33aae1bb01..1ff7fd8057 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgPrintDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_logging_MsgPrintDep.t @@ -173,4 +173,4 @@ test_auto_check_sbp_logging_msg_print_dep_4(); test_auto_check_sbp_logging_msg_print_dep_5(); test_auto_check_sbp_logging_msg_print_dep_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_mag_MsgMagRaw.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_mag_MsgMagRaw.t index aca992ab0f..f1d7c8e93b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_mag_MsgMagRaw.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_mag_MsgMagRaw.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_mag_msg_mag_raw_1() { } test_auto_check_sbp_mag_msg_mag_raw_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgAgeCorrections.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgAgeCorrections.t index e9a78d466b..adcf6d6c03 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgAgeCorrections.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgAgeCorrections.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_navigation_msg_age_corrections_1() { } test_auto_check_sbp_navigation_msg_age_corrections_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEF.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEF.t index 327bcebc20..2b2e6f9df4 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEF.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEF.t @@ -209,4 +209,4 @@ test_auto_check_sbp_navigation_msg_baseline_ecef_3(); test_auto_check_sbp_navigation_msg_baseline_ecef_4(); test_auto_check_sbp_navigation_msg_baseline_ecef_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEFDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEFDepA.t index 8291cac2fa..6362772fd6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEFDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineECEFDepA.t @@ -425,4 +425,4 @@ test_auto_check_sbp_navigation_msg_baseline_ecef_dep_a_9(); test_auto_check_sbp_navigation_msg_baseline_ecef_dep_a_10(); test_auto_check_sbp_navigation_msg_baseline_ecef_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineHeadingDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineHeadingDepA.t index 68760cb448..7756dc7c3c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineHeadingDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineHeadingDepA.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_navigation_msg_baseline_heading_dep_a_1() { } test_auto_check_sbp_navigation_msg_baseline_heading_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNED.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNED.t index f91a1481a7..0dc6098bd3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNED.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNED.t @@ -219,4 +219,4 @@ test_auto_check_sbp_navigation_msg_baseline_ned_3(); test_auto_check_sbp_navigation_msg_baseline_ned_4(); test_auto_check_sbp_navigation_msg_baseline_ned_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNEDDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNEDDepA.t index 525b81e7e2..13f3c06682 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNEDDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgBaselineNEDDepA.t @@ -447,4 +447,4 @@ test_auto_check_sbp_navigation_msg_baseline_ned_dep_a_9(); test_auto_check_sbp_navigation_msg_baseline_ned_dep_a_10(); test_auto_check_sbp_navigation_msg_baseline_ned_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDops.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDops.t index 7ff8d40002..50185be513 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDops.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDops.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_navigation_msg_dops_1() { } test_auto_check_sbp_navigation_msg_dops_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDopsDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDopsDepA.t index 3ba0ce9186..2e441efc16 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDopsDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgDopsDepA.t @@ -335,4 +335,4 @@ test_auto_check_sbp_navigation_msg_dops_dep_a_7(); test_auto_check_sbp_navigation_msg_dops_dep_a_8(); test_auto_check_sbp_navigation_msg_dops_dep_a_9(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTime.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTime.t index 7fefd30a9d..11bf13d7a2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTime.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTime.t @@ -179,4 +179,4 @@ test_auto_check_sbp_navigation_msg_gps_time_3(); test_auto_check_sbp_navigation_msg_gps_time_4(); test_auto_check_sbp_navigation_msg_gps_time_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeDepA.t index e6cec701fd..62c36598e2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeDepA.t @@ -359,4 +359,4 @@ test_auto_check_sbp_navigation_msg_gps_time_dep_a_9(); test_auto_check_sbp_navigation_msg_gps_time_dep_a_10(); test_auto_check_sbp_navigation_msg_gps_time_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeGNSS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeGNSS.t index 9a4c850a6a..91383e0b9f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeGNSS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgGPSTimeGNSS.t @@ -179,4 +179,4 @@ test_auto_check_sbp_navigation_msg_gps_time_gnss_3(); test_auto_check_sbp_navigation_msg_gps_time_gnss_4(); test_auto_check_sbp_navigation_msg_gps_time_gnss_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEF.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEF.t index 7d5a1e6572..08e15bd602 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEF.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEF.t @@ -173,4 +173,4 @@ test_auto_check_sbp_navigation_msg_pos_ecef_2(); test_auto_check_sbp_navigation_msg_pos_ecef_3(); test_auto_check_sbp_navigation_msg_pos_ecef_4(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCov.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCov.t index a450b62eec..0918300631 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCov.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCov.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_pos_ecef_cov_1() { } test_auto_check_sbp_navigation_msg_pos_ecef_cov_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCovGNSS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCovGNSS.t index ad250a80fc..078ae16945 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCovGNSS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFCovGNSS.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_pos_ecef_cov_gnss_1() { } test_auto_check_sbp_navigation_msg_pos_ecef_cov_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFDepA.t index 1257b7fbd1..a5caf9d012 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFDepA.t @@ -425,4 +425,4 @@ test_auto_check_sbp_navigation_msg_pos_ecef_dep_a_9(); test_auto_check_sbp_navigation_msg_pos_ecef_dep_a_10(); test_auto_check_sbp_navigation_msg_pos_ecef_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFGNSS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFGNSS.t index a436228261..a4e608dd30 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFGNSS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosECEFGNSS.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_navigation_msg_pos_ecefgnss_1() { } test_auto_check_sbp_navigation_msg_pos_ecefgnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLH.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLH.t index b1b21af5f7..978d302782 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLH.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLH.t @@ -219,4 +219,4 @@ test_auto_check_sbp_navigation_msg_pos_llh_3(); test_auto_check_sbp_navigation_msg_pos_llh_4(); test_auto_check_sbp_navigation_msg_pos_llh_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHCov.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHCov.t index e7ca1f4d3c..cb471323c3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHCov.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHCov.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_pos_llh_cov_1() { } test_auto_check_sbp_navigation_msg_pos_llh_cov_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHDepA.t index 3ff8afe763..14d048206e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLLHDepA.t @@ -447,4 +447,4 @@ test_auto_check_sbp_navigation_msg_pos_llh_dep_a_9(); test_auto_check_sbp_navigation_msg_pos_llh_dep_a_10(); test_auto_check_sbp_navigation_msg_pos_llh_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhAcc.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhAcc.t index acb2e1cbf1..6a89b9cffd 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhAcc.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhAcc.t @@ -77,4 +77,4 @@ sub test_auto_check_sbp_navigation_msg_pos_llh_acc_1() { } test_auto_check_sbp_navigation_msg_pos_llh_acc_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhCovGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhCovGnss.t index d125f7b548..9f8445a403 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhCovGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhCovGnss.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_pos_llh_cov_gnss_1() { } test_auto_check_sbp_navigation_msg_pos_llh_cov_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhGnss.t index 99a4e109f1..41f08f5f1d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPosLlhGnss.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_navigation_msg_pos_llh_gnss_1() { } test_auto_check_sbp_navigation_msg_pos_llh_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPoseRelative.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPoseRelative.t index c43359da24..a082608c78 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPoseRelative.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgPoseRelative.t @@ -95,4 +95,4 @@ sub test_auto_check_sbp_navigation_msg_pose_relative_1() { } test_auto_check_sbp_navigation_msg_pose_relative_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevel.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevel.t index bbed489f0c..98b08ed760 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevel.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevel.t @@ -93,4 +93,4 @@ sub test_auto_check_sbp_navigation_msg_protection_level_1() { } test_auto_check_sbp_navigation_msg_protection_level_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevelDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevelDepA.t index f001967079..15a5aceb0a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevelDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgProtectionLevelDepA.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_navigation_msg_protection_level_dep_a_1() { } test_auto_check_sbp_navigation_msg_protection_level_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgReferenceFrameParam.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgReferenceFrameParam.t index 52774a619c..40394fbc77 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgReferenceFrameParam.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgReferenceFrameParam.t @@ -91,4 +91,4 @@ sub test_auto_check_sbp_navigation_msg_reference_frame_param_1() { } test_auto_check_sbp_navigation_msg_reference_frame_param_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCLeapSecond.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCLeapSecond.t index 0d2fb33110..d41cf9f617 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCLeapSecond.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCLeapSecond.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_navigation_msg_utc_leap_second_1() { } test_auto_check_sbp_navigation_msg_utc_leap_second_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTime.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTime.t index 5392d3663b..91ff1970e2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTime.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTime.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_navigation_msg_utc_time_1() { } test_auto_check_sbp_navigation_msg_utc_time_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTimeGNSS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTimeGNSS.t index 102f3fec98..6316d149be 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTimeGNSS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgUTCTimeGNSS.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_navigation_msg_utc_time_gnss_1() { } test_auto_check_sbp_navigation_msg_utc_time_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelBody.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelBody.t index 51d3de834f..af878790b2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelBody.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelBody.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_vel_body_1() { } test_auto_check_sbp_navigation_msg_vel_body_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelCog.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelCog.t index ecc2779c1e..c0aff0730d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelCog.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelCog.t @@ -143,4 +143,4 @@ test_auto_check_sbp_navigation_msg_vel_cog_1(); test_auto_check_sbp_navigation_msg_vel_cog_2(); test_auto_check_sbp_navigation_msg_vel_cog_3(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEF.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEF.t index ae61208a99..2c9a5c7c26 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEF.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEF.t @@ -209,4 +209,4 @@ test_auto_check_sbp_navigation_msg_vel_ecef_3(); test_auto_check_sbp_navigation_msg_vel_ecef_4(); test_auto_check_sbp_navigation_msg_vel_ecef_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFCov.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFCov.t index 62da13fadc..ded92ef34a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFCov.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFCov.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_vel_ecef_cov_1() { } test_auto_check_sbp_navigation_msg_vel_ecef_cov_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFDepA.t index 31769cc041..6987d599d9 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelECEFDepA.t @@ -425,4 +425,4 @@ test_auto_check_sbp_navigation_msg_vel_ecef_dep_a_9(); test_auto_check_sbp_navigation_msg_vel_ecef_dep_a_10(); test_auto_check_sbp_navigation_msg_vel_ecef_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefCovGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefCovGnss.t index a01b50f381..8e9a58b977 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefCovGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefCovGnss.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_vel_ecef_cov_gnss_1() { } test_auto_check_sbp_navigation_msg_vel_ecef_cov_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefGnss.t index f35847caa4..75b07cb7da 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelEcefGnss.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_navigation_msg_vel_ecef_gnss_1() { } test_auto_check_sbp_navigation_msg_vel_ecef_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNED.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNED.t index 2aa5355aaf..7475586d93 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNED.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNED.t @@ -219,4 +219,4 @@ test_auto_check_sbp_navigation_msg_vel_ned_3(); test_auto_check_sbp_navigation_msg_vel_ned_4(); test_auto_check_sbp_navigation_msg_vel_ned_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDCOV.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDCOV.t index f585c082e0..ca433149e8 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDCOV.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDCOV.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_vel_nedcov_1() { } test_auto_check_sbp_navigation_msg_vel_nedcov_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDDepA.t index dd10ae8570..470676de1d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNEDDepA.t @@ -447,4 +447,4 @@ test_auto_check_sbp_navigation_msg_vel_ned_dep_a_9(); test_auto_check_sbp_navigation_msg_vel_ned_dep_a_10(); test_auto_check_sbp_navigation_msg_vel_ned_dep_a_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedCovGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedCovGnss.t index 7663b2ab96..d5e9b7f59e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedCovGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedCovGnss.t @@ -75,4 +75,4 @@ sub test_auto_check_sbp_navigation_msg_vel_ned_cov_gnss_1() { } test_auto_check_sbp_navigation_msg_vel_ned_cov_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedGnss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedGnss.t index 8697c472ef..f1f76abc07 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedGnss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_navigation_MsgVelNedGnss.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_navigation_msg_vel_ned_gnss_1() { } test_auto_check_sbp_navigation_msg_vel_ned_gnss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ndb_MsgNdbEvent.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ndb_MsgNdbEvent.t index cd44d7b064..37a1106293 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ndb_MsgNdbEvent.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ndb_MsgNdbEvent.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_ndb_msg_ndb_event_1() { } test_auto_check_sbp_ndb_msg_ndb_event_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLO.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLO.t index 54413cbc84..13565999cd 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLO.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLO.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_observation_msg_almanac_glo_1() { } test_auto_check_sbp_observation_msg_almanac_glo_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLODep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLODep.t index 70a34dd933..e17317f546 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLODep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGLODep.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_observation_msg_almanac_glo_dep_1() { } test_auto_check_sbp_observation_msg_almanac_glo_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPS.t index 1656986e46..9affb8d227 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPS.t @@ -71,4 +71,4 @@ sub test_auto_check_sbp_observation_msg_almanac_gps_1() { } test_auto_check_sbp_observation_msg_almanac_gps_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPSDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPSDep.t index a23fa220c1..492b55e32f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPSDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgAlmanacGPSDep.t @@ -71,4 +71,4 @@ sub test_auto_check_sbp_observation_msg_almanac_gps_dep_1() { } test_auto_check_sbp_observation_msg_almanac_gps_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosEcef.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosEcef.t index 24cafd1d59..d1a854232d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosEcef.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosEcef.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_observation_msg_base_pos_ecef_1() { } test_auto_check_sbp_observation_msg_base_pos_ecef_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosLLH.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosLLH.t index 1981edb91c..e7e99f8351 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosLLH.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgBasePosLLH.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_observation_msg_base_pos_llh_1() { } test_auto_check_sbp_observation_msg_base_pos_llh_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisBds.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisBds.t index 425d97e448..0920502440 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisBds.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisBds.t @@ -99,4 +99,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_bds_1() { } test_auto_check_sbp_observation_msg_ephemeris_bds_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepA.t index 276f405bb8..b1e8f7af4e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepA.t @@ -103,4 +103,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_dep_a_1() { } test_auto_check_sbp_observation_msg_ephemeris_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepC.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepC.t index f59d91fe1e..e87ade2260 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepC.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepC.t @@ -109,4 +109,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_dep_c_1() { } test_auto_check_sbp_observation_msg_ephemeris_dep_c_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepD.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepD.t index 61485980c9..2cb445b33a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepD.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisDepD.t @@ -109,4 +109,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_dep_d_1() { } test_auto_check_sbp_observation_msg_ephemeris_dep_d_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLO.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLO.t index 695d69b90a..db1f9d9c00 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLO.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLO.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_glo_1() { } test_auto_check_sbp_observation_msg_ephemeris_glo_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepA.t index 8ce53444fd..4c084d1e43 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepA.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_glo_dep_a_1() { } test_auto_check_sbp_observation_msg_ephemeris_glo_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepB.t index f233e9d033..2c717fa24b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepB.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_glo_dep_b_1() { } test_auto_check_sbp_observation_msg_ephemeris_glo_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepC.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepC.t index 4b5eef9f5b..c5f2715625 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepC.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepC.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_glo_dep_c_1() { } test_auto_check_sbp_observation_msg_ephemeris_glo_dep_c_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepD.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepD.t index 706784a5ad..a87893207e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepD.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGLODepD.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_glo_dep_d_1() { } test_auto_check_sbp_observation_msg_ephemeris_glo_dep_d_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPS.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPS.t index eb2851c87f..cade138101 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPS.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPS.t @@ -97,4 +97,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_gps_1() { } test_auto_check_sbp_observation_msg_ephemeris_gps_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepE.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepE.t index 038b85817b..10ba4f20bd 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepE.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepE.t @@ -97,4 +97,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_gps_dep_e_1() { } test_auto_check_sbp_observation_msg_ephemeris_gps_dep_e_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepF.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepF.t index 65e3104521..639460dc05 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepF.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGPSDepF.t @@ -97,4 +97,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_gps_dep_f_1() { } test_auto_check_sbp_observation_msg_ephemeris_gps_dep_f_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGal.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGal.t index 3a44f29b89..7034a96076 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGal.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGal.t @@ -101,4 +101,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_gal_1() { } test_auto_check_sbp_observation_msg_ephemeris_gal_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGalDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGalDepA.t index 6c03711f68..2504848fff 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGalDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisGalDepA.t @@ -99,4 +99,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_gal_dep_a_1() { } test_auto_check_sbp_observation_msg_ephemeris_gal_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbas.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbas.t index aaab5c554c..fc34d7ef01 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbas.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbas.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_sbas_1() { } test_auto_check_sbp_observation_msg_ephemeris_sbas_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepA.t index 959cf3be4f..dd85a28bdc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepA.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_a_1() { } test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepB.t index eeb39a372a..785f759c57 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgEphemerisSbasDepB.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_b_1() { } test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGloBiases.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGloBiases.t index c13279ce87..8f0df440c6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGloBiases.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGloBiases.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_observation_msg_glo_biases_1() { } test_auto_check_sbp_observation_msg_glo_biases_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGnssCapb.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGnssCapb.t index 8ec101e668..8a10a44877 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGnssCapb.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGnssCapb.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_observation_msg_gnss_capb_1() { } test_auto_check_sbp_observation_msg_gnss_capb_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelay.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelay.t index 658b6a3dc6..8648429072 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelay.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelay.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_group_delay_1() { } test_auto_check_sbp_observation_msg_group_delay_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepA.t index f921906759..c9a6352339 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepA.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_group_delay_dep_a_1() { } test_auto_check_sbp_observation_msg_group_delay_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepB.t index 2c99e8749b..eae1ded887 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgGroupDelayDepB.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_observation_msg_group_delay_dep_b_1() { } test_auto_check_sbp_observation_msg_group_delay_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgIono.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgIono.t index a01e1ed35e..1e8418ac5f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgIono.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgIono.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_observation_msg_iono_1() { } test_auto_check_sbp_observation_msg_iono_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObs.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObs.t index a0ff1e6bab..40c0e67f38 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObs.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObs.t @@ -81,4 +81,4 @@ sub test_auto_check_sbp_observation_msg_obs_2() { test_auto_check_sbp_observation_msg_obs_1(); test_auto_check_sbp_observation_msg_obs_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepB.t index ac7f1f2c3a..37ba98de0f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepB.t @@ -159,4 +159,4 @@ test_auto_check_sbp_observation_msg_obs_dep_b_3(); test_auto_check_sbp_observation_msg_obs_dep_b_4(); test_auto_check_sbp_observation_msg_obs_dep_b_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepC.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepC.t index 062fdb4df2..ebdf1c774a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepC.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgObsDepC.t @@ -159,4 +159,4 @@ test_auto_check_sbp_observation_msg_obs_dep_c_3(); test_auto_check_sbp_observation_msg_obs_dep_c_4(); test_auto_check_sbp_observation_msg_obs_dep_c_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgOsr.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgOsr.t index 7ccf25af3f..0675bd9627 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgOsr.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgOsr.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_observation_msg_osr_1() { } test_auto_check_sbp_observation_msg_osr_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvAzEl.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvAzEl.t index 2d9350cdcd..7945d32fc7 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvAzEl.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvAzEl.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_observation_msg_sv_az_el_1() { } test_auto_check_sbp_observation_msg_sv_az_el_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvConfigurationGpsDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvConfigurationGpsDep.t index f0ba87d1ca..ee21f0ae75 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvConfigurationGpsDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_MsgSvConfigurationGpsDep.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_observation_msg_sv_configuration_gps_dep_1() { } test_auto_check_sbp_observation_msg_sv_configuration_gps_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisDepB.t index 03d8a44f65..f99b659e63 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisDepB.t @@ -485,4 +485,4 @@ test_auto_check_sbp_observation_msg_ephemeris_dep_b_4(); test_auto_check_sbp_observation_msg_ephemeris_dep_b_5(); test_auto_check_sbp_observation_msg_ephemeris_dep_b_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisQzss.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisQzss.t index aef5d76a77..32594726b6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisQzss.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgEphemerisQzss.t @@ -97,4 +97,4 @@ sub test_auto_check_sbp_observation_msg_ephemeris_qzss_1() { } test_auto_check_sbp_observation_msg_ephemeris_qzss_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgObsDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgObsDepA.t index d0ffea2cb4..c8a44e97bf 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgObsDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_observation_msgObsDepA.t @@ -185,4 +185,4 @@ test_auto_check_sbp_observation_msg_obs_dep_a_4(); test_auto_check_sbp_observation_msg_obs_dep_a_5(); test_auto_check_sbp_observation_msg_obs_dep_a_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgAngularRate.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgAngularRate.t index 6c012b536a..06163fc9fc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgAngularRate.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgAngularRate.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_orientation_msg_angular_rate_1() { } test_auto_check_sbp_orientation_msg_angular_rate_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgBaselineHeading.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgBaselineHeading.t index e943b2d8cc..b2233b0635 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgBaselineHeading.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgBaselineHeading.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_orientation_msg_baseline_heading_1() { } test_auto_check_sbp_orientation_msg_baseline_heading_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientEuler.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientEuler.t index 5a5688d41a..1ab89b9ece 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientEuler.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientEuler.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_orientation_msg_orient_euler_1() { } test_auto_check_sbp_orientation_msg_orient_euler_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientQuat.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientQuat.t index 0b4ae886f9..1bc4ab6499 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientQuat.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_orientation_MsgOrientQuat.t @@ -71,4 +71,4 @@ sub test_auto_check_sbp_orientation_msg_orient_quat_1() { } test_auto_check_sbp_orientation_msg_orient_quat_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgAlmanac.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgAlmanac.t index a75c53e455..e6fb2a1435 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgAlmanac.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgAlmanac.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_almanac_1() { } test_auto_check_sbp_piksi_msg_almanac_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCellModemStatus.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCellModemStatus.t index 76d7b68fa9..5c6c35ad0a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCellModemStatus.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCellModemStatus.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_piksi_msg_cell_modem_status_1() { } test_auto_check_sbp_piksi_msg_cell_modem_status_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandOutput.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandOutput.t index 020509abe8..396044493f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandOutput.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandOutput.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_command_output_1() { } test_auto_check_sbp_piksi_msg_command_output_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandReq.t index f91e4d1caa..f81f9f1168 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandReq.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_command_req_1() { } test_auto_check_sbp_piksi_msg_command_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandResp.t index 36c93908d6..6ea02976e3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCommandResp.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_command_resp_1() { } test_auto_check_sbp_piksi_msg_command_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwResults.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwResults.t index a12ab3c7bc..69575e2152 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwResults.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwResults.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_cw_results_1() { } test_auto_check_sbp_piksi_msg_cw_results_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwStart.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwStart.t index 422a70dfcf..c6a7575e05 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwStart.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgCwStart.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_cw_start_1() { } test_auto_check_sbp_piksi_msg_cw_start_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgDeviceMonitor.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgDeviceMonitor.t index 8052211662..9e20c872cf 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgDeviceMonitor.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgDeviceMonitor.t @@ -189,4 +189,4 @@ test_auto_check_sbp_piksi_msg_device_monitor_3(); test_auto_check_sbp_piksi_msg_device_monitor_4(); test_auto_check_sbp_piksi_msg_device_monitor_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgFrontEndGain.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgFrontEndGain.t index d6179db02c..c94861ef3f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgFrontEndGain.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgFrontEndGain.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_front_end_gain_1() { } test_auto_check_sbp_piksi_msg_front_end_gain_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgIarState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgIarState.t index 0fc008ad54..c53c9bd530 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgIarState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgIarState.t @@ -197,4 +197,4 @@ test_auto_check_sbp_piksi_msg_iar_state_5(); test_auto_check_sbp_piksi_msg_iar_state_6(); test_auto_check_sbp_piksi_msg_iar_state_7(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgInitBaseDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgInitBaseDep.t index 37744c07ba..385b2690d8 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgInitBaseDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgInitBaseDep.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_init_base_dep_1() { } test_auto_check_sbp_piksi_msg_init_base_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatellite.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatellite.t index a6e96d7e27..5f589ed9ca 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatellite.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatellite.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_mask_satellite_1() { } test_auto_check_sbp_piksi_msg_mask_satellite_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatelliteDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatelliteDep.t index 3125b21469..ccd7ff143b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatelliteDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgMaskSatelliteDep.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_piksi_msg_mask_satellite_dep_1() { } test_auto_check_sbp_piksi_msg_mask_satellite_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkBandwidthUsage.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkBandwidthUsage.t index 8fe8eecd54..d9b81b64d3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkBandwidthUsage.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkBandwidthUsage.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_piksi_msg_network_bandwidth_usage_1() { } test_auto_check_sbp_piksi_msg_network_bandwidth_usage_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateReq.t index 8956da1f0e..e82a18ef40 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateReq.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_network_state_req_1() { } test_auto_check_sbp_piksi_msg_network_state_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateResp.t index 6025590de8..660a4c4b15 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgNetworkStateResp.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_piksi_msg_network_state_resp_1() { } test_auto_check_sbp_piksi_msg_network_state_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgReset.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgReset.t index 23c59757f3..54c4c9438a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgReset.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgReset.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_piksi_msg_reset_1() { } test_auto_check_sbp_piksi_msg_reset_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetDep.t index 6e34964005..772a8ac4f3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetDep.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_reset_dep_1() { } test_auto_check_sbp_piksi_msg_reset_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetFilters.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetFilters.t index b27d7188e9..1a9098c3b8 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetFilters.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgResetFilters.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_piksi_msg_reset_filters_1() { } test_auto_check_sbp_piksi_msg_reset_filters_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSetTime.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSetTime.t index 144d599d55..4066cfb613 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSetTime.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSetTime.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_piksi_msg_set_time_1() { } test_auto_check_sbp_piksi_msg_set_time_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecan.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecan.t index c5c467800d..5b999d24f3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecan.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecan.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_piksi_msg_specan_1() { } test_auto_check_sbp_piksi_msg_specan_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecanDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecanDep.t index 7f7f3e645f..f5e8ffcac6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecanDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgSpecanDep.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_piksi_msg_specan_dep_1() { } test_auto_check_sbp_piksi_msg_specan_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgThreadState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgThreadState.t index 93caee73ef..4c88b647af 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgThreadState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgThreadState.t @@ -337,4 +337,4 @@ test_auto_check_sbp_piksi_msg_thread_state_9(); test_auto_check_sbp_piksi_msg_thread_state_10(); test_auto_check_sbp_piksi_msg_thread_state_11(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartState.t index 8681654aea..763544e937 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartState.t @@ -121,4 +121,4 @@ test_auto_check_sbp_piksi_msg_uart_state_1(); test_auto_check_sbp_piksi_msg_uart_state_2(); test_auto_check_sbp_piksi_msg_uart_state_3(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartStateDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartStateDepA.t index dd42bfcd2d..6c7e761a6b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartStateDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_piksi_MsgUartStateDepA.t @@ -209,4 +209,4 @@ test_auto_check_sbp_piksi_msg_uart_state_dep_a_4(); test_auto_check_sbp_piksi_msg_uart_state_dep_a_5(); test_auto_check_sbp_piksi_msg_uart_state_dep_a_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgMeasurementPoint.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgMeasurementPoint.t index 8c45a637c3..c3af5d3030 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgMeasurementPoint.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgMeasurementPoint.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_profiling_msg_measurement_point_1() { } test_auto_check_sbp_profiling_msg_measurement_point_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingResourceCounter.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingResourceCounter.t index 84a4caffff..139e5285fc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingResourceCounter.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingResourceCounter.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_profiling_msg_profiling_resource_counter_1() { } test_auto_check_sbp_profiling_msg_profiling_resource_counter_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingSystemInfo.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingSystemInfo.t index dfbf4779eb..3681852cac 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingSystemInfo.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingSystemInfo.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_profiling_msg_profiling_system_info_1() { } test_auto_check_sbp_profiling_msg_profiling_system_info_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingThreadInfo.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingThreadInfo.t index fbd8b2f933..905b65acb0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingThreadInfo.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_profiling_MsgProfilingThreadInfo.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_profiling_msg_profiling_thread_info_1() { } test_auto_check_sbp_profiling_msg_profiling_thread_info_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_sbas_MsgSbasRaw.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_sbas_MsgSbasRaw.t index 7a9e5ed005..6da672d861 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_sbas_MsgSbasRaw.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_sbas_MsgSbasRaw.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_sbas_msg_sbas_raw_1() { } test_auto_check_sbp_sbas_msg_sbas_raw_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexDone.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexDone.t index c4b85081bc..98dcd86032 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexDone.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexDone.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_settings_msg_settings_read_by_index_done_1() { } test_auto_check_sbp_settings_msg_settings_read_by_index_done_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexReq.t index 6c95c141a6..a2a292873e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexReq.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_settings_msg_settings_read_by_index_req_1() { } test_auto_check_sbp_settings_msg_settings_read_by_index_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexResp.t index 16886fe8ba..b8e1f2d22c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadByIndexResp.t @@ -159,4 +159,4 @@ test_auto_check_sbp_settings_msg_settings_read_by_index_resp_3(); test_auto_check_sbp_settings_msg_settings_read_by_index_resp_4(); test_auto_check_sbp_settings_msg_settings_read_by_index_resp_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadReq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadReq.t index 23c504f509..c5afd35138 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadReq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadReq.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_settings_msg_settings_read_req_1() { } test_auto_check_sbp_settings_msg_settings_read_req_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadResp.t index 214a8ddddc..9ca8e1ed4f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsReadResp.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_settings_msg_settings_read_resp_1() { } test_auto_check_sbp_settings_msg_settings_read_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegister.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegister.t index fdcfceec42..f6dcbcd31c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegister.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegister.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_settings_msg_settings_register_1() { } test_auto_check_sbp_settings_msg_settings_register_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegisterResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegisterResp.t index a0c578b54f..6fd0a84c80 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegisterResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsRegisterResp.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_settings_msg_settings_register_resp_1() { } test_auto_check_sbp_settings_msg_settings_register_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsSave.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsSave.t index 1ba7c66a54..aef5edf54a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsSave.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsSave.t @@ -51,4 +51,4 @@ sub test_auto_check_sbp_settings_msg_settings_save_1() { } test_auto_check_sbp_settings_msg_settings_save_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWrite.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWrite.t index 85b24735a7..4cf29960f0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWrite.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWrite.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_settings_msg_settings_write_1() { } test_auto_check_sbp_settings_msg_settings_write_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWriteResp.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWriteResp.t index f9d2068dd9..5275c5f480 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWriteResp.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_settings_MsgSettingsWriteResp.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_settings_msg_settings_write_resp_1() { } test_auto_check_sbp_settings_msg_settings_write_resp_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgAesCmacSignature.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgAesCmacSignature.t index 6ffb81c549..095efe82bc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgAesCmacSignature.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgAesCmacSignature.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_signing_msg_aes_cmac_signature_1() { } test_auto_check_sbp_signing_msg_aes_cmac_signature_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChain.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChain.t index b26b091616..ab24084d46 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChain.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChain.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_signing_msg_certificate_chain_1() { } test_auto_check_sbp_signing_msg_certificate_chain_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChainDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChainDep.t index 81c840762c..2d629fccc1 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChainDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgCertificateChainDep.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_signing_msg_certificate_chain_dep_1() { } test_auto_check_sbp_signing_msg_certificate_chain_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaCertificate.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaCertificate.t index 013e6e0614..c5eabeb991 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaCertificate.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaCertificate.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_signing_msg_ecdsa_certificate_1() { } test_auto_check_sbp_signing_msg_ecdsa_certificate_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignature.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignature.t index 1c4a73b234..ca4940c946 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignature.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignature.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_signing_msg_ecdsa_signature_1() { } test_auto_check_sbp_signing_msg_ecdsa_signature_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepA.t index d6ef62682a..948ee3b508 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepA.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_signing_msg_ecdsa_signature_dep_a_1() { } test_auto_check_sbp_signing_msg_ecdsa_signature_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepB.t index c016ea9e78..b31eecb4b2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEcdsaSignatureDepB.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_signing_msg_ecdsa_signature_dep_b_1() { } test_auto_check_sbp_signing_msg_ecdsa_signature_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519CertificateDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519CertificateDep.t index eb2e804d37..04b7ff5b2e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519CertificateDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519CertificateDep.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_signing_msg_ed25519_certificate_dep_1() { } test_auto_check_sbp_signing_msg_ed25519_certificate_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepA.t index 72465de0c8..5b62964359 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepA.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_signing_msg_ed25519_signature_dep_a_1() { } test_auto_check_sbp_signing_msg_ed25519_signature_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepB.t index c033792466..9ae32d55e0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_signing_MsgEd25519SignatureDepB.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_signing_msg_ed25519_signature_dep_b_1() { } test_auto_check_sbp_signing_msg_ed25519_signature_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMeta.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMeta.t index a38b52de63..877819fca7 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMeta.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMeta.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_solution_meta_msg_soln_meta_1() { } test_auto_check_sbp_solution_meta_msg_soln_meta_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMetaDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMetaDepA.t index 2d729c6159..977934a762 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMetaDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_solution_meta_MsgSolnMetaDepA.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_solution_meta_msg_soln_meta_dep_a_1() { } test_auto_check_sbp_solution_meta_msg_soln_meta_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodeBiases.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodeBiases.t index e601046104..42addf666a 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodeBiases.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodeBiases.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_code_biases_1() { } test_auto_check_sbp_ssr_msg_ssr_code_biases_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.t index cb3eae7854..4707e90e12 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_code_phase_biases_bounds_1() { } test_auto_check_sbp_ssr_msg_ssr_code_phase_biases_bounds_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.t index 5879cffa8f..2b6caf8bd0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_grid_definition_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_grid_definition_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrection.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrection.t index 7253531049..b1c2465919 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrection.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrection.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_gridded_correction_1() { } test_auto_check_sbp_ssr_msg_ssr_gridded_correction_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.t index 5add9da6da..656aa96ab0 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.t @@ -125,4 +125,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds_2() { test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds_1(); test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.t index 932d806423..3d784b849c 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_gridded_correction_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_gridded_correction_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.t index 2f41e8382e..894969d1f2 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_gridded_correction_no_std_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_gridded_correction_no_std_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClock.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClock.t index 74d8989ae0..e2f7111260 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClock.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClock.t @@ -79,4 +79,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_orbit_clock_1() { } test_auto_check_sbp_ssr_msg_ssr_orbit_clock_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBounds.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBounds.t index e3be2240aa..41d5859e38 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBounds.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBounds.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_1() { } test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.t index eb32b4e865..94373ce4a5 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_degradation_1() { } test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_degradation_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockDepA.t index a72da9f732..edb7dd45c1 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrOrbitClockDepA.t @@ -79,4 +79,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_orbit_clock_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_orbit_clock_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrPhaseBiases.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrPhaseBiases.t index 8b08fe0c21..2b76bebb73 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrPhaseBiases.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrPhaseBiases.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_phase_biases_1() { } test_auto_check_sbp_ssr_msg_ssr_phase_biases_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApc.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApc.t index af55dd8c55..ef937b57b6 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApc.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApc.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_satellite_apc_1() { } test_auto_check_sbp_ssr_msg_ssr_satellite_apc_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.t index 0148182e6e..5375904a11 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_satellite_apc_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_satellite_apc_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrection.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrection.t index 4ca71a52e8..9a2b78ad01 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrection.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrection.t @@ -63,4 +63,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_stec_correction_1() { } test_auto_check_sbp_ssr_msg_ssr_stec_correction_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDep.t index 1eaa653298..061da871d1 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDep.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_1() { } test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.t index 45f2a0edf8..fbcca34770 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinition.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinition.t index e581f7ed9e..2cfdb1d9a1 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinition.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinition.t @@ -77,4 +77,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_tile_definition_1() { } test_auto_check_sbp_ssr_msg_ssr_tile_definition_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.t index ef93e1ca1b..09cf2aec8f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.t @@ -69,4 +69,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_a_1() { } test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.t index 2e52ed041c..0ab32130b9 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.t @@ -71,4 +71,4 @@ sub test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_b_1() { } test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetry.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetry.t index d41e53eb98..c71ea4b562 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetry.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetry.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_system_msg_csac_telemetry_1() { } test_auto_check_sbp_system_msg_csac_telemetry_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetryLabels.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetryLabels.t index dc9f36c9a6..91f0a7173e 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetryLabels.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgCsacTelemetryLabels.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_system_msg_csac_telemetry_labels_1() { } test_auto_check_sbp_system_msg_csac_telemetry_labels_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgDgnssStatus.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgDgnssStatus.t index c9d3b77362..98a08adbe8 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgDgnssStatus.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgDgnssStatus.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_system_msg_dgnss_status_1() { } test_auto_check_sbp_system_msg_dgnss_status_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGnssTimeOffset.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGnssTimeOffset.t index 560687589e..bbe82dabbc 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGnssTimeOffset.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGnssTimeOffset.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_system_msg_gnss_time_offset_1() { } test_auto_check_sbp_system_msg_gnss_time_offset_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGroupMeta.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGroupMeta.t index 3a3e4605ac..2a1ba34743 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGroupMeta.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgGroupMeta.t @@ -89,4 +89,4 @@ sub test_auto_check_sbp_system_msg_group_meta_2() { test_auto_check_sbp_system_msg_group_meta_1(); test_auto_check_sbp_system_msg_group_meta_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgHeartbeat.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgHeartbeat.t index 1d2ae421dd..6f95c45b9d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgHeartbeat.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgHeartbeat.t @@ -77,4 +77,4 @@ sub test_auto_check_sbp_system_msg_heartbeat_2() { test_auto_check_sbp_system_msg_heartbeat_1(); test_auto_check_sbp_system_msg_heartbeat_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsStatus.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsStatus.t index d376db47fd..158761a01b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsStatus.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsStatus.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_system_msg_ins_status_1() { } test_auto_check_sbp_system_msg_ins_status_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsUpdates.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsUpdates.t index 1d7504cfc1..8504c12dd3 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsUpdates.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgInsUpdates.t @@ -65,4 +65,4 @@ sub test_auto_check_sbp_system_msg_ins_updates_1() { } test_auto_check_sbp_system_msg_ins_updates_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgPpsTime.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgPpsTime.t index faea7ee36f..d980dcdb06 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgPpsTime.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgPpsTime.t @@ -55,4 +55,4 @@ sub test_auto_check_sbp_system_msg_pps_time_1() { } test_auto_check_sbp_system_msg_pps_time_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgSensorAidEvent.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgSensorAidEvent.t index 0152dec91b..ba45c76a9f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgSensorAidEvent.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgSensorAidEvent.t @@ -67,4 +67,4 @@ sub test_auto_check_sbp_system_msg_sensor_aid_event_1() { } test_auto_check_sbp_system_msg_sensor_aid_event_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStartup.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStartup.t index 4eb68b41fb..dbae4197be 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStartup.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStartup.t @@ -85,4 +85,4 @@ sub test_auto_check_sbp_system_msg_startup_2() { test_auto_check_sbp_system_msg_startup_1(); test_auto_check_sbp_system_msg_startup_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusJournal.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusJournal.t index bacff4e9d6..68d4133b30 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusJournal.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusJournal.t @@ -93,4 +93,4 @@ sub test_auto_check_sbp_system_msg_status_journal_2() { test_auto_check_sbp_system_msg_status_journal_1(); test_auto_check_sbp_system_msg_status_journal_2(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusReport.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusReport.t index 984338e25a..7b9388f1f9 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusReport.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_system_MsgStatusReport.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_system_msg_status_report_1() { } test_auto_check_sbp_system_msg_status_report_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_telemetry_MsgTelSv.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_telemetry_MsgTelSv.t index b6b1197abd..55a11ae7ef 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_telemetry_MsgTelSv.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_telemetry_MsgTelSv.t @@ -61,4 +61,4 @@ sub test_auto_check_sbp_telemetry_msg_tel_sv_1() { } test_auto_check_sbp_telemetry_msg_tel_sv_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgMeasurementState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgMeasurementState.t index 0c629a289a..e6c23ad47f 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgMeasurementState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgMeasurementState.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_tracking_msg_measurement_state_1() { } test_auto_check_sbp_tracking_msg_measurement_state_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIq.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIq.t index 2099e36ce1..79b1794b9b 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIq.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIq.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_tracking_msg_tracking_iq_1() { } test_auto_check_sbp_tracking_msg_tracking_iq_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepA.t index bca450f3e6..bad0fc5708 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepA.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_tracking_msg_tracking_iq_dep_a_1() { } test_auto_check_sbp_tracking_msg_tracking_iq_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepB.t index 646c695134..ccdf040f2d 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingIqDepB.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_tracking_msg_tracking_iq_dep_b_1() { } test_auto_check_sbp_tracking_msg_tracking_iq_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingState.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingState.t index 9650877ed4..af07144cf4 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingState.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingState.t @@ -173,4 +173,4 @@ test_auto_check_sbp_tracking_msg_tracking_state_4(); test_auto_check_sbp_tracking_msg_tracking_state_5(); test_auto_check_sbp_tracking_msg_tracking_state_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDepB.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDepB.t index 0fbeed750f..c4c6da8e76 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDepB.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDepB.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_tracking_msg_tracking_state_dep_b_1() { } test_auto_check_sbp_tracking_msg_tracking_state_dep_b_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDep.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDep.t index 88e0cbea50..601846ed31 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDep.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDep.t @@ -349,4 +349,4 @@ test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_3(); test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_4(); test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_5(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.t index 19ac01eb5f..fd310bffdb 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.t @@ -93,4 +93,4 @@ sub test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_a_1() { } test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_a_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgtrackingStateDepA.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgtrackingStateDepA.t index 733a067ce3..c9bb075e13 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgtrackingStateDepA.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_tracking_MsgtrackingStateDepA.t @@ -173,4 +173,4 @@ test_auto_check_sbp_tracking_msgtracking_state_dep_a_4(); test_auto_check_sbp_tracking_msgtracking_state_dep_a_5(); test_auto_check_sbp_tracking_msgtracking_state_dep_a_6(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_user_MsgUserData.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_user_MsgUserData.t index fbeffb52b4..74245c3a97 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_user_MsgUserData.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_user_MsgUserData.t @@ -53,4 +53,4 @@ sub test_auto_check_sbp_user_msg_user_data_1() { } test_auto_check_sbp_user_msg_user_data_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgOdometry.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgOdometry.t index a1833d6ca7..9c7157af08 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgOdometry.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgOdometry.t @@ -57,4 +57,4 @@ sub test_auto_check_sbp_vehicle_msg_odometry_1() { } test_auto_check_sbp_vehicle_msg_odometry_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgWheeltick.t b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgWheeltick.t index 6f909aca80..f8742b2527 100644 --- a/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgWheeltick.t +++ b/kaitai/perl/KaitaiSbp/t/auto_check_sbp_vehicle_MsgWheeltick.t @@ -59,4 +59,4 @@ sub test_auto_check_sbp_vehicle_msg_wheeltick_1() { } test_auto_check_sbp_vehicle_msg_wheeltick_1(); -done_testing(); \ No newline at end of file +done_testing(); diff --git a/kaitai/python/kaitai_sbp/table.py b/kaitai/python/kaitai_sbp/table.py index 94f0aabfc9..1685d44394 100644 --- a/kaitai/python/kaitai_sbp/table.py +++ b/kaitai/python/kaitai_sbp/table.py @@ -333,4 +333,4 @@ def _read(self): _io__raw_payload = KaitaiStream(BytesIO(self._raw_payload)) self.payload = TABLE[msg_type](_io__raw_payload, self, self._root) - self.crc = self._io.read_u2le() \ No newline at end of file + self.crc = self._io.read_u2le() diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResult.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResult.py index 52d7a92483..4d45aa1770 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResult.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResult.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_acquisition_msg_acq_result_1(): assert dictify(msg.sid) == {'code': 0, 'sat': 8} - assert dictify(msg) == {'preamble': 85, 'msg_type': 47, 'sender': 1219, 'length': 14, 'payload': 'AABoQWZmkELNxABGCAA=', 'crc': 48591, 'cn0': 14.5, 'cp': 72.19999694824219, 'cf': 8241.2001953125, 'sid': {'sat': 8, 'code': 0}} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 47, 'sender': 1219, 'length': 14, 'payload': 'AABoQWZmkELNxABGCAA=', 'crc': 48591, 'cn0': 14.5, 'cp': 72.19999694824219, 'cf': 8241.2001953125, 'sid': {'sat': 8, 'code': 0}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepA.py index d95b145ab2..f89f5b5919 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepA.py @@ -184,4 +184,4 @@ def test_auto_check_sbp_acquisition_msg_acq_result_dep_a_6(): assert dictify(msg.snr) == 163.22222900390625 - assert dictify(msg) == {'sender': 1219, 'msg_type': 21, 'prn': 0, 'cf': -499.5117492675781, 'crc': 53196, 'length': 13, 'snr': 163.22222900390625, 'cp': 584.5, 'preamble': 85, 'payload': '5DgjQwAgEkSBwfnDAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 21, 'prn': 0, 'cf': -499.5117492675781, 'crc': 53196, 'length': 13, 'snr': 163.22222900390625, 'cp': 584.5, 'preamble': 85, 'payload': '5DgjQwAgEkSBwfnDAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepB.py index 9a173a6eb1..cfe51ab043 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepB.py @@ -156,4 +156,4 @@ def test_auto_check_sbp_acquisition_msg_acq_result_dep_b_5(): assert dictify(msg.snr) == 35.52417755126953 - assert dictify(msg) == {'sender': 55286, 'msg_type': 20, 'cf': -499.5117492675781, 'crc': 52003, 'length': 16, 'snr': 35.52417755126953, 'sid': {'code': 0, 'reserved': 0, 'sat': 5}, 'cp': 522.0, 'preamble': 85, 'payload': 'whgOQgCAAkSBwfnDBQAAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 55286, 'msg_type': 20, 'cf': -499.5117492675781, 'crc': 52003, 'length': 16, 'snr': 35.52417755126953, 'sid': {'code': 0, 'reserved': 0, 'sat': 5}, 'cp': 522.0, 'preamble': 85, 'payload': 'whgOQgCAAkSBwfnDBQAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepC.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepC.py index ce382eb449..9a204c07fc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepC.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqResultDepC.py @@ -156,4 +156,4 @@ def test_auto_check_sbp_acquisition_msg_acq_result_dep_c_5(): assert dictify(msg.sid) == {'code': 0, 'reserved': 0, 'sat': 27} - assert dictify(msg) == {'sender': 3112, 'msg_type': 31, 'cf': 2527.23681640625, 'cn0': 47.53466033935547, 'crc': 17243, 'length': 16, 'sid': {'code': 0, 'reserved': 0, 'sat': 27}, 'cp': 920.5919189453125, 'preamble': 85, 'payload': 'fiM+QuIlZkTK8x1FGwAAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 3112, 'msg_type': 31, 'cf': 2527.23681640625, 'cn0': 47.53466033935547, 'crc': 17243, 'length': 16, 'sid': {'code': 0, 'reserved': 0, 'sat': 27}, 'cp': 920.5919189453125, 'preamble': 85, 'payload': 'fiM+QuIlZkTK8x1FGwAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfile.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfile.py index 1c7c0c7436..a9e311f919 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfile.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfile.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_acquisition_msg_acq_sv_profile_1(): assert dictify(msg.acq_sv_profile) == [{'bin_width': 174, 'cf': 47, 'cf_max': 147, 'cf_min': 61, 'cn0': 38, 'cp': 140, 'int_time': 97, 'job_type': 7, 'sid': {'code': 0, 'sat': 22}, 'status': 13, 'time_spent': 49, 'timestamp': 52}, {'bin_width': 121, 'cf': 237, 'cf_max': 142, 'cf_min': 175, 'cn0': 59, 'cp': 12, 'int_time': 253, 'job_type': 166, 'sid': {'code': 1, 'sat': 23}, 'status': 210, 'time_spent': 175, 'timestamp': 190}, {'bin_width': 8, 'cf': 84, 'cf_max': 191, 'cf_min': 91, 'cn0': 21, 'cp': 82, 'int_time': 153, 'job_type': 126, 'sid': {'code': 0, 'sat': 24}, 'status': 88, 'time_spent': 172, 'timestamp': 130}] - assert dictify(msg) == {'crc': 45480, 'length': 99, 'msg_type': 46, 'payload': 'Bw0mAGEWAK4ANAAAADEAAAA9AAAAkwAAAC8AAACMAAAAptI7AP0XAXkAvgAAAK8AAACvAAAAjgAAAO0AAAAMAAAAflgVAJkYAAgAggAAAKwAAABbAAAAvwAAAFQAAABSAAAA', 'preamble': 85, 'sender': 1219, 'acq_sv_profile': [{'job_type': 7, 'status': 13, 'cn0': 38, 'int_time': 97, 'sid': {'sat': 22, 'code': 0}, 'bin_width': 174, 'timestamp': 52, 'time_spent': 49, 'cf_min': 61, 'cf_max': 147, 'cf': 47, 'cp': 140}, {'job_type': 166, 'status': 210, 'cn0': 59, 'int_time': 253, 'sid': {'sat': 23, 'code': 1}, 'bin_width': 121, 'timestamp': 190, 'time_spent': 175, 'cf_min': 175, 'cf_max': 142, 'cf': 237, 'cp': 12}, {'job_type': 126, 'status': 88, 'cn0': 21, 'int_time': 153, 'sid': {'sat': 24, 'code': 0}, 'bin_width': 8, 'timestamp': 130, 'time_spent': 172, 'cf_min': 91, 'cf_max': 191, 'cf': 84, 'cp': 82}]} \ No newline at end of file + assert dictify(msg) == {'crc': 45480, 'length': 99, 'msg_type': 46, 'payload': 'Bw0mAGEWAK4ANAAAADEAAAA9AAAAkwAAAC8AAACMAAAAptI7AP0XAXkAvgAAAK8AAACvAAAAjgAAAO0AAAAMAAAAflgVAJkYAAgAggAAAKwAAABbAAAAvwAAAFQAAABSAAAA', 'preamble': 85, 'sender': 1219, 'acq_sv_profile': [{'job_type': 7, 'status': 13, 'cn0': 38, 'int_time': 97, 'sid': {'sat': 22, 'code': 0}, 'bin_width': 174, 'timestamp': 52, 'time_spent': 49, 'cf_min': 61, 'cf_max': 147, 'cf': 47, 'cp': 140}, {'job_type': 166, 'status': 210, 'cn0': 59, 'int_time': 253, 'sid': {'sat': 23, 'code': 1}, 'bin_width': 121, 'timestamp': 190, 'time_spent': 175, 'cf_min': 175, 'cf_max': 142, 'cf': 237, 'cp': 12}, {'job_type': 126, 'status': 88, 'cn0': 21, 'int_time': 153, 'sid': {'sat': 24, 'code': 0}, 'bin_width': 8, 'timestamp': 130, 'time_spent': 172, 'cf_min': 91, 'cf_max': 191, 'cf': 84, 'cp': 82}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfileDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfileDep.py index 73c1aadd88..1207849e65 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfileDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_acquisition_MsgAcqSvProfileDep.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_acquisition_msg_acq_sv_profile_dep_1(): assert dictify(msg.acq_sv_profile) == [{'bin_width': 187, 'cf': 60, 'cf_max': 36, 'cf_min': 132, 'cn0': 151, 'cp': 241, 'int_time': 12, 'job_type': 67, 'sid': {'code': 0, 'reserved': 0, 'sat': 22}, 'status': 103, 'time_spent': 75, 'timestamp': 91}, {'bin_width': 176, 'cf': 212, 'cf_max': 24, 'cf_min': 155, 'cn0': 111, 'cp': 247, 'int_time': 179, 'job_type': 238, 'sid': {'code': 1, 'reserved': 0, 'sat': 23}, 'status': 38, 'time_spent': 234, 'timestamp': 166}, {'bin_width': 52, 'cf': 212, 'cf_max': 248, 'cf_min': 76, 'cn0': 68, 'cp': 101, 'int_time': 53, 'job_type': 142, 'sid': {'code': 0, 'reserved': 0, 'sat': 24}, 'status': 213, 'time_spent': 245, 'timestamp': 49}] - assert dictify(msg) == {'crc': 33859, 'length': 105, 'msg_type': 30, 'payload': 'Q2eXAAwWAAAAuwBbAAAASwAAAIQAAAAkAAAAPAAAAPEAAADuJm8AsxcAAQCwAKYAAADqAAAAmwAAABgAAADUAAAA9wAAAI7VRAA1GAAAADQAMQAAAPUAAABMAAAA+AAAANQAAABlAAAA', 'preamble': 85, 'sender': 1219, 'acq_sv_profile': [{'job_type': 67, 'status': 103, 'cn0': 151, 'int_time': 12, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'bin_width': 187, 'timestamp': 91, 'time_spent': 75, 'cf_min': 132, 'cf_max': 36, 'cf': 60, 'cp': 241}, {'job_type': 238, 'status': 38, 'cn0': 111, 'int_time': 179, 'sid': {'sat': 23, 'code': 1, 'reserved': 0}, 'bin_width': 176, 'timestamp': 166, 'time_spent': 234, 'cf_min': 155, 'cf_max': 24, 'cf': 212, 'cp': 247}, {'job_type': 142, 'status': 213, 'cn0': 68, 'int_time': 53, 'sid': {'sat': 24, 'code': 0, 'reserved': 0}, 'bin_width': 52, 'timestamp': 49, 'time_spent': 245, 'cf_min': 76, 'cf_max': 248, 'cf': 212, 'cp': 101}]} \ No newline at end of file + assert dictify(msg) == {'crc': 33859, 'length': 105, 'msg_type': 30, 'payload': 'Q2eXAAwWAAAAuwBbAAAASwAAAIQAAAAkAAAAPAAAAPEAAADuJm8AsxcAAQCwAKYAAADqAAAAmwAAABgAAADUAAAA9wAAAI7VRAA1GAAAADQAMQAAAPUAAABMAAAA+AAAANQAAABlAAAA', 'preamble': 85, 'sender': 1219, 'acq_sv_profile': [{'job_type': 67, 'status': 103, 'cn0': 151, 'int_time': 12, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'bin_width': 187, 'timestamp': 91, 'time_spent': 75, 'cf_min': 132, 'cf_max': 36, 'cf': 60, 'cp': 241}, {'job_type': 238, 'status': 38, 'cn0': 111, 'int_time': 179, 'sid': {'sat': 23, 'code': 1, 'reserved': 0}, 'bin_width': 176, 'timestamp': 166, 'time_spent': 234, 'cf_min': 155, 'cf_max': 24, 'cf': 212, 'cp': 247}, {'job_type': 142, 'status': 213, 'cn0': 68, 'int_time': 53, 'sid': {'sat': 24, 'code': 0, 'reserved': 0}, 'bin_width': 52, 'timestamp': 49, 'time_spent': 245, 'cf_min': 76, 'cf_max': 248, 'cf': 212, 'cp': 101}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeReq.py index adae156b25..07d1a9f531 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeReq.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_bootload_msg_bootloader_handshake_req_1(): assert msg.sender == 0xf788 - assert dictify(msg) == {'crc': 55361, 'length': 0, 'msg_type': 179, 'payload': '', 'preamble': 85, 'sender': 63368} \ No newline at end of file + assert dictify(msg) == {'crc': 55361, 'length': 0, 'msg_type': 179, 'payload': '', 'preamble': 85, 'sender': 63368} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeResp.py index 578c7e69c9..11addffb2c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderHandshakeResp.py @@ -62,4 +62,4 @@ def test_auto_check_sbp_bootload_msg_bootloader_handshake_resp_2(): assert dictify(msg.handshake) == [118, 49, 46, 50] - assert dictify(msg) == {'handshake': [118, 49, 46, 50], 'crc': 52737, 'length': 4, 'msg_type': 176, 'payload': 'djEuMg==', 'preamble': 85, 'sender': 1219} \ No newline at end of file + assert dictify(msg) == {'handshake': [118, 49, 46, 50], 'crc': 52737, 'length': 4, 'msg_type': 176, 'payload': 'djEuMg==', 'preamble': 85, 'sender': 1219} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderJumptoApp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderJumptoApp.py index 89b343dc84..cf0fc9eed7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderJumptoApp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgBootloaderJumptoApp.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_bootload_msg_bootloader_jumpto_app_1(): assert dictify(msg.jump) == 216 - assert dictify(msg) == {'crc': 24681, 'length': 1, 'msg_type': 177, 'payload': '2A==', 'preamble': 85, 'sender': 4813, 'jump': 216} \ No newline at end of file + assert dictify(msg) == {'crc': 24681, 'length': 1, 'msg_type': 177, 'payload': '2A==', 'preamble': 85, 'sender': 4813, 'jump': 216} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaReq.py index dec1c7605b..51e1c01bbf 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaReq.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_bootload_msg_nap_device_dna_req_1(): assert msg.sender == 0x3280 - assert dictify(msg) == {'crc': 41191, 'length': 0, 'msg_type': 222, 'payload': '', 'preamble': 85, 'sender': 12928} \ No newline at end of file + assert dictify(msg) == {'crc': 41191, 'length': 0, 'msg_type': 222, 'payload': '', 'preamble': 85, 'sender': 12928} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaResp.py index f759de71aa..06989f410d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_bootload_MsgNapDeviceDnaResp.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_bootload_msg_nap_device_dna_resp_1(): assert dictify(msg.dna) == [2, 187, 1, 130, 173, 244, 67, 122] - assert dictify(msg) == {'crc': 23366, 'length': 8, 'msg_type': 221, 'payload': 'ArsBgq30Q3o=', 'preamble': 85, 'sender': 14505, 'dna': [2, 187, 1, 130, 173, 244, 67, 122]} \ No newline at end of file + assert dictify(msg) == {'crc': 23366, 'length': 8, 'msg_type': 221, 'payload': 'ArsBgq30Q3o=', 'preamble': 85, 'sender': 14505, 'dna': [2, 187, 1, 130, 173, 244, 67, 122]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ext_events_MsgExtEvent.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ext_events_MsgExtEvent.py index 5d664e106a..6c3b520b45 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ext_events_MsgExtEvent.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ext_events_MsgExtEvent.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ext_events_msg_ext_event_1(): assert dictify(msg.wn) == 1840 - assert dictify(msg) == {'sender': 1781, 'msg_type': 257, 'wn': 1840, 'tow': 254924999, 'crc': 52286, 'length': 12, 'flags': 3, 'pin': 0, 'ns_residual': 999882, 'preamble': 85, 'payload': 'MAfH2DEPykEPAAMA'} \ No newline at end of file + assert dictify(msg) == {'sender': 1781, 'msg_type': 257, 'wn': 1840, 'tow': 254924999, 'crc': 52286, 'length': 12, 'flags': 3, 'pin': 0, 'ns_residual': 999882, 'preamble': 85, 'payload': 'MAfH2DEPykEPAAMA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigReq.py index 1a2cf444a8..a29a79a554 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigReq.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_file_io_msg_fileio_config_req_1(): assert dictify(msg.sequence) == 1514527339 - assert dictify(msg) == {'preamble': 85, 'msg_type': 4097, 'sender': 1219, 'length': 4, 'payload': 'a9pFWg==', 'crc': 7097, 'sequence': 1514527339} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 4097, 'sender': 1219, 'length': 4, 'payload': 'a9pFWg==', 'crc': 7097, 'sequence': 1514527339} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigResp.py index b0016fe9c7..0d290dfa93 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioConfigResp.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_file_io_msg_fileio_config_resp_1(): assert dictify(msg.window_size) == 53262997 - assert dictify(msg) == {'preamble': 85, 'msg_type': 4098, 'sender': 1219, 'length': 16, 'payload': 'qkw0W5W6LAPYl/89DGFCkA==', 'crc': 29679, 'sequence': 1530154154, 'window_size': 53262997, 'batch_size': 1040160728, 'fileio_version': 2420269324} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 4098, 'sender': 1219, 'length': 16, 'payload': 'qkw0W5W6LAPYl/89DGFCkA==', 'crc': 29679, 'sequence': 1530154154, 'window_size': 53262997, 'batch_size': 1040160728, 'fileio_version': 2420269324} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirReq.py index f6305be061..60d90c2abb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirReq.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_file_io_msg_fileio_read_dir_req_1(): assert dictify(msg.sequence) == 1526720386 - assert dictify(msg) == {'preamble': 85, 'msg_type': 169, 'sender': 1219, 'length': 26, 'payload': 'guf/WsSGL4Yvc29tZS9yYW5kb20vcGF0aAA=', 'crc': 47642, 'sequence': 1526720386, 'offset': 2251261636, 'dirname': '/some/random/path\x00'} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 169, 'sender': 1219, 'length': 26, 'payload': 'guf/WsSGL4Yvc29tZS9yYW5kb20vcGF0aAA=', 'crc': 47642, 'sequence': 1526720386, 'offset': 2251261636, 'dirname': '/some/random/path\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirResp.py index dad046cbcd..04d7a98ee7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadDirResp.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_file_io_msg_fileio_read_dir_resp_1(): assert dictify(msg.sequence) == 3957390670 - assert dictify(msg) == {'preamble': 85, 'msg_type': 170, 'sender': 1219, 'length': 45, 'payload': 'Tv3g62ZpbGUxAGFub3RoZXIgZmlsZQBkZWZpbml0ZWx5IG5vdCBhIGZpbGUA', 'crc': 35258, 'sequence': 3957390670, 'contents': 'file1\x00another file\x00definitely not a file\x00'} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 170, 'sender': 1219, 'length': 45, 'payload': 'Tv3g62ZpbGUxAGFub3RoZXIgZmlsZQBkZWZpbml0ZWx5IG5vdCBhIGZpbGUA', 'crc': 35258, 'sequence': 3957390670, 'contents': 'file1\x00another file\x00definitely not a file\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadReq.py index ea4ab2a3e9..6e0f2f75a8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadReq.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_file_io_msg_fileio_read_req_1(): assert dictify(msg.sequence) == 679648290 - assert dictify(msg) == {'crc': 25686, 'length': 28, 'msg_type': 168, 'payload': 'IpyCKGKyvhc1L3BhdGgvdG8vc29tZS9maWxlAA==', 'preamble': 85, 'sender': 1219, 'sequence': 679648290, 'offset': 398373474, 'chunk_size': 53, 'filename': '/path/to/some/file\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 25686, 'length': 28, 'msg_type': 168, 'payload': 'IpyCKGKyvhc1L3BhdGgvdG8vc29tZS9maWxlAA==', 'preamble': 85, 'sender': 1219, 'sequence': 679648290, 'offset': 398373474, 'chunk_size': 53, 'filename': '/path/to/some/file\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadResp.py index 3a6cd8e691..77cc05da32 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioReadResp.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_file_io_msg_fileio_read_resp_1(): assert dictify(msg.sequence) == 259241795 - assert dictify(msg) == {'crc': 61450, 'length': 255, 'msg_type': 163, 'payload': 'Q7dzD0nn47MSTETl2BVit0W+BfywNyBOCDR/MkdqPU+/ai5Pdvh2z87SW0n7UYPNwZLOuYz5o+dBQ176bZhfe03gfO7NQWcjaNEFvy/5sKbVLsBWIGeS/AQQNqE8Bg2/dLYqv9UU2QiOu+54uPoflyUzsYK+m0dEOO5cgiWJkvZydIql2U8KvYC9AvBcHH5p7OTCADM9SikK74Vqvh4bA/DN/XEZHLtRZdh5KbN4mBJ0NdRkAnLGyAqTGSFz0HE8s7cAKdnO/9Phjr+FUQ/4wUK/9N34x/FwMwG0tH1hkRlI0tfQD344JkEEQBNK329tNCunuspvC1sV7OrEJKuT', 'preamble': 85, 'sender': 1219, 'sequence': 259241795, 'contents': [73, 231, 227, 179, 18, 76, 68, 229, 216, 21, 98, 183, 69, 190, 5, 252, 176, 55, 32, 78, 8, 52, 127, 50, 71, 106, 61, 79, 191, 106, 46, 79, 118, 248, 118, 207, 206, 210, 91, 73, 251, 81, 131, 205, 193, 146, 206, 185, 140, 249, 163, 231, 65, 67, 94, 250, 109, 152, 95, 123, 77, 224, 124, 238, 205, 65, 103, 35, 104, 209, 5, 191, 47, 249, 176, 166, 213, 46, 192, 86, 32, 103, 146, 252, 4, 16, 54, 161, 60, 6, 13, 191, 116, 182, 42, 191, 213, 20, 217, 8, 142, 187, 238, 120, 184, 250, 31, 151, 37, 51, 177, 130, 190, 155, 71, 68, 56, 238, 92, 130, 37, 137, 146, 246, 114, 116, 138, 165, 217, 79, 10, 189, 128, 189, 2, 240, 92, 28, 126, 105, 236, 228, 194, 0, 51, 61, 74, 41, 10, 239, 133, 106, 190, 30, 27, 3, 240, 205, 253, 113, 25, 28, 187, 81, 101, 216, 121, 41, 179, 120, 152, 18, 116, 53, 212, 100, 2, 114, 198, 200, 10, 147, 25, 33, 115, 208, 113, 60, 179, 183, 0, 41, 217, 206, 255, 211, 225, 142, 191, 133, 81, 15, 248, 193, 66, 191, 244, 221, 248, 199, 241, 112, 51, 1, 180, 180, 125, 97, 145, 25, 72, 210, 215, 208, 15, 126, 56, 38, 65, 4, 64, 19, 74, 223, 111, 109, 52, 43, 167, 186, 202, 111, 11, 91, 21, 236, 234, 196, 36, 171, 147]} \ No newline at end of file + assert dictify(msg) == {'crc': 61450, 'length': 255, 'msg_type': 163, 'payload': 'Q7dzD0nn47MSTETl2BVit0W+BfywNyBOCDR/MkdqPU+/ai5Pdvh2z87SW0n7UYPNwZLOuYz5o+dBQ176bZhfe03gfO7NQWcjaNEFvy/5sKbVLsBWIGeS/AQQNqE8Bg2/dLYqv9UU2QiOu+54uPoflyUzsYK+m0dEOO5cgiWJkvZydIql2U8KvYC9AvBcHH5p7OTCADM9SikK74Vqvh4bA/DN/XEZHLtRZdh5KbN4mBJ0NdRkAnLGyAqTGSFz0HE8s7cAKdnO/9Phjr+FUQ/4wUK/9N34x/FwMwG0tH1hkRlI0tfQD344JkEEQBNK329tNCunuspvC1sV7OrEJKuT', 'preamble': 85, 'sender': 1219, 'sequence': 259241795, 'contents': [73, 231, 227, 179, 18, 76, 68, 229, 216, 21, 98, 183, 69, 190, 5, 252, 176, 55, 32, 78, 8, 52, 127, 50, 71, 106, 61, 79, 191, 106, 46, 79, 118, 248, 118, 207, 206, 210, 91, 73, 251, 81, 131, 205, 193, 146, 206, 185, 140, 249, 163, 231, 65, 67, 94, 250, 109, 152, 95, 123, 77, 224, 124, 238, 205, 65, 103, 35, 104, 209, 5, 191, 47, 249, 176, 166, 213, 46, 192, 86, 32, 103, 146, 252, 4, 16, 54, 161, 60, 6, 13, 191, 116, 182, 42, 191, 213, 20, 217, 8, 142, 187, 238, 120, 184, 250, 31, 151, 37, 51, 177, 130, 190, 155, 71, 68, 56, 238, 92, 130, 37, 137, 146, 246, 114, 116, 138, 165, 217, 79, 10, 189, 128, 189, 2, 240, 92, 28, 126, 105, 236, 228, 194, 0, 51, 61, 74, 41, 10, 239, 133, 106, 190, 30, 27, 3, 240, 205, 253, 113, 25, 28, 187, 81, 101, 216, 121, 41, 179, 120, 152, 18, 116, 53, 212, 100, 2, 114, 198, 200, 10, 147, 25, 33, 115, 208, 113, 60, 179, 183, 0, 41, 217, 206, 255, 211, 225, 142, 191, 133, 81, 15, 248, 193, 66, 191, 244, 221, 248, 199, 241, 112, 51, 1, 180, 180, 125, 97, 145, 25, 72, 210, 215, 208, 15, 126, 56, 38, 65, 4, 64, 19, 74, 223, 111, 109, 52, 43, 167, 186, 202, 111, 11, 91, 21, 236, 234, 196, 36, 171, 147]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioRemove.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioRemove.py index c2f8d296bd..266c9fa5c4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioRemove.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioRemove.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_file_io_msg_fileio_remove_1(): assert dictify(msg.filename) == "/path/to/file\x00" - assert dictify(msg) == {'crc': 62254, 'length': 14, 'msg_type': 172, 'payload': 'L3BhdGgvdG8vZmlsZQA=', 'preamble': 85, 'sender': 1219, 'filename': '/path/to/file\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 62254, 'length': 14, 'msg_type': 172, 'payload': 'L3BhdGgvdG8vZmlsZQA=', 'preamble': 85, 'sender': 1219, 'filename': '/path/to/file\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioWriteResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioWriteResp.py index e948c272a7..4d985b931b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioWriteResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_file_io_MsgFileioWriteResp.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_file_io_msg_fileio_write_resp_1(): assert dictify(msg.sequence) == 202 - assert dictify(msg) == {'sender': 66, 'msg_type': 171, 'sequence': 202, 'crc': 62451, 'length': 4, 'preamble': 85, 'payload': 'ygAAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 66, 'msg_type': 171, 'sequence': 202, 'crc': 62451, 'length': 4, 'preamble': 85, 'payload': 'ygAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashDone.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashDone.py index c9de15aa5f..2eb7730b80 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashDone.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashDone.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_flash_msg_flash_done_1(): assert dictify(msg.response) == 82 - assert dictify(msg) == {'crc': 13830, 'length': 1, 'msg_type': 224, 'payload': 'Ug==', 'preamble': 85, 'sender': 1219, 'response': 82} \ No newline at end of file + assert dictify(msg) == {'crc': 13830, 'length': 1, 'msg_type': 224, 'payload': 'Ug==', 'preamble': 85, 'sender': 1219, 'response': 82} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashErase.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashErase.py index 419b92613c..31abad63fc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashErase.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashErase.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_flash_msg_flash_erase_1(): assert dictify(msg.target) == 74 - assert dictify(msg) == {'crc': 64256, 'length': 5, 'msg_type': 226, 'payload': 'Su6xdoQ=', 'preamble': 85, 'sender': 1219, 'target': 74, 'sector_num': 2222371310} \ No newline at end of file + assert dictify(msg) == {'crc': 64256, 'length': 5, 'msg_type': 226, 'payload': 'Su6xdoQ=', 'preamble': 85, 'sender': 1219, 'target': 74, 'sector_num': 2222371310} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashProgram.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashProgram.py index 2a9372f1a5..f67c0c8fe1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashProgram.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashProgram.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_flash_msg_flash_program_1(): assert dictify(msg.target) == 212 - assert dictify(msg) == {'crc': 58157, 'length': 255, 'msg_type': 230, 'payload': '1Fc09Pqw3utqkB2N/wMQwO2s/tUE3GIi3ubWBtmsei4NJvDsPHkv/KON3h2o1nY3yekV1jn19hMDeTHnJbo67mInRuiFGQqGgUXkhglYt4Wr/6ZkmOdcCcRq9h2RnJcgQ7w/6Y6ui5p/Izw4u3lnh5i2WKD/4/A2ZFsfjWaC/jbj5T414Y9Yi37r6yM2hqNcOVeCshaeEu3Ru+IBLkDi69W6n926GXNUg6fJaAHIDTJHScHJ+qzBDRTugvNEBEguwnH/7g/mQLJ/2VygyXajkDocrkFJLXt2U2vvqCDUv1Fdut8gEzqJSNmX+1MUcSWXIiVHX2nrkKRTxf6331sT', 'preamble': 85, 'sender': 1219, 'target': 212, 'addr_start': [87, 52, 244], 'addr_len': 250, 'data': [176, 222, 235, 106, 144, 29, 141, 255, 3, 16, 192, 237, 172, 254, 213, 4, 220, 98, 34, 222, 230, 214, 6, 217, 172, 122, 46, 13, 38, 240, 236, 60, 121, 47, 252, 163, 141, 222, 29, 168, 214, 118, 55, 201, 233, 21, 214, 57, 245, 246, 19, 3, 121, 49, 231, 37, 186, 58, 238, 98, 39, 70, 232, 133, 25, 10, 134, 129, 69, 228, 134, 9, 88, 183, 133, 171, 255, 166, 100, 152, 231, 92, 9, 196, 106, 246, 29, 145, 156, 151, 32, 67, 188, 63, 233, 142, 174, 139, 154, 127, 35, 60, 56, 187, 121, 103, 135, 152, 182, 88, 160, 255, 227, 240, 54, 100, 91, 31, 141, 102, 130, 254, 54, 227, 229, 62, 53, 225, 143, 88, 139, 126, 235, 235, 35, 54, 134, 163, 92, 57, 87, 130, 178, 22, 158, 18, 237, 209, 187, 226, 1, 46, 64, 226, 235, 213, 186, 159, 221, 186, 25, 115, 84, 131, 167, 201, 104, 1, 200, 13, 50, 71, 73, 193, 201, 250, 172, 193, 13, 20, 238, 130, 243, 68, 4, 72, 46, 194, 113, 255, 238, 15, 230, 64, 178, 127, 217, 92, 160, 201, 118, 163, 144, 58, 28, 174, 65, 73, 45, 123, 118, 83, 107, 239, 168, 32, 212, 191, 81, 93, 186, 223, 32, 19, 58, 137, 72, 217, 151, 251, 83, 20, 113, 37, 151, 34, 37, 71, 95, 105, 235, 144, 164, 83, 197, 254, 183, 223, 91, 19]} \ No newline at end of file + assert dictify(msg) == {'crc': 58157, 'length': 255, 'msg_type': 230, 'payload': '1Fc09Pqw3utqkB2N/wMQwO2s/tUE3GIi3ubWBtmsei4NJvDsPHkv/KON3h2o1nY3yekV1jn19hMDeTHnJbo67mInRuiFGQqGgUXkhglYt4Wr/6ZkmOdcCcRq9h2RnJcgQ7w/6Y6ui5p/Izw4u3lnh5i2WKD/4/A2ZFsfjWaC/jbj5T414Y9Yi37r6yM2hqNcOVeCshaeEu3Ru+IBLkDi69W6n926GXNUg6fJaAHIDTJHScHJ+qzBDRTugvNEBEguwnH/7g/mQLJ/2VygyXajkDocrkFJLXt2U2vvqCDUv1Fdut8gEzqJSNmX+1MUcSWXIiVHX2nrkKRTxf6331sT', 'preamble': 85, 'sender': 1219, 'target': 212, 'addr_start': [87, 52, 244], 'addr_len': 250, 'data': [176, 222, 235, 106, 144, 29, 141, 255, 3, 16, 192, 237, 172, 254, 213, 4, 220, 98, 34, 222, 230, 214, 6, 217, 172, 122, 46, 13, 38, 240, 236, 60, 121, 47, 252, 163, 141, 222, 29, 168, 214, 118, 55, 201, 233, 21, 214, 57, 245, 246, 19, 3, 121, 49, 231, 37, 186, 58, 238, 98, 39, 70, 232, 133, 25, 10, 134, 129, 69, 228, 134, 9, 88, 183, 133, 171, 255, 166, 100, 152, 231, 92, 9, 196, 106, 246, 29, 145, 156, 151, 32, 67, 188, 63, 233, 142, 174, 139, 154, 127, 35, 60, 56, 187, 121, 103, 135, 152, 182, 88, 160, 255, 227, 240, 54, 100, 91, 31, 141, 102, 130, 254, 54, 227, 229, 62, 53, 225, 143, 88, 139, 126, 235, 235, 35, 54, 134, 163, 92, 57, 87, 130, 178, 22, 158, 18, 237, 209, 187, 226, 1, 46, 64, 226, 235, 213, 186, 159, 221, 186, 25, 115, 84, 131, 167, 201, 104, 1, 200, 13, 50, 71, 73, 193, 201, 250, 172, 193, 13, 20, 238, 130, 243, 68, 4, 72, 46, 194, 113, 255, 238, 15, 230, 64, 178, 127, 217, 92, 160, 201, 118, 163, 144, 58, 28, 174, 65, 73, 45, 123, 118, 83, 107, 239, 168, 32, 212, 191, 81, 93, 186, 223, 32, 19, 58, 137, 72, 217, 151, 251, 83, 20, 113, 37, 151, 34, 37, 71, 95, 105, 235, 144, 164, 83, 197, 254, 183, 223, 91, 19]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadReq.py index 67daa695b7..7fed24214b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadReq.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_flash_msg_flash_read_req_1(): assert dictify(msg.target) == 241 - assert dictify(msg) == {'crc': 14802, 'length': 5, 'msg_type': 231, 'payload': '8RxL9Ec=', 'preamble': 85, 'sender': 1219, 'target': 241, 'addr_start': [28, 75, 244], 'addr_len': 71} \ No newline at end of file + assert dictify(msg) == {'crc': 14802, 'length': 5, 'msg_type': 231, 'payload': '8RxL9Ec=', 'preamble': 85, 'sender': 1219, 'target': 241, 'addr_start': [28, 75, 244], 'addr_len': 71} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadResp.py index e118d7dec4..54c0a9be2e 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgFlashReadResp.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_flash_msg_flash_read_resp_1(): assert dictify(msg.target) == 136 - assert dictify(msg) == {'crc': 34709, 'length': 5, 'msg_type': 225, 'payload': 'iJs0rHw=', 'preamble': 85, 'sender': 1219, 'target': 136, 'addr_start': [155, 52, 172], 'addr_len': 124} \ No newline at end of file + assert dictify(msg) == {'crc': 34709, 'length': 5, 'msg_type': 225, 'payload': 'iJs0rHw=', 'preamble': 85, 'sender': 1219, 'target': 136, 'addr_start': [155, 52, 172], 'addr_len': 124} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgM25FlashWriteStatus.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgM25FlashWriteStatus.py index b47ca2a413..ac0c0d5f1d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgM25FlashWriteStatus.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgM25FlashWriteStatus.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_flash_msg_m25_flash_write_status_1(): assert dictify(msg.status) == [5] - assert dictify(msg) == {'crc': 51312, 'length': 1, 'msg_type': 243, 'payload': 'BQ==', 'preamble': 85, 'sender': 1219, 'status': [5]} \ No newline at end of file + assert dictify(msg) == {'crc': 51312, 'length': 1, 'msg_type': 243, 'payload': 'BQ==', 'preamble': 85, 'sender': 1219, 'status': [5]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashLockSector.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashLockSector.py index ded63b8957..7890a51c88 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashLockSector.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashLockSector.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_flash_msg_stm_flash_lock_sector_1(): assert dictify(msg.sector) == 1137047457 - assert dictify(msg) == {'crc': 8421, 'length': 4, 'msg_type': 227, 'payload': 'offFQw==', 'preamble': 85, 'sender': 1219, 'sector': 1137047457} \ No newline at end of file + assert dictify(msg) == {'crc': 8421, 'length': 4, 'msg_type': 227, 'payload': 'offFQw==', 'preamble': 85, 'sender': 1219, 'sector': 1137047457} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashUnlockSector.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashUnlockSector.py index 23731d3e1d..bad3bf92ee 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashUnlockSector.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmFlashUnlockSector.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_flash_msg_stm_flash_unlock_sector_1(): assert dictify(msg.sector) == 837226527 - assert dictify(msg) == {'crc': 55605, 'length': 4, 'msg_type': 228, 'payload': 'HxDnMQ==', 'preamble': 85, 'sender': 1219, 'sector': 837226527} \ No newline at end of file + assert dictify(msg) == {'crc': 55605, 'length': 4, 'msg_type': 228, 'payload': 'HxDnMQ==', 'preamble': 85, 'sender': 1219, 'sector': 837226527} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdReq.py index d76fc9eb56..c900c1167c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdReq.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_flash_msg_stm_unique_id_req_1(): assert msg.sender == 0x04c3 - assert dictify(msg) == {'crc': 35394, 'length': 0, 'msg_type': 232, 'payload': '', 'preamble': 85, 'sender': 1219} \ No newline at end of file + assert dictify(msg) == {'crc': 35394, 'length': 0, 'msg_type': 232, 'payload': '', 'preamble': 85, 'sender': 1219} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdResp.py index d1c0ac8b05..5205e44783 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_flash_MsgStmUniqueIdResp.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_flash_msg_stm_unique_id_resp_1(): assert dictify(msg.stm_id) == [196, 16, 15, 163, 85, 221, 119, 102, 32, 194, 56, 144] - assert dictify(msg) == {'crc': 50397, 'length': 12, 'msg_type': 229, 'payload': 'xBAPo1Xdd2YgwjiQ', 'preamble': 85, 'sender': 1219, 'stm_id': [196, 16, 15, 163, 85, 221, 119, 102, 32, 194, 56, 144]} \ No newline at end of file + assert dictify(msg) == {'crc': 50397, 'length': 12, 'msg_type': 229, 'payload': 'xBAPo1Xdd2YgwjiQ', 'preamble': 85, 'sender': 1219, 'stm_id': [196, 16, 15, 163, 85, 221, 119, 102, 32, 194, 56, 144]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuAux.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuAux.py index 526f481a61..91e3cddc51 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuAux.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuAux.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_imu_msg_imu_aux_1(): assert dictify(msg.temp) == 2804 - assert dictify(msg) == {'imu_type': 1, 'temp': 2804, 'imu_conf': 66, 'preamble': 85, 'msg_type': 2305, 'sender': 4660, 'payload': 'AfQKQg==', 'crc': 64712, 'length': 4} \ No newline at end of file + assert dictify(msg) == {'imu_type': 1, 'temp': 2804, 'imu_conf': 66, 'preamble': 85, 'msg_type': 2305, 'sender': 4660, 'payload': 'AfQKQg==', 'crc': 64712, 'length': 4} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuComp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuComp.py index f1623b232e..400f75d265 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuComp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuComp.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_imu_msg_imu_comp_1(): assert dictify(msg.time) == 3221225754 - assert dictify(msg) == {'time': 3221225754, 'flags': 206, 'acc_comp_x': 96, 'acc_comp_y': -33, 'acc_comp_z': 4140, 'gyr_comp_x': 60, 'gyr_comp_y': -304, 'gyr_comp_z': -18, 'preamble': 85, 'msg_type': 2309, 'sender': 4660, 'payload': 'GgEAwAAAAADOAGAAAADf////LBAAADwAAADQ/v//7v///w==', 'crc': 22095, 'length': 34} \ No newline at end of file + assert dictify(msg) == {'time': 3221225754, 'flags': 206, 'acc_comp_x': 96, 'acc_comp_y': -33, 'acc_comp_z': 4140, 'gyr_comp_x': 60, 'gyr_comp_y': -304, 'gyr_comp_z': -18, 'preamble': 85, 'msg_type': 2309, 'sender': 4660, 'payload': 'GgEAwAAAAADOAGAAAADf////LBAAADwAAADQ/v//7v///w==', 'crc': 22095, 'length': 34} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuRaw.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuRaw.py index b4fe96d8cb..6d9f622e0e 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuRaw.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_imu_MsgImuRaw.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_imu_msg_imu_raw_1(): assert dictify(msg.tow_f) == 206 - assert dictify(msg) == {'tow': 3221225754, 'tow_f': 206, 'acc_x': 96, 'acc_y': -33, 'acc_z': 4140, 'gyr_x': 60, 'gyr_y': -304, 'gyr_z': -18, 'preamble': 85, 'msg_type': 2304, 'sender': 4660, 'payload': 'GgEAwM5gAN//LBA8AND+7v8=', 'crc': 34630, 'length': 17} \ No newline at end of file + assert dictify(msg) == {'tow': 3221225754, 'tow_f': 206, 'acc_x': 96, 'acc_y': -33, 'acc_z': 4140, 'gyr_x': 60, 'gyr_y': -304, 'gyr_z': -18, 'preamble': 85, 'msg_type': 2304, 'sender': 4660, 'payload': 'GgEAwM5gAN//LBA8AND+7v8=', 'crc': 34630, 'length': 17} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgAcknowledge.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgAcknowledge.py index 29b78d4b79..e065d641e8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgAcknowledge.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgAcknowledge.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_integrity_msg_acknowledge_1(): assert dictify(msg.solution_id) == 2 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3026, 'sender': 42, 'length': 11, 'payload': 'HkDiAQAAAQABAAI=', 'crc': 45654, 'request_id': 30, 'area_id': 123456, 'response_code': 0, 'correction_mask_on_demand': 1, 'correction_mask_stream': 1, 'solution_id': 2} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3026, 'sender': 42, 'length': 11, 'payload': 'HkDiAQAAAQABAAI=', 'crc': 45654, 'request_id': 30, 'area_id': 123456, 'response_code': 0, 'correction_mask_on_demand': 1, 'correction_mask_stream': 1, 'solution_id': 2} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagHighLevel.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagHighLevel.py index 66981a6e2a..8a9739e187 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagHighLevel.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagHighLevel.py @@ -66,4 +66,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_high_level_1(): assert dictify(msg.use_tropo_grid_points) == 5 - assert dictify(msg) == {'obs_time': {'tow': 180, 'wn': 3}, 'corr_time': {'tow': 360, 'wn': 6}, 'ssr_sol_id': 10, 'tile_set_id': 20, 'tile_id': 30, 'chain_id': 40, 'use_gps_sat': 1, 'use_gal_sat': 2, 'use_bds_sat': 3, 'use_qzss_sat': 4, 'reserved': [0, 0, 0, 0, 0], 'use_tropo_grid_points': 5, 'use_iono_grid_points': 6, 'use_iono_tile_sat_los': 7, 'use_iono_grid_point_sat_los': 8, 'preamble': 85, 'msg_type': 3001, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAaAEAAAYAChQAHgAoAQIDBAAAAAAABQYHCA==', 'crc': 873} \ No newline at end of file + assert dictify(msg) == {'obs_time': {'tow': 180, 'wn': 3}, 'corr_time': {'tow': 360, 'wn': 6}, 'ssr_sol_id': 10, 'tile_set_id': 20, 'tile_id': 30, 'chain_id': 40, 'use_gps_sat': 1, 'use_gal_sat': 2, 'use_bds_sat': 3, 'use_qzss_sat': 4, 'reserved': [0, 0, 0, 0, 0], 'use_tropo_grid_points': 5, 'use_iono_grid_points': 6, 'use_iono_tile_sat_los': 7, 'use_iono_grid_point_sat_los': 8, 'preamble': 85, 'msg_type': 3001, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAaAEAAAYAChQAHgAoAQIDBAAAAAAABQYHCA==', 'crc': 873} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.py index 93cf995076..a7af6aa763 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPointSatLos.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_point_sat_los_1(): assert dictify(msg.n_faulty_los) == 2 - assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'grid_point_id': 30, 'n_faulty_los': 2, 'faulty_los': [{'sat_id': 10, 'constellation': 11}, {'sat_id': 15, 'constellation': 14}], 'preamble': 85, 'msg_type': 3025, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYeAAIKCw8O', 'crc': 37986} \ No newline at end of file + assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'grid_point_id': 30, 'n_faulty_los': 2, 'faulty_los': [{'sat_id': 10, 'constellation': 11}, {'sat_id': 15, 'constellation': 14}], 'preamble': 85, 'msg_type': 3025, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYeAAIKCw8O', 'crc': 37986} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.py index 4604822c05..e8c95a7857 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoGridPoints.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_iono_grid_points_1(): assert dictify(msg.n_faulty_points) == 3 - assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_points': 3, 'faulty_points': [10, 11, 12], 'preamble': 85, 'msg_type': 3015, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYDCgALAAwA', 'crc': 1845} \ No newline at end of file + assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_points': 3, 'faulty_points': [10, 11, 12], 'preamble': 85, 'msg_type': 3015, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYDCgALAAwA', 'crc': 1845} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.py index 4d8eebe90c..f993b9fb5a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagIonoTileSatLos.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_iono_tile_sat_los_1(): assert dictify(msg.n_faulty_los) == 2 - assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_los': 2, 'faulty_los': [{'sat_id': 10, 'constellation': 11}, {'sat_id': 15, 'constellation': 14}], 'preamble': 85, 'msg_type': 3021, 'sender': 66, 'length': 19, 'payload': 'tAAAAAMAAQIDBAAFAAYCCgsPDg==', 'crc': 60399} \ No newline at end of file + assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_los': 2, 'faulty_los': [{'sat_id': 10, 'constellation': 11}, {'sat_id': 15, 'constellation': 14}], 'preamble': 85, 'msg_type': 3021, 'sender': 66, 'length': 19, 'payload': 'tAAAAAMAAQIDBAAFAAYCCgsPDg==', 'crc': 60399} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagSatellites.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagSatellites.py index 3429057de3..eed46b9fb2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagSatellites.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagSatellites.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_satellites_1(): assert dictify(msg.ssr_sol_id) == 3 - assert dictify(msg) == {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'chain_id': 4, 'const_id': 5, 'n_faulty_sats': 3, 'faulty_sats': [10, 11, 12], 'preamble': 85, 'msg_type': 3005, 'sender': 66, 'length': 15, 'payload': 'tAAAAAMAAQIDBAUDCgsM', 'crc': 42350} \ No newline at end of file + assert dictify(msg) == {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'chain_id': 4, 'const_id': 5, 'n_faulty_sats': 3, 'faulty_sats': [10, 11, 12], 'preamble': 85, 'msg_type': 3005, 'sender': 66, 'length': 15, 'payload': 'tAAAAAMAAQIDBAUDCgsM', 'crc': 42350} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.py index c1335321f3..5b00f7dbb6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_integrity_MsgSsrFlagTropoGridPoints.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_integrity_msg_ssr_flag_tropo_grid_points_1(): assert dictify(msg.n_faulty_points) == 3 - assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_points': 3, 'faulty_points': [10, 11, 12], 'preamble': 85, 'msg_type': 3011, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYDCgALAAwA', 'crc': 38643} \ No newline at end of file + assert dictify(msg) == {'header': {'obs_time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'ssr_sol_id': 3, 'tile_set_id': 4, 'tile_id': 5, 'chain_id': 6}, 'n_faulty_points': 3, 'faulty_points': [10, 11, 12], 'preamble': 85, 'msg_type': 3011, 'sender': 66, 'length': 21, 'payload': 'tAAAAAMAAQIDBAAFAAYDCgALAAwA', 'crc': 38643} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuState.py index f7e02e0ab7..7313c61250 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuState.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_linux_msg_linux_cpu_state_1(): assert dictify(msg.tname) == "process-name\x00\x00\x00" - assert dictify(msg) == {'crc': 58692, 'length': 70, 'msg_type': 32520, 'payload': 'ZXrDYtcjXusUcHJvY2Vzcy1uYW1lAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 34196, 'index': 101, 'pid': 50042, 'pcpu': 98, 'time': 3948815319, 'flags': 20, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 58692, 'length': 70, 'msg_type': 32520, 'payload': 'ZXrDYtcjXusUcHJvY2Vzcy1uYW1lAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 34196, 'index': 101, 'pid': 50042, 'pcpu': 98, 'time': 3948815319, 'flags': 20, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuStateDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuStateDepA.py index 09a77e2f59..259a917684 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuStateDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxCpuStateDepA.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_linux_msg_linux_cpu_state_dep_a_1(): assert dictify(msg.tname) == "process-name\x00\x00\x00" - assert dictify(msg) == {'crc': 12368, 'length': 65, 'msg_type': 32512, 'payload': 'M/D6snByb2Nlc3MtbmFtZQAAAC9wYXRoL3RvL3Byb2Nlc3MtbmFtZSBhcmcwIGFyZzEgYXJnMiBhcmczIGFyZzQ=', 'preamble': 85, 'sender': 23308, 'index': 51, 'pid': 64240, 'pcpu': 178, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 12368, 'length': 65, 'msg_type': 32512, 'payload': 'M/D6snByb2Nlc3MtbmFtZQAAAC9wYXRoL3RvL3Byb2Nlc3MtbmFtZSBhcmcwIGFyZzEgYXJnMiBhcmczIGFyZzQ=', 'preamble': 85, 'sender': 23308, 'index': 51, 'pid': 64240, 'pcpu': 178, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemState.py index b3d1454d3b..13261fb66b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemState.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_linux_msg_linux_mem_state_1(): assert dictify(msg.tname) == "process-name\x00\x00\x00" - assert dictify(msg) == {'crc': 46339, 'length': 70, 'msg_type': 32521, 'payload': 'mr/fE/c1GrtMcHJvY2Vzcy1uYW1lAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 64863, 'index': 154, 'pid': 57279, 'pmem': 19, 'time': 3139057143, 'flags': 76, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 46339, 'length': 70, 'msg_type': 32521, 'payload': 'mr/fE/c1GrtMcHJvY2Vzcy1uYW1lAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 64863, 'index': 154, 'pid': 57279, 'pmem': 19, 'time': 3139057143, 'flags': 76, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemStateDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemStateDepA.py index 4b2e48388e..c95ded87c3 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemStateDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxMemStateDepA.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_linux_msg_linux_mem_state_dep_a_1(): assert dictify(msg.tname) == "process-name\x00\x00\x00" - assert dictify(msg) == {'crc': 35089, 'length': 65, 'msg_type': 32513, 'payload': '910wwXByb2Nlc3MtbmFtZQAAAC9wYXRoL3RvL3Byb2Nlc3MtbmFtZSBhcmcwIGFyZzEgYXJnMiBhcmczIGFyZzQ=', 'preamble': 85, 'sender': 28089, 'index': 247, 'pid': 12381, 'pmem': 193, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 35089, 'length': 65, 'msg_type': 32513, 'payload': '910wwXByb2Nlc3MtbmFtZQAAAC9wYXRoL3RvL3Byb2Nlc3MtbmFtZSBhcmcwIGFyZzEgYXJnMiBhcmczIGFyZzQ=', 'preamble': 85, 'sender': 28089, 'index': 247, 'pid': 12381, 'pmem': 193, 'tname': 'process-name\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdCount.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdCount.py index 9b5f87c192..cd6a381ccb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdCount.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdCount.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_linux_msg_linux_process_fd_count_1(): assert dictify(msg.pid) == 42429 - assert dictify(msg) == {'crc': 24066, 'length': 51, 'msg_type': 32518, 'payload': 'pL2lBYsvcGF0aC90by9wcm9jZXNzLW5hbWUgYXJnMCBhcmcxIGFyZzIgYXJnMyBhcmc0', 'preamble': 85, 'sender': 49950, 'index': 164, 'pid': 42429, 'fd_count': 35589, 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 24066, 'length': 51, 'msg_type': 32518, 'payload': 'pL2lBYsvcGF0aC90by9wcm9jZXNzLW5hbWUgYXJnMCBhcmcxIGFyZzIgYXJnMyBhcmc0', 'preamble': 85, 'sender': 49950, 'index': 164, 'pid': 42429, 'fd_count': 35589, 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdSummary.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdSummary.py index d09518ffd7..11dc2647ce 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdSummary.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessFdSummary.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_linux_msg_linux_process_fd_summary_1(): assert dictify(msg.sys_fd_count) == 1304986387 - assert dictify(msg) == {'crc': 20609, 'length': 29, 'msg_type': 32519, 'payload': 'E4PITWZkMQBmZDIAZmQzAGZkNABmZDUAZmQ2AAA=', 'preamble': 85, 'sender': 63591, 'sys_fd_count': 1304986387, 'most_opened': 'fd1\x00fd2\x00fd3\x00fd4\x00fd5\x00fd6\x00\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 20609, 'length': 29, 'msg_type': 32519, 'payload': 'E4PITWZkMQBmZDIAZmQzAGZkNABmZDUAZmQ2AAA=', 'preamble': 85, 'sender': 63591, 'sys_fd_count': 1304986387, 'most_opened': 'fd1\x00fd2\x00fd3\x00fd4\x00fd5\x00fd6\x00\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketCounts.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketCounts.py index 30dab69223..8cc08f245f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketCounts.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketCounts.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_linux_msg_linux_process_socket_counts_1(): assert dictify(msg.socket_types) == 35843 - assert dictify(msg) == {'crc': 33716, 'length': 55, 'msg_type': 32515, 'payload': 'M4lvT3YDjHJzL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 2412, 'index': 51, 'pid': 28553, 'socket_count': 30287, 'socket_types': 35843, 'socket_states': 29554, 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 33716, 'length': 55, 'msg_type': 32515, 'payload': 'M4lvT3YDjHJzL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 2412, 'index': 51, 'pid': 28553, 'socket_count': 30287, 'socket_types': 35843, 'socket_states': 29554, 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketQueues.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketQueues.py index fb366fc297..79aabb4c8f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketQueues.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxProcessSocketQueues.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_linux_msg_linux_process_socket_queues_1(): assert dictify(msg.socket_types) == 27984 - assert dictify(msg) == {'crc': 63234, 'length': 121, 'msg_type': 32516, 'payload': 'tYdL+dMj/FBtD99hZGRyZXNzIG9mIGxhcmdlc3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 59579, 'index': 181, 'pid': 19335, 'recv_queued': 54265, 'send_queued': 64547, 'socket_types': 27984, 'socket_states': 57103, 'address_of_largest': 'address of largest\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} \ No newline at end of file + assert dictify(msg) == {'crc': 63234, 'length': 121, 'msg_type': 32516, 'payload': 'tYdL+dMj/FBtD99hZGRyZXNzIG9mIGxhcmdlc3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL3BhdGgvdG8vcHJvY2Vzcy1uYW1lIGFyZzAgYXJnMSBhcmcyIGFyZzMgYXJnNA==', 'preamble': 85, 'sender': 59579, 'index': 181, 'pid': 19335, 'recv_queued': 54265, 'send_queued': 64547, 'socket_types': 27984, 'socket_states': 57103, 'address_of_largest': 'address of largest\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'cmdline': '/path/to/process-name arg0 arg1 arg2 arg3 arg4'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSocketUsage.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSocketUsage.py index f11525f3fd..5132ced6e4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSocketUsage.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSocketUsage.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_linux_msg_linux_socket_usage_1(): assert dictify(msg.socket_type_counts) == [31373, 30676, 7811, 12152, 27929, 16794, 42116, 7719, 44830, 11272, 28444, 61676, 19120, 33183, 39322, 58786] - assert dictify(msg) == {'crc': 39554, 'length': 72, 'msg_type': 32517, 'payload': 'DcRFrUPeurX2mvsR4LMaqbFaldXWBn5AeLlUg8hvII3Z0TQOvpOf9o161HeDHngvGW2aQYSkJx4erwgsHG/s8LBKn4GamaLl', 'preamble': 85, 'sender': 35442, 'avg_queue_depth': 2907030541, 'max_queue_depth': 3048922691, 'socket_state_counts': [39670, 4603, 46048, 43290, 23217, 54677, 1750, 16510, 47480, 33620, 28616, 36128, 53721, 3636, 37822, 63135], 'socket_type_counts': [31373, 30676, 7811, 12152, 27929, 16794, 42116, 7719, 44830, 11272, 28444, 61676, 19120, 33183, 39322, 58786]} \ No newline at end of file + assert dictify(msg) == {'crc': 39554, 'length': 72, 'msg_type': 32517, 'payload': 'DcRFrUPeurX2mvsR4LMaqbFaldXWBn5AeLlUg8hvII3Z0TQOvpOf9o161HeDHngvGW2aQYSkJx4erwgsHG/s8LBKn4GamaLl', 'preamble': 85, 'sender': 35442, 'avg_queue_depth': 2907030541, 'max_queue_depth': 3048922691, 'socket_state_counts': [39670, 4603, 46048, 43290, 23217, 54677, 1750, 16510, 47480, 33620, 28616, 36128, 53721, 3636, 37822, 63135], 'socket_type_counts': [31373, 30676, 7811, 12152, 27929, 16794, 42116, 7719, 44830, 11272, 28444, 61676, 19120, 33183, 39322, 58786]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysState.py index 7632331178..c3b440829a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysState.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_linux_msg_linux_sys_state_1(): assert dictify(msg.time) == 90840684 - assert dictify(msg) == {'crc': 62181, 'length': 15, 'msg_type': 32522, 'payload': 'FM9918RHoeX6umweagUJ', 'preamble': 85, 'sender': 42837, 'mem_total': 53012, 'pcpu': 125, 'pmem': 215, 'procs_starting': 18372, 'procs_stopping': 58785, 'pid_count': 47866, 'time': 90840684, 'flags': 9} \ No newline at end of file + assert dictify(msg) == {'crc': 62181, 'length': 15, 'msg_type': 32522, 'payload': 'FM9918RHoeX6umweagUJ', 'preamble': 85, 'sender': 42837, 'mem_total': 53012, 'pcpu': 125, 'pmem': 215, 'procs_starting': 18372, 'procs_stopping': 58785, 'pid_count': 47866, 'time': 90840684, 'flags': 9} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysStateDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysStateDepA.py index a09854aba1..f725a723c8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysStateDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_linux_MsgLinuxSysStateDepA.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_linux_msg_linux_sys_state_dep_a_1(): assert dictify(msg.procs_stopping) == 26469 - assert dictify(msg) == {'crc': 57311, 'length': 10, 'msg_type': 32514, 'payload': 'vKPTwnNHZWd8yQ==', 'preamble': 85, 'sender': 14420, 'mem_total': 41916, 'pcpu': 211, 'pmem': 194, 'procs_starting': 18291, 'procs_stopping': 26469, 'pid_count': 51580} \ No newline at end of file + assert dictify(msg) == {'crc': 57311, 'length': 10, 'msg_type': 32514, 'payload': 'vKPTwnNHZWd8yQ==', 'preamble': 85, 'sender': 14420, 'mem_total': 41916, 'pcpu': 211, 'pmem': 194, 'procs_starting': 18291, 'procs_stopping': 26469, 'pid_count': 51580} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgFwd.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgFwd.py index 6368ce941d..05579a86ba 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgFwd.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgFwd.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_logging_msg_fwd_1(): assert dictify(msg.source) == 0 - assert dictify(msg) == {'protocol': 0, 'sender': 66, 'msg_type': 1026, 'source': 0, 'fwd_payload': [86, 81, 68, 47, 81, 103, 65, 69, 65, 65, 65, 65, 65, 69, 97, 103], 'crc': 24445, 'length': 18, 'preamble': 85, 'payload': 'AABWUUQvUWdBRUFBQUFBRWFn'} \ No newline at end of file + assert dictify(msg) == {'protocol': 0, 'sender': 66, 'msg_type': 1026, 'source': 0, 'fwd_payload': [86, 81, 68, 47, 81, 103, 65, 69, 65, 65, 65, 65, 65, 69, 97, 103], 'crc': 24445, 'length': 18, 'preamble': 85, 'payload': 'AABWUUQvUWdBRUFBQUFBRWFn'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgLog.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgLog.py index 3afc854228..16a60e8f4c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgLog.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgLog.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_logging_msg_log_1(): assert dictify(msg.text) == "Filtered all obs from 2314 at tow 83.539019" - assert dictify(msg) == {'level': 6, 'text': 'Filtered all obs from 2314 at tow 83.539019', 'preamble': 85, 'msg_type': 1025, 'sender': 2314, 'payload': 'BkZpbHRlcmVkIGFsbCBvYnMgZnJvbSAyMzE0IGF0IHRvdyA4My41MzkwMTk=', 'crc': 41905, 'length': 44} \ No newline at end of file + assert dictify(msg) == {'level': 6, 'text': 'Filtered all obs from 2314 at tow 83.539019', 'preamble': 85, 'msg_type': 1025, 'sender': 2314, 'payload': 'BkZpbHRlcmVkIGFsbCBvYnMgZnJvbSAyMzE0IGF0IHRvdyA4My41MzkwMTk=', 'crc': 41905, 'length': 44} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgPrintDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgPrintDep.py index 4471b43e3f..c2eb181096 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgPrintDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_logging_MsgPrintDep.py @@ -148,4 +148,4 @@ def test_auto_check_sbp_logging_msg_print_dep_6(): assert dictify(msg.text) == "INFO: Disabling channel 1 (PRN 15)\n" - assert dictify(msg) == {'sender': 8738, 'msg_type': 16, 'text': 'INFO: Disabling channel 1 (PRN 15)\n', 'crc': 35742, 'length': 35, 'preamble': 85, 'payload': 'SU5GTzogRGlzYWJsaW5nIGNoYW5uZWwgMSAoUFJOIDE1KQo='} \ No newline at end of file + assert dictify(msg) == {'sender': 8738, 'msg_type': 16, 'text': 'INFO: Disabling channel 1 (PRN 15)\n', 'crc': 35742, 'length': 35, 'preamble': 85, 'payload': 'SU5GTzogRGlzYWJsaW5nIGNoYW5uZWwgMSAoUFJOIDE1KQo='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_mag_MsgMagRaw.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_mag_MsgMagRaw.py index f52e5d9395..60b6fa0bcb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_mag_MsgMagRaw.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_mag_MsgMagRaw.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_mag_msg_mag_raw_1(): assert dictify(msg.tow_f) == 206 - assert dictify(msg) == {'preamble': 85, 'msg_type': 2306, 'sender': 1219, 'length': 11, 'payload': 'reOexs5iA+YCbuU=', 'crc': 6047, 'tow': 3332301741, 'tow_f': 206, 'mag_x': 866, 'mag_y': 742, 'mag_z': -6802} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 2306, 'sender': 1219, 'length': 11, 'payload': 'reOexs5iA+YCbuU=', 'crc': 6047, 'tow': 3332301741, 'tow_f': 206, 'mag_x': 866, 'mag_y': 742, 'mag_z': -6802} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgAgeCorrections.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgAgeCorrections.py index 7d61ba8c39..678b910d88 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgAgeCorrections.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgAgeCorrections.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_navigation_msg_age_corrections_1(): assert dictify(msg.tow) == 100 - assert dictify(msg) == {'sender': 66, 'msg_type': 528, 'age': 30, 'tow': 100, 'crc': 51945, 'length': 6, 'preamble': 85, 'payload': 'ZAAAAB4A'} \ No newline at end of file + assert dictify(msg) == {'sender': 66, 'msg_type': 528, 'age': 30, 'tow': 100, 'crc': 51945, 'length': 6, 'preamble': 85, 'payload': 'ZAAAAB4A'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEF.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEF.py index 14a9ad1b3c..9d72a47e15 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEF.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEF.py @@ -186,4 +186,4 @@ def test_auto_check_sbp_navigation_msg_baseline_ecef_5(): assert dictify(msg.z) == 630626 - assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 523, 'tow': 326829000, 'crc': 24170, 'length': 20, 'flags': 0, 'y': 1326941, 'x': -1154883, 'z': 630626, 'preamble': 85, 'payload': 'yAN7E71g7v9dPxQAYp8JAAAADwA=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 523, 'tow': 326829000, 'crc': 24170, 'length': 20, 'flags': 0, 'y': 1326941, 'x': -1154883, 'z': 630626, 'preamble': 85, 'payload': 'yAN7E71g7v9dPxQAYp8JAAAADwA=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEFDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEFDepA.py index 61ae7dbd12..9993339510 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEFDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineECEFDepA.py @@ -390,4 +390,4 @@ def test_auto_check_sbp_navigation_msg_baseline_ecef_dep_a_11(): assert dictify(msg.z) == 15257 - assert dictify(msg) == {'n_sats': 6, 'sender': 1219, 'msg_type': 514, 'tow': 407181200, 'crc': 34595, 'length': 20, 'flags': 0, 'y': -15591, 'x': -7401, 'z': 15257, 'preamble': 85, 'payload': 'kBdFGBfj//8Zw///mTsAAAAABgA=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 6, 'sender': 1219, 'msg_type': 514, 'tow': 407181200, 'crc': 34595, 'length': 20, 'flags': 0, 'y': -15591, 'x': -7401, 'z': 15257, 'preamble': 85, 'payload': 'kBdFGBfj//8Zw///mTsAAAAABgA=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineHeadingDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineHeadingDepA.py index eedfd1d978..7291e68b48 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineHeadingDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineHeadingDepA.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_navigation_msg_baseline_heading_dep_a_1(): assert dictify(msg.tow) == 2958585170 - assert dictify(msg) == {'crc': 46765, 'length': 10, 'msg_type': 519, 'payload': 'Um1YsEQOUsu6Og==', 'preamble': 85, 'sender': 52860, 'tow': 2958585170, 'heading': 3411152452, 'n_sats': 186, 'flags': 58} \ No newline at end of file + assert dictify(msg) == {'crc': 46765, 'length': 10, 'msg_type': 519, 'payload': 'Um1YsEQOUsu6Og==', 'preamble': 85, 'sender': 52860, 'tow': 2958585170, 'heading': 3411152452, 'n_sats': 186, 'flags': 58} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNED.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNED.py index f75d61f159..fd37b97d51 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNED.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNED.py @@ -196,4 +196,4 @@ def test_auto_check_sbp_navigation_msg_baseline_ned_5(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'e': -1681444, 'sender': 35027, 'msg_type': 524, 'tow': 326829000, 'n': 814806, 'crc': 20670, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 15, 'preamble': 85, 'payload': 'yAN7E9ZuDADcV+b/pX4AAAAAAAAPAA==', 'd': 32421} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'e': -1681444, 'sender': 35027, 'msg_type': 524, 'tow': 326829000, 'n': 814806, 'crc': 20670, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 15, 'preamble': 85, 'payload': 'yAN7E9ZuDADcV+b/pX4AAAAAAAAPAA==', 'd': 32421} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNEDDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNEDDepA.py index c24b2a3fe7..327928c2af 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNEDDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgBaselineNEDDepA.py @@ -412,4 +412,4 @@ def test_auto_check_sbp_navigation_msg_baseline_ned_dep_a_11(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'e': 2102, 'sender': 1219, 'msg_type': 515, 'tow': 407181200, 'n': 1646, 'crc': 5838, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 6, 'preamble': 85, 'payload': 'kBdFGG4GAAA2CAAAoKb//wAAAAAGAA==', 'd': -22880} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'e': 2102, 'sender': 1219, 'msg_type': 515, 'tow': 407181200, 'n': 1646, 'crc': 5838, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 6, 'preamble': 85, 'payload': 'kBdFGG4GAAA2CAAAoKb//wAAAAAGAA==', 'd': -22880} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDops.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDops.py index 9c1836cd3e..c397fc1601 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDops.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDops.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_navigation_msg_dops_1(): assert dictify(msg.vdop) == 5 - assert dictify(msg) == {'gdop': 2, 'tdop': 5, 'vdop': 5, 'sender': 66, 'msg_type': 520, 'pdop': 6, 'tow': 100, 'crc': 1268, 'length': 15, 'flags': 0, 'preamble': 85, 'payload': 'ZAAAAAIABgAFAAUABQAA', 'hdop': 5} \ No newline at end of file + assert dictify(msg) == {'gdop': 2, 'tdop': 5, 'vdop': 5, 'sender': 66, 'msg_type': 520, 'pdop': 6, 'tow': 100, 'crc': 1268, 'length': 15, 'flags': 0, 'preamble': 85, 'payload': 'ZAAAAAIABgAFAAUABQAA', 'hdop': 5} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDopsDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDopsDepA.py index 89d38a58bb..734914db2c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDopsDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgDopsDepA.py @@ -304,4 +304,4 @@ def test_auto_check_sbp_navigation_msg_dops_dep_a_9(): assert dictify(msg.vdop) == 112 - assert dictify(msg) == {'gdop': 348, 'tdop': 155, 'vdop': 112, 'sender': 1219, 'msg_type': 518, 'tow': 407155000, 'pdop': 311, 'crc': 17222, 'length': 14, 'preamble': 85, 'payload': 'OLFEGFwBNwGbAH0CcAA=', 'hdop': 637} \ No newline at end of file + assert dictify(msg) == {'gdop': 348, 'tdop': 155, 'vdop': 112, 'sender': 1219, 'msg_type': 518, 'tow': 407155000, 'pdop': 311, 'crc': 17222, 'length': 14, 'preamble': 85, 'payload': 'OLFEGFwBNwGbAH0CcAA=', 'hdop': 637} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTime.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTime.py index 8378d2ebd3..af2e6dfe59 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTime.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTime.py @@ -156,4 +156,4 @@ def test_auto_check_sbp_navigation_msg_gps_time_5(): assert dictify(msg.wn) == 1920 - assert dictify(msg) == {'sender': 35027, 'msg_type': 258, 'wn': 1920, 'tow': 326827000, 'crc': 8628, 'length': 11, 'flags': 0, 'ns_residual': 362933, 'preamble': 85, 'payload': 'gAf4+3oTtYkFAAA='} \ No newline at end of file + assert dictify(msg) == {'sender': 35027, 'msg_type': 258, 'wn': 1920, 'tow': 326827000, 'crc': 8628, 'length': 11, 'flags': 0, 'ns_residual': 362933, 'preamble': 85, 'payload': 'gAf4+3oTtYkFAAA='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeDepA.py index 4c29e749f5..84972740f6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeDepA.py @@ -324,4 +324,4 @@ def test_auto_check_sbp_navigation_msg_gps_time_dep_a_11(): assert dictify(msg.wn) == 1838 - assert dictify(msg) == {'sender': 1219, 'msg_type': 256, 'wn': 1838, 'tow': 407151150, 'crc': 57611, 'length': 11, 'flags': 0, 'ns_residual': -334131, 'preamble': 85, 'payload': 'LgcuokQYzeb6/wA='} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 256, 'wn': 1838, 'tow': 407151150, 'crc': 57611, 'length': 11, 'flags': 0, 'ns_residual': -334131, 'preamble': 85, 'payload': 'LgcuokQYzeb6/wA='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeGNSS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeGNSS.py index d85b5fd091..80da3b8f5d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeGNSS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgGPSTimeGNSS.py @@ -156,4 +156,4 @@ def test_auto_check_sbp_navigation_msg_gps_time_gnss_5(): assert dictify(msg.wn) == 1920 - assert dictify(msg) == {'sender': 35027, 'msg_type': 260, 'wn': 1920, 'tow': 326827000, 'crc': 57615, 'length': 11, 'flags': 0, 'ns_residual': 362933, 'preamble': 85, 'payload': 'gAf4+3oTtYkFAAA='} \ No newline at end of file + assert dictify(msg) == {'sender': 35027, 'msg_type': 260, 'wn': 1920, 'tow': 326827000, 'crc': 57615, 'length': 11, 'flags': 0, 'ns_residual': 362933, 'preamble': 85, 'payload': 'gAf4+3oTtYkFAAA='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEF.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEF.py index 6a0d5ee4fd..2b4a227cbb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEF.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEF.py @@ -152,4 +152,4 @@ def test_auto_check_sbp_navigation_msg_pos_ecef_4(): assert dictify(msg.z) == 3839645.90179852 - assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 521, 'tow': 326829000, 'crc': 22203, 'length': 32, 'flags': 2, 'y': -4316647.3623821335, 'x': -2684269.683741399, 'z': 3839645.90179852, 'preamble': 85, 'payload': 'yAN7E5LWhNe2ekTB1UQx13l3UMFHIm7zTktNQQAADwI=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 521, 'tow': 326829000, 'crc': 22203, 'length': 32, 'flags': 2, 'y': -4316647.3623821335, 'x': -2684269.683741399, 'z': 3839645.90179852, 'preamble': 85, 'payload': 'yAN7E5LWhNe2ekTB1UQx13l3UMFHIm7zTktNQQAADwI=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCov.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCov.py index 013105b420..e5bb658e25 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCov.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCov.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_pos_ecef_cov_1(): assert dictify(msg.z) == 4.0 - assert dictify(msg) == {'cov_y_z': 8, 'cov_y_y': 6, 'n_sats': 4, 'sender': 66, 'msg_type': 532, 'cov_x_z': 2, 'cov_x_y': 7, 'cov_x_x': 8, 'tow': 7, 'crc': 43001, 'length': 54, 'flags': 5, 'y': 1, 'x': 6, 'z': 4, 'preamble': 85, 'payload': 'BwAAAAAAAAAAABhAAAAAAAAA8D8AAAAAAAAQQAAAAEEAAOBAAAAAQAAAwEAAAABBAACgQAQF', 'cov_z_z': 5} \ No newline at end of file + assert dictify(msg) == {'cov_y_z': 8, 'cov_y_y': 6, 'n_sats': 4, 'sender': 66, 'msg_type': 532, 'cov_x_z': 2, 'cov_x_y': 7, 'cov_x_x': 8, 'tow': 7, 'crc': 43001, 'length': 54, 'flags': 5, 'y': 1, 'x': 6, 'z': 4, 'preamble': 85, 'payload': 'BwAAAAAAAAAAABhAAAAAAAAA8D8AAAAAAAAQQAAAAEEAAOBAAAAAQAAAwEAAAABBAACgQAQF', 'cov_z_z': 5} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCovGNSS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCovGNSS.py index eb023a31ff..93783c7c00 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCovGNSS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFCovGNSS.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_pos_ecef_cov_gnss_1(): assert dictify(msg.z) == 3890655.013186158 - assert dictify(msg) == {'tow': 501867800, 'x': -2694229.7079770807, 'y': -4264073.427345817, 'z': 3890655.013186158, 'cov_x_x': 0.009699014946818352, 'cov_x_y': 0.009086096659302711, 'cov_x_z': -0.006058753002434969, 'cov_y_y': 0.020321274176239967, 'cov_y_z': -0.009988312609493732, 'cov_z_z': 0.01487385667860508, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 564, 'sender': 4096, 'payload': 'GOXpHTT+ntoqjkTBRaJZWyJEUMGDFbCB765NQZ7oHjza3RQ8gYjGu814pjwFpiO8erFzPBIE', 'crc': 26271, 'length': 54} \ No newline at end of file + assert dictify(msg) == {'tow': 501867800, 'x': -2694229.7079770807, 'y': -4264073.427345817, 'z': 3890655.013186158, 'cov_x_x': 0.009699014946818352, 'cov_x_y': 0.009086096659302711, 'cov_x_z': -0.006058753002434969, 'cov_y_y': 0.020321274176239967, 'cov_y_z': -0.009988312609493732, 'cov_z_z': 0.01487385667860508, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 564, 'sender': 4096, 'payload': 'GOXpHTT+ntoqjkTBRaJZWyJEUMGDFbCB765NQZ7oHjza3RQ8gYjGu814pjwFpiO8erFzPBIE', 'crc': 26271, 'length': 54} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFDepA.py index 0d8e0ba152..87a6fc534b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFDepA.py @@ -390,4 +390,4 @@ def test_auto_check_sbp_navigation_msg_pos_ecef_dep_a_11(): assert dictify(msg.z) == 3884635.5118107493 - assert dictify(msg) == {'n_sats': 5, 'sender': 1219, 'msg_type': 512, 'tow': 407151150, 'crc': 56593, 'length': 32, 'flags': 0, 'y': -4263209.482329298, 'x': -2704375.68369399, 'z': 3884635.5118107493, 'preamble': 85, 'payload': 'LqJEGOBIg9f7oUTBtHveXkpDUMG/A4PBLaNNQQAABQA=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 5, 'sender': 1219, 'msg_type': 512, 'tow': 407151150, 'crc': 56593, 'length': 32, 'flags': 0, 'y': -4263209.482329298, 'x': -2704375.68369399, 'z': 3884635.5118107493, 'preamble': 85, 'payload': 'LqJEGOBIg9f7oUTBtHveXkpDUMG/A4PBLaNNQQAABQA=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFGNSS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFGNSS.py index a8f1ab25b5..8b2109ef34 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFGNSS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosECEFGNSS.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_navigation_msg_pos_ecefgnss_1(): assert dictify(msg.z) == 3890655.013186158 - assert dictify(msg) == {'tow': 501867800, 'x': -2694229.7079770807, 'y': -4264073.427345817, 'z': 3890655.013186158, 'accuracy': 182, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 553, 'sender': 4096, 'payload': 'GOXpHTT+ntoqjkTBRaJZWyJEUMGDFbCB765NQbYAEgQ=', 'crc': 647, 'length': 32} \ No newline at end of file + assert dictify(msg) == {'tow': 501867800, 'x': -2694229.7079770807, 'y': -4264073.427345817, 'z': 3890655.013186158, 'accuracy': 182, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 553, 'sender': 4096, 'payload': 'GOXpHTT+ntoqjkTBRaJZWyJEUMGDFbCB765NQbYAEgQ=', 'crc': 647, 'length': 32} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLH.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLH.py index 4fec2e5e66..89c49d1cd3 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLH.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLH.py @@ -196,4 +196,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_5(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'n_sats': 15, 'sender': 35027, 'msg_type': 522, 'lon': -121.87505609407974, 'tow': 326829000, 'height': 27.939512310879213, 'crc': 26402, 'length': 34, 'flags': 2, 'h_accuracy': 0, 'lat': 37.251292578377395, 'preamble': 85, 'payload': 'yAN7E+Ht7loqoEJAO49G6wB4XsBlavngg/A7QAAAAAAPAg=='} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'n_sats': 15, 'sender': 35027, 'msg_type': 522, 'lon': -121.87505609407974, 'tow': 326829000, 'height': 27.939512310879213, 'crc': 26402, 'length': 34, 'flags': 2, 'h_accuracy': 0, 'lat': 37.251292578377395, 'preamble': 85, 'payload': 'yAN7E+Ht7loqoEJAO49G6wB4XsBlavngg/A7QAAAAAAPAg=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHCov.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHCov.py index 7d3e653f6a..aa09e96009 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHCov.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHCov.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_cov_1(): assert dictify(msg.tow) == 7 - assert dictify(msg) == {'cov_e_d': 1, 'cov_e_e': 6, 'n_sats': 5, 'sender': 66, 'msg_type': 529, 'cov_n_n': 7, 'lon': 7, 'cov_n_e': 5, 'tow': 7, 'height': 0, 'crc': 25239, 'length': 54, 'cov_n_d': 8, 'lat': 0, 'flags': 5, 'cov_d_d': 2, 'preamble': 85, 'payload': 'BwAAAAAAAAAAAAAAAAAAAAAAHEAAAAAAAAAAAAAA4EAAAKBAAAAAQQAAwEAAAIA/AAAAQAUF'} \ No newline at end of file + assert dictify(msg) == {'cov_e_d': 1, 'cov_e_e': 6, 'n_sats': 5, 'sender': 66, 'msg_type': 529, 'cov_n_n': 7, 'lon': 7, 'cov_n_e': 5, 'tow': 7, 'height': 0, 'crc': 25239, 'length': 54, 'cov_n_d': 8, 'lat': 0, 'flags': 5, 'cov_d_d': 2, 'preamble': 85, 'payload': 'BwAAAAAAAAAAAAAAAAAAAAAAHEAAAAAAAAAAAAAA4EAAAKBAAAAAQQAAwEAAAIA/AAAAQAUF'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHDepA.py index 490f2ef657..28e6c019b2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLLHDepA.py @@ -412,4 +412,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_dep_a_11(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'n_sats': 5, 'sender': 1219, 'msg_type': 513, 'lon': -122.38908288868525, 'tow': 407151150, 'height': 5.171533844654222, 'crc': 31188, 'length': 34, 'flags': 0, 'h_accuracy': 0, 'lat': 37.76244082253376, 'preamble': 85, 'payload': 'LqJEGHz1LqmX4UJAh5Xqu+aYXsDCyXORpq8UQAAAAAAFAA=='} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'n_sats': 5, 'sender': 1219, 'msg_type': 513, 'lon': -122.38908288868525, 'tow': 407151150, 'height': 5.171533844654222, 'crc': 31188, 'length': 34, 'flags': 0, 'h_accuracy': 0, 'lat': 37.76244082253376, 'preamble': 85, 'payload': 'LqJEGHz1LqmX4UJAh5Xqu+aYXsDCyXORpq8UQAAAAAAFAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhAcc.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhAcc.py index 9c9496e7b4..c6c92e964f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhAcc.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhAcc.py @@ -62,4 +62,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_acc_1(): assert dictify(msg.v_accuracy) == 5539.2001953125 - assert dictify(msg) == {'preamble': 85, 'msg_type': 536, 'sender': 7170, 'length': 67, 'payload': 'J3huEjMzMzMzi71AmpmZmRmXwEAzMzMzM6GwQDMzMzMzZbNAM6MWRZoZrUVmhvNEmsnERc3gAEYzI0hFM2MfRV8bSA==', 'crc': 45532, 'tow': 309229607, 'lat': 7563.2, 'lon': 8494.2, 'height': 4257.2, 'orthometric_height': 4965.2, 'h_accuracy': 2410.199951171875, 'v_accuracy': 5539.2001953125, 'ct_accuracy': 1948.199951171875, 'at_accuracy': 6297.2001953125, 'h_ellipse': {'semi_major': 8248.2001953125, 'semi_minor': 3202.199951171875, 'orientation': 2550.199951171875}, 'confidence_and_geoid': 95, 'n_sats': 27, 'flags': 72} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 536, 'sender': 7170, 'length': 67, 'payload': 'J3huEjMzMzMzi71AmpmZmRmXwEAzMzMzM6GwQDMzMzMzZbNAM6MWRZoZrUVmhvNEmsnERc3gAEYzI0hFM2MfRV8bSA==', 'crc': 45532, 'tow': 309229607, 'lat': 7563.2, 'lon': 8494.2, 'height': 4257.2, 'orthometric_height': 4965.2, 'h_accuracy': 2410.199951171875, 'v_accuracy': 5539.2001953125, 'ct_accuracy': 1948.199951171875, 'at_accuracy': 6297.2001953125, 'h_ellipse': {'semi_major': 8248.2001953125, 'semi_minor': 3202.199951171875, 'orientation': 2550.199951171875}, 'confidence_and_geoid': 95, 'n_sats': 27, 'flags': 72} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhCovGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhCovGnss.py index 7348c05b57..54d97551bd 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhCovGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhCovGnss.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_cov_gnss_1(): assert dictify(msg.tow) == 501867800 - assert dictify(msg) == {'tow': 501867800, 'lat': 37.83123196497633, 'lon': -122.28650381011681, 'height': -17.39382124780135, 'cov_n_n': 0.007488971576094627, 'cov_n_e': -0.00036755966721102595, 'cov_n_d': 0.0018563168123364449, 'cov_e_e': 0.004523798823356628, 'cov_e_d': -0.0008439270895905793, 'cov_d_d': 0.03288137540221214, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 561, 'sender': 4096, 'payload': 'GOXpHUl7HM9l6kJAZKgTFFaSXsDWxiN40WQxwAxm9TsGtcC5qE/zOmA8lDv9Ol26n64GPRIE', 'crc': 50186, 'length': 54} \ No newline at end of file + assert dictify(msg) == {'tow': 501867800, 'lat': 37.83123196497633, 'lon': -122.28650381011681, 'height': -17.39382124780135, 'cov_n_n': 0.007488971576094627, 'cov_n_e': -0.00036755966721102595, 'cov_n_d': 0.0018563168123364449, 'cov_e_e': 0.004523798823356628, 'cov_e_d': -0.0008439270895905793, 'cov_d_d': 0.03288137540221214, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 561, 'sender': 4096, 'payload': 'GOXpHUl7HM9l6kJAZKgTFFaSXsDWxiN40WQxwAxm9TsGtcC5qE/zOmA8lDv9Ol26n64GPRIE', 'crc': 50186, 'length': 54} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhGnss.py index 160ec97510..010833046f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPosLlhGnss.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_navigation_msg_pos_llh_gnss_1(): assert dictify(msg.v_accuracy) == 181 - assert dictify(msg) == {'tow': 501867800, 'lat': 37.83123196497633, 'lon': -122.28650381011681, 'height': -17.39382124780135, 'h_accuracy': 87, 'v_accuracy': 181, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 554, 'sender': 4096, 'payload': 'GOXpHUl7HM9l6kJAZKgTFFaSXsDWxiN40WQxwFcAtQASBA==', 'crc': 14185, 'length': 34} \ No newline at end of file + assert dictify(msg) == {'tow': 501867800, 'lat': 37.83123196497633, 'lon': -122.28650381011681, 'height': -17.39382124780135, 'h_accuracy': 87, 'v_accuracy': 181, 'n_sats': 18, 'flags': 4, 'preamble': 85, 'msg_type': 554, 'sender': 4096, 'payload': 'GOXpHUl7HM9l6kJAZKgTFFaSXsDWxiN40WQxwFcAtQASBA==', 'crc': 14185, 'length': 34} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPoseRelative.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPoseRelative.py index 6a159c6906..15c3a8a504 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPoseRelative.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgPoseRelative.py @@ -80,4 +80,4 @@ def test_auto_check_sbp_navigation_msg_pose_relative_1(): assert dictify(msg.z) == 622997694 - assert dictify(msg) == {'preamble': 85, 'msg_type': 581, 'sender': 66, 'length': 90, 'payload': 'VgQAAABWBAAArAgAAEwEAAAmAgAAZAAAAGQDyMz8qJ3/czW6kL4wIiUAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAABAAAAAAAAAAAAAAABAAAAAAAAAAEAF', 'crc': 48043, 'tow': 1110, 'sensor_id': 0, 'timestamp_1': 1110, 'timestamp_2': 2220, 'trans': [1100, 550, 100], 'w': -859307164, 'x': -6444804, 'y': -1866844813, 'z': 622997694, 'cov_r_x_x': 1.0, 'cov_r_x_y': 0.0, 'cov_r_x_z': 0.0, 'cov_r_y_y': 1.0, 'cov_r_y_z': 0.0, 'cov_r_z_z': 1.0, 'cov_c_x_x': 2.0, 'cov_c_x_y': 0.0, 'cov_c_x_z': 0.0, 'cov_c_y_y': 2.0, 'cov_c_y_z': 0.0, 'cov_c_z_z': 2.0, 'flags': 5} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 581, 'sender': 66, 'length': 90, 'payload': 'VgQAAABWBAAArAgAAEwEAAAmAgAAZAAAAGQDyMz8qJ3/czW6kL4wIiUAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgD8AAABAAAAAAAAAAAAAAABAAAAAAAAAAEAF', 'crc': 48043, 'tow': 1110, 'sensor_id': 0, 'timestamp_1': 1110, 'timestamp_2': 2220, 'trans': [1100, 550, 100], 'w': -859307164, 'x': -6444804, 'y': -1866844813, 'z': 622997694, 'cov_r_x_x': 1.0, 'cov_r_x_y': 0.0, 'cov_r_x_z': 0.0, 'cov_r_y_y': 1.0, 'cov_r_y_z': 0.0, 'cov_r_z_z': 1.0, 'cov_c_x_x': 2.0, 'cov_c_x_y': 0.0, 'cov_c_x_z': 0.0, 'cov_c_y_y': 2.0, 'cov_c_y_z': 0.0, 'cov_c_z_z': 2.0, 'flags': 5} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevel.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevel.py index 6b558933fc..43ae669cdf 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevel.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevel.py @@ -78,4 +78,4 @@ def test_auto_check_sbp_navigation_msg_protection_level_1(): assert dictify(msg.wn) == 13102 - assert dictify(msg) == {'preamble': 85, 'msg_type': 535, 'sender': 813, 'length': 76, 'payload': 'blQE8i4zNaBZVKcpORXZ9D2hU2iMiVr2MzMzMzOqtECamZmZGVjDQDMzMzMzw3lA5/sm3dC3p1DfGmGkLS66POvjt6C7XXTgaSggIQ==', 'crc': 48261, 'tow': 4060370030, 'wn': 13102, 'hpl': 41013, 'vpl': 21593, 'atpl': 10663, 'ctpl': 5433, 'hvpl': 62681, 'vvpl': 41277, 'hopl': 26707, 'popl': 35212, 'ropl': 63066, 'lat': 5290.2, 'lon': 9904.2, 'height': 412.2, 'v_x': -584647705, 'v_y': 1353168848, 'v_z': -1537140001, 'roll': 1018834477, 'pitch': -1598561301, 'heading': -529244741, 'flags': 555755625} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 535, 'sender': 813, 'length': 76, 'payload': 'blQE8i4zNaBZVKcpORXZ9D2hU2iMiVr2MzMzMzOqtECamZmZGVjDQDMzMzMzw3lA5/sm3dC3p1DfGmGkLS66POvjt6C7XXTgaSggIQ==', 'crc': 48261, 'tow': 4060370030, 'wn': 13102, 'hpl': 41013, 'vpl': 21593, 'atpl': 10663, 'ctpl': 5433, 'hvpl': 62681, 'vvpl': 41277, 'hopl': 26707, 'popl': 35212, 'ropl': 63066, 'lat': 5290.2, 'lon': 9904.2, 'height': 412.2, 'v_x': -584647705, 'v_y': 1353168848, 'v_z': -1537140001, 'roll': 1018834477, 'pitch': -1598561301, 'heading': -529244741, 'flags': 555755625} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevelDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevelDepA.py index 36a7ee7b19..94dbb1dc10 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevelDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgProtectionLevelDepA.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_navigation_msg_protection_level_dep_a_1(): assert dictify(msg.vpl) == 21807 - assert dictify(msg) == {'crc': 26705, 'length': 33, 'msg_type': 534, 'payload': 'NH5FuS9VBIszMzMzM/S+QGZmZmZmzKhAmpmZmRknwED4', 'preamble': 85, 'sender': 5780, 'tow': 3108339252, 'vpl': 21807, 'hpl': 35588, 'lat': 7924.2, 'lon': 3174.2, 'height': 8270.2, 'flags': 248} \ No newline at end of file + assert dictify(msg) == {'crc': 26705, 'length': 33, 'msg_type': 534, 'payload': 'NH5FuS9VBIszMzMzM/S+QGZmZmZmzKhAmpmZmRknwED4', 'preamble': 85, 'sender': 5780, 'tow': 3108339252, 'vpl': 21807, 'hpl': 35588, 'lat': 7924.2, 'lon': 3174.2, 'height': 8270.2, 'flags': 248} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgReferenceFrameParam.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgReferenceFrameParam.py index 524fa80153..4fba8b6e7b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgReferenceFrameParam.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgReferenceFrameParam.py @@ -76,4 +76,4 @@ def test_auto_check_sbp_navigation_msg_reference_frame_param_1(): assert dictify(msg.utn) == 5 - assert dictify(msg) == {'ssr_iod': 1, 'sn': 'foo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'tn': 'bar\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'sin': 4, 'utn': 5, 're_t0': 6, 'delta_x0': 7, 'delta_y0': 8, 'delta_z0': 9, 'theta_01': 10, 'theta_02': 11, 'theta_03': 12, 'scale': 13, 'dot_delta_x0': 14, 'dot_delta_y0': 15, 'dot_delta_z0': 16, 'dot_theta_01': 17, 'dot_theta_02': 18, 'dot_theta_03': 19, 'dot_scale': 20, 'preamble': 85, 'msg_type': 580, 'sender': 66, 'length': 124, 'payload': 'AWZvbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA==', 'crc': 41222} \ No newline at end of file + assert dictify(msg) == {'ssr_iod': 1, 'sn': 'foo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'tn': 'bar\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'sin': 4, 'utn': 5, 're_t0': 6, 'delta_x0': 7, 'delta_y0': 8, 'delta_z0': 9, 'theta_01': 10, 'theta_02': 11, 'theta_03': 12, 'scale': 13, 'dot_delta_x0': 14, 'dot_delta_y0': 15, 'dot_delta_z0': 16, 'dot_theta_01': 17, 'dot_theta_02': 18, 'dot_theta_03': 19, 'dot_scale': 20, 'preamble': 85, 'msg_type': 580, 'sender': 66, 'length': 124, 'payload': 'AWZvbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYmFyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBQAGAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAA==', 'crc': 41222} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCLeapSecond.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCLeapSecond.py index 056e25feb8..2aac14ba06 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCLeapSecond.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCLeapSecond.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_navigation_msg_utc_leap_second_1(): assert dictify(msg.reserved_4) == 6 - assert dictify(msg) == {'reserved_0': 1, 'reserved_1': 2, 'reserved_2': 3, 'count_before': 4, 'reserved_3': 5, 'reserved_4': 6, 'ref_wn': 7, 'ref_dn': 8, 'count_after': 9, 'preamble': 85, 'msg_type': 570, 'sender': 66, 'length': 14, 'payload': 'AQACAAMEBQAGAAcACAk=', 'crc': 59442} \ No newline at end of file + assert dictify(msg) == {'reserved_0': 1, 'reserved_1': 2, 'reserved_2': 3, 'count_before': 4, 'reserved_3': 5, 'reserved_4': 6, 'ref_wn': 7, 'ref_dn': 8, 'count_after': 9, 'preamble': 85, 'msg_type': 570, 'sender': 66, 'length': 14, 'payload': 'AQACAAMEBQAGAAcACAk=', 'crc': 59442} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTime.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTime.py index f403346669..bc28f45741 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTime.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTime.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_navigation_msg_utc_time_1(): assert dictify(msg.year) == 2021 - assert dictify(msg) == {'flags': 1, 'tow': 501867800, 'year': 2021, 'month': 4, 'day': 9, 'hours': 19, 'minutes': 24, 'seconds': 9, 'ns': 800000000, 'preamble': 85, 'msg_type': 259, 'sender': 789, 'payload': 'ARjl6R3lBwQJExgJAAivLw==', 'crc': 64967, 'length': 16} \ No newline at end of file + assert dictify(msg) == {'flags': 1, 'tow': 501867800, 'year': 2021, 'month': 4, 'day': 9, 'hours': 19, 'minutes': 24, 'seconds': 9, 'ns': 800000000, 'preamble': 85, 'msg_type': 259, 'sender': 789, 'payload': 'ARjl6R3lBwQJExgJAAivLw==', 'crc': 64967, 'length': 16} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTimeGNSS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTimeGNSS.py index 822dd8da8a..835d18d0c0 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTimeGNSS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgUTCTimeGNSS.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_navigation_msg_utc_time_gnss_1(): assert dictify(msg.year) == 2021 - assert dictify(msg) == {'flags': 1, 'tow': 501867800, 'year': 2021, 'month': 4, 'day': 9, 'hours': 19, 'minutes': 24, 'seconds': 9, 'ns': 800000000, 'preamble': 85, 'msg_type': 261, 'sender': 789, 'payload': 'ARjl6R3lBwQJExgJAAivLw==', 'crc': 8625, 'length': 16} \ No newline at end of file + assert dictify(msg) == {'flags': 1, 'tow': 501867800, 'year': 2021, 'month': 4, 'day': 9, 'hours': 19, 'minutes': 24, 'seconds': 9, 'ns': 800000000, 'preamble': 85, 'msg_type': 261, 'sender': 789, 'payload': 'ARjl6R3lBwQJExgJAAivLw==', 'crc': 8625, 'length': 16} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelBody.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelBody.py index 5b646a6507..ec1496c77a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelBody.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelBody.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_vel_body_1(): assert dictify(msg.z) == 1 - assert dictify(msg) == {'cov_y_z': 3, 'cov_y_y': 7, 'n_sats': 3, 'sender': 66, 'msg_type': 531, 'cov_x_z': 7, 'cov_x_y': 5, 'cov_x_x': 0, 'tow': 1, 'crc': 36984, 'length': 42, 'flags': 8, 'y': 2, 'x': 4, 'z': 1, 'preamble': 85, 'payload': 'AQAAAAQAAAACAAAAAQAAAAAAAAAAAKBAAADgQAAA4EAAAEBAAAAAQAMI', 'cov_z_z': 2} \ No newline at end of file + assert dictify(msg) == {'cov_y_z': 3, 'cov_y_y': 7, 'n_sats': 3, 'sender': 66, 'msg_type': 531, 'cov_x_z': 7, 'cov_x_y': 5, 'cov_x_x': 0, 'tow': 1, 'crc': 36984, 'length': 42, 'flags': 8, 'y': 2, 'x': 4, 'z': 1, 'preamble': 85, 'payload': 'AQAAAAQAAAACAAAAAQAAAAAAAAAAAKBAAADgQAAA4EAAAEBAAAAAQAMI', 'cov_z_z': 2} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelCog.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelCog.py index 6ebefb2100..ea1a0a197d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelCog.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelCog.py @@ -124,4 +124,4 @@ def test_auto_check_sbp_navigation_msg_vel_cog_3(): assert dictify(msg.v_up_accuracy) == 0 - assert dictify(msg) == {'crc': 53802, 'length': 30, 'msg_type': 540, 'payload': 'MPZ6EwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'preamble': 85, 'sender': 35027, 'tow': 326825520, 'cog': 0, 'sog': 0, 'v_up': 0, 'cog_accuracy': 0, 'sog_accuracy': 0, 'v_up_accuracy': 0, 'flags': 0} \ No newline at end of file + assert dictify(msg) == {'crc': 53802, 'length': 30, 'msg_type': 540, 'payload': 'MPZ6EwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'preamble': 85, 'sender': 35027, 'tow': 326825520, 'cog': 0, 'sog': 0, 'v_up': 0, 'cog_accuracy': 0, 'sog_accuracy': 0, 'v_up_accuracy': 0, 'flags': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEF.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEF.py index edcb36c332..98569f3fea 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEF.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEF.py @@ -186,4 +186,4 @@ def test_auto_check_sbp_navigation_msg_vel_ecef_5(): assert dictify(msg.z) == 14 - assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 525, 'tow': 326827000, 'crc': 11199, 'length': 20, 'flags': 0, 'y': -13, 'x': -9, 'z': 14, 'preamble': 85, 'payload': '+Pt6E/f////z////DgAAAAAADwA=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 15, 'sender': 35027, 'msg_type': 525, 'tow': 326827000, 'crc': 11199, 'length': 20, 'flags': 0, 'y': -13, 'x': -9, 'z': 14, 'preamble': 85, 'payload': '+Pt6E/f////z////DgAAAAAADwA=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFCov.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFCov.py index 1eee42f484..4cf404c114 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFCov.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFCov.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_vel_ecef_cov_1(): assert dictify(msg.z) == 6 - assert dictify(msg) == {'cov_y_z': 1, 'cov_y_y': 2, 'n_sats': 3, 'sender': 66, 'msg_type': 533, 'cov_x_z': 2, 'cov_x_y': 2, 'cov_x_x': 2, 'tow': 2, 'crc': 65115, 'length': 42, 'flags': 4, 'y': 0, 'x': 0, 'z': 6, 'preamble': 85, 'payload': 'AgAAAAAAAAAAAAAABgAAAAAAAEAAAABAAAAAQAAAAEAAAIA/AABAQAME', 'cov_z_z': 3} \ No newline at end of file + assert dictify(msg) == {'cov_y_z': 1, 'cov_y_y': 2, 'n_sats': 3, 'sender': 66, 'msg_type': 533, 'cov_x_z': 2, 'cov_x_y': 2, 'cov_x_x': 2, 'tow': 2, 'crc': 65115, 'length': 42, 'flags': 4, 'y': 0, 'x': 0, 'z': 6, 'preamble': 85, 'payload': 'AgAAAAAAAAAAAAAABgAAAAAAAEAAAABAAAAAQAAAAEAAAIA/AABAQAME', 'cov_z_z': 3} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFDepA.py index f30a0b6577..88fc6fd657 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelECEFDepA.py @@ -390,4 +390,4 @@ def test_auto_check_sbp_navigation_msg_vel_ecef_dep_a_11(): assert dictify(msg.z) == 65 - assert dictify(msg) == {'n_sats': 5, 'sender': 1219, 'msg_type': 516, 'tow': 407151150, 'crc': 39506, 'length': 20, 'flags': 0, 'y': -71, 'x': -49, 'z': 65, 'preamble': 85, 'payload': 'LqJEGM////+5////QQAAAAAABQA=', 'accuracy': 0} \ No newline at end of file + assert dictify(msg) == {'n_sats': 5, 'sender': 1219, 'msg_type': 516, 'tow': 407151150, 'crc': 39506, 'length': 20, 'flags': 0, 'y': -71, 'x': -49, 'z': 65, 'preamble': 85, 'payload': 'LqJEGM////+5////QQAAAAAABQA=', 'accuracy': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefCovGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefCovGnss.py index 865f86d040..72e209e749 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefCovGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefCovGnss.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_vel_ecef_cov_gnss_1(): assert dictify(msg.z) == 4 - assert dictify(msg) == {'tow': 501868000, 'x': -3, 'y': 1, 'z': 4, 'cov_x_x': 0.0024547684006392956, 'cov_x_y': 0.0021795108914375305, 'cov_x_z': -0.0016828652005642653, 'cov_y_y': 0.004218944814056158, 'cov_y_z': -0.0024961293675005436, 'cov_z_z': 0.0037804271560162306, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 565, 'sender': 4096, 'payload': '4OXpHf3///8BAAAABAAAAC7gIDsg1g47lpPcuhM/ijsaliO7C8F3OxUC', 'crc': 58902, 'length': 42} \ No newline at end of file + assert dictify(msg) == {'tow': 501868000, 'x': -3, 'y': 1, 'z': 4, 'cov_x_x': 0.0024547684006392956, 'cov_x_y': 0.0021795108914375305, 'cov_x_z': -0.0016828652005642653, 'cov_y_y': 0.004218944814056158, 'cov_y_z': -0.0024961293675005436, 'cov_z_z': 0.0037804271560162306, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 565, 'sender': 4096, 'payload': '4OXpHf3///8BAAAABAAAAC7gIDsg1g47lpPcuhM/ijsaliO7C8F3OxUC', 'crc': 58902, 'length': 42} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefGnss.py index d2e219b499..879b07014e 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelEcefGnss.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_navigation_msg_vel_ecef_gnss_1(): assert dictify(msg.z) == 4 - assert dictify(msg) == {'tow': 501868000, 'x': -3, 'y': 1, 'z': 4, 'accuracy': 89, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 557, 'sender': 4096, 'payload': '4OXpHf3///8BAAAABAAAAFkAFQI=', 'crc': 4301, 'length': 20} \ No newline at end of file + assert dictify(msg) == {'tow': 501868000, 'x': -3, 'y': 1, 'z': 4, 'accuracy': 89, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 557, 'sender': 4096, 'payload': '4OXpHf3///8BAAAABAAAAFkAFQI=', 'crc': 4301, 'length': 20} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNED.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNED.py index 6b791c4ea0..df4628bfb5 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNED.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNED.py @@ -196,4 +196,4 @@ def test_auto_check_sbp_navigation_msg_vel_ned_5(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'e': 0, 'sender': 35027, 'msg_type': 526, 'tow': 326827000, 'n': 1, 'crc': 30902, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 15, 'preamble': 85, 'payload': '+Pt6EwEAAAAAAAAA6////wAAAAAPAA==', 'd': -21} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'e': 0, 'sender': 35027, 'msg_type': 526, 'tow': 326827000, 'n': 1, 'crc': 30902, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 15, 'preamble': 85, 'payload': '+Pt6EwEAAAAAAAAA6////wAAAAAPAA==', 'd': -21} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDCOV.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDCOV.py index 0b7d4d56fc..59dae20126 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDCOV.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDCOV.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_vel_nedcov_1(): assert dictify(msg.tow) == 100 - assert dictify(msg) == {'cov_e_d': 1, 'cov_e_e': 1, 'n_sats': 10, 'sender': 66, 'msg_type': 530, 'cov_n_n': 1, 'cov_n_e': 1, 'tow': 100, 'n': 1, 'crc': 52568, 'length': 42, 'cov_n_d': 1, 'flags': 0, 'e': 1, 'cov_d_d': 1, 'preamble': 85, 'payload': 'ZAAAAAEAAAABAAAAAQAAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwoA', 'd': 1} \ No newline at end of file + assert dictify(msg) == {'cov_e_d': 1, 'cov_e_e': 1, 'n_sats': 10, 'sender': 66, 'msg_type': 530, 'cov_n_n': 1, 'cov_n_e': 1, 'tow': 100, 'n': 1, 'crc': 52568, 'length': 42, 'cov_n_d': 1, 'flags': 0, 'e': 1, 'cov_d_d': 1, 'preamble': 85, 'payload': 'ZAAAAAEAAAABAAAAAQAAAAAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwoA', 'd': 1} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDDepA.py index 08f6cabfba..0b453a9dd7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNEDDepA.py @@ -412,4 +412,4 @@ def test_auto_check_sbp_navigation_msg_vel_ned_dep_a_11(): assert dictify(msg.v_accuracy) == 0 - assert dictify(msg) == {'v_accuracy': 0, 'e': -3, 'sender': 1219, 'msg_type': 517, 'tow': 407151150, 'n': -1, 'crc': 48550, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 5, 'preamble': 85, 'payload': 'LqJEGP/////9////lP///wAAAAAFAA==', 'd': -108} \ No newline at end of file + assert dictify(msg) == {'v_accuracy': 0, 'e': -3, 'sender': 1219, 'msg_type': 517, 'tow': 407151150, 'n': -1, 'crc': 48550, 'length': 22, 'flags': 0, 'h_accuracy': 0, 'n_sats': 5, 'preamble': 85, 'payload': 'LqJEGP/////9////lP///wAAAAAFAA==', 'd': -108} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedCovGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedCovGnss.py index c84e3181e8..01ae1cf19f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedCovGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedCovGnss.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_navigation_msg_vel_ned_cov_gnss_1(): assert dictify(msg.tow) == 501868200 - assert dictify(msg) == {'tow': 501868200, 'n': -5, 'e': 0, 'd': -10, 'cov_n_n': 0.0015810149488970637, 'cov_n_e': 1.457612233934924e-05, 'cov_n_d': 0.00017716512957122177, 'cov_e_e': 0.0009897587588056922, 'cov_e_d': 0.00016467059322167188, 'cov_d_d': 0.007882959209382534, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 562, 'sender': 4096, 'payload': 'qObpHfv///8AAAAA9v///w86zzr4i3Q3Z8U5Ocu6gTptqyw5hycBPBUC', 'crc': 923, 'length': 42} \ No newline at end of file + assert dictify(msg) == {'tow': 501868200, 'n': -5, 'e': 0, 'd': -10, 'cov_n_n': 0.0015810149488970637, 'cov_n_e': 1.457612233934924e-05, 'cov_n_d': 0.00017716512957122177, 'cov_e_e': 0.0009897587588056922, 'cov_e_d': 0.00016467059322167188, 'cov_d_d': 0.007882959209382534, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 562, 'sender': 4096, 'payload': 'qObpHfv///8AAAAA9v///w86zzr4i3Q3Z8U5Ocu6gTptqyw5hycBPBUC', 'crc': 923, 'length': 42} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedGnss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedGnss.py index 4bebfe171d..551b06149c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedGnss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_navigation_MsgVelNedGnss.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_navigation_msg_vel_ned_gnss_1(): assert dictify(msg.v_accuracy) == 89 - assert dictify(msg) == {'tow': 501868200, 'n': -5, 'e': 0, 'd': -10, 'h_accuracy': 40, 'v_accuracy': 89, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 558, 'sender': 4096, 'payload': 'qObpHfv///8AAAAA9v///ygAWQAVAg==', 'crc': 43875, 'length': 22} \ No newline at end of file + assert dictify(msg) == {'tow': 501868200, 'n': -5, 'e': 0, 'd': -10, 'h_accuracy': 40, 'v_accuracy': 89, 'n_sats': 21, 'flags': 2, 'preamble': 85, 'msg_type': 558, 'sender': 4096, 'payload': 'qObpHfv///8AAAAA9v///ygAWQAVAg==', 'crc': 43875, 'length': 22} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ndb_MsgNdbEvent.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ndb_MsgNdbEvent.py index b57f0a90e5..e287f1e06f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ndb_MsgNdbEvent.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ndb_MsgNdbEvent.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_ndb_msg_ndb_event_1(): assert dictify(msg.src_sid) == {'code': 66, 'sat': 98} - assert dictify(msg) == {'preamble': 85, 'msg_type': 1024, 'sender': 44708, 'length': 18, 'payload': '/rxGuUUAAAD5Sc1z7kpiQraU', 'crc': 42512, 'recv_time': 299461164286, 'event': 249, 'object_type': 73, 'result': 205, 'data_source': 115, 'object_sid': {'sat': 238, 'code': 74}, 'src_sid': {'sat': 98, 'code': 66}, 'original_sender': 38070} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 1024, 'sender': 44708, 'length': 18, 'payload': '/rxGuUUAAAD5Sc1z7kpiQraU', 'crc': 42512, 'recv_time': 299461164286, 'event': 249, 'object_type': 73, 'result': 205, 'data_source': 115, 'object_sid': {'sat': 238, 'code': 74}, 'src_sid': {'sat': 98, 'code': 66}, 'original_sender': 38070} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLO.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLO.py index 6aeb83d424..e3f671ef08 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLO.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLO.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_observation_msg_almanac_glo_1(): assert dictify(msg.t_lambda_na) == 0.007072207052260637 - assert dictify(msg) == {'preamble': 85, 'msg_type': 115, 'sender': 1219, 'length': 78, 'payload': 'FgCwzwYAagiamZmZmZkBQEA4AAABAI4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/', 'crc': 22427, 'common': {'sid': {'sat': 22, 'code': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'lambda_na': -0.02200078842114688, 't_lambda_na': 0.007072207052260637, 'i': 5153.550029754639, 't': -1.8731818448797617, 't_dot': -8.903585155774196e-09, 'epsilon': -0.9893036629599647, 'omega': 0.9341514480259797} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 115, 'sender': 1219, 'length': 78, 'payload': 'FgCwzwYAagiamZmZmZkBQEA4AAABAI4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/', 'crc': 22427, 'common': {'sid': {'sat': 22, 'code': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'lambda_na': -0.02200078842114688, 't_lambda_na': 0.007072207052260637, 'i': 5153.550029754639, 't': -1.8731818448797617, 't_dot': -8.903585155774196e-09, 'epsilon': -0.9893036629599647, 'omega': 0.9341514480259797} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLODep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLODep.py index 8346f78c91..fb1a061b9a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLODep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGLODep.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_observation_msg_almanac_glo_dep_1(): assert dictify(msg.t_lambda_na) == 0.007072207052260637 - assert dictify(msg) == {'preamble': 85, 'msg_type': 113, 'sender': 1219, 'length': 80, 'payload': 'FgAAALDPBgBqCJqZmZmZmQFAQDgAAAEAjikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T8=', 'crc': 45771, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'lambda_na': -0.02200078842114688, 't_lambda_na': 0.007072207052260637, 'i': 5153.550029754639, 't': -1.8731818448797617, 't_dot': -8.903585155774196e-09, 'epsilon': -0.9893036629599647, 'omega': 0.9341514480259797} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 113, 'sender': 1219, 'length': 80, 'payload': 'FgAAALDPBgBqCJqZmZmZmQFAQDgAAAEAjikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T8=', 'crc': 45771, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'lambda_na': -0.02200078842114688, 't_lambda_na': 0.007072207052260637, 'i': 5153.550029754639, 't': -1.8731818448797617, 't_dot': -8.903585155774196e-09, 'epsilon': -0.9893036629599647, 'omega': 0.9341514480259797} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPS.py index 73b61b35c0..915f999755 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPS.py @@ -56,4 +56,4 @@ def test_auto_check_sbp_observation_msg_almanac_gps_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'preamble': 85, 'msg_type': 114, 'sender': 1219, 'length': 94, 'payload': 'FgCwzwYAagiamZmZmZkBQEA4AAABAI4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/AAAAAGyxRL8AAAAAAMCjPQ==', 'crc': 11710, 'common': {'sid': {'sat': 22, 'code': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 114, 'sender': 1219, 'length': 94, 'payload': 'FgCwzwYAagiamZmZmZkBQEA4AAABAI4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/AAAAAGyxRL8AAAAAAMCjPQ==', 'crc': 11710, 'common': {'sid': {'sat': 22, 'code': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPSDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPSDep.py index 189683248c..5a6d219053 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPSDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgAlmanacGPSDep.py @@ -56,4 +56,4 @@ def test_auto_check_sbp_observation_msg_almanac_gps_dep_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'preamble': 85, 'msg_type': 112, 'sender': 1219, 'length': 96, 'payload': 'FgAAALDPBgBqCJqZmZmZmQFAQDgAAAEAjikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T8AAAAAbLFEvwAAAAAAwKM9', 'crc': 59536, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 112, 'sender': 1219, 'length': 96, 'payload': 'FgAAALDPBgBqCJqZmZmZmQFAQDgAAAEAjikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T8AAAAAbLFEvwAAAAAAwKM9', 'crc': 59536, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toa': {'tow': 446384, 'wn': 2154}, 'ura': 2.2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosEcef.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosEcef.py index acd122356a..1c531f5df1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosEcef.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosEcef.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_observation_msg_base_pos_ecef_1(): assert dictify(msg.z) == 3811455.9642 - assert dictify(msg) == {'x': -2726575.9189, 'y': -4315267.2798, 'z': 3811455.9642, 'preamble': 85, 'msg_type': 72, 'sender': 0, 'payload': '5IOe9VfNRMFCPujRIHZQwdXnavs/FE1B', 'crc': 32194, 'length': 24} \ No newline at end of file + assert dictify(msg) == {'x': -2726575.9189, 'y': -4315267.2798, 'z': 3811455.9642, 'preamble': 85, 'msg_type': 72, 'sender': 0, 'payload': '5IOe9VfNRMFCPujRIHZQwdXnavs/FE1B', 'crc': 32194, 'length': 24} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosLLH.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosLLH.py index 408228d592..17aab122d6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosLLH.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgBasePosLLH.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_observation_msg_base_pos_llh_1(): assert dictify(msg.lon) == -121.87505609407974 - assert dictify(msg) == {'crc': 58962, 'length': 24, 'msg_type': 68, 'payload': '4e3uWiqgQkA7j0brAHhewDO1fPBB+EJA', 'preamble': 85, 'sender': 123, 'lat': 37.251292578377395, 'lon': -121.87505609407974, 'height': 37.939512310879216} \ No newline at end of file + assert dictify(msg) == {'crc': 58962, 'length': 24, 'msg_type': 68, 'payload': '4e3uWiqgQkA7j0brAHhewDO1fPBB+EJA', 'preamble': 85, 'sender': 123, 'lat': 37.251292578377395, 'lon': -121.87505609407974, 'height': 37.939512310879216} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisBds.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisBds.py index c90e089430..eef7e5f88c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisBds.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisBds.py @@ -84,4 +84,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_bds_1(): assert dictify(msg.w) == -2.698603205735458 - assert dictify(msg) == {'common': {'sid': {'sat': 8, 'code': 12}, 'toe': {'tow': 439214, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 10800, 'valid': 1, 'health_bits': 0}, 'tgd1': 1.0499999980595476e-08, 'tgd2': -1.0999999799921056e-09, 'c_rs': 224.4375, 'c_rc': 234.640625, 'c_uc': 7.606577128171921e-06, 'c_us': 6.551854312419891e-07, 'c_ic': -6.658956408500671e-08, 'c_is': 3.5529956221580505e-07, 'dn': 1.1296899132622133e-09, 'm0': 1.6943958190727237, 'ecc': 0.005184737499803305, 'sqrta': 6493.49845123291, 'omega0': -2.581073762870982, 'omegadot': -2.303310227830545e-09, 'w': -2.698603205735458, 'inc': 1.0421769543504915, 'inc_dot': 7.507455572801683e-10, 'af0': -0.0008911322802305222, 'af1': 1.2398970739013748e-12, 'af2': -7.318364664277155e-19, 'toc': {'tow': 439214, 'wn': 2154}, 'iode': 6, 'iodc': 5, 'preamble': 85, 'msg_type': 137, 'sender': 61568, 'payload': 'CAyuswYAaggAAABAMCoAAAEAfWM0Ms8ul7AAcGBDAKRqQwA8/zYA4C81AACPswDAvjSSZaLEbWgTPv1XVso+HPs/AAAAYJc8dT8AAICaf125QJfBQAAKpgTAoEuuYgjJI77NHQxHvZYFwLBI+b3BrPA/SPm8tKDLCT4AAAAAXDNNvwCArisAAFihrrMGAGoIBgUA', 'crc': 63901, 'length': 147} \ No newline at end of file + assert dictify(msg) == {'common': {'sid': {'sat': 8, 'code': 12}, 'toe': {'tow': 439214, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 10800, 'valid': 1, 'health_bits': 0}, 'tgd1': 1.0499999980595476e-08, 'tgd2': -1.0999999799921056e-09, 'c_rs': 224.4375, 'c_rc': 234.640625, 'c_uc': 7.606577128171921e-06, 'c_us': 6.551854312419891e-07, 'c_ic': -6.658956408500671e-08, 'c_is': 3.5529956221580505e-07, 'dn': 1.1296899132622133e-09, 'm0': 1.6943958190727237, 'ecc': 0.005184737499803305, 'sqrta': 6493.49845123291, 'omega0': -2.581073762870982, 'omegadot': -2.303310227830545e-09, 'w': -2.698603205735458, 'inc': 1.0421769543504915, 'inc_dot': 7.507455572801683e-10, 'af0': -0.0008911322802305222, 'af1': 1.2398970739013748e-12, 'af2': -7.318364664277155e-19, 'toc': {'tow': 439214, 'wn': 2154}, 'iode': 6, 'iodc': 5, 'preamble': 85, 'msg_type': 137, 'sender': 61568, 'payload': 'CAyuswYAaggAAABAMCoAAAEAfWM0Ms8ul7AAcGBDAKRqQwA8/zYA4C81AACPswDAvjSSZaLEbWgTPv1XVso+HPs/AAAAYJc8dT8AAICaf125QJfBQAAKpgTAoEuuYgjJI77NHQxHvZYFwLBI+b3BrPA/SPm8tKDLCT4AAAAAXDNNvwCArisAAFihrrMGAGoIBgUA', 'crc': 63901, 'length': 147} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepA.py index 83c7c37368..5e4968b68c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepA.py @@ -88,4 +88,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_dep_a_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'preamble': 85, 'msg_type': 26, 'sender': 1219, 'length': 175, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFg==', 'crc': 21746, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'prn': 22} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 26, 'sender': 1219, 'length': 175, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFg==', 'crc': 21746, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'prn': 22} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepC.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepC.py index 2fc3fe0d31..9e615fb9a3 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepC.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepC.py @@ -94,4 +94,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_dep_c_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'preamble': 85, 'msg_type': 71, 'sender': 1219, 'length': 185, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFgAAAC0tAAAAAAA=', 'crc': 43543, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'iode': 45, 'iodc': 45, 'reserved': 0} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 71, 'sender': 1219, 'length': 185, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFgAAAC0tAAAAAAA=', 'crc': 43543, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'iode': 45, 'iodc': 45, 'reserved': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepD.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepD.py index 1b8c2acc9a..afeb0fbb0f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepD.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisDepD.py @@ -94,4 +94,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_dep_d_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'preamble': 85, 'msg_type': 128, 'sender': 1219, 'length': 185, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFgAAAC0tAAAAAAA=', 'crc': 1887, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'iode': 45, 'iodc': 45, 'reserved': 0} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 128, 'sender': 1219, 'length': 185, 'payload': 'AAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9mpmZmZmZyT/NzMzMwD4bQWoIzczMzMA+G0FqCAEAFgAAAC0tAAAAAAA=', 'crc': 1887, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.2, 'toe_tow': 446384.2, 'toe_wn': 2154, 'toc_tow': 446384.2, 'toc_wn': 2154, 'valid': 1, 'healthy': 0, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'iode': 45, 'iodc': 45, 'reserved': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLO.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLO.py index 8f732304f2..14e4235ac8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLO.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLO.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_glo_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.0, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14, 'iod': 100, 'preamble': 85, 'msg_type': 139, 'sender': 2314, 'payload': 'BANGxQYAaggAAKBAYAkAAAEAAACAK4Bhr7gAAECxAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBAAAAYgb6msAAAADZOt2jwAAAALiKLotAAAB6NQAAejUAgDs2DmQ=', 'crc': 38233, 'length': 92} \ No newline at end of file + assert dictify(msg) == {'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.0, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14, 'iod': 100, 'preamble': 85, 'msg_type': 139, 'sender': 2314, 'payload': 'BANGxQYAaggAAKBAYAkAAAEAAACAK4Bhr7gAAECxAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBAAAAYgb6msAAAADZOt2jwAAAALiKLotAAAB6NQAAejUAgDs2DmQ=', 'crc': 38233, 'length': 92} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepA.py index 57148e5566..512908f9f7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepA.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_glo_dep_a_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'preamble': 85, 'msg_type': 131, 'sender': 1219, 'length': 112, 'payload': 'BAADAEbFBgBqCM3MzMzMzBRAYAkAAAEAAAAAAAAAcD0AAAAAMOwVvwAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg==', 'crc': 61130, 'common': {'sid': {'sat': 4, 'code': 3, 'reserved': 0}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 131, 'sender': 1219, 'length': 112, 'payload': 'BAADAEbFBgBqCM3MzMzMzBRAYAkAAAEAAAAAAAAAcD0AAAAAMOwVvwAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg==', 'crc': 61130, 'common': {'sid': {'sat': 4, 'code': 3, 'reserved': 0}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepB.py index 152489474e..b8f76a23f1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepB.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_glo_dep_b_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'preamble': 85, 'msg_type': 133, 'sender': 1219, 'length': 110, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAIBC9jlnwQAAACKqTiJBAADwx1RWdcEAAABiBvqawAAAANk63aPAAAAAuIoui0AAAAAAAECvPgAAAAAAQK8+AAAAAABwxz4=', 'crc': 32634, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 133, 'sender': 1219, 'length': 110, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAIBC9jlnwQAAACKqTiJBAADwx1RWdcEAAABiBvqawAAAANk63aPAAAAAuIoui0AAAAAAAECvPgAAAAAAQK8+AAAAAABwxz4=', 'crc': 32634, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepC.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepC.py index 438c335dbb..9745db66cd 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepC.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepC.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_glo_dep_c_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'preamble': 85, 'msg_type': 135, 'sender': 1219, 'length': 119, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAAAAAAAovgAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg4=', 'crc': 16791, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 135, 'sender': 1219, 'length': 119, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAAAAAAAovgAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg4=', 'crc': 16791, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepD.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepD.py index 6ea8a0f722..85159d2357 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepD.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGLODepD.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_glo_dep_d_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'preamble': 85, 'msg_type': 136, 'sender': 1219, 'length': 120, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAAAAAAAovgAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg5k', 'crc': 16466, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14, 'iod': 100} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 136, 'sender': 1219, 'length': 120, 'payload': 'BANGxQYAagjNzMzMzMwUQGAJAAABAAAAAAAAAHA9AAAAADDsFb8AAAAAAAAovgAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPg5k', 'crc': 16466, 'common': {'sid': {'sat': 4, 'code': 3}, 'toe': {'tow': 443718, 'wn': 2154}, 'ura': 5.2, 'fit_interval': 2400, 'valid': 1, 'health_bits': 0}, 'gamma': 9.094947017729282e-13, 'tau': -8.36281105875969e-05, 'd_tau': -2.7939677238464355e-09, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'fcn': 14, 'iod': 100} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPS.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPS.py index 1f26e0508a..73428ae844 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPS.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPS.py @@ -82,4 +82,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_gps_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'common': {'sid': {'sat': 22, 'code': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45, 'preamble': 85, 'msg_type': 138, 'sender': 2314, 'payload': 'FgCwzwYAaggAAABAQDgAAAEAAACYsgBAUcIAUJpDACA4tgCAUjYAAAAyAAD4s3LYYLQxdTg+jikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T/dL2Tg/y/GvWCLJboAAB4tAAAAALDPBgBqCC0tAA==', 'crc': 1194, 'length': 139} \ No newline at end of file + assert dictify(msg) == {'common': {'sid': {'sat': 22, 'code': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0.0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45, 'preamble': 85, 'msg_type': 138, 'sender': 2314, 'payload': 'FgCwzwYAaggAAABAQDgAAAEAAACYsgBAUcIAUJpDACA4tgCAUjYAAAAyAAD4s3LYYLQxdTg+jikF61+Hlr8AAAAgv/d8PwAAwM6MIbRAKYOzho34/b/jhVE2zB5Dvtg7xydgqO+/RwvZk5Hk7T/dL2Tg/y/GvWCLJboAAB4tAAAAALDPBgBqCC0tAA==', 'crc': 1194, 'length': 139} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepE.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepE.py index f0274b0e53..ebad3ce9d9 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepE.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepE.py @@ -82,4 +82,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_gps_dep_e_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'crc': 60934, 'length': 185, 'msg_type': 129, 'payload': 'FgAAALDPBgBqCAAAAAAAAABAQDgAAAEAAAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9AAAAAAAAAACwzwYAaggtLQA=', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45} \ No newline at end of file + assert dictify(msg) == {'crc': 60934, 'length': 185, 'msg_type': 129, 'payload': 'FgAAALDPBgBqCAAAAAAAAABAQDgAAAEAAAAAAAAAU74AAAAAAChKwAAAAAAASnNAAAAAAAAEx74AAAAAAFDKPgAAAAAAAEA+AAAAAAAAf75y2GC0MXU4Po4pBetfh5a/AAAAIL/3fD8AAMDOjCG0QCmDs4aN+P2/44VRNsweQ77YO8cnYKjvv0cL2ZOR5O0/3S9k4P8vxr0AAAAAbLFEvwAAAAAAwKM9AAAAAAAAAACwzwYAaggtLQA=', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepF.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepF.py index 481b3f2ab4..51f715fd48 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepF.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGPSDepF.py @@ -82,4 +82,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_gps_dep_f_1(): assert dictify(msg.w) == -0.9893036629599647 - assert dictify(msg) == {'crc': 65139, 'length': 183, 'msg_type': 134, 'payload': 'FgCwzwYAaggAAAAAAAAAQEA4AAABAAAAAAAAAFO+AAAAAAAoSsAAAAAAAEpzQAAAAAAABMe+AAAAAABQyj4AAAAAAABAPgAAAAAAAH++cthgtDF1OD6OKQXrX4eWvwAAACC/93w/AADAzowhtEApg7OGjfj9v+OFUTbMHkO+2DvHJ2Co779HC9mTkeTtP90vZOD/L8a9AAAAAGyxRL8AAAAAAMCjPQAAAAAAAAAAsM8GAGoILS0A', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45} \ No newline at end of file + assert dictify(msg) == {'crc': 65139, 'length': 183, 'msg_type': 134, 'payload': 'FgCwzwYAaggAAAAAAAAAQEA4AAABAAAAAAAAAFO+AAAAAAAoSsAAAAAAAEpzQAAAAAAABMe+AAAAAABQyj4AAAAAAABAPgAAAAAAAH++cthgtDF1OD6OKQXrX4eWvwAAACC/93w/AADAzowhtEApg7OGjfj9v+OFUTbMHkO+2DvHJ2Co779HC9mTkeTtP90vZOD/L8a9AAAAAGyxRL8AAAAAAMCjPQAAAAAAAAAAsM8GAGoILS0A', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'tgd': -1.7695128917694092e-08, 'c_rs': -52.3125, 'c_rc': 308.625, 'c_uc': -2.7436763048171997e-06, 'c_us': 3.1366944313049316e-06, 'c_ic': 7.450580596923828e-09, 'c_is': -1.1548399925231934e-07, 'dn': 5.694522914022375e-09, 'm0': -0.02200078842114688, 'ecc': 0.007072207052260637, 'sqrta': 5153.550029754639, 'omega0': -1.8731818448797617, 'omegadot': -8.903585155774196e-09, 'w': -0.9893036629599647, 'inc': 0.9341514480259797, 'inc_dot': -4.035882396415757e-11, 'af0': -0.0006315018981695175, 'af1': 8.981260180007666e-12, 'af2': 0, 'toc': {'tow': 446384, 'wn': 2154}, 'iode': 45, 'iodc': 45} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGal.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGal.py index 7a80c95d1f..9401c95efc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGal.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGal.py @@ -86,4 +86,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_gal_1(): assert dictify(msg.w) == 0.12250912091662625 - assert dictify(msg) == {'common': {'sid': {'sat': 27, 'code': 14}, 'toe': {'tow': 448800, 'wn': 2154}, 'ura': 3.119999885559082, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'bgd_e1e5a': 2.0954757928848267e-09, 'bgd_e1e5b': 2.0954757928848267e-09, 'c_rs': 10.125, 'c_rc': 265.4375, 'c_uc': 5.364418029785156e-07, 'c_us': 3.993511199951172e-06, 'c_ic': -3.166496753692627e-08, 'c_is': -3.166496753692627e-08, 'dn': 3.2262058129932258e-09, 'm0': -1.8457115744155868, 'ecc': 0.00017060607206076384, 'sqrta': 5440.602401733398, 'omega0': 1.16967730598334, 'omegadot': -5.757382675240872e-09, 'w': 0.12250912091662625, 'inc': 0.9777456094977858, 'inc_dot': -3.1787038343451465e-10, 'af0': -1.7088896129280325e-05, 'af1': -8.185452315956353e-12, 'af2': 0.0, 'toc': {'tow': 448800, 'wn': 2154}, 'iode': 108, 'iodc': 108, 'source': 0, 'preamble': 85, 'msg_type': 141, 'sender': 61568, 'payload': 'Gw4g2QYAaggUrkdAQDgAAAEAAAAQMQAAEDEAACJBALiEQwAAEDUAAIY2AAAIswAACLPZzIJpgLYrPvhqH9wIiP2/AAAAAJdcJj8AAAA3mkC1QDgmAY3/tvI/3pOIJ0+6OL5Qcsz7wVy/P+03EymxSe8/MUG98AjY9b3/////Q+vxvv///////6G9AAAAACDZBgBqCGwAbAAA', 'crc': 53319, 'length': 153} \ No newline at end of file + assert dictify(msg) == {'common': {'sid': {'sat': 27, 'code': 14}, 'toe': {'tow': 448800, 'wn': 2154}, 'ura': 3.119999885559082, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'bgd_e1e5a': 2.0954757928848267e-09, 'bgd_e1e5b': 2.0954757928848267e-09, 'c_rs': 10.125, 'c_rc': 265.4375, 'c_uc': 5.364418029785156e-07, 'c_us': 3.993511199951172e-06, 'c_ic': -3.166496753692627e-08, 'c_is': -3.166496753692627e-08, 'dn': 3.2262058129932258e-09, 'm0': -1.8457115744155868, 'ecc': 0.00017060607206076384, 'sqrta': 5440.602401733398, 'omega0': 1.16967730598334, 'omegadot': -5.757382675240872e-09, 'w': 0.12250912091662625, 'inc': 0.9777456094977858, 'inc_dot': -3.1787038343451465e-10, 'af0': -1.7088896129280325e-05, 'af1': -8.185452315956353e-12, 'af2': 0.0, 'toc': {'tow': 448800, 'wn': 2154}, 'iode': 108, 'iodc': 108, 'source': 0, 'preamble': 85, 'msg_type': 141, 'sender': 61568, 'payload': 'Gw4g2QYAaggUrkdAQDgAAAEAAAAQMQAAEDEAACJBALiEQwAAEDUAAIY2AAAIswAACLPZzIJpgLYrPvhqH9wIiP2/AAAAAJdcJj8AAAA3mkC1QDgmAY3/tvI/3pOIJ0+6OL5Qcsz7wVy/P+03EymxSe8/MUG98AjY9b3/////Q+vxvv///////6G9AAAAACDZBgBqCGwAbAAA', 'crc': 53319, 'length': 153} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGalDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGalDepA.py index f112efac93..be27314c74 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGalDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisGalDepA.py @@ -84,4 +84,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_gal_dep_a_1(): assert dictify(msg.w) == 0.12250912091662625 - assert dictify(msg) == {'preamble': 85, 'msg_type': 149, 'sender': 1219, 'length': 152, 'payload': 'Gw4g2QYAaghmZuZAQDgAAAEAmpmZP83MDEAAACJBALiEQ2ZmpkBmZsZAzcxMQGZmhkDZzIJpgLYrPvhqH9wIiP2/AAAAAJdcJj8AAAA3mkC1QDgmAY3/tvI/3pOIJ0+6OL5Qcsz7wVy/P+03EymxSe8/MUG98AjY9b3/////Q+vxvv///////6G9zcxMPiDZBgBqCGwAbAA=', 'crc': 12712, 'common': {'sid': {'sat': 27, 'code': 14}, 'toe': {'tow': 448800, 'wn': 2154}, 'ura': 7.199999809265137, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'bgd_e1e5a': 1.2000000476837158, 'bgd_e1e5b': 2.200000047683716, 'c_rs': 10.125, 'c_rc': 265.4375, 'c_uc': 5.199999809265137, 'c_us': 6.199999809265137, 'c_ic': 3.200000047683716, 'c_is': 4.199999809265137, 'dn': 3.2262058129932258e-09, 'm0': -1.8457115744155868, 'ecc': 0.00017060607206076384, 'sqrta': 5440.602401733398, 'omega0': 1.16967730598334, 'omegadot': -5.757382675240872e-09, 'w': 0.12250912091662625, 'inc': 0.9777456094977858, 'inc_dot': -3.1787038343451465e-10, 'af0': -1.7088896129280325e-05, 'af1': -8.185452315956353e-12, 'af2': 0.20000000298023224, 'toc': {'tow': 448800, 'wn': 2154}, 'iode': 108, 'iodc': 108} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 149, 'sender': 1219, 'length': 152, 'payload': 'Gw4g2QYAaghmZuZAQDgAAAEAmpmZP83MDEAAACJBALiEQ2ZmpkBmZsZAzcxMQGZmhkDZzIJpgLYrPvhqH9wIiP2/AAAAAJdcJj8AAAA3mkC1QDgmAY3/tvI/3pOIJ0+6OL5Qcsz7wVy/P+03EymxSe8/MUG98AjY9b3/////Q+vxvv///////6G9zcxMPiDZBgBqCGwAbAA=', 'crc': 12712, 'common': {'sid': {'sat': 27, 'code': 14}, 'toe': {'tow': 448800, 'wn': 2154}, 'ura': 7.199999809265137, 'fit_interval': 14400, 'valid': 1, 'health_bits': 0}, 'bgd_e1e5a': 1.2000000476837158, 'bgd_e1e5b': 2.200000047683716, 'c_rs': 10.125, 'c_rc': 265.4375, 'c_uc': 5.199999809265137, 'c_us': 6.199999809265137, 'c_ic': 3.200000047683716, 'c_is': 4.199999809265137, 'dn': 3.2262058129932258e-09, 'm0': -1.8457115744155868, 'ecc': 0.00017060607206076384, 'sqrta': 5440.602401733398, 'omega0': 1.16967730598334, 'omegadot': -5.757382675240872e-09, 'w': 0.12250912091662625, 'inc': 0.9777456094977858, 'inc_dot': -3.1787038343451465e-10, 'af0': -1.7088896129280325e-05, 'af1': -8.185452315956353e-12, 'af2': 0.20000000298023224, 'toc': {'tow': 448800, 'wn': 2154}, 'iode': 108, 'iodc': 108} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbas.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbas.py index 5960a6b353..3d3b5aab12 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbas.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbas.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_sbas_1(): assert dictify(msg.vel) == [-1726.5062255859375, -2542.614990234375, 869.8177490234375] - assert dictify(msg) == {'crc': 37824, 'length': 74, 'msg_type': 140, 'payload': 'FgawzwYAaggAAECxAAAAAAEAAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBM9DXxNfpHsVWdFlEAAB6NQAAejUAgDs2YIslugAAHi0=', 'preamble': 85, 'sender': 1219, 'common': {'sid': {'sat': 22, 'code': 6}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': -2.7939677238464355e-09, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.5062255859375, -2542.614990234375, 869.8177490234375], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} \ No newline at end of file + assert dictify(msg) == {'crc': 37824, 'length': 74, 'msg_type': 140, 'payload': 'FgawzwYAaggAAECxAAAAAAEAAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBM9DXxNfpHsVWdFlEAAB6NQAAejUAgDs2YIslugAAHi0=', 'preamble': 85, 'sender': 1219, 'common': {'sid': {'sat': 22, 'code': 6}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': -2.7939677238464355e-09, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.5062255859375, -2542.614990234375, 869.8177490234375], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepA.py index 18191f6f0b..55bcda3ebb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepA.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_a_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'crc': 46258, 'length': 112, 'msg_type': 130, 'payload': 'FgAGALDPBgBqCAAAAAAAAABAAAAAAAEAAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBAAAAYgb6msAAAADZOt2jwAAAALiKLotAAAAAAABArz4AAAAAAECvPgAAAAAAcMc+AAAAAGyxRL8AAAAAAMCjPQ==', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 6, 'reserved': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} \ No newline at end of file + assert dictify(msg) == {'crc': 46258, 'length': 112, 'msg_type': 130, 'payload': 'FgAGALDPBgBqCAAAAAAAAABAAAAAAAEAAACAQvY5Z8EAAAAiqk4iQQAA8MdUVnXBAAAAYgb6msAAAADZOt2jwAAAALiKLotAAAAAAABArz4AAAAAAECvPgAAAAAAcMc+AAAAAGyxRL8AAAAAAMCjPQ==', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 6, 'reserved': 0}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepB.py index 075cc1de1b..c60508ec48 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgEphemerisSbasDepB.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_sbas_dep_b_1(): assert dictify(msg.vel) == [-1726.506233215332, -2542.6149368286133, 869.8177337646484] - assert dictify(msg) == {'crc': 26769, 'length': 110, 'msg_type': 132, 'payload': 'FgawzwYAaggAAAAAAAAAQAAAAAABAAAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPgAAAABssUS/AAAAAADAoz0=', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 6}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} \ No newline at end of file + assert dictify(msg) == {'crc': 26769, 'length': 110, 'msg_type': 132, 'payload': 'FgawzwYAaggAAAAAAAAAQAAAAAABAAAAgEL2OWfBAAAAIqpOIkEAAPDHVFZ1wQAAAGIG+prAAAAA2Trdo8AAAAC4ii6LQAAAAAAAQK8+AAAAAABArz4AAAAAAHDHPgAAAABssUS/AAAAAADAoz0=', 'preamble': 85, 'sender': 123, 'common': {'sid': {'sat': 22, 'code': 6}, 'toe': {'tow': 446384, 'wn': 2154}, 'ura': 2, 'fit_interval': 0, 'valid': 1, 'health_bits': 0}, 'pos': [-12177330.078125, 599893.06640625, -22373708.49609375], 'vel': [-1726.506233215332, -2542.6149368286133, 869.8177337646484], 'acc': [9.313225746154785e-07, 9.313225746154785e-07, 2.7939677238464355e-06], 'a_gf0': -0.0006315018981695175, 'a_gf1': 8.981260180007666e-12} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGloBiases.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGloBiases.py index d3eb83bec0..3446e994bf 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGloBiases.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGloBiases.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_observation_msg_glo_biases_1(): assert dictify(msg.mask) == 0 - assert dictify(msg) == {'mask': 0, 'l1ca_bias': 0, 'l1p_bias': 0, 'l2ca_bias': 0, 'l2p_bias': 0, 'preamble': 85, 'msg_type': 117, 'sender': 0, 'payload': 'AAAAAAAAAAAA', 'crc': 54093, 'length': 9} \ No newline at end of file + assert dictify(msg) == {'mask': 0, 'l1ca_bias': 0, 'l1p_bias': 0, 'l2ca_bias': 0, 'l2p_bias': 0, 'preamble': 85, 'msg_type': 117, 'sender': 0, 'payload': 'AAAAAAAAAAAA', 'crc': 54093, 'length': 9} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGnssCapb.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGnssCapb.py index 2ffda676b2..6cde63f82a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGnssCapb.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGnssCapb.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_observation_msg_gnss_capb_1(): assert dictify(msg.t_nmct) == {'tow': 446384, 'wn': 2154} - assert dictify(msg) == {'crc': 23203, 'length': 110, 'msg_type': 150, 'payload': 'sM8GAGoIGqtQQAAAAABRrZAuAAAAANGLXWwAAAAA/MzIAM1cHjHwyxUY1F22IAAAAABpIMAbAAAAAChL+nIAAAAAd5N7UQAAAABVWQQCAAAAAOl0iRYAAAAAx23bC92r+FIAAAAA/D7dHAAAAAA=', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 446384, 'wn': 2154}, 'gc': {'gps_active': 1079028506, 'gps_l2c': 781233489, 'gps_l5': 1818069969, 'glo_active': 13159676, 'glo_l2of': 824073421, 'glo_l3': 404081648, 'sbas_active': 548822484, 'sbas_l5': 465576041, 'bds_active': 1929005864, 'bds_d2nav': 1367053175, 'bds_b2': 33839445, 'bds_b2a': 378107113, 'qzss_active': 198929863, 'gal_active': 1392028637, 'gal_e5': 484261628}} \ No newline at end of file + assert dictify(msg) == {'crc': 23203, 'length': 110, 'msg_type': 150, 'payload': 'sM8GAGoIGqtQQAAAAABRrZAuAAAAANGLXWwAAAAA/MzIAM1cHjHwyxUY1F22IAAAAABpIMAbAAAAAChL+nIAAAAAd5N7UQAAAABVWQQCAAAAAOl0iRYAAAAAx23bC92r+FIAAAAA/D7dHAAAAAA=', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 446384, 'wn': 2154}, 'gc': {'gps_active': 1079028506, 'gps_l2c': 781233489, 'gps_l5': 1818069969, 'glo_active': 13159676, 'glo_l2of': 824073421, 'glo_l3': 404081648, 'sbas_active': 548822484, 'sbas_l5': 465576041, 'bds_active': 1929005864, 'bds_d2nav': 1367053175, 'bds_b2': 33839445, 'bds_b2a': 378107113, 'qzss_active': 198929863, 'gal_active': 1392028637, 'gal_e5': 484261628}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelay.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelay.py index f48f343028..29354d9691 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelay.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelay.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_group_delay_1(): assert dictify(msg.valid) == 1 - assert dictify(msg) == {'crc': 51458, 'length': 15, 'msg_type': 148, 'payload': 'sM8GAGoIFgAB/v2l/+0X', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'sid': {'sat': 22, 'code': 0}, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} \ No newline at end of file + assert dictify(msg) == {'crc': 51458, 'length': 15, 'msg_type': 148, 'payload': 'sM8GAGoIFgAB/v2l/+0X', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'sid': {'sat': 22, 'code': 0}, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepA.py index 1594dda435..699f57ea1f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepA.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_group_delay_dep_a_1(): assert dictify(msg.valid) == 1 - assert dictify(msg) == {'crc': 23458, 'length': 14, 'msg_type': 146, 'payload': 'sM8GAGoIFgH+/aX/7Rc=', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'prn': 22, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} \ No newline at end of file + assert dictify(msg) == {'crc': 23458, 'length': 14, 'msg_type': 146, 'payload': 'sM8GAGoIFgH+/aX/7Rc=', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'prn': 22, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepB.py index 8e03c2ddf0..4c51d465d6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgGroupDelayDepB.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_observation_msg_group_delay_dep_b_1(): assert dictify(msg.valid) == 1 - assert dictify(msg) == {'crc': 51933, 'length': 17, 'msg_type': 147, 'payload': 'sM8GAGoIFgAAAAH+/aX/7Rc=', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} \ No newline at end of file + assert dictify(msg) == {'crc': 51933, 'length': 17, 'msg_type': 147, 'payload': 'sM8GAGoIFgAAAAH+/aX/7Rc=', 'preamble': 85, 'sender': 123, 't_op': {'tow': 446384, 'wn': 2154}, 'sid': {'sat': 22, 'code': 0, 'reserved': 0}, 'valid': 1, 'tgd': -514, 'isc_l1ca': -91, 'isc_l2c': 6125} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgIono.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgIono.py index 1ac286b232..1d969bf997 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgIono.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgIono.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_observation_msg_iono_1(): assert dictify(msg.t_nmct) == {'tow': 0, 'wn': 0} - assert dictify(msg) == {'crc': 8037, 'length': 70, 'msg_type': 144, 'payload': 'AAAAAAAAAAAAAAAAND4AAAAAAABQPgAAAAAAAHC+AAAAAAAAcL4AAAAAAADzQAAAAAAAAOhAAAAAAAAA8MAAAAAAAAAUwQ==', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 0, 'wn': 0}, 'a0': 4.6566128730773926e-09, 'a1': 1.4901161193847656e-08, 'a2': -5.960464477539063e-08, 'a3': -5.960464477539063e-08, 'b0': 77824, 'b1': 49152, 'b2': -65536, 'b3': -327680} \ No newline at end of file + assert dictify(msg) == {'crc': 8037, 'length': 70, 'msg_type': 144, 'payload': 'AAAAAAAAAAAAAAAAND4AAAAAAABQPgAAAAAAAHC+AAAAAAAAcL4AAAAAAADzQAAAAAAAAOhAAAAAAAAA8MAAAAAAAAAUwQ==', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 0, 'wn': 0}, 'a0': 4.6566128730773926e-09, 'a1': 1.4901161193847656e-08, 'a2': -5.960464477539063e-08, 'a3': -5.960464477539063e-08, 'b0': 77824, 'b1': 49152, 'b2': -65536, 'b3': -327680} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObs.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObs.py index 2cbd4e2da5..fcde939f30 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObs.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObs.py @@ -64,4 +64,4 @@ def test_auto_check_sbp_observation_msg_obs_2(): assert dictify(msg.obs) == [] - assert dictify(msg) == {'header': {'t': {'tow': 434293400, 'ns_residual': 0, 'wn': 2154}, 'n_obs': 16}, 'obs': [], 'preamble': 85, 'msg_type': 74, 'sender': 61569, 'payload': 'mMriGQAAAABqCBA=', 'crc': 26057, 'length': 11} \ No newline at end of file + assert dictify(msg) == {'header': {'t': {'tow': 434293400, 'ns_residual': 0, 'wn': 2154}, 'n_obs': 16}, 'obs': [], 'preamble': 85, 'msg_type': 74, 'sender': 61569, 'payload': 'mMriGQAAAABqCBA=', 'crc': 26057, 'length': 11} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepB.py index 2251cafe2a..a3ab00a5a7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepB.py @@ -136,4 +136,4 @@ def test_auto_check_sbp_observation_msg_obs_dep_b_5(): assert dictify(msg.obs) == [{'l': {'f': 165, 'i': 117912057}, 'p': 2243649790, 'cn0': 156, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}}, {'l': {'f': 106, 'i': 129900811}, 'p': 2471880049, 'cn0': 143, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}}, {'l': {'f': 159, 'i': 122530275}, 'p': 2331530678, 'cn0': 150, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}}, {'l': {'f': 7, 'i': 119281418}, 'p': 2269714449, 'cn0': 156, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}}, {'l': {'f': 186, 'i': 109692070}, 'p': 2087295852, 'cn0': 170, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}}, {'l': {'f': 236, 'i': 123339597}, 'p': 2347011798, 'cn0': 151, 'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}}] - assert dictify(msg) == {'sender': 55286, 'msg_type': 67, 'header': {'n_obs': 32, 't': {'wn': 1787, 'tow': 2568200}}, 'obs': [{'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}, 'l': {'i': 117912057, 'f': 165}, 'cn0': 156, 'p': 2243649790}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}, 'l': {'i': 129900811, 'f': 106}, 'cn0': 143, 'p': 2471880049}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}, 'l': {'i': 122530275, 'f': 159}, 'cn0': 150, 'p': 2331530678}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}, 'l': {'i': 119281418, 'f': 7}, 'cn0': 156, 'p': 2269714449}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}, 'l': {'i': 109692070, 'f': 186}, 'cn0': 170, 'p': 2087295852}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}, 'l': {'i': 123339597, 'f': 236}, 'cn0': 151, 'p': 2347011798}], 'crc': 30267, 'length': 103, 'preamble': 85, 'payload': 'CDAnAPsGIP5gu4X5MQcHpZwAAMoAAABx5VWTCyG+B2qPAADLAAAAtlX4iuOpTQeflgAA0AAAABEYSYcKFxwHB5wAANQAAABsm2l8psSJBrqqAADZAAAA1o7ki00DWgfslwAA2gAAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 55286, 'msg_type': 67, 'header': {'n_obs': 32, 't': {'wn': 1787, 'tow': 2568200}}, 'obs': [{'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}, 'l': {'i': 117912057, 'f': 165}, 'cn0': 156, 'p': 2243649790}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}, 'l': {'i': 129900811, 'f': 106}, 'cn0': 143, 'p': 2471880049}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}, 'l': {'i': 122530275, 'f': 159}, 'cn0': 150, 'p': 2331530678}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}, 'l': {'i': 119281418, 'f': 7}, 'cn0': 156, 'p': 2269714449}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}, 'l': {'i': 109692070, 'f': 186}, 'cn0': 170, 'p': 2087295852}, {'lock': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}, 'l': {'i': 123339597, 'f': 236}, 'cn0': 151, 'p': 2347011798}], 'crc': 30267, 'length': 103, 'preamble': 85, 'payload': 'CDAnAPsGIP5gu4X5MQcHpZwAAMoAAABx5VWTCyG+B2qPAADLAAAAtlX4iuOpTQeflgAA0AAAABEYSYcKFxwHB5wAANQAAABsm2l8psSJBrqqAADZAAAA1o7ki00DWgfslwAA2gAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepC.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepC.py index 1fa6975ee8..00a18576f3 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepC.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgObsDepC.py @@ -136,4 +136,4 @@ def test_auto_check_sbp_observation_msg_obs_dep_c_5(): assert dictify(msg.obs) == [{'l': {'f': 57, 'i': -565930}, 'p': 1347029036, 'cn0': 158, 'lock': 58853, 'sid': {'code': 0, 'reserved': 0, 'sat': 4}}, {'l': {'f': 221, 'i': -355684}, 'p': 1180755424, 'cn0': 200, 'lock': 7188, 'sid': {'code': 0, 'reserved': 0, 'sat': 6}}, {'l': {'f': 39, 'i': -902563}, 'p': 1295929916, 'cn0': 164, 'lock': 45748, 'sid': {'code': 0, 'reserved': 0, 'sat': 7}}, {'l': {'f': 202, 'i': 861998}, 'p': 1304316382, 'cn0': 181, 'lock': 42217, 'sid': {'code': 0, 'reserved': 0, 'sat': 10}}, {'l': {'f': 249, 'i': 1425266}, 'p': 1258897557, 'cn0': 182, 'lock': 53700, 'sid': {'code': 0, 'reserved': 0, 'sat': 12}}] - assert dictify(msg) == {'sender': 38982, 'msg_type': 73, 'header': {'n_obs': 32, 't': {'wn': 1898, 'tow': 414670800}}, 'obs': [{'lock': 58853, 'sid': {'code': 0, 'reserved': 0, 'sat': 4}, 'l': {'i': -565930, 'f': 57}, 'cn0': 158, 'p': 1347029036}, {'lock': 7188, 'sid': {'code': 0, 'reserved': 0, 'sat': 6}, 'l': {'i': -355684, 'f': 221}, 'cn0': 200, 'p': 1180755424}, {'lock': 45748, 'sid': {'code': 0, 'reserved': 0, 'sat': 7}, 'l': {'i': -902563, 'f': 39}, 'cn0': 164, 'p': 1295929916}, {'lock': 42217, 'sid': {'code': 0, 'reserved': 0, 'sat': 10}, 'l': {'i': 861998, 'f': 202}, 'cn0': 181, 'p': 1304316382}, {'lock': 53700, 'sid': {'code': 0, 'reserved': 0, 'sat': 12}, 'l': {'i': 1425266, 'f': 249}, 'cn0': 182, 'p': 1258897557}], 'crc': 2160, 'length': 87, 'preamble': 85, 'payload': '0F+3GGoHICwISlBWXff/OZ7l5QQAAADg5WBGnJL6/93IFBwGAAAAPFI+TV068v8npLSyBwAAAN5Jvk0uJw0AyrXppAoAAACVQAlLcr8VAPm2xNEMAAAA'} \ No newline at end of file + assert dictify(msg) == {'sender': 38982, 'msg_type': 73, 'header': {'n_obs': 32, 't': {'wn': 1898, 'tow': 414670800}}, 'obs': [{'lock': 58853, 'sid': {'code': 0, 'reserved': 0, 'sat': 4}, 'l': {'i': -565930, 'f': 57}, 'cn0': 158, 'p': 1347029036}, {'lock': 7188, 'sid': {'code': 0, 'reserved': 0, 'sat': 6}, 'l': {'i': -355684, 'f': 221}, 'cn0': 200, 'p': 1180755424}, {'lock': 45748, 'sid': {'code': 0, 'reserved': 0, 'sat': 7}, 'l': {'i': -902563, 'f': 39}, 'cn0': 164, 'p': 1295929916}, {'lock': 42217, 'sid': {'code': 0, 'reserved': 0, 'sat': 10}, 'l': {'i': 861998, 'f': 202}, 'cn0': 181, 'p': 1304316382}, {'lock': 53700, 'sid': {'code': 0, 'reserved': 0, 'sat': 12}, 'l': {'i': 1425266, 'f': 249}, 'cn0': 182, 'p': 1258897557}], 'crc': 2160, 'length': 87, 'preamble': 85, 'payload': '0F+3GGoHICwISlBWXff/OZ7l5QQAAADg5WBGnJL6/93IFBwGAAAAPFI+TV068v8npLSyBwAAAN5Jvk0uJw0AyrXppAoAAACVQAlLcr8VAPm2xNEMAAAA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgOsr.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgOsr.py index beb481796d..83f906f0a0 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgOsr.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgOsr.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_observation_msg_osr_1(): assert dictify(msg.obs) == [{'p': 1156681547, 'l': {'i': 121567974, 'f': 66}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 0}, 'iono_std': 13, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905486, 'l': {'i': 111817196, 'f': 75}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200685, 'l': {'i': 110692129, 'f': 128}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476697, 'l': {'i': 119549583, 'f': 127}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 0}, 'iono_std': 13, 'tropo_std': 5, 'range_std': 5}, {'p': 1017446132, 'l': {'i': 106934294, 'f': 55}, 'lock': 15, 'flags': 3, 'sid': {'sat': 17, 'code': 0}, 'iono_std': 0, 'tropo_std': 2, 'range_std': 2}, {'p': 1046846826, 'l': {'i': 110024343, 'f': 108}, 'lock': 15, 'flags': 3, 'sid': {'sat': 19, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1060957521, 'l': {'i': 111507381, 'f': 206}, 'lock': 15, 'flags': 3, 'sid': {'sat': 28, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1081009286, 'l': {'i': 113614775, 'f': 200}, 'lock': 15, 'flags': 3, 'sid': {'sat': 30, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1156681781, 'l': {'i': 94728270, 'f': 170}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 6}, 'iono_std': 21, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905531, 'l': {'i': 87130275, 'f': 129}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200752, 'l': {'i': 86253605, 'f': 46}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476774, 'l': {'i': 93155512, 'f': 95}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 6}, 'iono_std': 21, 'tropo_std': 5, 'range_std': 5}] - assert dictify(msg) == {'header': {'t': {'tow': 501867000, 'ns_residual': 0, 'wn': 2152}, 'n_obs': 64}, 'obs': [{'p': 1156681547, 'l': {'i': 121567974, 'f': 66}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 0}, 'iono_std': 13, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905486, 'l': {'i': 111817196, 'f': 75}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200685, 'l': {'i': 110692129, 'f': 128}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476697, 'l': {'i': 119549583, 'f': 127}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 0}, 'iono_std': 13, 'tropo_std': 5, 'range_std': 5}, {'p': 1017446132, 'l': {'i': 106934294, 'f': 55}, 'lock': 15, 'flags': 3, 'sid': {'sat': 17, 'code': 0}, 'iono_std': 0, 'tropo_std': 2, 'range_std': 2}, {'p': 1046846826, 'l': {'i': 110024343, 'f': 108}, 'lock': 15, 'flags': 3, 'sid': {'sat': 19, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1060957521, 'l': {'i': 111507381, 'f': 206}, 'lock': 15, 'flags': 3, 'sid': {'sat': 28, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1081009286, 'l': {'i': 113614775, 'f': 200}, 'lock': 15, 'flags': 3, 'sid': {'sat': 30, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1156681781, 'l': {'i': 94728270, 'f': 170}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 6}, 'iono_std': 21, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905531, 'l': {'i': 87130275, 'f': 129}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200752, 'l': {'i': 86253605, 'f': 46}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476774, 'l': {'i': 93155512, 'f': 95}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 6}, 'iono_std': 21, 'tropo_std': 5, 'range_std': 5}], 'preamble': 85, 'msg_type': 1600, 'sender': 0, 'payload': '+OHpHQAAAABoCEBLj/FE5vo+B0IPAwEADQAHAAcAzuhpP+wxqgZLDwMNAA0AAwADAC2Rxj4hB5kGgA8DDgANAAMAAwBZhMxDjy4gB38PAw8ADQAFAAUA9P6kPBawXwY3DwMRAAAAAgACAGqdZT6X1o4GbA8DEwANAAMAAwBR7Tw/tXelBs4PAxwADQADAAMAhuRuQLefxQbIDwMeAA0AAwADADWQ8UROcKUFqg8DAQYVAAcABwD76Gk/o4AxBYEPAw0GFQADAAMAcJHGPiUgJAUuDwMOBhUAAwADAKaEzEO4cI0FXw8DDwYVAAUABQA=', 'crc': 58233, 'length': 239} \ No newline at end of file + assert dictify(msg) == {'header': {'t': {'tow': 501867000, 'ns_residual': 0, 'wn': 2152}, 'n_obs': 64}, 'obs': [{'p': 1156681547, 'l': {'i': 121567974, 'f': 66}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 0}, 'iono_std': 13, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905486, 'l': {'i': 111817196, 'f': 75}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200685, 'l': {'i': 110692129, 'f': 128}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476697, 'l': {'i': 119549583, 'f': 127}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 0}, 'iono_std': 13, 'tropo_std': 5, 'range_std': 5}, {'p': 1017446132, 'l': {'i': 106934294, 'f': 55}, 'lock': 15, 'flags': 3, 'sid': {'sat': 17, 'code': 0}, 'iono_std': 0, 'tropo_std': 2, 'range_std': 2}, {'p': 1046846826, 'l': {'i': 110024343, 'f': 108}, 'lock': 15, 'flags': 3, 'sid': {'sat': 19, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1060957521, 'l': {'i': 111507381, 'f': 206}, 'lock': 15, 'flags': 3, 'sid': {'sat': 28, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1081009286, 'l': {'i': 113614775, 'f': 200}, 'lock': 15, 'flags': 3, 'sid': {'sat': 30, 'code': 0}, 'iono_std': 13, 'tropo_std': 3, 'range_std': 3}, {'p': 1156681781, 'l': {'i': 94728270, 'f': 170}, 'lock': 15, 'flags': 3, 'sid': {'sat': 1, 'code': 6}, 'iono_std': 21, 'tropo_std': 7, 'range_std': 7}, {'p': 1063905531, 'l': {'i': 87130275, 'f': 129}, 'lock': 15, 'flags': 3, 'sid': {'sat': 13, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1053200752, 'l': {'i': 86253605, 'f': 46}, 'lock': 15, 'flags': 3, 'sid': {'sat': 14, 'code': 6}, 'iono_std': 21, 'tropo_std': 3, 'range_std': 3}, {'p': 1137476774, 'l': {'i': 93155512, 'f': 95}, 'lock': 15, 'flags': 3, 'sid': {'sat': 15, 'code': 6}, 'iono_std': 21, 'tropo_std': 5, 'range_std': 5}], 'preamble': 85, 'msg_type': 1600, 'sender': 0, 'payload': '+OHpHQAAAABoCEBLj/FE5vo+B0IPAwEADQAHAAcAzuhpP+wxqgZLDwMNAA0AAwADAC2Rxj4hB5kGgA8DDgANAAMAAwBZhMxDjy4gB38PAw8ADQAFAAUA9P6kPBawXwY3DwMRAAAAAgACAGqdZT6X1o4GbA8DEwANAAMAAwBR7Tw/tXelBs4PAxwADQADAAMAhuRuQLefxQbIDwMeAA0AAwADADWQ8UROcKUFqg8DAQYVAAcABwD76Gk/o4AxBYEPAw0GFQADAAMAcJHGPiUgJAUuDwMOBhUAAwADAKaEzEO4cI0FXw8DDwYVAAUABQA=', 'crc': 58233, 'length': 239} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvAzEl.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvAzEl.py index 3ac493cf3b..92c2e18f81 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvAzEl.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvAzEl.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_observation_msg_sv_az_el_1(): assert dictify(msg.azel) == [{'az': 160, 'el': 12, 'sid': {'code': 0, 'sat': 8}}, {'az': 139, 'el': 66, 'sid': {'code': 0, 'sat': 10}}, {'az': 16, 'el': 1, 'sid': {'code': 0, 'sat': 13}}, {'az': 24, 'el': 25, 'sid': {'code': 0, 'sat': 15}}, {'az': 127, 'el': 18, 'sid': {'code': 0, 'sat': 16}}, {'az': 42, 'el': 53, 'sid': {'code': 0, 'sat': 18}}, {'az': 31, 'el': 16, 'sid': {'code': 0, 'sat': 20}}, {'az': 12, 'el': 67, 'sid': {'code': 0, 'sat': 23}}, {'az': 47, 'el': 10, 'sid': {'code': 0, 'sat': 24}}, {'az': 116, 'el': 8, 'sid': {'code': 0, 'sat': 26}}, {'az': 153, 'el': 43, 'sid': {'code': 0, 'sat': 27}}, {'az': 77, 'el': 10, 'sid': {'code': 0, 'sat': 29}}, {'az': 94, 'el': 26, 'sid': {'code': 0, 'sat': 32}}, {'az': 16, 'el': 58, 'sid': {'code': 3, 'sat': 1}}, {'az': 108, 'el': 53, 'sid': {'code': 3, 'sat': 2}}, {'az': 17, 'el': 13, 'sid': {'code': 3, 'sat': 8}}, {'az': 165, 'el': 40, 'sid': {'code': 3, 'sat': 17}}, {'az': 63, 'el': 35, 'sid': {'code': 3, 'sat': 23}}, {'az': 41, 'el': 73, 'sid': {'code': 3, 'sat': 24}}, {'az': 114, 'el': 26, 'sid': {'code': 12, 'sat': 20}}, {'az': 72, 'el': 54, 'sid': {'code': 12, 'sat': 27}}, {'az': 69, 'el': 3, 'sid': {'code': 12, 'sat': 28}}, {'az': 158, 'el': 14, 'sid': {'code': 12, 'sat': 29}}, {'az': 152, 'el': 68, 'sid': {'code': 12, 'sat': 30}}, {'az': 120, 'el': 82, 'sid': {'code': 12, 'sat': 32}}, {'az': 131, 'el': 6, 'sid': {'code': 14, 'sat': 2}}, {'az': 27, 'el': 44, 'sid': {'code': 14, 'sat': 4}}, {'az': 101, 'el': 21, 'sid': {'code': 14, 'sat': 5}}, {'az': 81, 'el': 65, 'sid': {'code': 14, 'sat': 9}}, {'az': 49, 'el': 56, 'sid': {'code': 14, 'sat': 11}}, {'az': 59, 'el': 6, 'sid': {'code': 14, 'sat': 12}}, {'az': 154, 'el': 4, 'sid': {'code': 14, 'sat': 30}}, {'az': 165, 'el': 62, 'sid': {'code': 14, 'sat': 36}}] - assert dictify(msg) == {'preamble': 85, 'msg_type': 151, 'sender': 31183, 'length': 132, 'payload': 'CACgDAoAi0INABABDwAYGRAAfxISACo1FAAfEBcADEMYAC8KGgB0CBsAmSsdAE0KIABeGgEDEDoCA2w1CAMRDREDpSgXAz8jGAMpSRQMchobDEg2HAxFAx0Mng4eDJhEIAx4UgIOgwYEDhssBQ5lFQkOUUELDjE4DA47Bh4OmgQkDqU+', 'crc': 9384, 'azel': [{'sid': {'sat': 8, 'code': 0}, 'az': 160, 'el': 12}, {'sid': {'sat': 10, 'code': 0}, 'az': 139, 'el': 66}, {'sid': {'sat': 13, 'code': 0}, 'az': 16, 'el': 1}, {'sid': {'sat': 15, 'code': 0}, 'az': 24, 'el': 25}, {'sid': {'sat': 16, 'code': 0}, 'az': 127, 'el': 18}, {'sid': {'sat': 18, 'code': 0}, 'az': 42, 'el': 53}, {'sid': {'sat': 20, 'code': 0}, 'az': 31, 'el': 16}, {'sid': {'sat': 23, 'code': 0}, 'az': 12, 'el': 67}, {'sid': {'sat': 24, 'code': 0}, 'az': 47, 'el': 10}, {'sid': {'sat': 26, 'code': 0}, 'az': 116, 'el': 8}, {'sid': {'sat': 27, 'code': 0}, 'az': 153, 'el': 43}, {'sid': {'sat': 29, 'code': 0}, 'az': 77, 'el': 10}, {'sid': {'sat': 32, 'code': 0}, 'az': 94, 'el': 26}, {'sid': {'sat': 1, 'code': 3}, 'az': 16, 'el': 58}, {'sid': {'sat': 2, 'code': 3}, 'az': 108, 'el': 53}, {'sid': {'sat': 8, 'code': 3}, 'az': 17, 'el': 13}, {'sid': {'sat': 17, 'code': 3}, 'az': 165, 'el': 40}, {'sid': {'sat': 23, 'code': 3}, 'az': 63, 'el': 35}, {'sid': {'sat': 24, 'code': 3}, 'az': 41, 'el': 73}, {'sid': {'sat': 20, 'code': 12}, 'az': 114, 'el': 26}, {'sid': {'sat': 27, 'code': 12}, 'az': 72, 'el': 54}, {'sid': {'sat': 28, 'code': 12}, 'az': 69, 'el': 3}, {'sid': {'sat': 29, 'code': 12}, 'az': 158, 'el': 14}, {'sid': {'sat': 30, 'code': 12}, 'az': 152, 'el': 68}, {'sid': {'sat': 32, 'code': 12}, 'az': 120, 'el': 82}, {'sid': {'sat': 2, 'code': 14}, 'az': 131, 'el': 6}, {'sid': {'sat': 4, 'code': 14}, 'az': 27, 'el': 44}, {'sid': {'sat': 5, 'code': 14}, 'az': 101, 'el': 21}, {'sid': {'sat': 9, 'code': 14}, 'az': 81, 'el': 65}, {'sid': {'sat': 11, 'code': 14}, 'az': 49, 'el': 56}, {'sid': {'sat': 12, 'code': 14}, 'az': 59, 'el': 6}, {'sid': {'sat': 30, 'code': 14}, 'az': 154, 'el': 4}, {'sid': {'sat': 36, 'code': 14}, 'az': 165, 'el': 62}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 151, 'sender': 31183, 'length': 132, 'payload': 'CACgDAoAi0INABABDwAYGRAAfxISACo1FAAfEBcADEMYAC8KGgB0CBsAmSsdAE0KIABeGgEDEDoCA2w1CAMRDREDpSgXAz8jGAMpSRQMchobDEg2HAxFAx0Mng4eDJhEIAx4UgIOgwYEDhssBQ5lFQkOUUELDjE4DA47Bh4OmgQkDqU+', 'crc': 9384, 'azel': [{'sid': {'sat': 8, 'code': 0}, 'az': 160, 'el': 12}, {'sid': {'sat': 10, 'code': 0}, 'az': 139, 'el': 66}, {'sid': {'sat': 13, 'code': 0}, 'az': 16, 'el': 1}, {'sid': {'sat': 15, 'code': 0}, 'az': 24, 'el': 25}, {'sid': {'sat': 16, 'code': 0}, 'az': 127, 'el': 18}, {'sid': {'sat': 18, 'code': 0}, 'az': 42, 'el': 53}, {'sid': {'sat': 20, 'code': 0}, 'az': 31, 'el': 16}, {'sid': {'sat': 23, 'code': 0}, 'az': 12, 'el': 67}, {'sid': {'sat': 24, 'code': 0}, 'az': 47, 'el': 10}, {'sid': {'sat': 26, 'code': 0}, 'az': 116, 'el': 8}, {'sid': {'sat': 27, 'code': 0}, 'az': 153, 'el': 43}, {'sid': {'sat': 29, 'code': 0}, 'az': 77, 'el': 10}, {'sid': {'sat': 32, 'code': 0}, 'az': 94, 'el': 26}, {'sid': {'sat': 1, 'code': 3}, 'az': 16, 'el': 58}, {'sid': {'sat': 2, 'code': 3}, 'az': 108, 'el': 53}, {'sid': {'sat': 8, 'code': 3}, 'az': 17, 'el': 13}, {'sid': {'sat': 17, 'code': 3}, 'az': 165, 'el': 40}, {'sid': {'sat': 23, 'code': 3}, 'az': 63, 'el': 35}, {'sid': {'sat': 24, 'code': 3}, 'az': 41, 'el': 73}, {'sid': {'sat': 20, 'code': 12}, 'az': 114, 'el': 26}, {'sid': {'sat': 27, 'code': 12}, 'az': 72, 'el': 54}, {'sid': {'sat': 28, 'code': 12}, 'az': 69, 'el': 3}, {'sid': {'sat': 29, 'code': 12}, 'az': 158, 'el': 14}, {'sid': {'sat': 30, 'code': 12}, 'az': 152, 'el': 68}, {'sid': {'sat': 32, 'code': 12}, 'az': 120, 'el': 82}, {'sid': {'sat': 2, 'code': 14}, 'az': 131, 'el': 6}, {'sid': {'sat': 4, 'code': 14}, 'az': 27, 'el': 44}, {'sid': {'sat': 5, 'code': 14}, 'az': 101, 'el': 21}, {'sid': {'sat': 9, 'code': 14}, 'az': 81, 'el': 65}, {'sid': {'sat': 11, 'code': 14}, 'az': 49, 'el': 56}, {'sid': {'sat': 12, 'code': 14}, 'az': 59, 'el': 6}, {'sid': {'sat': 30, 'code': 14}, 'az': 154, 'el': 4}, {'sid': {'sat': 36, 'code': 14}, 'az': 165, 'el': 62}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvConfigurationGpsDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvConfigurationGpsDep.py index 878ef4b2c0..2d04707760 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvConfigurationGpsDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_MsgSvConfigurationGpsDep.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_observation_msg_sv_configuration_gps_dep_1(): assert dictify(msg.t_nmct) == {'tow': 0, 'wn': 0} - assert dictify(msg) == {'crc': 10770, 'length': 10, 'msg_type': 145, 'payload': 'AAAAAAAAQrxlpw==', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 0, 'wn': 0}, 'l2c_mask': 2808462402} \ No newline at end of file + assert dictify(msg) == {'crc': 10770, 'length': 10, 'msg_type': 145, 'payload': 'AAAAAAAAQrxlpw==', 'preamble': 85, 'sender': 123, 't_nmct': {'tow': 0, 'wn': 0}, 'l2c_mask': 2808462402} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisDepB.py index daca8bab12..d588868ca8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisDepB.py @@ -460,4 +460,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_dep_b_6(): assert dictify(msg.w) == -0.5237901716088061 - assert dictify(msg) == {'msg_type': 70, 'c_rs': -77.90625, 'toe_wn': 1838, 'prn': 30, 'inc_dot': -5.882387882209502e-10, 'tgd': -1.3504177331924438e-08, 'c_rc': 247.28125, 'ecc': 0.008178644930012524, 'sqrta': 5153.7539920806885, 'payload': 'AAAAAAAATb4AAAAAAHpTwAAAAAAA6W5AAAAAAAA8z74AAAAAABzePgAAAAAAgHg+AAAAAAAAbD4K5reM1uYyPjZWxKT8Cv8/AAAAJPe/gD8AAKAFwSG0QLqKUYFY7wFAXtJ4qmoZQb5n1SCb48Lgv5wvaF1lN+8/xFNk/jM2BL4AAAAAMvI0PwAAAAAAAHK9AAAAAAAAAAAAAAAAgAwZQS4HAAAAAIAMGUEuBwEBHgA=', 'inc': 0.9755122017245301, 'toe_tow': 410400.0, 'c_uc': -3.723427653312683e-06, 'c_us': 7.178634405136108e-06, 'valid': 1, 'm0': 1.9401823459824192, 'toc_tow': 410400.0, 'dn': 4.400897600764146e-09, 'omegadot': -7.962474526167494e-09, 'toc_wn': 1838, 'c_ic': 9.12696123123169e-08, 'c_is': 5.21540641784668e-08, 'preamble': 85, 'sender': 1219, 'healthy': 1, 'iode': 0, 'af1': -1.0231815394945443e-12, 'crc': 8618, 'length': 176, 'w': -0.5237901716088061, 'af0': 0.0003196117468178272, 'omega0': 2.241868028927766, 'af2': 0.0} \ No newline at end of file + assert dictify(msg) == {'msg_type': 70, 'c_rs': -77.90625, 'toe_wn': 1838, 'prn': 30, 'inc_dot': -5.882387882209502e-10, 'tgd': -1.3504177331924438e-08, 'c_rc': 247.28125, 'ecc': 0.008178644930012524, 'sqrta': 5153.7539920806885, 'payload': 'AAAAAAAATb4AAAAAAHpTwAAAAAAA6W5AAAAAAAA8z74AAAAAABzePgAAAAAAgHg+AAAAAAAAbD4K5reM1uYyPjZWxKT8Cv8/AAAAJPe/gD8AAKAFwSG0QLqKUYFY7wFAXtJ4qmoZQb5n1SCb48Lgv5wvaF1lN+8/xFNk/jM2BL4AAAAAMvI0PwAAAAAAAHK9AAAAAAAAAAAAAAAAgAwZQS4HAAAAAIAMGUEuBwEBHgA=', 'inc': 0.9755122017245301, 'toe_tow': 410400.0, 'c_uc': -3.723427653312683e-06, 'c_us': 7.178634405136108e-06, 'valid': 1, 'm0': 1.9401823459824192, 'toc_tow': 410400.0, 'dn': 4.400897600764146e-09, 'omegadot': -7.962474526167494e-09, 'toc_wn': 1838, 'c_ic': 9.12696123123169e-08, 'c_is': 5.21540641784668e-08, 'preamble': 85, 'sender': 1219, 'healthy': 1, 'iode': 0, 'af1': -1.0231815394945443e-12, 'crc': 8618, 'length': 176, 'w': -0.5237901716088061, 'af0': 0.0003196117468178272, 'omega0': 2.241868028927766, 'af2': 0.0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisQzss.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisQzss.py index b0d9766edc..5ae1b1ce0c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisQzss.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgEphemerisQzss.py @@ -82,4 +82,4 @@ def test_auto_check_sbp_observation_msg_ephemeris_qzss_1(): assert dictify(msg.w) == -1.5662079690885238 - assert dictify(msg) == {'common': {'sid': {'sat': 193, 'code': 31}, 'toe': {'tow': 450000, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 14400, 'valid': 0, 'health_bits': 0}, 'tgd': -5.587935447692871e-09, 'c_rs': -457.8125, 'c_rc': -36.90625, 'c_uc': -1.6197562217712402e-05, 'c_us': 8.247792720794678e-06, 'c_ic': -1.1753290891647339e-06, 'c_is': 1.6205012798309326e-07, 'dn': 2.678325848736433e-09, 'm0': 0.30694242158961144, 'ecc': 0.07550019584596157, 'sqrta': 6493.172393798828, 'omega0': -1.1693743795366662, 'omegadot': -2.7936877968817684e-09, 'w': -1.5662079690885238, 'inc': 0.7309715119432375, 'inc_dot': 2.0000833114980698e-11, 'af0': -0.00036908406764268875, 'af1': -4.774847184307873e-12, 'af2': 0.0, 'toc': {'tow': 450000, 'wn': 2154}, 'iode': 49, 'iodc': 817, 'preamble': 85, 'msg_type': 142, 'sender': 61568, 'payload': 'wR/Q3QYAaggAAABAQDgAAAAAAADAsQDo5MMAoBPCAOCHtwBgCjcAwJ21AAAuNKdIa2mzASc+D+Ce0/Gk0z8AAAAY+1OzPwAAACIsXblAjz7O6MG18r/P2EVqYv8nvkGEXxYwD/m/+VJDXh5k5z91p7vpu/21PaCBwbkAAKisAAAAANDdBgBqCDExAw==', 'crc': 6014, 'length': 139} \ No newline at end of file + assert dictify(msg) == {'common': {'sid': {'sat': 193, 'code': 31}, 'toe': {'tow': 450000, 'wn': 2154}, 'ura': 2.0, 'fit_interval': 14400, 'valid': 0, 'health_bits': 0}, 'tgd': -5.587935447692871e-09, 'c_rs': -457.8125, 'c_rc': -36.90625, 'c_uc': -1.6197562217712402e-05, 'c_us': 8.247792720794678e-06, 'c_ic': -1.1753290891647339e-06, 'c_is': 1.6205012798309326e-07, 'dn': 2.678325848736433e-09, 'm0': 0.30694242158961144, 'ecc': 0.07550019584596157, 'sqrta': 6493.172393798828, 'omega0': -1.1693743795366662, 'omegadot': -2.7936877968817684e-09, 'w': -1.5662079690885238, 'inc': 0.7309715119432375, 'inc_dot': 2.0000833114980698e-11, 'af0': -0.00036908406764268875, 'af1': -4.774847184307873e-12, 'af2': 0.0, 'toc': {'tow': 450000, 'wn': 2154}, 'iode': 49, 'iodc': 817, 'preamble': 85, 'msg_type': 142, 'sender': 61568, 'payload': 'wR/Q3QYAaggAAABAQDgAAAAAAADAsQDo5MMAoBPCAOCHtwBgCjcAwJ21AAAuNKdIa2mzASc+D+Ce0/Gk0z8AAAAY+1OzPwAAACIsXblAjz7O6MG18r/P2EVqYv8nvkGEXxYwD/m/+VJDXh5k5z91p7vpu/21PaCBwbkAAKisAAAAANDdBgBqCDExAw==', 'crc': 6014, 'length': 139} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgObsDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgObsDepA.py index 1140ca58ab..52dcea6aea 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgObsDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_observation_msgObsDepA.py @@ -160,4 +160,4 @@ def test_auto_check_sbp_observation_msg_obs_dep_a_6(): assert dictify(msg.obs) == [{'l': {'f': 1, 'i': -27634}, 'p': 2044291972, 'cn0': 44, 'lock': 37807, 'prn': 0}, {'l': {'f': 153, 'i': -123500}, 'p': 2110276225, 'cn0': 41, 'lock': 45326, 'prn': 3}, {'l': {'f': 222, 'i': -114033}, 'p': 2298000000, 'cn0': 18, 'lock': 34232, 'prn': 13}, {'l': {'f': 237, 'i': 138026}, 'p': 2259826078, 'cn0': 30, 'lock': 24609, 'prn': 22}, {'l': {'f': 45, 'i': -36952}, 'p': 1985368870, 'cn0': 56, 'lock': 22736, 'prn': 30}] - assert dictify(msg) == {'sender': 1219, 'msg_type': 69, 'header': {'n_obs': 16, 't': {'wn': 1838, 'tow': 407151400}}, 'obs': [{'p': 2044291972, 'prn': 0, 'l': {'i': -27634, 'f': 1}, 'cn0': 44, 'lock': 37807}, {'p': 2110276225, 'prn': 3, 'l': {'i': -123500, 'f': 153}, 'cn0': 41, 'lock': 45326}, {'p': 2298000000, 'prn': 13, 'l': {'i': -114033, 'f': 222}, 'cn0': 18, 'lock': 34232}, {'p': 2259826078, 'prn': 22, 'l': {'i': 138026, 'f': 237}, 'cn0': 30, 'lock': 24609}, {'p': 1985368870, 'prn': 30, 'l': {'i': -36952, 'f': 45}, 'cn0': 56, 'lock': 22736}], 'crc': 44801, 'length': 72, 'preamble': 85, 'payload': 'KKNEGC4HEIRr2XkOlP//ASyvkwCBQsh9lB3+/5kpDrEDgLL4iI9C/v/eEriFDZ41soYqGwIA7R4hYBYmU1Z2qG///y040Fge'} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 69, 'header': {'n_obs': 16, 't': {'wn': 1838, 'tow': 407151400}}, 'obs': [{'p': 2044291972, 'prn': 0, 'l': {'i': -27634, 'f': 1}, 'cn0': 44, 'lock': 37807}, {'p': 2110276225, 'prn': 3, 'l': {'i': -123500, 'f': 153}, 'cn0': 41, 'lock': 45326}, {'p': 2298000000, 'prn': 13, 'l': {'i': -114033, 'f': 222}, 'cn0': 18, 'lock': 34232}, {'p': 2259826078, 'prn': 22, 'l': {'i': 138026, 'f': 237}, 'cn0': 30, 'lock': 24609}, {'p': 1985368870, 'prn': 30, 'l': {'i': -36952, 'f': 45}, 'cn0': 56, 'lock': 22736}], 'crc': 44801, 'length': 72, 'preamble': 85, 'payload': 'KKNEGC4HEIRr2XkOlP//ASyvkwCBQsh9lB3+/5kpDrEDgLL4iI9C/v/eEriFDZ41soYqGwIA7R4hYBYmU1Z2qG///y040Fge'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgAngularRate.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgAngularRate.py index 3630f046f6..6c19dae59d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgAngularRate.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgAngularRate.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_orientation_msg_angular_rate_1(): assert dictify(msg.z) == 2 - assert dictify(msg) == {'sender': 66, 'msg_type': 546, 'tow': 2, 'crc': 18008, 'length': 17, 'flags': 0, 'y': 5, 'x': 2, 'z': 2, 'preamble': 85, 'payload': 'AgAAAAIAAAAFAAAAAgAAAAA='} \ No newline at end of file + assert dictify(msg) == {'sender': 66, 'msg_type': 546, 'tow': 2, 'crc': 18008, 'length': 17, 'flags': 0, 'y': 5, 'x': 2, 'z': 2, 'preamble': 85, 'payload': 'AgAAAAIAAAAFAAAAAgAAAAA='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgBaselineHeading.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgBaselineHeading.py index d9a8e21d16..b7610943b2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgBaselineHeading.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgBaselineHeading.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_orientation_msg_baseline_heading_1(): assert dictify(msg.tow) == 3289197980 - assert dictify(msg) == {'crc': 65248, 'length': 10, 'msg_type': 527, 'payload': 'nC0NxCxUxT1bWw==', 'preamble': 85, 'sender': 24019, 'tow': 3289197980, 'heading': 1036342316, 'n_sats': 91, 'flags': 91} \ No newline at end of file + assert dictify(msg) == {'crc': 65248, 'length': 10, 'msg_type': 527, 'payload': 'nC0NxCxUxT1bWw==', 'preamble': 85, 'sender': 24019, 'tow': 3289197980, 'heading': 1036342316, 'n_sats': 91, 'flags': 91} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientEuler.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientEuler.py index 6c6929f76c..4f43376d43 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientEuler.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientEuler.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_orientation_msg_orient_euler_1(): assert dictify(msg.yaw_accuracy) == 7.0 - assert dictify(msg) == {'pitch': 2, 'sender': 66, 'msg_type': 545, 'roll': 1, 'yaw': 8, 'tow': 1, 'roll_accuracy': 7, 'crc': 57900, 'length': 29, 'flags': 3, 'pitch_accuracy': 3, 'yaw_accuracy': 7, 'preamble': 85, 'payload': 'AQAAAAEAAAACAAAACAAAAAAA4EAAAEBAAADgQAM='} \ No newline at end of file + assert dictify(msg) == {'pitch': 2, 'sender': 66, 'msg_type': 545, 'roll': 1, 'yaw': 8, 'tow': 1, 'roll_accuracy': 7, 'crc': 57900, 'length': 29, 'flags': 3, 'pitch_accuracy': 3, 'yaw_accuracy': 7, 'preamble': 85, 'payload': 'AQAAAAEAAAACAAAACAAAAAAA4EAAAEBAAADgQAM='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientQuat.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientQuat.py index 2ceeba2736..2f10835ec1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientQuat.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_orientation_MsgOrientQuat.py @@ -56,4 +56,4 @@ def test_auto_check_sbp_orientation_msg_orient_quat_1(): assert dictify(msg.z_accuracy) == 3.0 - assert dictify(msg) == {'sender': 66, 'msg_type': 544, 'tow': 0, 'z_accuracy': 3, 'w_accuracy': 3, 'crc': 1722, 'length': 37, 'flags': 1, 'w': 3, 'y': 8, 'x': 7, 'z': 4, 'preamble': 85, 'payload': 'AAAAAAMAAAAHAAAACAAAAAQAAAAAAEBAAACAQAAAAEEAAEBAAQ==', 'y_accuracy': 8, 'x_accuracy': 4} \ No newline at end of file + assert dictify(msg) == {'sender': 66, 'msg_type': 544, 'tow': 0, 'z_accuracy': 3, 'w_accuracy': 3, 'crc': 1722, 'length': 37, 'flags': 1, 'w': 3, 'y': 8, 'x': 7, 'z': 4, 'preamble': 85, 'payload': 'AAAAAAMAAAAHAAAACAAAAAQAAAAAAEBAAACAQAAAAEEAAEBAAQ==', 'y_accuracy': 8, 'x_accuracy': 4} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgAlmanac.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgAlmanac.py index 94a26a0db3..aaf89180e7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgAlmanac.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgAlmanac.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_almanac_1(): assert msg.sender == 0x8a6c - assert dictify(msg) == {'crc': 44025, 'length': 0, 'msg_type': 105, 'payload': '', 'preamble': 85, 'sender': 35436} \ No newline at end of file + assert dictify(msg) == {'crc': 44025, 'length': 0, 'msg_type': 105, 'payload': '', 'preamble': 85, 'sender': 35436} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCellModemStatus.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCellModemStatus.py index 4f316014f3..ceb3d453bc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCellModemStatus.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCellModemStatus.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_piksi_msg_cell_modem_status_1(): assert dictify(msg.signal_strength) == 103 - assert dictify(msg) == {'preamble': 85, 'msg_type': 190, 'sender': 6931, 'length': 255, 'payload': 'Z80wBkZ78i40QLCaYiuExFn9ofquzG4vJrs/ZrGiMVDCJWs84TRlso72FRFdS6lWENFQ8x7O3M5zL5pb41gLAVWSZL7ozz09ydwfTiI5UjtoQd0AK9IJIHod7QuX3xJRzKzqfwNShakMsMEAGHlVN9bGS+qz1lVecxVJeUsunj9ketUUVdSDMuDa19eVAhOBJ6QFrwY+M05C+HRYWoDisQAvjCF+3W6QYUr6tccbsEG5blwiLINgsiiwBFokB7T09Bdsq8zEPTOz8pxRUxAPhij1/ZZelpDFcQWN6CFl5yZLsvN3AfjaVgdYxZTw4wJBrXqP+5zZQ+/bH+CwgVFQ', 'crc': 58920, 'signal_strength': 103, 'signal_error_rate': 8588.2001953125, 'reserved': [123, 242, 46, 52, 64, 176, 154, 98, 43, 132, 196, 89, 253, 161, 250, 174, 204, 110, 47, 38, 187, 63, 102, 177, 162, 49, 80, 194, 37, 107, 60, 225, 52, 101, 178, 142, 246, 21, 17, 93, 75, 169, 86, 16, 209, 80, 243, 30, 206, 220, 206, 115, 47, 154, 91, 227, 88, 11, 1, 85, 146, 100, 190, 232, 207, 61, 61, 201, 220, 31, 78, 34, 57, 82, 59, 104, 65, 221, 0, 43, 210, 9, 32, 122, 29, 237, 11, 151, 223, 18, 81, 204, 172, 234, 127, 3, 82, 133, 169, 12, 176, 193, 0, 24, 121, 85, 55, 214, 198, 75, 234, 179, 214, 85, 94, 115, 21, 73, 121, 75, 46, 158, 63, 100, 122, 213, 20, 85, 212, 131, 50, 224, 218, 215, 215, 149, 2, 19, 129, 39, 164, 5, 175, 6, 62, 51, 78, 66, 248, 116, 88, 90, 128, 226, 177, 0, 47, 140, 33, 126, 221, 110, 144, 97, 74, 250, 181, 199, 27, 176, 65, 185, 110, 92, 34, 44, 131, 96, 178, 40, 176, 4, 90, 36, 7, 180, 244, 244, 23, 108, 171, 204, 196, 61, 51, 179, 242, 156, 81, 83, 16, 15, 134, 40, 245, 253, 150, 94, 150, 144, 197, 113, 5, 141, 232, 33, 101, 231, 38, 75, 178, 243, 119, 1, 248, 218, 86, 7, 88, 197, 148, 240, 227, 2, 65, 173, 122, 143, 251, 156, 217, 67, 239, 219, 31, 224, 176, 129, 81, 80]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 190, 'sender': 6931, 'length': 255, 'payload': 'Z80wBkZ78i40QLCaYiuExFn9ofquzG4vJrs/ZrGiMVDCJWs84TRlso72FRFdS6lWENFQ8x7O3M5zL5pb41gLAVWSZL7ozz09ydwfTiI5UjtoQd0AK9IJIHod7QuX3xJRzKzqfwNShakMsMEAGHlVN9bGS+qz1lVecxVJeUsunj9ketUUVdSDMuDa19eVAhOBJ6QFrwY+M05C+HRYWoDisQAvjCF+3W6QYUr6tccbsEG5blwiLINgsiiwBFokB7T09Bdsq8zEPTOz8pxRUxAPhij1/ZZelpDFcQWN6CFl5yZLsvN3AfjaVgdYxZTw4wJBrXqP+5zZQ+/bH+CwgVFQ', 'crc': 58920, 'signal_strength': 103, 'signal_error_rate': 8588.2001953125, 'reserved': [123, 242, 46, 52, 64, 176, 154, 98, 43, 132, 196, 89, 253, 161, 250, 174, 204, 110, 47, 38, 187, 63, 102, 177, 162, 49, 80, 194, 37, 107, 60, 225, 52, 101, 178, 142, 246, 21, 17, 93, 75, 169, 86, 16, 209, 80, 243, 30, 206, 220, 206, 115, 47, 154, 91, 227, 88, 11, 1, 85, 146, 100, 190, 232, 207, 61, 61, 201, 220, 31, 78, 34, 57, 82, 59, 104, 65, 221, 0, 43, 210, 9, 32, 122, 29, 237, 11, 151, 223, 18, 81, 204, 172, 234, 127, 3, 82, 133, 169, 12, 176, 193, 0, 24, 121, 85, 55, 214, 198, 75, 234, 179, 214, 85, 94, 115, 21, 73, 121, 75, 46, 158, 63, 100, 122, 213, 20, 85, 212, 131, 50, 224, 218, 215, 215, 149, 2, 19, 129, 39, 164, 5, 175, 6, 62, 51, 78, 66, 248, 116, 88, 90, 128, 226, 177, 0, 47, 140, 33, 126, 221, 110, 144, 97, 74, 250, 181, 199, 27, 176, 65, 185, 110, 92, 34, 44, 131, 96, 178, 40, 176, 4, 90, 36, 7, 180, 244, 244, 23, 108, 171, 204, 196, 61, 51, 179, 242, 156, 81, 83, 16, 15, 134, 40, 245, 253, 150, 94, 150, 144, 197, 113, 5, 141, 232, 33, 101, 231, 38, 75, 178, 243, 119, 1, 248, 218, 86, 7, 88, 197, 148, 240, 227, 2, 65, 173, 122, 143, 251, 156, 217, 67, 239, 219, 31, 224, 176, 129, 81, 80]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandOutput.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandOutput.py index 2f9a436fc1..063729d934 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandOutput.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandOutput.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_command_output_1(): assert dictify(msg.sequence) == 2507449470 - assert dictify(msg) == {'crc': 27915, 'length': 20, 'msg_type': 188, 'payload': 'fqR0lVNvbWUgb3V0cHV0IHRleHQ=', 'preamble': 85, 'sender': 21554, 'sequence': 2507449470, 'line': 'Some output text'} \ No newline at end of file + assert dictify(msg) == {'crc': 27915, 'length': 20, 'msg_type': 188, 'payload': 'fqR0lVNvbWUgb3V0cHV0IHRleHQ=', 'preamble': 85, 'sender': 21554, 'sequence': 2507449470, 'line': 'Some output text'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandReq.py index 616bdbece1..a8606815c1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandReq.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_command_req_1(): assert dictify(msg.sequence) == 1755532595 - assert dictify(msg) == {'crc': 6182, 'length': 31, 'msg_type': 184, 'payload': 'M02jaC9wYXRoL3RvL2NvbW1hbmQgd2l0aCBhcmdzAA==', 'preamble': 85, 'sender': 47274, 'sequence': 1755532595, 'command': '/path/to/command with args\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 6182, 'length': 31, 'msg_type': 184, 'payload': 'M02jaC9wYXRoL3RvL2NvbW1hbmQgd2l0aCBhcmdzAA==', 'preamble': 85, 'sender': 47274, 'sequence': 1755532595, 'command': '/path/to/command with args\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandResp.py index 64ef4c0555..bd2ffd922d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCommandResp.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_command_resp_1(): assert dictify(msg.sequence) == 2692994934 - assert dictify(msg) == {'crc': 61604, 'length': 8, 'msg_type': 185, 'payload': 'dteDoNJulmc=', 'preamble': 85, 'sender': 52793, 'sequence': 2692994934, 'code': 1737912018} \ No newline at end of file + assert dictify(msg) == {'crc': 61604, 'length': 8, 'msg_type': 185, 'payload': 'dteDoNJulmc=', 'preamble': 85, 'sender': 52793, 'sequence': 2692994934, 'code': 1737912018} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwResults.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwResults.py index 0f37fe5af6..f0614c49f6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwResults.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwResults.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_cw_results_1(): assert msg.sender == 0xf663 - assert dictify(msg) == {'crc': 18660, 'length': 0, 'msg_type': 192, 'payload': '', 'preamble': 85, 'sender': 63075} \ No newline at end of file + assert dictify(msg) == {'crc': 18660, 'length': 0, 'msg_type': 192, 'payload': '', 'preamble': 85, 'sender': 63075} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwStart.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwStart.py index 8e3a0443ce..56627a9c5b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwStart.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgCwStart.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_cw_start_1(): assert msg.sender == 0xb31e - assert dictify(msg) == {'crc': 35541, 'length': 0, 'msg_type': 193, 'payload': '', 'preamble': 85, 'sender': 45854} \ No newline at end of file + assert dictify(msg) == {'crc': 35541, 'length': 0, 'msg_type': 193, 'payload': '', 'preamble': 85, 'sender': 45854} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgDeviceMonitor.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgDeviceMonitor.py index 56d615de21..62c90ab2a9 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgDeviceMonitor.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgDeviceMonitor.py @@ -166,4 +166,4 @@ def test_auto_check_sbp_piksi_msg_device_monitor_5(): assert dictify(msg.fe_temperature) == 4776 - assert dictify(msg) == {'cpu_vint': 988, 'sender': 16991, 'msg_type': 181, 'cpu_vaux': 1789, 'fe_temperature': 4776, 'dev_vin': -9999, 'crc': 16369, 'length': 10, 'cpu_temperature': 6123, 'preamble': 85, 'payload': '8djcA/0G6xeoEg=='} \ No newline at end of file + assert dictify(msg) == {'cpu_vint': 988, 'sender': 16991, 'msg_type': 181, 'cpu_vaux': 1789, 'fe_temperature': 4776, 'dev_vin': -9999, 'crc': 16369, 'length': 10, 'cpu_temperature': 6123, 'preamble': 85, 'payload': '8djcA/0G6xeoEg=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgFrontEndGain.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgFrontEndGain.py index 4d777e46fc..2aa21ee2e0 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgFrontEndGain.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgFrontEndGain.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_front_end_gain_1(): assert dictify(msg.rf_gain) == [41, -123, -122, 10, 105, 20, 38, 38] - assert dictify(msg) == {'crc': 34795, 'length': 16, 'msg_type': 191, 'payload': 'KYWGCmkUJib26dhQu9VVAg==', 'preamble': 85, 'sender': 62895, 'rf_gain': [41, -123, -122, 10, 105, 20, 38, 38], 'if_gain': [-10, -23, -40, 80, -69, -43, 85, 2]} \ No newline at end of file + assert dictify(msg) == {'crc': 34795, 'length': 16, 'msg_type': 191, 'payload': 'KYWGCmkUJib26dhQu9VVAg==', 'preamble': 85, 'sender': 62895, 'rf_gain': [41, -123, -122, 10, 105, 20, 38, 38], 'if_gain': [-10, -23, -40, 80, -69, -43, 85, 2]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgIarState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgIarState.py index 971d40e3c0..fcffefe8b7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgIarState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgIarState.py @@ -170,4 +170,4 @@ def test_auto_check_sbp_piksi_msg_iar_state_7(): assert dictify(msg.num_hyps) == 723 - assert dictify(msg) == {'sender': 1219, 'msg_type': 25, 'num_hyps': 723, 'crc': 60845, 'length': 4, 'preamble': 85, 'payload': '0wIAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 25, 'num_hyps': 723, 'crc': 60845, 'length': 4, 'preamble': 85, 'payload': '0wIAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgInitBaseDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgInitBaseDep.py index e5fe3ad3a4..b7bc45de50 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgInitBaseDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgInitBaseDep.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_init_base_dep_1(): assert msg.sender == 0x29b8 - assert dictify(msg) == {'crc': 3398, 'length': 0, 'msg_type': 35, 'payload': '', 'preamble': 85, 'sender': 10680} \ No newline at end of file + assert dictify(msg) == {'crc': 3398, 'length': 0, 'msg_type': 35, 'payload': '', 'preamble': 85, 'sender': 10680} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatellite.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatellite.py index 90a38e0756..34b568db78 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatellite.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatellite.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_mask_satellite_1(): assert dictify(msg.sid) == {'code': 57, 'sat': 87} - assert dictify(msg) == {'crc': 37651, 'length': 3, 'msg_type': 43, 'payload': 't1c5', 'preamble': 85, 'sender': 38829, 'mask': 183, 'sid': {'sat': 87, 'code': 57}} \ No newline at end of file + assert dictify(msg) == {'crc': 37651, 'length': 3, 'msg_type': 43, 'payload': 't1c5', 'preamble': 85, 'sender': 38829, 'mask': 183, 'sid': {'sat': 87, 'code': 57}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatelliteDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatelliteDep.py index f5943bee2f..05f54ae6cb 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatelliteDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgMaskSatelliteDep.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_piksi_msg_mask_satellite_dep_1(): assert dictify(msg.sid) == {'code': 95, 'reserved': 4, 'sat': 39170} - assert dictify(msg) == {'crc': 48157, 'length': 5, 'msg_type': 27, 'payload': 'IQKZXwQ=', 'preamble': 85, 'sender': 34491, 'mask': 33, 'sid': {'sat': 39170, 'code': 95, 'reserved': 4}} \ No newline at end of file + assert dictify(msg) == {'crc': 48157, 'length': 5, 'msg_type': 27, 'payload': 'IQKZXwQ=', 'preamble': 85, 'sender': 34491, 'mask': 33, 'sid': {'sat': 39170, 'code': 95, 'reserved': 4}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkBandwidthUsage.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkBandwidthUsage.py index 8bcd38f7dd..626f0af26f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkBandwidthUsage.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkBandwidthUsage.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_piksi_msg_network_bandwidth_usage_1(): assert dictify(msg.interfaces) == [{'duration': 2159176030, 'interface_name': 'can0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'rx_bytes': 0, 'total_bytes': 0, 'tx_bytes': 0}, {'duration': 2159176030, 'interface_name': 'can1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'rx_bytes': 0, 'total_bytes': 0, 'tx_bytes': 0}, {'duration': 2159176030, 'interface_name': 'eth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'rx_bytes': 4036234989, 'total_bytes': 3411995557, 'tx_bytes': 3670727864}, {'duration': 2159176030, 'interface_name': 'lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'rx_bytes': 0, 'total_bytes': 0, 'tx_bytes': 0}, {'duration': 2159176030, 'interface_name': 'sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'rx_bytes': 0, 'total_bytes': 0, 'tx_bytes': 0}] - assert dictify(msg) == {'preamble': 85, 'msg_type': 189, 'sender': 31183, 'length': 200, 'payload': 'XmmygAAAAAAAAAAAAAAAAAAAAAAAAAAAY2FuMAAAAAAAAAAAAAAAAF5psoAAAAAAAAAAAAAAAAAAAAAAAAAAAGNhbjEAAAAAAAAAAAAAAABeabKAAAAAAKXrXssAAAAA7Q6U8LjcytpldGgwAAAAAAAAAAAAAAAAXmmygAAAAAAAAAAAAAAAAAAAAAAAAAAAbG8AAAAAAAAAAAAAAAAAAF5psoAAAAAAAAAAAAAAAAAAAAAAAAAAAHNpdDAAAAAAAAAAAAAAAAA=', 'crc': 34075, 'interfaces': [{'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'can0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'can1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 3411995557, 'rx_bytes': 4036234989, 'tx_bytes': 3670727864, 'interface_name': 'eth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 189, 'sender': 31183, 'length': 200, 'payload': 'XmmygAAAAAAAAAAAAAAAAAAAAAAAAAAAY2FuMAAAAAAAAAAAAAAAAF5psoAAAAAAAAAAAAAAAAAAAAAAAAAAAGNhbjEAAAAAAAAAAAAAAABeabKAAAAAAKXrXssAAAAA7Q6U8LjcytpldGgwAAAAAAAAAAAAAAAAXmmygAAAAAAAAAAAAAAAAAAAAAAAAAAAbG8AAAAAAAAAAAAAAAAAAF5psoAAAAAAAAAAAAAAAAAAAAAAAAAAAHNpdDAAAAAAAAAAAAAAAAA=', 'crc': 34075, 'interfaces': [{'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'can0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'can1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 3411995557, 'rx_bytes': 4036234989, 'tx_bytes': 3670727864, 'interface_name': 'eth0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'lo\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}, {'duration': 2159176030, 'total_bytes': 0, 'rx_bytes': 0, 'tx_bytes': 0, 'interface_name': 'sit0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateReq.py index 3603d1d4cb..ad188007b4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateReq.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_network_state_req_1(): assert msg.sender == 0x3e53 - assert dictify(msg) == {'crc': 18836, 'length': 0, 'msg_type': 186, 'payload': '', 'preamble': 85, 'sender': 15955} \ No newline at end of file + assert dictify(msg) == {'crc': 18836, 'length': 0, 'msg_type': 186, 'payload': '', 'preamble': 85, 'sender': 15955} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateResp.py index f16ec9a414..4d40155cdf 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgNetworkStateResp.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_piksi_msg_network_state_resp_1(): assert dictify(msg.tx_bytes) == 59251049 - assert dictify(msg) == {'crc': 49526, 'length': 50, 'msg_type': 187, 'payload': 'j/FUtJjCiSAscpNE3lzATus/0HI1txj05xppGYgDaWYwAAAAAAAAAAAAAAAAAMPlUJM=', 'preamble': 85, 'sender': 3880, 'ipv4_address': [143, 241, 84, 180], 'ipv4_mask_size': 152, 'ipv6_address': [194, 137, 32, 44, 114, 147, 68, 222, 92, 192, 78, 235, 63, 208, 114, 53], 'ipv6_mask_size': 183, 'rx_bytes': 451408920, 'tx_bytes': 59251049, 'interface_name': 'if0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'flags': 2471552451} \ No newline at end of file + assert dictify(msg) == {'crc': 49526, 'length': 50, 'msg_type': 187, 'payload': 'j/FUtJjCiSAscpNE3lzATus/0HI1txj05xppGYgDaWYwAAAAAAAAAAAAAAAAAMPlUJM=', 'preamble': 85, 'sender': 3880, 'ipv4_address': [143, 241, 84, 180], 'ipv4_mask_size': 152, 'ipv6_address': [194, 137, 32, 44, 114, 147, 68, 222, 92, 192, 78, 235, 63, 208, 114, 53], 'ipv6_mask_size': 183, 'rx_bytes': 451408920, 'tx_bytes': 59251049, 'interface_name': 'if0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'flags': 2471552451} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgReset.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgReset.py index 1b071b47d4..6fd1717413 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgReset.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgReset.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_piksi_msg_reset_1(): assert dictify(msg.flags) == 334428248 - assert dictify(msg) == {'crc': 53066, 'length': 4, 'msg_type': 182, 'payload': 'WPjuEw==', 'preamble': 85, 'sender': 53823, 'flags': 334428248} \ No newline at end of file + assert dictify(msg) == {'crc': 53066, 'length': 4, 'msg_type': 182, 'payload': 'WPjuEw==', 'preamble': 85, 'sender': 53823, 'flags': 334428248} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetDep.py index e662b3cd2e..6415748e49 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetDep.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_reset_dep_1(): assert msg.sender == 0x0b40 - assert dictify(msg) == {'crc': 44010, 'length': 0, 'msg_type': 178, 'payload': '', 'preamble': 85, 'sender': 2880} \ No newline at end of file + assert dictify(msg) == {'crc': 44010, 'length': 0, 'msg_type': 178, 'payload': '', 'preamble': 85, 'sender': 2880} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetFilters.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetFilters.py index 3989038ed9..b025aeccdc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetFilters.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgResetFilters.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_piksi_msg_reset_filters_1(): assert dictify(msg.filter) == 100 - assert dictify(msg) == {'crc': 11650, 'length': 1, 'msg_type': 34, 'payload': 'ZA==', 'preamble': 85, 'sender': 51281, 'filter': 100} \ No newline at end of file + assert dictify(msg) == {'crc': 11650, 'length': 1, 'msg_type': 34, 'payload': 'ZA==', 'preamble': 85, 'sender': 51281, 'filter': 100} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSetTime.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSetTime.py index 9d59d8932e..896527fd6e 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSetTime.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSetTime.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_piksi_msg_set_time_1(): assert msg.sender == 0xaa15 - assert dictify(msg) == {'crc': 16855, 'length': 0, 'msg_type': 104, 'payload': '', 'preamble': 85, 'sender': 43541} \ No newline at end of file + assert dictify(msg) == {'crc': 16855, 'length': 0, 'msg_type': 104, 'payload': '', 'preamble': 85, 'sender': 43541} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecan.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecan.py index e44ba7a5c1..960d22d113 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecan.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecan.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_piksi_msg_specan_1(): assert dictify(msg.t) == {'ns_residual': -1479025396, 'tow': 1227027783, 'wn': 5075} - assert dictify(msg) == {'preamble': 85, 'msg_type': 81, 'sender': 54300, 'length': 255, 'payload': 'SolH9SJJDN3Xp9MTmsnxRc2IAEYzQ2xFZiamRGSzuRGvMcHk5C8hGI2xEmP2eT0oW5Hfp64JdAv3VDGZzQLmwtrxZWstiV1y5ivgF0rRx9OCWdyjRBT9B84ygXTCFx/i2Z3N3QXgXFJt38PppQFSjZ2xqfSDYG1v/ZUc4eFInp7SxM5GP+G4lq7wLZI7UsIEs5RC/nNNHi4EzCXIeRIRq2ajrzJCZUUN36yg6dxl7Zw+dS+PXocWm3FuD/ON4y6P49H5Apmog/mgWCZ1gTkobdGxJi8MDxAJr0VGtu91hwZHY+ZzAkel5HvSqFp8FAfckKhFFkiiRW9b+0jcHHeW', 'crc': 607, 'channel_tag': 35146, 't': {'tow': 1227027783, 'ns_residual': -1479025396, 'wn': 5075}, 'freq_ref': 7737.2001953125, 'freq_step': 8226.2001953125, 'amplitude_ref': 3780.199951171875, 'amplitude_unit': 1329.199951171875, 'amplitude_value': [100, 179, 185, 17, 175, 49, 193, 228, 228, 47, 33, 24, 141, 177, 18, 99, 246, 121, 61, 40, 91, 145, 223, 167, 174, 9, 116, 11, 247, 84, 49, 153, 205, 2, 230, 194, 218, 241, 101, 107, 45, 137, 93, 114, 230, 43, 224, 23, 74, 209, 199, 211, 130, 89, 220, 163, 68, 20, 253, 7, 206, 50, 129, 116, 194, 23, 31, 226, 217, 157, 205, 221, 5, 224, 92, 82, 109, 223, 195, 233, 165, 1, 82, 141, 157, 177, 169, 244, 131, 96, 109, 111, 253, 149, 28, 225, 225, 72, 158, 158, 210, 196, 206, 70, 63, 225, 184, 150, 174, 240, 45, 146, 59, 82, 194, 4, 179, 148, 66, 254, 115, 77, 30, 46, 4, 204, 37, 200, 121, 18, 17, 171, 102, 163, 175, 50, 66, 101, 69, 13, 223, 172, 160, 233, 220, 101, 237, 156, 62, 117, 47, 143, 94, 135, 22, 155, 113, 110, 15, 243, 141, 227, 46, 143, 227, 209, 249, 2, 153, 168, 131, 249, 160, 88, 38, 117, 129, 57, 40, 109, 209, 177, 38, 47, 12, 15, 16, 9, 175, 69, 70, 182, 239, 117, 135, 6, 71, 99, 230, 115, 2, 71, 165, 228, 123, 210, 168, 90, 124, 20, 7, 220, 144, 168, 69, 22, 72, 162, 69, 111, 91, 251, 72, 220, 28, 119, 150]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 81, 'sender': 54300, 'length': 255, 'payload': 'SolH9SJJDN3Xp9MTmsnxRc2IAEYzQ2xFZiamRGSzuRGvMcHk5C8hGI2xEmP2eT0oW5Hfp64JdAv3VDGZzQLmwtrxZWstiV1y5ivgF0rRx9OCWdyjRBT9B84ygXTCFx/i2Z3N3QXgXFJt38PppQFSjZ2xqfSDYG1v/ZUc4eFInp7SxM5GP+G4lq7wLZI7UsIEs5RC/nNNHi4EzCXIeRIRq2ajrzJCZUUN36yg6dxl7Zw+dS+PXocWm3FuD/ON4y6P49H5Apmog/mgWCZ1gTkobdGxJi8MDxAJr0VGtu91hwZHY+ZzAkel5HvSqFp8FAfckKhFFkiiRW9b+0jcHHeW', 'crc': 607, 'channel_tag': 35146, 't': {'tow': 1227027783, 'ns_residual': -1479025396, 'wn': 5075}, 'freq_ref': 7737.2001953125, 'freq_step': 8226.2001953125, 'amplitude_ref': 3780.199951171875, 'amplitude_unit': 1329.199951171875, 'amplitude_value': [100, 179, 185, 17, 175, 49, 193, 228, 228, 47, 33, 24, 141, 177, 18, 99, 246, 121, 61, 40, 91, 145, 223, 167, 174, 9, 116, 11, 247, 84, 49, 153, 205, 2, 230, 194, 218, 241, 101, 107, 45, 137, 93, 114, 230, 43, 224, 23, 74, 209, 199, 211, 130, 89, 220, 163, 68, 20, 253, 7, 206, 50, 129, 116, 194, 23, 31, 226, 217, 157, 205, 221, 5, 224, 92, 82, 109, 223, 195, 233, 165, 1, 82, 141, 157, 177, 169, 244, 131, 96, 109, 111, 253, 149, 28, 225, 225, 72, 158, 158, 210, 196, 206, 70, 63, 225, 184, 150, 174, 240, 45, 146, 59, 82, 194, 4, 179, 148, 66, 254, 115, 77, 30, 46, 4, 204, 37, 200, 121, 18, 17, 171, 102, 163, 175, 50, 66, 101, 69, 13, 223, 172, 160, 233, 220, 101, 237, 156, 62, 117, 47, 143, 94, 135, 22, 155, 113, 110, 15, 243, 141, 227, 46, 143, 227, 209, 249, 2, 153, 168, 131, 249, 160, 88, 38, 117, 129, 57, 40, 109, 209, 177, 38, 47, 12, 15, 16, 9, 175, 69, 70, 182, 239, 117, 135, 6, 71, 99, 230, 115, 2, 71, 165, 228, 123, 210, 168, 90, 124, 20, 7, 220, 144, 168, 69, 22, 72, 162, 69, 111, 91, 251, 72, 220, 28, 119, 150]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecanDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecanDep.py index a88431dae0..2389234e3c 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecanDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgSpecanDep.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_piksi_msg_specan_dep_1(): assert dictify(msg.t) == {'tow': 992295133, 'wn': 6957} - assert dictify(msg) == {'preamble': 85, 'msg_type': 80, 'sender': 55664, 'length': 255, 'payload': '9hbdOCU7LRuaYcZFmgGQRc0UEkYz01lF8A6zuuP0rfC2R6Z1xA0sGyEcQ/4D+VwseqlNukSHP6iiWSS6Yz9pdNgsQ9ScS1E1+uEXzRoidzJlQAfnfLfLZupUU9AXRDazYmB09PZeaF4NONISvxaFUZmfods7FaR5kcurhDm0ZmUL5a+RSUh8BLjkPeraPuLZwQdtLFPJFGUJjLqiUVse56FR2HI856OjMe30ufBZj66l0/ENED2NZVkldb1WdrDkDA53h4HzMh3PxnVk4QaLbifSRMcrhEARM621DIwQ91S3aSedTR7NwjtA8bfuabWqLQimpO5TlK1s5ENZvUMa', 'crc': 55335, 'channel_tag': 5878, 't': {'tow': 992295133, 'wn': 6957}, 'freq_ref': 6348.2001953125, 'freq_step': 4608.2001953125, 'amplitude_ref': 9349.2001953125, 'amplitude_unit': 3485.199951171875, 'amplitude_value': [240, 14, 179, 186, 227, 244, 173, 240, 182, 71, 166, 117, 196, 13, 44, 27, 33, 28, 67, 254, 3, 249, 92, 44, 122, 169, 77, 186, 68, 135, 63, 168, 162, 89, 36, 186, 99, 63, 105, 116, 216, 44, 67, 212, 156, 75, 81, 53, 250, 225, 23, 205, 26, 34, 119, 50, 101, 64, 7, 231, 124, 183, 203, 102, 234, 84, 83, 208, 23, 68, 54, 179, 98, 96, 116, 244, 246, 94, 104, 94, 13, 56, 210, 18, 191, 22, 133, 81, 153, 159, 161, 219, 59, 21, 164, 121, 145, 203, 171, 132, 57, 180, 102, 101, 11, 229, 175, 145, 73, 72, 124, 4, 184, 228, 61, 234, 218, 62, 226, 217, 193, 7, 109, 44, 83, 201, 20, 101, 9, 140, 186, 162, 81, 91, 30, 231, 161, 81, 216, 114, 60, 231, 163, 163, 49, 237, 244, 185, 240, 89, 143, 174, 165, 211, 241, 13, 16, 61, 141, 101, 89, 37, 117, 189, 86, 118, 176, 228, 12, 14, 119, 135, 129, 243, 50, 29, 207, 198, 117, 100, 225, 6, 139, 110, 39, 210, 68, 199, 43, 132, 64, 17, 51, 173, 181, 12, 140, 16, 247, 84, 183, 105, 39, 157, 77, 30, 205, 194, 59, 64, 241, 183, 238, 105, 181, 170, 45, 8, 166, 164, 238, 83, 148, 173, 108, 228, 67, 89, 189, 67, 26]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 80, 'sender': 55664, 'length': 255, 'payload': '9hbdOCU7LRuaYcZFmgGQRc0UEkYz01lF8A6zuuP0rfC2R6Z1xA0sGyEcQ/4D+VwseqlNukSHP6iiWSS6Yz9pdNgsQ9ScS1E1+uEXzRoidzJlQAfnfLfLZupUU9AXRDazYmB09PZeaF4NONISvxaFUZmfods7FaR5kcurhDm0ZmUL5a+RSUh8BLjkPeraPuLZwQdtLFPJFGUJjLqiUVse56FR2HI856OjMe30ufBZj66l0/ENED2NZVkldb1WdrDkDA53h4HzMh3PxnVk4QaLbifSRMcrhEARM621DIwQ91S3aSedTR7NwjtA8bfuabWqLQimpO5TlK1s5ENZvUMa', 'crc': 55335, 'channel_tag': 5878, 't': {'tow': 992295133, 'wn': 6957}, 'freq_ref': 6348.2001953125, 'freq_step': 4608.2001953125, 'amplitude_ref': 9349.2001953125, 'amplitude_unit': 3485.199951171875, 'amplitude_value': [240, 14, 179, 186, 227, 244, 173, 240, 182, 71, 166, 117, 196, 13, 44, 27, 33, 28, 67, 254, 3, 249, 92, 44, 122, 169, 77, 186, 68, 135, 63, 168, 162, 89, 36, 186, 99, 63, 105, 116, 216, 44, 67, 212, 156, 75, 81, 53, 250, 225, 23, 205, 26, 34, 119, 50, 101, 64, 7, 231, 124, 183, 203, 102, 234, 84, 83, 208, 23, 68, 54, 179, 98, 96, 116, 244, 246, 94, 104, 94, 13, 56, 210, 18, 191, 22, 133, 81, 153, 159, 161, 219, 59, 21, 164, 121, 145, 203, 171, 132, 57, 180, 102, 101, 11, 229, 175, 145, 73, 72, 124, 4, 184, 228, 61, 234, 218, 62, 226, 217, 193, 7, 109, 44, 83, 201, 20, 101, 9, 140, 186, 162, 81, 91, 30, 231, 161, 81, 216, 114, 60, 231, 163, 163, 49, 237, 244, 185, 240, 89, 143, 174, 165, 211, 241, 13, 16, 61, 141, 101, 89, 37, 117, 189, 86, 118, 176, 228, 12, 14, 119, 135, 129, 243, 50, 29, 207, 198, 117, 100, 225, 6, 139, 110, 39, 210, 68, 199, 43, 132, 64, 17, 51, 173, 181, 12, 140, 16, 247, 84, 183, 105, 39, 157, 77, 30, 205, 194, 59, 64, 241, 183, 238, 105, 181, 170, 45, 8, 166, 164, 238, 83, 148, 173, 108, 228, 67, 89, 189, 67, 26]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgThreadState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgThreadState.py index f5e9ab147e..bef7380ee8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgThreadState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgThreadState.py @@ -302,4 +302,4 @@ def test_auto_check_sbp_piksi_msg_thread_state_11(): assert dictify(msg.stack_free) == 2332 - assert dictify(msg) == {'sender': 1219, 'msg_type': 23, 'cpu': 0, 'crc': 13946, 'length': 26, 'stack_free': 2332, 'preamble': 85, 'payload': 'bWFuYWdlIHRyYWNrAAAAAAAAAAAAABwJAAA=', 'name': 'manage track\x00\x00\x00\x00\x00\x00\x00\x00'} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 23, 'cpu': 0, 'crc': 13946, 'length': 26, 'stack_free': 2332, 'preamble': 85, 'payload': 'bWFuYWdlIHRyYWNrAAAAAAAAAAAAABwJAAA=', 'name': 'manage track\x00\x00\x00\x00\x00\x00\x00\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartState.py index af8e0843e6..1803520626 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartState.py @@ -102,4 +102,4 @@ def test_auto_check_sbp_piksi_msg_uart_state_3(): assert dictify(msg.uart_ftdi) == {'crc_error_count': 0, 'io_error_count': 0, 'rx_buffer_level': 1, 'rx_throughput': 0.35211268067359924, 'tx_buffer_level': 85, 'tx_throughput': 6.7901411056518555} - assert dictify(msg) == {'latency': {'current': -1, 'lmax': 0, 'avg': -1, 'lmin': 0}, 'sender': 55286, 'msg_type': 24, 'crc': 63641, 'length': 58, 'uart_b': {'rx_buffer_level': 0, 'tx_buffer_level': 40, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 2.995774745941162}, 'uart_a': {'rx_buffer_level': 0, 'tx_buffer_level': 24, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.8746479153633118}, 'preamble': 85, 'payload': '7ehfPwAAAAAAAAAAGADGuj9AAAAAAAAAAAAoANZI2UAdSLQ+AAAAAFUB/////wAAAAAAAAAA/////w==', 'uart_ftdi': {'rx_buffer_level': 1, 'tx_buffer_level': 85, 'rx_throughput': 0.35211268067359924, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 6.7901411056518555}} \ No newline at end of file + assert dictify(msg) == {'latency': {'current': -1, 'lmax': 0, 'avg': -1, 'lmin': 0}, 'sender': 55286, 'msg_type': 24, 'crc': 63641, 'length': 58, 'uart_b': {'rx_buffer_level': 0, 'tx_buffer_level': 40, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 2.995774745941162}, 'uart_a': {'rx_buffer_level': 0, 'tx_buffer_level': 24, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.8746479153633118}, 'preamble': 85, 'payload': '7ehfPwAAAAAAAAAAGADGuj9AAAAAAAAAAAAoANZI2UAdSLQ+AAAAAFUB/////wAAAAAAAAAA/////w==', 'uart_ftdi': {'rx_buffer_level': 1, 'tx_buffer_level': 85, 'rx_throughput': 0.35211268067359924, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 6.7901411056518555}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartStateDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartStateDepA.py index 4c2351dcb2..ab7a91b1c6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartStateDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_piksi_MsgUartStateDepA.py @@ -184,4 +184,4 @@ def test_auto_check_sbp_piksi_msg_uart_state_dep_a_6(): assert dictify(msg.uart_ftdi) == {'crc_error_count': 0, 'io_error_count': 0, 'rx_buffer_level': 0, 'rx_throughput': 0.0, 'tx_buffer_level': 50, 'tx_throughput': 1.315000057220459} - assert dictify(msg) == {'latency': {'current': -1, 'lmax': 0, 'avg': -1, 'lmin': 0}, 'sender': 1219, 'msg_type': 24, 'crc': 18454, 'length': 58, 'uart_b': {'rx_buffer_level': 0, 'tx_buffer_level': 2, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.012000000104308128}, 'uart_a': {'rx_buffer_level': 0, 'tx_buffer_level': 2, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.012000000104308128}, 'preamble': 85, 'payload': 'pptEPAAAAAAAAAAAAgCmm0Q8AAAAAAAAAAACAOxRqD8AAAAAAAAAADIA/////wAAAAAAAAAA/////w==', 'uart_ftdi': {'rx_buffer_level': 0, 'tx_buffer_level': 50, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 1.315000057220459}} \ No newline at end of file + assert dictify(msg) == {'latency': {'current': -1, 'lmax': 0, 'avg': -1, 'lmin': 0}, 'sender': 1219, 'msg_type': 24, 'crc': 18454, 'length': 58, 'uart_b': {'rx_buffer_level': 0, 'tx_buffer_level': 2, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.012000000104308128}, 'uart_a': {'rx_buffer_level': 0, 'tx_buffer_level': 2, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 0.012000000104308128}, 'preamble': 85, 'payload': 'pptEPAAAAAAAAAAAAgCmm0Q8AAAAAAAAAAACAOxRqD8AAAAAAAAAADIA/////wAAAAAAAAAA/////w==', 'uart_ftdi': {'rx_buffer_level': 0, 'tx_buffer_level': 50, 'rx_throughput': 0.0, 'crc_error_count': 0, 'io_error_count': 0, 'tx_throughput': 1.315000057220459}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgMeasurementPoint.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgMeasurementPoint.py index 5f2629d516..bf9baed51e 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgMeasurementPoint.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgMeasurementPoint.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_profiling_msg_measurement_point_1(): assert dictify(msg.total_time) == 2042 - assert dictify(msg) == {'crc': 42452, 'preamble': 85, 'sender': 4096, 'length': 48, 'msg_type': 52992, 'total_time': 2042, 'num_executions': 180, 'min': 2, 'max': 40, 'return_addr': 93877475527042, 'id': 2496234002, 'slice_time': 261963842, 'line': 18, 'func': 'route()\x00', 'payload': '+gcAALQAAgAAACgAAACCyZSNYVUAABKCyZQAAAAAQkCdDwAAAAASAHJvdXRlKCkA'} \ No newline at end of file + assert dictify(msg) == {'crc': 42452, 'preamble': 85, 'sender': 4096, 'length': 48, 'msg_type': 52992, 'total_time': 2042, 'num_executions': 180, 'min': 2, 'max': 40, 'return_addr': 93877475527042, 'id': 2496234002, 'slice_time': 261963842, 'line': 18, 'func': 'route()\x00', 'payload': '+gcAALQAAgAAACgAAACCyZSNYVUAABKCyZQAAAAAQkCdDwAAAAASAHJvdXRlKCkA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingResourceCounter.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingResourceCounter.py index 86ad15ec38..109adfcca1 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingResourceCounter.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingResourceCounter.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_profiling_msg_profiling_resource_counter_1(): assert dictify(msg.seq_no) == 1 - assert dictify(msg) == {'crc': 39349, 'preamble': 85, 'sender': 4096, 'length': 248, 'msg_type': 52995, 'seq_no': 1, 'seq_len': 3, 'buckets': [{'name': 'Fusion engine\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 2, 'cv': 2, 'io': 0, 'heap_bytes_alloc': 927480, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'NTRIP client\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 1, 'heap_bytes_alloc': 84454, 'heap_bytes_free': 0, 'io_write': 879, 'io_read': 19520}, {'name': 'SSR2OSR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 0, 'heap_bytes_alloc': 4328776, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'Periodic\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 2, 'cv': 1, 'io': 0, 'heap_bytes_alloc': 247112, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'IMU\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 1, 'heap_bytes_alloc': 18305, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 26207}, {'name': 'sbp\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 5, 'mutex': 2, 'cv': 2, 'io': 2, 'heap_bytes_alloc': 43507, 'heap_bytes_free': 0, 'io_write': 235451, 'io_read': 498}], 'payload': 'AQNGdXNpb24gZW5naW5lAAAAAAAAAAABAgIA+CYOAAAAAAAAAAAAAAAAAE5UUklQIGNsaWVudAAAAAAAAAAAAAEBAQHmSQEAAAAAAG8DAABATAAAU1NSMk9TUgAAAAAAAAAAAAAAAAAAAQEBAEgNQgAAAAAAAAAAAAAAAABQZXJpb2RpYwAAAAAAAAAAAAAAAAABAgEASMUDAAAAAAAAAAAAAAAAAElNVQAAAAAAAAAAAAAAAAAAAAAAAAEBAQGBRwAAAAAAAAAAAABfZgAAc2JwAAAAAAAAAAAAAAAAAAAAAAAABQICAvOpAAAAAAAAu5cDAPIBAAA='} \ No newline at end of file + assert dictify(msg) == {'crc': 39349, 'preamble': 85, 'sender': 4096, 'length': 248, 'msg_type': 52995, 'seq_no': 1, 'seq_len': 3, 'buckets': [{'name': 'Fusion engine\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 2, 'cv': 2, 'io': 0, 'heap_bytes_alloc': 927480, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'NTRIP client\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 1, 'heap_bytes_alloc': 84454, 'heap_bytes_free': 0, 'io_write': 879, 'io_read': 19520}, {'name': 'SSR2OSR\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 0, 'heap_bytes_alloc': 4328776, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'Periodic\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 2, 'cv': 1, 'io': 0, 'heap_bytes_alloc': 247112, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 0}, {'name': 'IMU\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 1, 'mutex': 1, 'cv': 1, 'io': 1, 'heap_bytes_alloc': 18305, 'heap_bytes_free': 0, 'io_write': 0, 'io_read': 26207}, {'name': 'sbp\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 'thread': 5, 'mutex': 2, 'cv': 2, 'io': 2, 'heap_bytes_alloc': 43507, 'heap_bytes_free': 0, 'io_write': 235451, 'io_read': 498}], 'payload': 'AQNGdXNpb24gZW5naW5lAAAAAAAAAAABAgIA+CYOAAAAAAAAAAAAAAAAAE5UUklQIGNsaWVudAAAAAAAAAAAAAEBAQHmSQEAAAAAAG8DAABATAAAU1NSMk9TUgAAAAAAAAAAAAAAAAAAAQEBAEgNQgAAAAAAAAAAAAAAAABQZXJpb2RpYwAAAAAAAAAAAAAAAAABAgEASMUDAAAAAAAAAAAAAAAAAElNVQAAAAAAAAAAAAAAAAAAAAAAAAEBAQGBRwAAAAAAAAAAAABfZgAAc2JwAAAAAAAAAAAAAAAAAAAAAAAABQICAvOpAAAAAAAAu5cDAPIBAAA='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingSystemInfo.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingSystemInfo.py index 368ced4ff9..6c80ad4cc4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingSystemInfo.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingSystemInfo.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_profiling_msg_profiling_system_info_1(): assert dictify(msg.total_cpu_time) == 3418210 - assert dictify(msg) == {'crc': 16892, 'preamble': 85, 'sender': 4096, 'length': 21, 'msg_type': 52993, 'total_cpu_time': 3418210, 'age': 10292338, 'n_threads': 27, 'heap_usage': 14861128, 'payload': 'Yig0AAAAAAByDJ0AAAAAABtIw+IA'} \ No newline at end of file + assert dictify(msg) == {'crc': 16892, 'preamble': 85, 'sender': 4096, 'length': 21, 'msg_type': 52993, 'total_cpu_time': 3418210, 'age': 10292338, 'n_threads': 27, 'heap_usage': 14861128, 'payload': 'Yig0AAAAAAByDJ0AAAAAABtIw+IA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingThreadInfo.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingThreadInfo.py index 0daf6c0337..3b4776d9c4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingThreadInfo.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_profiling_MsgProfilingThreadInfo.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_profiling_msg_profiling_thread_info_1(): assert dictify(msg.total_cpu_time) == 678775 - assert dictify(msg) == {'crc': 43762, 'preamble': 85, 'sender': 4096, 'length': 39, 'msg_type': 52994, 'total_cpu_time': 678775, 'age': 10159470, 'state': 1, 'stack_size': 8388608, 'stack_usage': 275920, 'name': 'Fusion engine\x00', 'payload': 'd1sKAAAAAABuBZsAAAAAAAEAAIAA0DUEAEZ1c2lvbiBlbmdpbmUA'} \ No newline at end of file + assert dictify(msg) == {'crc': 43762, 'preamble': 85, 'sender': 4096, 'length': 39, 'msg_type': 52994, 'total_cpu_time': 678775, 'age': 10159470, 'state': 1, 'stack_size': 8388608, 'stack_usage': 275920, 'name': 'Fusion engine\x00', 'payload': 'd1sKAAAAAABuBZsAAAAAAAEAAIAA0DUEAEZ1c2lvbiBlbmdpbmUA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_sbas_MsgSbasRaw.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_sbas_MsgSbasRaw.py index 4d7e32a279..c1105a97dc 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_sbas_MsgSbasRaw.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_sbas_MsgSbasRaw.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_sbas_msg_sbas_raw_1(): assert dictify(msg.tow) == 501867721 - assert dictify(msg) == {'sid': {'sat': 131, 'code': 2}, 'tow': 501867721, 'message_type': 4, 'data': [23, 255, 0, 23, 255, 0, 23, 255, 127, 240, 2, 255, 192, 3, 127, 247, 255, 127, 247, 255, 229, 229, 238, 170, 175, 255, 240], 'preamble': 85, 'msg_type': 30583, 'sender': 51228, 'payload': 'gwLJ5OkdBBf/ABf/ABf/f/AC/8ADf/f/f/f/5eXuqq//8A==', 'crc': 3751, 'length': 34} \ No newline at end of file + assert dictify(msg) == {'sid': {'sat': 131, 'code': 2}, 'tow': 501867721, 'message_type': 4, 'data': [23, 255, 0, 23, 255, 0, 23, 255, 127, 240, 2, 255, 192, 3, 127, 247, 255, 127, 247, 255, 229, 229, 238, 170, 175, 255, 240], 'preamble': 85, 'msg_type': 30583, 'sender': 51228, 'payload': 'gwLJ5OkdBBf/ABf/ABf/f/AC/8ADf/f/f/f/5eXuqq//8A==', 'crc': 3751, 'length': 34} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexDone.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexDone.py index 52e5d21145..b84a72313f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexDone.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexDone.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_settings_msg_settings_read_by_index_done_1(): assert msg.sender == 0xd7f6 - assert dictify(msg) == {'sender': 55286, 'msg_type': 166, 'crc': 15011, 'length': 0, 'preamble': 85, 'payload': ''} \ No newline at end of file + assert dictify(msg) == {'sender': 55286, 'msg_type': 166, 'crc': 15011, 'length': 0, 'preamble': 85, 'payload': ''} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexReq.py index b5db1bc93c..0f73bbeae4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexReq.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_settings_msg_settings_read_by_index_req_1(): assert dictify(msg.index) == 8948 - assert dictify(msg) == {'crc': 6123, 'length': 2, 'msg_type': 162, 'payload': '9CI=', 'preamble': 85, 'sender': 31610, 'index': 8948} \ No newline at end of file + assert dictify(msg) == {'crc': 6123, 'length': 2, 'msg_type': 162, 'payload': '9CI=', 'preamble': 85, 'sender': 31610, 'index': 8948} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexResp.py index 56945abd1b..6d94ab7540 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadByIndexResp.py @@ -136,4 +136,4 @@ def test_auto_check_sbp_settings_msg_settings_read_by_index_resp_5(): assert dictify(msg.setting) == "uart_uarta\x00mode\x00SBP\x00enum:SBP,NMEA\x00" - assert dictify(msg) == {'index': 4, 'sender': 55286, 'msg_type': 167, 'crc': 1046, 'length': 36, 'setting': 'uart_uarta\x00mode\x00SBP\x00enum:SBP,NMEA\x00', 'preamble': 85, 'payload': 'BAB1YXJ0X3VhcnRhAG1vZGUAU0JQAGVudW06U0JQLE5NRUEA'} \ No newline at end of file + assert dictify(msg) == {'index': 4, 'sender': 55286, 'msg_type': 167, 'crc': 1046, 'length': 36, 'setting': 'uart_uarta\x00mode\x00SBP\x00enum:SBP,NMEA\x00', 'preamble': 85, 'payload': 'BAB1YXJ0X3VhcnRhAG1vZGUAU0JQAGVudW06U0JQLE5NRUEA'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadReq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadReq.py index 99825fc85c..dbae8a1e07 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadReq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadReq.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_settings_msg_settings_read_req_1(): assert dictify(msg.setting) == "section-name\x00setting-name\x00" - assert dictify(msg) == {'crc': 58549, 'length': 26, 'msg_type': 164, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQA=', 'preamble': 85, 'sender': 54936, 'setting': 'section-name\x00setting-name\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 58549, 'length': 26, 'msg_type': 164, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQA=', 'preamble': 85, 'sender': 54936, 'setting': 'section-name\x00setting-name\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadResp.py index 49a953f9f4..37600a08c9 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsReadResp.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_settings_msg_settings_read_resp_1(): assert dictify(msg.setting) == "section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00" - assert dictify(msg) == {'crc': 51147, 'length': 66, 'msg_type': 165, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAGVudW07dmFsdWUxLHZhbHVlMix2YWx1ZTMA', 'preamble': 85, 'sender': 61576, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 51147, 'length': 66, 'msg_type': 165, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAGVudW07dmFsdWUxLHZhbHVlMix2YWx1ZTMA', 'preamble': 85, 'sender': 61576, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegister.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegister.py index 632833d5d2..1dfe75a996 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegister.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegister.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_settings_msg_settings_register_1(): assert dictify(msg.setting) == "section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00" - assert dictify(msg) == {'crc': 60302, 'length': 66, 'msg_type': 174, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAGVudW07dmFsdWUxLHZhbHVlMix2YWx1ZTMA', 'preamble': 85, 'sender': 1620, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 60302, 'length': 66, 'msg_type': 174, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAGVudW07dmFsdWUxLHZhbHVlMix2YWx1ZTMA', 'preamble': 85, 'sender': 1620, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegisterResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegisterResp.py index 916ced6ed7..876e40069a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegisterResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsRegisterResp.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_settings_msg_settings_register_resp_1(): assert dictify(msg.status) == 18 - assert dictify(msg) == {'crc': 4178, 'length': 67, 'msg_type': 431, 'payload': 'EnNlY3Rpb24tbmFtZQBzZXR0aW5nLW5hbWUAc2V0dGluZy12YWx1ZQBlbnVtO3ZhbHVlMSx2YWx1ZTIsdmFsdWUzAA==', 'preamble': 85, 'sender': 54569, 'status': 18, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 4178, 'length': 67, 'msg_type': 431, 'payload': 'EnNlY3Rpb24tbmFtZQBzZXR0aW5nLW5hbWUAc2V0dGluZy12YWx1ZQBlbnVtO3ZhbHVlMSx2YWx1ZTIsdmFsdWUzAA==', 'preamble': 85, 'sender': 54569, 'status': 18, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsSave.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsSave.py index d4c82524cb..6392959421 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsSave.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsSave.py @@ -36,4 +36,4 @@ def test_auto_check_sbp_settings_msg_settings_save_1(): assert msg.sender == 0xe0a2 - assert dictify(msg) == {'crc': 17275, 'length': 0, 'msg_type': 161, 'payload': '', 'preamble': 85, 'sender': 57506} \ No newline at end of file + assert dictify(msg) == {'crc': 17275, 'length': 0, 'msg_type': 161, 'payload': '', 'preamble': 85, 'sender': 57506} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWrite.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWrite.py index 0bd3dbcd38..48541e39db 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWrite.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWrite.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_settings_msg_settings_write_1(): assert dictify(msg.setting) == "section-name\x00setting-name\x00setting-value\x00" - assert dictify(msg) == {'crc': 2804, 'length': 40, 'msg_type': 160, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAA==', 'preamble': 85, 'sender': 123, 'setting': 'section-name\x00setting-name\x00setting-value\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 2804, 'length': 40, 'msg_type': 160, 'payload': 'c2VjdGlvbi1uYW1lAHNldHRpbmctbmFtZQBzZXR0aW5nLXZhbHVlAA==', 'preamble': 85, 'sender': 123, 'setting': 'section-name\x00setting-name\x00setting-value\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWriteResp.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWriteResp.py index 004b498718..3d60e68c87 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWriteResp.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_settings_MsgSettingsWriteResp.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_settings_msg_settings_write_resp_1(): assert dictify(msg.status) == 152 - assert dictify(msg) == {'crc': 54, 'length': 67, 'msg_type': 175, 'payload': 'mHNlY3Rpb24tbmFtZQBzZXR0aW5nLW5hbWUAc2V0dGluZy12YWx1ZQBlbnVtO3ZhbHVlMSx2YWx1ZTIsdmFsdWUzAA==', 'preamble': 85, 'sender': 14171, 'status': 152, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} \ No newline at end of file + assert dictify(msg) == {'crc': 54, 'length': 67, 'msg_type': 175, 'payload': 'mHNlY3Rpb24tbmFtZQBzZXR0aW5nLW5hbWUAc2V0dGluZy12YWx1ZQBlbnVtO3ZhbHVlMSx2YWx1ZTIsdmFsdWUzAA==', 'preamble': 85, 'sender': 14171, 'status': 152, 'setting': 'section-name\x00setting-name\x00setting-value\x00enum;value1,value2,value3\x00'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgAesCmacSignature.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgAesCmacSignature.py index 8257200313..857511858a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgAesCmacSignature.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgAesCmacSignature.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_signing_msg_aes_cmac_signature_1(): assert dictify(msg.stream_counter) == 1 - assert dictify(msg) == {'crc': 5568, 'length': 26, 'msg_type': 3088, 'payload': 'AQIBAgMEAAECAwQFBgcICQoLDA0ODwALFiE=', 'preamble': 85, 'sender': 66, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 'flags': 0, 'signed_messages': [11, 22, 33]} \ No newline at end of file + assert dictify(msg) == {'crc': 5568, 'length': 26, 'msg_type': 3088, 'payload': 'AQIBAgMEAAECAwQFBgcICQoLDA0ODwALFiE=', 'preamble': 85, 'sender': 66, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], 'flags': 0, 'signed_messages': [11, 22, 33]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChain.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChain.py index 65f50c3ba8..0935c7d428 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChain.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChain.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_signing_msg_certificate_chain_1(): assert dictify(msg.signature) == {'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], 'len': 72} - assert dictify(msg) == {'preamble': 85, 'msg_type': 3081, 'sender': 66, 'length': 144, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMKCwwNDg8QERITAAECAwQFBgcICRQVFhcYGRobHB0KCwwNDg8QERIT6AcDHgwiOxXNWwdIAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZH', 'crc': 57571, 'root_certificate': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'intermediate_certificate': [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'corrections_certificate': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'expiration': {'year': 2024, 'month': 3, 'day': 30, 'hours': 12, 'minutes': 34, 'seconds': 59, 'ns': 123456789}, 'signature': {'len': 72, 'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71]}} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3081, 'sender': 66, 'length': 144, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMKCwwNDg8QERITAAECAwQFBgcICRQVFhcYGRobHB0KCwwNDg8QERIT6AcDHgwiOxXNWwdIAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZH', 'crc': 57571, 'root_certificate': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'intermediate_certificate': [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'corrections_certificate': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'expiration': {'year': 2024, 'month': 3, 'day': 30, 'hours': 12, 'minutes': 34, 'seconds': 59, 'ns': 123456789}, 'signature': {'len': 72, 'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71]}} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChainDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChainDep.py index 78c6f54072..008fa3e91a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChainDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgCertificateChainDep.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_signing_msg_certificate_chain_dep_1(): assert dictify(msg.signature) == [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7] - assert dictify(msg) == {'preamble': 85, 'msg_type': 3077, 'sender': 66, 'length': 135, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMKCwwNDg8QERITAAECAwQFBgcICRQVFhcYGRobHB0KCwwNDg8QERIT6AcDHgwiOxXNWwcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYH', 'crc': 25712, 'root_certificate': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'intermediate_certificate': [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'corrections_certificate': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'expiration': {'year': 2024, 'month': 3, 'day': 30, 'hours': 12, 'minutes': 34, 'seconds': 59, 'ns': 123456789}, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3077, 'sender': 66, 'length': 135, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMKCwwNDg8QERITAAECAwQFBgcICRQVFhcYGRobHB0KCwwNDg8QERIT6AcDHgwiOxXNWwcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYH', 'crc': 25712, 'root_certificate': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'intermediate_certificate': [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'corrections_certificate': [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], 'expiration': {'year': 2024, 'month': 3, 'day': 30, 'hours': 12, 'minutes': 34, 'seconds': 59, 'ns': 123456789}, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaCertificate.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaCertificate.py index 55575f33f8..33c95b339b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaCertificate.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaCertificate.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_signing_msg_ecdsa_certificate_1(): assert dictify(msg.n_msg) == 48 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3076, 'sender': 66, 'length': 253, 'payload': 'MAoLDA0CtKB0TfMcrSRWIQgfeElAqZTgOV8RKNVcw5Lr5LFlUrYZrKr67Ad3BMkKDtAvfjHSrkvdyxhCNCMaHoxv9ifizcayxAVRCSyko9aKe0xK7XkNibphwb3IfEVz5p+5njMM4UHAaTgpVYUT2aYwi4Ng2GKThOqn+Pcg78K8/nJ1Uxn7v2jwdkQqXRIQJehjsxdaXogGfVv/D0crLhn85VCPOvELPrWbNZmVmOOWV3ClAoDnGZ30zGz9f3qRcaLFq8c2uN7OQ5BOu888042HatxPt/UVoagigTKwAdoUgjv5bdsAZGc3HfJumr7pji0918ruWNFGP5cbZg==', 'crc': 7899, 'n_msg': 48, 'certificate_id': [10, 11, 12, 13], 'flags': 2, 'certificate_bytes': [180, 160, 116, 77, 243, 28, 173, 36, 86, 33, 8, 31, 120, 73, 64, 169, 148, 224, 57, 95, 17, 40, 213, 92, 195, 146, 235, 228, 177, 101, 82, 182, 25, 172, 170, 250, 236, 7, 119, 4, 201, 10, 14, 208, 47, 126, 49, 210, 174, 75, 221, 203, 24, 66, 52, 35, 26, 30, 140, 111, 246, 39, 226, 205, 198, 178, 196, 5, 81, 9, 44, 164, 163, 214, 138, 123, 76, 74, 237, 121, 13, 137, 186, 97, 193, 189, 200, 124, 69, 115, 230, 159, 185, 158, 51, 12, 225, 65, 192, 105, 56, 41, 85, 133, 19, 217, 166, 48, 139, 131, 96, 216, 98, 147, 132, 234, 167, 248, 247, 32, 239, 194, 188, 254, 114, 117, 83, 25, 251, 191, 104, 240, 118, 68, 42, 93, 18, 16, 37, 232, 99, 179, 23, 90, 94, 136, 6, 125, 91, 255, 15, 71, 43, 46, 25, 252, 229, 80, 143, 58, 241, 11, 62, 181, 155, 53, 153, 149, 152, 227, 150, 87, 112, 165, 2, 128, 231, 25, 157, 244, 204, 108, 253, 127, 122, 145, 113, 162, 197, 171, 199, 54, 184, 222, 206, 67, 144, 78, 187, 207, 60, 211, 141, 135, 106, 220, 79, 183, 245, 21, 161, 168, 34, 129, 50, 176, 1, 218, 20, 130, 59, 249, 109, 219, 0, 100, 103, 55, 29, 242, 110, 154, 190, 233, 142, 45, 61, 215, 202, 238, 88, 209, 70, 63, 151, 27, 102]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3076, 'sender': 66, 'length': 253, 'payload': 'MAoLDA0CtKB0TfMcrSRWIQgfeElAqZTgOV8RKNVcw5Lr5LFlUrYZrKr67Ad3BMkKDtAvfjHSrkvdyxhCNCMaHoxv9ifizcayxAVRCSyko9aKe0xK7XkNibphwb3IfEVz5p+5njMM4UHAaTgpVYUT2aYwi4Ng2GKThOqn+Pcg78K8/nJ1Uxn7v2jwdkQqXRIQJehjsxdaXogGfVv/D0crLhn85VCPOvELPrWbNZmVmOOWV3ClAoDnGZ30zGz9f3qRcaLFq8c2uN7OQ5BOu888042HatxPt/UVoagigTKwAdoUgjv5bdsAZGc3HfJumr7pji0918ruWNFGP5cbZg==', 'crc': 7899, 'n_msg': 48, 'certificate_id': [10, 11, 12, 13], 'flags': 2, 'certificate_bytes': [180, 160, 116, 77, 243, 28, 173, 36, 86, 33, 8, 31, 120, 73, 64, 169, 148, 224, 57, 95, 17, 40, 213, 92, 195, 146, 235, 228, 177, 101, 82, 182, 25, 172, 170, 250, 236, 7, 119, 4, 201, 10, 14, 208, 47, 126, 49, 210, 174, 75, 221, 203, 24, 66, 52, 35, 26, 30, 140, 111, 246, 39, 226, 205, 198, 178, 196, 5, 81, 9, 44, 164, 163, 214, 138, 123, 76, 74, 237, 121, 13, 137, 186, 97, 193, 189, 200, 124, 69, 115, 230, 159, 185, 158, 51, 12, 225, 65, 192, 105, 56, 41, 85, 133, 19, 217, 166, 48, 139, 131, 96, 216, 98, 147, 132, 234, 167, 248, 247, 32, 239, 194, 188, 254, 114, 117, 83, 25, 251, 191, 104, 240, 118, 68, 42, 93, 18, 16, 37, 232, 99, 179, 23, 90, 94, 136, 6, 125, 91, 255, 15, 71, 43, 46, 25, 252, 229, 80, 143, 58, 241, 11, 62, 181, 155, 53, 153, 149, 152, 227, 150, 87, 112, 165, 2, 128, 231, 25, 157, 244, 204, 108, 253, 127, 122, 145, 113, 162, 197, 171, 199, 54, 184, 222, 206, 67, 144, 78, 187, 207, 60, 211, 141, 135, 106, 220, 79, 183, 245, 21, 161, 168, 34, 129, 50, 176, 1, 218, 20, 130, 59, 249, 109, 219, 0, 100, 103, 55, 29, 242, 110, 154, 190, 233, 142, 45, 61, 215, 202, 238, 88, 209, 70, 63, 151, 27, 102]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignature.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignature.py index 86746938c8..f6af2977d6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignature.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignature.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_signing_msg_ecdsa_signature_1(): assert dictify(msg.stream_counter) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3080, 'sender': 66, 'length': 83, 'payload': 'AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=', 'crc': 33768, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': {'len': 72, 'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71]}, 'signed_messages': [10, 21, 23]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3080, 'sender': 66, 'length': 83, 'payload': 'AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=', 'crc': 33768, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': {'len': 72, 'data': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71]}, 'signed_messages': [10, 21, 23]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepA.py index 088322e964..5ed60ca9b2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepA.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_signing_msg_ecdsa_signature_dep_a_1(): assert dictify(msg.stream_counter) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3078, 'sender': 66, 'length': 255, 'payload': 'AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu', 'crc': 44129, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], 'signed_messages': [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, 174]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3078, 'sender': 66, 'length': 255, 'payload': 'AAECAQIDBAABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcAAQIDBAUGBwABAgMEBQYHAAECAwQFBgcKFRc/jCWCahwopbNJsjx+ck5xG18DPmiRYBNcew5ambcJSFF2cHwQtkySczqQEWlCH4c2ZFS1ZwtYhZunrY9WnhSohI1mMjBHkzVXAWyKJIaLo1IrNJYMHm6ca3hbekWkqnQZXgUWGKKvJp1iLKAvYY4ISg2xD4Aag5pBqTeIfauhHYGXRKYzRi04T5VjKmWYJ1m0QDEGUKwgbQJ3XbAAITkiElV5iVNvOwdNBHWflCM9KUMuf0uu', 'crc': 44129, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7], 'signed_messages': [10, 21, 23, 63, 140, 37, 130, 106, 28, 40, 165, 179, 73, 178, 60, 126, 114, 78, 113, 27, 95, 3, 62, 104, 145, 96, 19, 92, 123, 14, 90, 153, 183, 9, 72, 81, 118, 112, 124, 16, 182, 76, 146, 115, 58, 144, 17, 105, 66, 31, 135, 54, 100, 84, 181, 103, 11, 88, 133, 155, 167, 173, 143, 86, 158, 20, 168, 132, 141, 102, 50, 48, 71, 147, 53, 87, 1, 108, 138, 36, 134, 139, 163, 82, 43, 52, 150, 12, 30, 110, 156, 107, 120, 91, 122, 69, 164, 170, 116, 25, 94, 5, 22, 24, 162, 175, 38, 157, 98, 44, 160, 47, 97, 142, 8, 74, 13, 177, 15, 128, 26, 131, 154, 65, 169, 55, 136, 125, 171, 161, 29, 129, 151, 68, 166, 51, 70, 45, 56, 79, 149, 99, 42, 101, 152, 39, 89, 180, 64, 49, 6, 80, 172, 32, 109, 2, 119, 93, 176, 0, 33, 57, 34, 18, 85, 121, 137, 83, 111, 59, 7, 77, 4, 117, 159, 148, 35, 61, 41, 67, 46, 127, 75, 174]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepB.py index 2d47e39830..0762a26f9d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEcdsaSignatureDepB.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_signing_msg_ecdsa_signature_dep_b_1(): assert dictify(msg.stream_counter) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3079, 'sender': 66, 'length': 83, 'payload': 'AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=', 'crc': 40958, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'n_signature_bytes': 72, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], 'signed_messages': [10, 21, 23]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3079, 'sender': 66, 'length': 83, 'payload': 'AAECAQIDBEgAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkcKFRc=', 'crc': 40958, 'flags': 0, 'stream_counter': 1, 'on_demand_counter': 2, 'certificate_id': [1, 2, 3, 4], 'n_signature_bytes': 72, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71], 'signed_messages': [10, 21, 23]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519CertificateDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519CertificateDep.py index a5f1f933d5..439ce6512f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519CertificateDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519CertificateDep.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_signing_msg_ed25519_certificate_dep_1(): assert dictify(msg.n_msg) == 16 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3074, 'sender': 66, 'length': 106, 'payload': 'EGRlZmdoaWprbG1ub3BxcnN0dXZ3AAMGCQwPEhUYGx4hJCcqLTAzNjk8P0JFSEtOUVRXWl1gY2ZpbG9ydXh7foGEh4qNkJOWmZyfoqWoq66xtLe6vcDDxsnMz9LV2Nve4eTn6u3w8/b5/A==', 'crc': 38106, 'n_msg': 16, 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'certificate_bytes': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, 189, 192, 195, 198, 201, 204, 207, 210, 213, 216, 219, 222, 225, 228, 231, 234, 237, 240, 243, 246, 249, 252]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3074, 'sender': 66, 'length': 106, 'payload': 'EGRlZmdoaWprbG1ub3BxcnN0dXZ3AAMGCQwPEhUYGx4hJCcqLTAzNjk8P0JFSEtOUVRXWl1gY2ZpbG9ydXh7foGEh4qNkJOWmZyfoqWoq66xtLe6vcDDxsnMz9LV2Nve4eTn6u3w8/b5/A==', 'crc': 38106, 'n_msg': 16, 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'certificate_bytes': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171, 174, 177, 180, 183, 186, 189, 192, 195, 198, 201, 204, 207, 210, 213, 216, 219, 222, 225, 228, 231, 234, 237, 240, 243, 246, 249, 252]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepA.py index 03798716f1..6e15fb8148 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepA.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_signing_msg_ed25519_signature_dep_a_1(): assert dictify(msg.signed_messages) == [5000, 5234, 5468, 5702, 5936, 6170, 6404, 6638, 6872, 7106, 7340, 7574, 7808, 8042, 8276, 8510, 8744, 8978, 9212, 9446, 9680, 9914, 10148, 10382, 10616] - assert dictify(msg) == {'preamble': 85, 'msg_type': 3073, 'sender': 66, 'length': 184, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P2RlZmdoaWprbG1ub3BxcnN0dXZ3iBMAAHIUAABcFQAARhYAADAXAAAaGAAABBkAAO4ZAADYGgAAwhsAAKwcAACWHQAAgB4AAGofAABUIAAAPiEAACgiAAASIwAA/CMAAOYkAADQJQAAuiYAAKQnAACOKAAAeCkAAA==', 'crc': 28585, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'signed_messages': [5000, 5234, 5468, 5702, 5936, 6170, 6404, 6638, 6872, 7106, 7340, 7574, 7808, 8042, 8276, 8510, 8744, 8978, 9212, 9446, 9680, 9914, 10148, 10382, 10616]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3073, 'sender': 66, 'length': 184, 'payload': 'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P2RlZmdoaWprbG1ub3BxcnN0dXZ3iBMAAHIUAABcFQAARhYAADAXAAAaGAAABBkAAO4ZAADYGgAAwhsAAKwcAACWHQAAgB4AAGofAABUIAAAPiEAACgiAAASIwAA/CMAAOYkAADQJQAAuiYAAKQnAACOKAAAeCkAAA==', 'crc': 28585, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'signed_messages': [5000, 5234, 5468, 5702, 5936, 6170, 6404, 6638, 6872, 7106, 7340, 7574, 7808, 8042, 8276, 8510, 8744, 8978, 9212, 9446, 9680, 9914, 10148, 10382, 10616]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepB.py index 1fc8c2ed7d..365b108406 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_signing_MsgEd25519SignatureDepB.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_signing_msg_ed25519_signature_dep_b_1(): assert dictify(msg.stream_counter) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 3075, 'sender': 66, 'length': 186, 'payload': 'AQAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/ZGVmZ2hpamtsbW5vcHFyc3R1dneIEwAAchQAAFwVAABGFgAAMBcAABoYAAAEGQAA7hkAANgaAADCGwAArBwAAJYdAACAHgAAah8AAFQgAAA+IQAAKCIAABIjAAD8IwAA5iQAANAlAAC6JgAApCcAAI4oAAB4KQAA', 'crc': 37358, 'stream_counter': 1, 'on_demand_counter': 0, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'signed_messages': [5000, 5234, 5468, 5702, 5936, 6170, 6404, 6638, 6872, 7106, 7340, 7574, 7808, 8042, 8276, 8510, 8744, 8978, 9212, 9446, 9680, 9914, 10148, 10382, 10616]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 3075, 'sender': 66, 'length': 186, 'payload': 'AQAAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/ZGVmZ2hpamtsbW5vcHFyc3R1dneIEwAAchQAAFwVAABGFgAAMBcAABoYAAAEGQAA7hkAANgaAADCGwAArBwAAJYdAACAHgAAah8AAFQgAAA+IQAAKCIAABIjAAD8IwAA5iQAANAlAAC6JgAApCcAAI4oAAB4KQAA', 'crc': 37358, 'stream_counter': 1, 'on_demand_counter': 0, 'signature': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], 'fingerprint': [100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], 'signed_messages': [5000, 5234, 5468, 5702, 5936, 6170, 6404, 6638, 6872, 7106, 7340, 7574, 7808, 8042, 8276, 8510, 8744, 8978, 9212, 9446, 9680, 9914, 10148, 10382, 10616]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMeta.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMeta.py index d147d52fee..bb92e6a615 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMeta.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMeta.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_solution_meta_msg_soln_meta_1(): assert dictify(msg.vdop) == 58512 - assert dictify(msg) == {'crc': 63382, 'length': 254, 'msg_type': 65294, 'payload': 'MNBB2HotxKCQ5AhTWVcD1V9tVoNHRlRJgxpS94xhc252/QJ6upR6lLTnRC6+ZvMwwA/QWTgK9QL+yXggfgJToe57ZuZMvuG2z+QH2nVZHb84+Ln/LhJIjlJxGgSs/rKIcXM6wVnjtvZMTWz1KR9GfPmRD07kJvGBCLD7SPhQc/Tnkb++sqhZ6UWwroy2jVFSXE9l32RAuNd8JRXjh2ZIJNs4klrbaONmUwwpeq1eAa6GgmjtdPlr5oJ7GaI538GuksHvLPbF1lBTZEJIhYmMUgICYAlgnoZhK4GNGbfI1jn4Z95Bww/0FbQujIIkEcLRQf5zZ5iB6uvC6qrJ0po=', 'preamble': 85, 'sender': 15360, 'tow': 3628191792, 'pdop': 11642, 'hdop': 41156, 'vdop': 58512, 'age_corrections': 21256, 'age_gnss': 3573765977, 'sol_in': [{'sensor_type': 95, 'flags': 109}, {'sensor_type': 86, 'flags': 131}, {'sensor_type': 71, 'flags': 70}, {'sensor_type': 84, 'flags': 73}, {'sensor_type': 131, 'flags': 26}, {'sensor_type': 82, 'flags': 247}, {'sensor_type': 140, 'flags': 97}, {'sensor_type': 115, 'flags': 110}, {'sensor_type': 118, 'flags': 253}, {'sensor_type': 2, 'flags': 122}, {'sensor_type': 186, 'flags': 148}, {'sensor_type': 122, 'flags': 148}, {'sensor_type': 180, 'flags': 231}, {'sensor_type': 68, 'flags': 46}, {'sensor_type': 190, 'flags': 102}, {'sensor_type': 243, 'flags': 48}, {'sensor_type': 192, 'flags': 15}, {'sensor_type': 208, 'flags': 89}, {'sensor_type': 56, 'flags': 10}, {'sensor_type': 245, 'flags': 2}, {'sensor_type': 254, 'flags': 201}, {'sensor_type': 120, 'flags': 32}, {'sensor_type': 126, 'flags': 2}, {'sensor_type': 83, 'flags': 161}, {'sensor_type': 238, 'flags': 123}, {'sensor_type': 102, 'flags': 230}, {'sensor_type': 76, 'flags': 190}, {'sensor_type': 225, 'flags': 182}, {'sensor_type': 207, 'flags': 228}, {'sensor_type': 7, 'flags': 218}, {'sensor_type': 117, 'flags': 89}, {'sensor_type': 29, 'flags': 191}, {'sensor_type': 56, 'flags': 248}, {'sensor_type': 185, 'flags': 255}, {'sensor_type': 46, 'flags': 18}, {'sensor_type': 72, 'flags': 142}, {'sensor_type': 82, 'flags': 113}, {'sensor_type': 26, 'flags': 4}, {'sensor_type': 172, 'flags': 254}, {'sensor_type': 178, 'flags': 136}, {'sensor_type': 113, 'flags': 115}, {'sensor_type': 58, 'flags': 193}, {'sensor_type': 89, 'flags': 227}, {'sensor_type': 182, 'flags': 246}, {'sensor_type': 76, 'flags': 77}, {'sensor_type': 108, 'flags': 245}, {'sensor_type': 41, 'flags': 31}, {'sensor_type': 70, 'flags': 124}, {'sensor_type': 249, 'flags': 145}, {'sensor_type': 15, 'flags': 78}, {'sensor_type': 228, 'flags': 38}, {'sensor_type': 241, 'flags': 129}, {'sensor_type': 8, 'flags': 176}, {'sensor_type': 251, 'flags': 72}, {'sensor_type': 248, 'flags': 80}, {'sensor_type': 115, 'flags': 244}, {'sensor_type': 231, 'flags': 145}, {'sensor_type': 191, 'flags': 190}, {'sensor_type': 178, 'flags': 168}, {'sensor_type': 89, 'flags': 233}, {'sensor_type': 69, 'flags': 176}, {'sensor_type': 174, 'flags': 140}, {'sensor_type': 182, 'flags': 141}, {'sensor_type': 81, 'flags': 82}, {'sensor_type': 92, 'flags': 79}, {'sensor_type': 101, 'flags': 223}, {'sensor_type': 100, 'flags': 64}, {'sensor_type': 184, 'flags': 215}, {'sensor_type': 124, 'flags': 37}, {'sensor_type': 21, 'flags': 227}, {'sensor_type': 135, 'flags': 102}, {'sensor_type': 72, 'flags': 36}, {'sensor_type': 219, 'flags': 56}, {'sensor_type': 146, 'flags': 90}, {'sensor_type': 219, 'flags': 104}, {'sensor_type': 227, 'flags': 102}, {'sensor_type': 83, 'flags': 12}, {'sensor_type': 41, 'flags': 122}, {'sensor_type': 173, 'flags': 94}, {'sensor_type': 1, 'flags': 174}, {'sensor_type': 134, 'flags': 130}, {'sensor_type': 104, 'flags': 237}, {'sensor_type': 116, 'flags': 249}, {'sensor_type': 107, 'flags': 230}, {'sensor_type': 130, 'flags': 123}, {'sensor_type': 25, 'flags': 162}, {'sensor_type': 57, 'flags': 223}, {'sensor_type': 193, 'flags': 174}, {'sensor_type': 146, 'flags': 193}, {'sensor_type': 239, 'flags': 44}, {'sensor_type': 246, 'flags': 197}, {'sensor_type': 214, 'flags': 80}, {'sensor_type': 83, 'flags': 100}, {'sensor_type': 66, 'flags': 72}, {'sensor_type': 133, 'flags': 137}, {'sensor_type': 140, 'flags': 82}, {'sensor_type': 2, 'flags': 2}, {'sensor_type': 96, 'flags': 9}, {'sensor_type': 96, 'flags': 158}, {'sensor_type': 134, 'flags': 97}, {'sensor_type': 43, 'flags': 129}, {'sensor_type': 141, 'flags': 25}, {'sensor_type': 183, 'flags': 200}, {'sensor_type': 214, 'flags': 57}, {'sensor_type': 248, 'flags': 103}, {'sensor_type': 222, 'flags': 65}, {'sensor_type': 195, 'flags': 15}, {'sensor_type': 244, 'flags': 21}, {'sensor_type': 180, 'flags': 46}, {'sensor_type': 140, 'flags': 130}, {'sensor_type': 36, 'flags': 17}, {'sensor_type': 194, 'flags': 209}, {'sensor_type': 65, 'flags': 254}, {'sensor_type': 115, 'flags': 103}, {'sensor_type': 152, 'flags': 129}, {'sensor_type': 234, 'flags': 235}, {'sensor_type': 194, 'flags': 234}, {'sensor_type': 170, 'flags': 201}, {'sensor_type': 210, 'flags': 154}]} \ No newline at end of file + assert dictify(msg) == {'crc': 63382, 'length': 254, 'msg_type': 65294, 'payload': 'MNBB2HotxKCQ5AhTWVcD1V9tVoNHRlRJgxpS94xhc252/QJ6upR6lLTnRC6+ZvMwwA/QWTgK9QL+yXggfgJToe57ZuZMvuG2z+QH2nVZHb84+Ln/LhJIjlJxGgSs/rKIcXM6wVnjtvZMTWz1KR9GfPmRD07kJvGBCLD7SPhQc/Tnkb++sqhZ6UWwroy2jVFSXE9l32RAuNd8JRXjh2ZIJNs4klrbaONmUwwpeq1eAa6GgmjtdPlr5oJ7GaI538GuksHvLPbF1lBTZEJIhYmMUgICYAlgnoZhK4GNGbfI1jn4Z95Bww/0FbQujIIkEcLRQf5zZ5iB6uvC6qrJ0po=', 'preamble': 85, 'sender': 15360, 'tow': 3628191792, 'pdop': 11642, 'hdop': 41156, 'vdop': 58512, 'age_corrections': 21256, 'age_gnss': 3573765977, 'sol_in': [{'sensor_type': 95, 'flags': 109}, {'sensor_type': 86, 'flags': 131}, {'sensor_type': 71, 'flags': 70}, {'sensor_type': 84, 'flags': 73}, {'sensor_type': 131, 'flags': 26}, {'sensor_type': 82, 'flags': 247}, {'sensor_type': 140, 'flags': 97}, {'sensor_type': 115, 'flags': 110}, {'sensor_type': 118, 'flags': 253}, {'sensor_type': 2, 'flags': 122}, {'sensor_type': 186, 'flags': 148}, {'sensor_type': 122, 'flags': 148}, {'sensor_type': 180, 'flags': 231}, {'sensor_type': 68, 'flags': 46}, {'sensor_type': 190, 'flags': 102}, {'sensor_type': 243, 'flags': 48}, {'sensor_type': 192, 'flags': 15}, {'sensor_type': 208, 'flags': 89}, {'sensor_type': 56, 'flags': 10}, {'sensor_type': 245, 'flags': 2}, {'sensor_type': 254, 'flags': 201}, {'sensor_type': 120, 'flags': 32}, {'sensor_type': 126, 'flags': 2}, {'sensor_type': 83, 'flags': 161}, {'sensor_type': 238, 'flags': 123}, {'sensor_type': 102, 'flags': 230}, {'sensor_type': 76, 'flags': 190}, {'sensor_type': 225, 'flags': 182}, {'sensor_type': 207, 'flags': 228}, {'sensor_type': 7, 'flags': 218}, {'sensor_type': 117, 'flags': 89}, {'sensor_type': 29, 'flags': 191}, {'sensor_type': 56, 'flags': 248}, {'sensor_type': 185, 'flags': 255}, {'sensor_type': 46, 'flags': 18}, {'sensor_type': 72, 'flags': 142}, {'sensor_type': 82, 'flags': 113}, {'sensor_type': 26, 'flags': 4}, {'sensor_type': 172, 'flags': 254}, {'sensor_type': 178, 'flags': 136}, {'sensor_type': 113, 'flags': 115}, {'sensor_type': 58, 'flags': 193}, {'sensor_type': 89, 'flags': 227}, {'sensor_type': 182, 'flags': 246}, {'sensor_type': 76, 'flags': 77}, {'sensor_type': 108, 'flags': 245}, {'sensor_type': 41, 'flags': 31}, {'sensor_type': 70, 'flags': 124}, {'sensor_type': 249, 'flags': 145}, {'sensor_type': 15, 'flags': 78}, {'sensor_type': 228, 'flags': 38}, {'sensor_type': 241, 'flags': 129}, {'sensor_type': 8, 'flags': 176}, {'sensor_type': 251, 'flags': 72}, {'sensor_type': 248, 'flags': 80}, {'sensor_type': 115, 'flags': 244}, {'sensor_type': 231, 'flags': 145}, {'sensor_type': 191, 'flags': 190}, {'sensor_type': 178, 'flags': 168}, {'sensor_type': 89, 'flags': 233}, {'sensor_type': 69, 'flags': 176}, {'sensor_type': 174, 'flags': 140}, {'sensor_type': 182, 'flags': 141}, {'sensor_type': 81, 'flags': 82}, {'sensor_type': 92, 'flags': 79}, {'sensor_type': 101, 'flags': 223}, {'sensor_type': 100, 'flags': 64}, {'sensor_type': 184, 'flags': 215}, {'sensor_type': 124, 'flags': 37}, {'sensor_type': 21, 'flags': 227}, {'sensor_type': 135, 'flags': 102}, {'sensor_type': 72, 'flags': 36}, {'sensor_type': 219, 'flags': 56}, {'sensor_type': 146, 'flags': 90}, {'sensor_type': 219, 'flags': 104}, {'sensor_type': 227, 'flags': 102}, {'sensor_type': 83, 'flags': 12}, {'sensor_type': 41, 'flags': 122}, {'sensor_type': 173, 'flags': 94}, {'sensor_type': 1, 'flags': 174}, {'sensor_type': 134, 'flags': 130}, {'sensor_type': 104, 'flags': 237}, {'sensor_type': 116, 'flags': 249}, {'sensor_type': 107, 'flags': 230}, {'sensor_type': 130, 'flags': 123}, {'sensor_type': 25, 'flags': 162}, {'sensor_type': 57, 'flags': 223}, {'sensor_type': 193, 'flags': 174}, {'sensor_type': 146, 'flags': 193}, {'sensor_type': 239, 'flags': 44}, {'sensor_type': 246, 'flags': 197}, {'sensor_type': 214, 'flags': 80}, {'sensor_type': 83, 'flags': 100}, {'sensor_type': 66, 'flags': 72}, {'sensor_type': 133, 'flags': 137}, {'sensor_type': 140, 'flags': 82}, {'sensor_type': 2, 'flags': 2}, {'sensor_type': 96, 'flags': 9}, {'sensor_type': 96, 'flags': 158}, {'sensor_type': 134, 'flags': 97}, {'sensor_type': 43, 'flags': 129}, {'sensor_type': 141, 'flags': 25}, {'sensor_type': 183, 'flags': 200}, {'sensor_type': 214, 'flags': 57}, {'sensor_type': 248, 'flags': 103}, {'sensor_type': 222, 'flags': 65}, {'sensor_type': 195, 'flags': 15}, {'sensor_type': 244, 'flags': 21}, {'sensor_type': 180, 'flags': 46}, {'sensor_type': 140, 'flags': 130}, {'sensor_type': 36, 'flags': 17}, {'sensor_type': 194, 'flags': 209}, {'sensor_type': 65, 'flags': 254}, {'sensor_type': 115, 'flags': 103}, {'sensor_type': 152, 'flags': 129}, {'sensor_type': 234, 'flags': 235}, {'sensor_type': 194, 'flags': 234}, {'sensor_type': 170, 'flags': 201}, {'sensor_type': 210, 'flags': 154}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMetaDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMetaDepA.py index 93cbe901ea..cd5a684bc6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMetaDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_solution_meta_MsgSolnMetaDepA.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_solution_meta_msg_soln_meta_dep_a_1(): assert dictify(msg.vdop) == 41989 - assert dictify(msg) == {'crc': 54093, 'length': 254, 'msg_type': 65295, 'payload': 't96deQWk7h++c107ZyRToZwu/UNXyCf69fLkSBLeC1jP2ucN4uAWxBXyDFlH27ZVkcySKMwzFZnjLA8c/yfN2PC+XdtnKim2TN4RF30fEuUcL9YZZFRqSDAK3ujrSW2jM5iF61dGAmxbZcg3GJzpSSdCYYz84+bth/H1zUYA27xriLI6AR0s1eGTvmDAbOQPyxID3rREZeXfy/OkXKXcn655cKfwKDsD5jSVlNqO1G2wR7OsTQHBRpOVF5CU78O6Vh4ij5zPPzd1/97e25Hgv9JtVpkVIOIKPD9q7F1gHqNq7pOFhGuY1t25yhX8M4I7psp/qjrB130WOocvWI4=', 'preamble': 85, 'sender': 61780, 'pdop': 57015, 'hdop': 31133, 'vdop': 41989, 'n_sats': 238, 'age_corrections': 48671, 'alignment_status': 115, 'last_used_gnss_pos_tow': 610745181, 'last_used_gnss_vel_tow': 782016851, 'sol_in': [{'sensor_type': 253, 'flags': 67}, {'sensor_type': 87, 'flags': 200}, {'sensor_type': 39, 'flags': 250}, {'sensor_type': 245, 'flags': 242}, {'sensor_type': 228, 'flags': 72}, {'sensor_type': 18, 'flags': 222}, {'sensor_type': 11, 'flags': 88}, {'sensor_type': 207, 'flags': 218}, {'sensor_type': 231, 'flags': 13}, {'sensor_type': 226, 'flags': 224}, {'sensor_type': 22, 'flags': 196}, {'sensor_type': 21, 'flags': 242}, {'sensor_type': 12, 'flags': 89}, {'sensor_type': 71, 'flags': 219}, {'sensor_type': 182, 'flags': 85}, {'sensor_type': 145, 'flags': 204}, {'sensor_type': 146, 'flags': 40}, {'sensor_type': 204, 'flags': 51}, {'sensor_type': 21, 'flags': 153}, {'sensor_type': 227, 'flags': 44}, {'sensor_type': 15, 'flags': 28}, {'sensor_type': 255, 'flags': 39}, {'sensor_type': 205, 'flags': 216}, {'sensor_type': 240, 'flags': 190}, {'sensor_type': 93, 'flags': 219}, {'sensor_type': 103, 'flags': 42}, {'sensor_type': 41, 'flags': 182}, {'sensor_type': 76, 'flags': 222}, {'sensor_type': 17, 'flags': 23}, {'sensor_type': 125, 'flags': 31}, {'sensor_type': 18, 'flags': 229}, {'sensor_type': 28, 'flags': 47}, {'sensor_type': 214, 'flags': 25}, {'sensor_type': 100, 'flags': 84}, {'sensor_type': 106, 'flags': 72}, {'sensor_type': 48, 'flags': 10}, {'sensor_type': 222, 'flags': 232}, {'sensor_type': 235, 'flags': 73}, {'sensor_type': 109, 'flags': 163}, {'sensor_type': 51, 'flags': 152}, {'sensor_type': 133, 'flags': 235}, {'sensor_type': 87, 'flags': 70}, {'sensor_type': 2, 'flags': 108}, {'sensor_type': 91, 'flags': 101}, {'sensor_type': 200, 'flags': 55}, {'sensor_type': 24, 'flags': 156}, {'sensor_type': 233, 'flags': 73}, {'sensor_type': 39, 'flags': 66}, {'sensor_type': 97, 'flags': 140}, {'sensor_type': 252, 'flags': 227}, {'sensor_type': 230, 'flags': 237}, {'sensor_type': 135, 'flags': 241}, {'sensor_type': 245, 'flags': 205}, {'sensor_type': 70, 'flags': 0}, {'sensor_type': 219, 'flags': 188}, {'sensor_type': 107, 'flags': 136}, {'sensor_type': 178, 'flags': 58}, {'sensor_type': 1, 'flags': 29}, {'sensor_type': 44, 'flags': 213}, {'sensor_type': 225, 'flags': 147}, {'sensor_type': 190, 'flags': 96}, {'sensor_type': 192, 'flags': 108}, {'sensor_type': 228, 'flags': 15}, {'sensor_type': 203, 'flags': 18}, {'sensor_type': 3, 'flags': 222}, {'sensor_type': 180, 'flags': 68}, {'sensor_type': 101, 'flags': 229}, {'sensor_type': 223, 'flags': 203}, {'sensor_type': 243, 'flags': 164}, {'sensor_type': 92, 'flags': 165}, {'sensor_type': 220, 'flags': 159}, {'sensor_type': 174, 'flags': 121}, {'sensor_type': 112, 'flags': 167}, {'sensor_type': 240, 'flags': 40}, {'sensor_type': 59, 'flags': 3}, {'sensor_type': 230, 'flags': 52}, {'sensor_type': 149, 'flags': 148}, {'sensor_type': 218, 'flags': 142}, {'sensor_type': 212, 'flags': 109}, {'sensor_type': 176, 'flags': 71}, {'sensor_type': 179, 'flags': 172}, {'sensor_type': 77, 'flags': 1}, {'sensor_type': 193, 'flags': 70}, {'sensor_type': 147, 'flags': 149}, {'sensor_type': 23, 'flags': 144}, {'sensor_type': 148, 'flags': 239}, {'sensor_type': 195, 'flags': 186}, {'sensor_type': 86, 'flags': 30}, {'sensor_type': 34, 'flags': 143}, {'sensor_type': 156, 'flags': 207}, {'sensor_type': 63, 'flags': 55}, {'sensor_type': 117, 'flags': 255}, {'sensor_type': 222, 'flags': 222}, {'sensor_type': 219, 'flags': 145}, {'sensor_type': 224, 'flags': 191}, {'sensor_type': 210, 'flags': 109}, {'sensor_type': 86, 'flags': 153}, {'sensor_type': 21, 'flags': 32}, {'sensor_type': 226, 'flags': 10}, {'sensor_type': 60, 'flags': 63}, {'sensor_type': 106, 'flags': 236}, {'sensor_type': 93, 'flags': 96}, {'sensor_type': 30, 'flags': 163}, {'sensor_type': 106, 'flags': 238}, {'sensor_type': 147, 'flags': 133}, {'sensor_type': 132, 'flags': 107}, {'sensor_type': 152, 'flags': 214}, {'sensor_type': 221, 'flags': 185}, {'sensor_type': 202, 'flags': 21}, {'sensor_type': 252, 'flags': 51}, {'sensor_type': 130, 'flags': 59}, {'sensor_type': 166, 'flags': 202}, {'sensor_type': 127, 'flags': 170}, {'sensor_type': 58, 'flags': 193}, {'sensor_type': 215, 'flags': 125}, {'sensor_type': 22, 'flags': 58}, {'sensor_type': 135, 'flags': 47}, {'sensor_type': 88, 'flags': 142}]} \ No newline at end of file + assert dictify(msg) == {'crc': 54093, 'length': 254, 'msg_type': 65295, 'payload': 't96deQWk7h++c107ZyRToZwu/UNXyCf69fLkSBLeC1jP2ucN4uAWxBXyDFlH27ZVkcySKMwzFZnjLA8c/yfN2PC+XdtnKim2TN4RF30fEuUcL9YZZFRqSDAK3ujrSW2jM5iF61dGAmxbZcg3GJzpSSdCYYz84+bth/H1zUYA27xriLI6AR0s1eGTvmDAbOQPyxID3rREZeXfy/OkXKXcn655cKfwKDsD5jSVlNqO1G2wR7OsTQHBRpOVF5CU78O6Vh4ij5zPPzd1/97e25Hgv9JtVpkVIOIKPD9q7F1gHqNq7pOFhGuY1t25yhX8M4I7psp/qjrB130WOocvWI4=', 'preamble': 85, 'sender': 61780, 'pdop': 57015, 'hdop': 31133, 'vdop': 41989, 'n_sats': 238, 'age_corrections': 48671, 'alignment_status': 115, 'last_used_gnss_pos_tow': 610745181, 'last_used_gnss_vel_tow': 782016851, 'sol_in': [{'sensor_type': 253, 'flags': 67}, {'sensor_type': 87, 'flags': 200}, {'sensor_type': 39, 'flags': 250}, {'sensor_type': 245, 'flags': 242}, {'sensor_type': 228, 'flags': 72}, {'sensor_type': 18, 'flags': 222}, {'sensor_type': 11, 'flags': 88}, {'sensor_type': 207, 'flags': 218}, {'sensor_type': 231, 'flags': 13}, {'sensor_type': 226, 'flags': 224}, {'sensor_type': 22, 'flags': 196}, {'sensor_type': 21, 'flags': 242}, {'sensor_type': 12, 'flags': 89}, {'sensor_type': 71, 'flags': 219}, {'sensor_type': 182, 'flags': 85}, {'sensor_type': 145, 'flags': 204}, {'sensor_type': 146, 'flags': 40}, {'sensor_type': 204, 'flags': 51}, {'sensor_type': 21, 'flags': 153}, {'sensor_type': 227, 'flags': 44}, {'sensor_type': 15, 'flags': 28}, {'sensor_type': 255, 'flags': 39}, {'sensor_type': 205, 'flags': 216}, {'sensor_type': 240, 'flags': 190}, {'sensor_type': 93, 'flags': 219}, {'sensor_type': 103, 'flags': 42}, {'sensor_type': 41, 'flags': 182}, {'sensor_type': 76, 'flags': 222}, {'sensor_type': 17, 'flags': 23}, {'sensor_type': 125, 'flags': 31}, {'sensor_type': 18, 'flags': 229}, {'sensor_type': 28, 'flags': 47}, {'sensor_type': 214, 'flags': 25}, {'sensor_type': 100, 'flags': 84}, {'sensor_type': 106, 'flags': 72}, {'sensor_type': 48, 'flags': 10}, {'sensor_type': 222, 'flags': 232}, {'sensor_type': 235, 'flags': 73}, {'sensor_type': 109, 'flags': 163}, {'sensor_type': 51, 'flags': 152}, {'sensor_type': 133, 'flags': 235}, {'sensor_type': 87, 'flags': 70}, {'sensor_type': 2, 'flags': 108}, {'sensor_type': 91, 'flags': 101}, {'sensor_type': 200, 'flags': 55}, {'sensor_type': 24, 'flags': 156}, {'sensor_type': 233, 'flags': 73}, {'sensor_type': 39, 'flags': 66}, {'sensor_type': 97, 'flags': 140}, {'sensor_type': 252, 'flags': 227}, {'sensor_type': 230, 'flags': 237}, {'sensor_type': 135, 'flags': 241}, {'sensor_type': 245, 'flags': 205}, {'sensor_type': 70, 'flags': 0}, {'sensor_type': 219, 'flags': 188}, {'sensor_type': 107, 'flags': 136}, {'sensor_type': 178, 'flags': 58}, {'sensor_type': 1, 'flags': 29}, {'sensor_type': 44, 'flags': 213}, {'sensor_type': 225, 'flags': 147}, {'sensor_type': 190, 'flags': 96}, {'sensor_type': 192, 'flags': 108}, {'sensor_type': 228, 'flags': 15}, {'sensor_type': 203, 'flags': 18}, {'sensor_type': 3, 'flags': 222}, {'sensor_type': 180, 'flags': 68}, {'sensor_type': 101, 'flags': 229}, {'sensor_type': 223, 'flags': 203}, {'sensor_type': 243, 'flags': 164}, {'sensor_type': 92, 'flags': 165}, {'sensor_type': 220, 'flags': 159}, {'sensor_type': 174, 'flags': 121}, {'sensor_type': 112, 'flags': 167}, {'sensor_type': 240, 'flags': 40}, {'sensor_type': 59, 'flags': 3}, {'sensor_type': 230, 'flags': 52}, {'sensor_type': 149, 'flags': 148}, {'sensor_type': 218, 'flags': 142}, {'sensor_type': 212, 'flags': 109}, {'sensor_type': 176, 'flags': 71}, {'sensor_type': 179, 'flags': 172}, {'sensor_type': 77, 'flags': 1}, {'sensor_type': 193, 'flags': 70}, {'sensor_type': 147, 'flags': 149}, {'sensor_type': 23, 'flags': 144}, {'sensor_type': 148, 'flags': 239}, {'sensor_type': 195, 'flags': 186}, {'sensor_type': 86, 'flags': 30}, {'sensor_type': 34, 'flags': 143}, {'sensor_type': 156, 'flags': 207}, {'sensor_type': 63, 'flags': 55}, {'sensor_type': 117, 'flags': 255}, {'sensor_type': 222, 'flags': 222}, {'sensor_type': 219, 'flags': 145}, {'sensor_type': 224, 'flags': 191}, {'sensor_type': 210, 'flags': 109}, {'sensor_type': 86, 'flags': 153}, {'sensor_type': 21, 'flags': 32}, {'sensor_type': 226, 'flags': 10}, {'sensor_type': 60, 'flags': 63}, {'sensor_type': 106, 'flags': 236}, {'sensor_type': 93, 'flags': 96}, {'sensor_type': 30, 'flags': 163}, {'sensor_type': 106, 'flags': 238}, {'sensor_type': 147, 'flags': 133}, {'sensor_type': 132, 'flags': 107}, {'sensor_type': 152, 'flags': 214}, {'sensor_type': 221, 'flags': 185}, {'sensor_type': 202, 'flags': 21}, {'sensor_type': 252, 'flags': 51}, {'sensor_type': 130, 'flags': 59}, {'sensor_type': 166, 'flags': 202}, {'sensor_type': 127, 'flags': 170}, {'sensor_type': 58, 'flags': 193}, {'sensor_type': 215, 'flags': 125}, {'sensor_type': 22, 'flags': 58}, {'sensor_type': 135, 'flags': 47}, {'sensor_type': 88, 'flags': 142}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodeBiases.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodeBiases.py index af910f7de3..d9ef55c1e7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodeBiases.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodeBiases.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ssr_msg_ssr_code_biases_1(): assert dictify(msg.update_interval) == 254 - assert dictify(msg) == {'crc': 33917, 'length': 253, 'msg_type': 1505, 'payload': '0FoTFwlChfH+hDMEg/B4U5TR1T7k6EdCvNKANoOYgW+L8rGRLAn1z/HKlo0yn9yLJbtivxeAiKfIBtNaF/SK19GLDWUgBxIdRvptScpPkAmSRfE0FmNizAOr5rRLPpFWgh8emyUSN9Inf/JCDe2YqtQP9jtetMOdRWR3EESzr5BxUVIelxVtKeEITaSdAEkeBk5Rj3Twlze5qf4zJ0qv9yJhSmGwMOytDK5lgh6pwb7MxHtrGeFKCQo3A4P2Y4Ui48tEEmHfWcD2MkVbCpdKdm4kqPegTbONsmO/eE3AW+AB4jJXkpTuZLN949douB85Wk8VnPVRPF2qPMinDQ==', 'preamble': 85, 'sender': 22311, 'time': {'tow': 387144400, 'wn': 16905}, 'sid': {'sat': 133, 'code': 241}, 'update_interval': 254, 'iod_ssr': 132, 'biases': [{'code': 51, 'value': -31996}, {'code': 240, 'value': 21368}, {'code': 148, 'value': -10799}, {'code': 62, 'value': -5916}, {'code': 71, 'value': -17342}, {'code': 210, 'value': 13952}, {'code': 131, 'value': -32360}, {'code': 111, 'value': -3445}, {'code': 177, 'value': 11409}, {'code': 9, 'value': -12299}, {'code': 241, 'value': -26934}, {'code': 141, 'value': -24782}, {'code': 220, 'value': 9611}, {'code': 187, 'value': -16542}, {'code': 23, 'value': -30592}, {'code': 167, 'value': 1736}, {'code': 211, 'value': 5978}, {'code': 244, 'value': -10358}, {'code': 209, 'value': 3467}, {'code': 101, 'value': 1824}, {'code': 18, 'value': 17949}, {'code': 250, 'value': 18797}, {'code': 202, 'value': -28593}, {'code': 9, 'value': 17810}, {'code': 241, 'value': 5684}, {'code': 99, 'value': -13214}, {'code': 3, 'value': -6485}, {'code': 180, 'value': 15947}, {'code': 145, 'value': -32170}, {'code': 31, 'value': -25826}, {'code': 37, 'value': 14098}, {'code': 210, 'value': 32551}, {'code': 242, 'value': 3394}, {'code': 237, 'value': -21864}, {'code': 212, 'value': -2545}, {'code': 59, 'value': -19362}, {'code': 195, 'value': 17821}, {'code': 100, 'value': 4215}, {'code': 68, 'value': -20557}, {'code': 144, 'value': 20849}, {'code': 82, 'value': -26850}, {'code': 21, 'value': 10605}, {'code': 225, 'value': 19720}, {'code': 164, 'value': 157}, {'code': 73, 'value': 1566}, {'code': 78, 'value': -28847}, {'code': 116, 'value': -26640}, {'code': 55, 'value': -22087}, {'code': 254, 'value': 10035}, {'code': 74, 'value': -2129}, {'code': 34, 'value': 19041}, {'code': 97, 'value': 12464}, {'code': 236, 'value': 3245}, {'code': 174, 'value': -32155}, {'code': 30, 'value': -15959}, {'code': 190, 'value': -15156}, {'code': 123, 'value': 6507}, {'code': 225, 'value': 2378}, {'code': 10, 'value': 823}, {'code': 131, 'value': 25590}, {'code': 133, 'value': -7390}, {'code': 203, 'value': 4676}, {'code': 97, 'value': 23007}, {'code': 192, 'value': 13046}, {'code': 69, 'value': 2651}, {'code': 151, 'value': 30282}, {'code': 110, 'value': -22492}, {'code': 247, 'value': 19872}, {'code': 179, 'value': -19827}, {'code': 99, 'value': 30911}, {'code': 77, 'value': 23488}, {'code': 224, 'value': -7679}, {'code': 50, 'value': -28073}, {'code': 148, 'value': 25838}, {'code': 179, 'value': -7299}, {'code': 215, 'value': -18328}, {'code': 31, 'value': 23097}, {'code': 79, 'value': -25579}, {'code': 245, 'value': 15441}, {'code': 93, 'value': 15530}, {'code': 200, 'value': 3495}]} \ No newline at end of file + assert dictify(msg) == {'crc': 33917, 'length': 253, 'msg_type': 1505, 'payload': '0FoTFwlChfH+hDMEg/B4U5TR1T7k6EdCvNKANoOYgW+L8rGRLAn1z/HKlo0yn9yLJbtivxeAiKfIBtNaF/SK19GLDWUgBxIdRvptScpPkAmSRfE0FmNizAOr5rRLPpFWgh8emyUSN9Inf/JCDe2YqtQP9jtetMOdRWR3EESzr5BxUVIelxVtKeEITaSdAEkeBk5Rj3Twlze5qf4zJ0qv9yJhSmGwMOytDK5lgh6pwb7MxHtrGeFKCQo3A4P2Y4Ui48tEEmHfWcD2MkVbCpdKdm4kqPegTbONsmO/eE3AW+AB4jJXkpTuZLN949douB85Wk8VnPVRPF2qPMinDQ==', 'preamble': 85, 'sender': 22311, 'time': {'tow': 387144400, 'wn': 16905}, 'sid': {'sat': 133, 'code': 241}, 'update_interval': 254, 'iod_ssr': 132, 'biases': [{'code': 51, 'value': -31996}, {'code': 240, 'value': 21368}, {'code': 148, 'value': -10799}, {'code': 62, 'value': -5916}, {'code': 71, 'value': -17342}, {'code': 210, 'value': 13952}, {'code': 131, 'value': -32360}, {'code': 111, 'value': -3445}, {'code': 177, 'value': 11409}, {'code': 9, 'value': -12299}, {'code': 241, 'value': -26934}, {'code': 141, 'value': -24782}, {'code': 220, 'value': 9611}, {'code': 187, 'value': -16542}, {'code': 23, 'value': -30592}, {'code': 167, 'value': 1736}, {'code': 211, 'value': 5978}, {'code': 244, 'value': -10358}, {'code': 209, 'value': 3467}, {'code': 101, 'value': 1824}, {'code': 18, 'value': 17949}, {'code': 250, 'value': 18797}, {'code': 202, 'value': -28593}, {'code': 9, 'value': 17810}, {'code': 241, 'value': 5684}, {'code': 99, 'value': -13214}, {'code': 3, 'value': -6485}, {'code': 180, 'value': 15947}, {'code': 145, 'value': -32170}, {'code': 31, 'value': -25826}, {'code': 37, 'value': 14098}, {'code': 210, 'value': 32551}, {'code': 242, 'value': 3394}, {'code': 237, 'value': -21864}, {'code': 212, 'value': -2545}, {'code': 59, 'value': -19362}, {'code': 195, 'value': 17821}, {'code': 100, 'value': 4215}, {'code': 68, 'value': -20557}, {'code': 144, 'value': 20849}, {'code': 82, 'value': -26850}, {'code': 21, 'value': 10605}, {'code': 225, 'value': 19720}, {'code': 164, 'value': 157}, {'code': 73, 'value': 1566}, {'code': 78, 'value': -28847}, {'code': 116, 'value': -26640}, {'code': 55, 'value': -22087}, {'code': 254, 'value': 10035}, {'code': 74, 'value': -2129}, {'code': 34, 'value': 19041}, {'code': 97, 'value': 12464}, {'code': 236, 'value': 3245}, {'code': 174, 'value': -32155}, {'code': 30, 'value': -15959}, {'code': 190, 'value': -15156}, {'code': 123, 'value': 6507}, {'code': 225, 'value': 2378}, {'code': 10, 'value': 823}, {'code': 131, 'value': 25590}, {'code': 133, 'value': -7390}, {'code': 203, 'value': 4676}, {'code': 97, 'value': 23007}, {'code': 192, 'value': 13046}, {'code': 69, 'value': 2651}, {'code': 151, 'value': 30282}, {'code': 110, 'value': -22492}, {'code': 247, 'value': 19872}, {'code': 179, 'value': -19827}, {'code': 99, 'value': 30911}, {'code': 77, 'value': 23488}, {'code': 224, 'value': -7679}, {'code': 50, 'value': -28073}, {'code': 148, 'value': 25838}, {'code': 179, 'value': -7299}, {'code': 215, 'value': -18328}, {'code': 31, 'value': 23097}, {'code': 79, 'value': -25579}, {'code': 245, 'value': 15441}, {'code': 93, 'value': 15530}, {'code': 200, 'value': 3495}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.py index 2e078e54f5..26e5173a78 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrCodePhaseBiasesBounds.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ssr_msg_ssr_code_phase_biases_bounds_1(): assert dictify(msg.ssr_iod) == 15 - assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 1, 'sol_id': 14}, 'ssr_iod': 15, 'const_id': 1, 'n_sats_signals': 3, 'satellites_signals': [{'sat_id': 0, 'signal_id': 3, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}, {'sat_id': 1, 'signal_id': 3, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}, {'sat_id': 1, 'signal_id': 1, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}], 'preamble': 85, 'msg_type': 1516, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAAQIBDg8BAwADJwEnAQEDJwEnAQEBJwEnAQ==', 'crc': 28951} \ No newline at end of file + assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 1, 'sol_id': 14}, 'ssr_iod': 15, 'const_id': 1, 'n_sats_signals': 3, 'satellites_signals': [{'sat_id': 0, 'signal_id': 3, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}, {'sat_id': 1, 'signal_id': 3, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}, {'sat_id': 1, 'signal_id': 1, 'code_bias_bound_mu': 39, 'code_bias_bound_sig': 1, 'phase_bias_bound_mu': 39, 'phase_bias_bound_sig': 1}], 'preamble': 85, 'msg_type': 1516, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAAQIBDg8BAwADJwEnAQEDJwEnAQEBJwEnAQ==', 'crc': 28951} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.py index c2049b84cb..58fb75c878 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGridDefinitionDepA.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_ssr_msg_ssr_grid_definition_dep_a_1(): assert dictify(msg.rle_list) == [92, 104, 25, 204, 182, 22, 98, 203, 123, 211, 38, 13, 253, 129, 173, 171, 235, 253, 26, 203, 3, 120, 126, 42, 44, 39, 87, 69, 154, 13, 28, 179, 32, 47, 36, 195, 39, 198, 134, 235, 134, 57, 120, 243, 151, 35, 17, 201, 211, 125, 117, 164, 142, 101, 239, 144, 158, 239, 90, 56, 71, 120, 67, 221, 114, 10, 190, 4, 230, 164, 171, 78, 185, 90, 46, 177, 82, 228, 123, 222, 227, 145, 195, 219, 27, 56, 227, 246, 215, 144, 158, 31, 214, 241, 254, 200, 86, 142, 89, 12, 121, 29, 124, 9, 19, 153, 44, 35, 126, 14, 217, 65, 116, 26, 139, 122, 114, 90, 124, 81, 0, 186, 246, 46, 98, 179, 243, 198, 217, 36, 30, 202, 12, 135, 61, 42, 150, 221, 102, 83, 179, 43, 252, 81, 62, 126, 204, 195, 238, 18, 128, 193, 53, 94, 99, 63, 182, 2, 186, 220, 77, 186, 224, 220, 13, 212, 182, 88, 15, 151, 5, 93, 251, 164, 18, 228, 168, 226, 195, 44, 170, 145, 36, 58, 96, 107, 144, 11, 228, 12, 163, 238, 247, 159, 189, 1, 115, 65, 202, 121, 47, 193, 11, 96, 93, 72, 81, 207, 121, 19, 151, 136, 233, 51, 133, 195, 77, 44, 147, 206, 120, 252, 77, 212, 68, 60, 206, 106, 207, 243, 158, 94, 6, 3, 205, 92, 84, 2, 220, 50, 61, 38, 141, 117, 108, 101] - assert dictify(msg) == {'crc': 35660, 'length': 255, 'msg_type': 1525, 'payload': 'C1Sr5YSPLsw0XGgZzLYWYst70yYN/YGtq+v9GssDeH4qLCdXRZoNHLMgLyTDJ8aG64Y5ePOXIxHJ0311pI5l75Ce71o4R3hD3XIKvgTmpKtOuVousVLke97jkcPbGzjj9teQnh/W8f7IVo5ZDHkdfAkTmSwjfg7ZQXQai3pyWnxRALr2LmKz88bZJB7KDIc9KpbdZlOzK/xRPn7Mw+4SgME1XmM/tgK63E264NwN1LZYD5cFXfukEuSo4sMsqpEkOmBrkAvkDKPu95+9AXNBynkvwQtgXUhRz3kTl4jpM4XDTSyTznj8TdREPM5qz/OeXgYDzVxUAtwyPSaNdWxl', 'preamble': 85, 'sender': 63413, 'header': {'region_size_inverse': 11, 'area_width': 43860, 'lat_nw_corner_enc': 34021, 'lon_nw_corner_enc': 11919, 'num_msgs': 204, 'seq_num': 52}, 'rle_list': [92, 104, 25, 204, 182, 22, 98, 203, 123, 211, 38, 13, 253, 129, 173, 171, 235, 253, 26, 203, 3, 120, 126, 42, 44, 39, 87, 69, 154, 13, 28, 179, 32, 47, 36, 195, 39, 198, 134, 235, 134, 57, 120, 243, 151, 35, 17, 201, 211, 125, 117, 164, 142, 101, 239, 144, 158, 239, 90, 56, 71, 120, 67, 221, 114, 10, 190, 4, 230, 164, 171, 78, 185, 90, 46, 177, 82, 228, 123, 222, 227, 145, 195, 219, 27, 56, 227, 246, 215, 144, 158, 31, 214, 241, 254, 200, 86, 142, 89, 12, 121, 29, 124, 9, 19, 153, 44, 35, 126, 14, 217, 65, 116, 26, 139, 122, 114, 90, 124, 81, 0, 186, 246, 46, 98, 179, 243, 198, 217, 36, 30, 202, 12, 135, 61, 42, 150, 221, 102, 83, 179, 43, 252, 81, 62, 126, 204, 195, 238, 18, 128, 193, 53, 94, 99, 63, 182, 2, 186, 220, 77, 186, 224, 220, 13, 212, 182, 88, 15, 151, 5, 93, 251, 164, 18, 228, 168, 226, 195, 44, 170, 145, 36, 58, 96, 107, 144, 11, 228, 12, 163, 238, 247, 159, 189, 1, 115, 65, 202, 121, 47, 193, 11, 96, 93, 72, 81, 207, 121, 19, 151, 136, 233, 51, 133, 195, 77, 44, 147, 206, 120, 252, 77, 212, 68, 60, 206, 106, 207, 243, 158, 94, 6, 3, 205, 92, 84, 2, 220, 50, 61, 38, 141, 117, 108, 101]} \ No newline at end of file + assert dictify(msg) == {'crc': 35660, 'length': 255, 'msg_type': 1525, 'payload': 'C1Sr5YSPLsw0XGgZzLYWYst70yYN/YGtq+v9GssDeH4qLCdXRZoNHLMgLyTDJ8aG64Y5ePOXIxHJ0311pI5l75Ce71o4R3hD3XIKvgTmpKtOuVousVLke97jkcPbGzjj9teQnh/W8f7IVo5ZDHkdfAkTmSwjfg7ZQXQai3pyWnxRALr2LmKz88bZJB7KDIc9KpbdZlOzK/xRPn7Mw+4SgME1XmM/tgK63E264NwN1LZYD5cFXfukEuSo4sMsqpEkOmBrkAvkDKPu95+9AXNBynkvwQtgXUhRz3kTl4jpM4XDTSyTznj8TdREPM5qz/OeXgYDzVxUAtwyPSaNdWxl', 'preamble': 85, 'sender': 63413, 'header': {'region_size_inverse': 11, 'area_width': 43860, 'lat_nw_corner_enc': 34021, 'lon_nw_corner_enc': 11919, 'num_msgs': 204, 'seq_num': 52}, 'rle_list': [92, 104, 25, 204, 182, 22, 98, 203, 123, 211, 38, 13, 253, 129, 173, 171, 235, 253, 26, 203, 3, 120, 126, 42, 44, 39, 87, 69, 154, 13, 28, 179, 32, 47, 36, 195, 39, 198, 134, 235, 134, 57, 120, 243, 151, 35, 17, 201, 211, 125, 117, 164, 142, 101, 239, 144, 158, 239, 90, 56, 71, 120, 67, 221, 114, 10, 190, 4, 230, 164, 171, 78, 185, 90, 46, 177, 82, 228, 123, 222, 227, 145, 195, 219, 27, 56, 227, 246, 215, 144, 158, 31, 214, 241, 254, 200, 86, 142, 89, 12, 121, 29, 124, 9, 19, 153, 44, 35, 126, 14, 217, 65, 116, 26, 139, 122, 114, 90, 124, 81, 0, 186, 246, 46, 98, 179, 243, 198, 217, 36, 30, 202, 12, 135, 61, 42, 150, 221, 102, 83, 179, 43, 252, 81, 62, 126, 204, 195, 238, 18, 128, 193, 53, 94, 99, 63, 182, 2, 186, 220, 77, 186, 224, 220, 13, 212, 182, 88, 15, 151, 5, 93, 251, 164, 18, 228, 168, 226, 195, 44, 170, 145, 36, 58, 96, 107, 144, 11, 228, 12, 163, 238, 247, 159, 189, 1, 115, 65, 202, 121, 47, 193, 11, 96, 93, 72, 81, 207, 121, 19, 151, 136, 233, 51, 133, 195, 77, 44, 147, 206, 120, 252, 77, 212, 68, 60, 206, 106, 207, 243, 158, 94, 6, 3, 205, 92, 84, 2, 220, 50, 61, 38, 141, 117, 108, 101]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrection.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrection.py index a65e2fb907..5ab25ca96d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrection.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrection.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_ssr_msg_ssr_gridded_correction_1(): assert dictify(msg.tropo_delay_correction) == {'hydro': -3035, 'stddev': 72, 'wet': 78} - assert dictify(msg) == {'crc': 9138, 'length': 253, 'msg_type': 1532, 'payload': 'FQ6XMniFHZeu5Ze9zMRpqniVqSX0TkiMZQKtWEa0NphzTsmhF4eYYj1Lsnjlkjc6qermRay/f5JZlltv4SkRdzSmpng53QwDnEacI38IfzqAN3NQnXqZfBuAYmfMS+6A4pT4PdjQlafgKJC6neNI8GQjDNQHO7BRVhsYm0MrhC3LLAZwt+ewT8L992db4nSUFz7j8B3bzRLyz0hHTyUqsMnKW2lzkjtuLG2At7lDH6VcT720XgeieZzSLwcHza4p8YHSK2W60MPi97vboHjAZqYq9q1eZpzeHiP3QL2JzNwgR97eyfYDGS3773NY2grReEGvg8IprokRRBz9Kg==', 'preamble': 85, 'sender': 63940, 'header': {'tile_set_id': 3605, 'tile_id': 12951, 'time': {'tow': 2535294328, 'wn': 58798}, 'num_msgs': 48535, 'seq_num': 50380, 'update_interval': 105, 'iod_atmo': 170, 'tropo_quality_indicator': 120}, 'index': 43413, 'tropo_delay_correction': {'hydro': -3035, 'wet': 78, 'stddev': 72}, 'stec_residuals': [{'sv_id': {'sat_id': 140, 'constellation': 101}, 'residual': -21246, 'stddev': 88}, {'sv_id': {'sat_id': 70, 'constellation': 180}, 'residual': -26570, 'stddev': 115}, {'sv_id': {'sat_id': 78, 'constellation': 201}, 'residual': 6049, 'stddev': 135}, {'sv_id': {'sat_id': 152, 'constellation': 98}, 'residual': 19261, 'stddev': 178}, {'sv_id': {'sat_id': 120, 'constellation': 229}, 'residual': 14226, 'stddev': 58}, {'sv_id': {'sat_id': 169, 'constellation': 234}, 'residual': 17894, 'stddev': 172}, {'sv_id': {'sat_id': 191, 'constellation': 127}, 'residual': 22930, 'stddev': 150}, {'sv_id': {'sat_id': 91, 'constellation': 111}, 'residual': 10721, 'stddev': 17}, {'sv_id': {'sat_id': 119, 'constellation': 52}, 'residual': -22874, 'stddev': 120}, {'sv_id': {'sat_id': 57, 'constellation': 221}, 'residual': 780, 'stddev': 156}, {'sv_id': {'sat_id': 70, 'constellation': 156}, 'residual': 32547, 'stddev': 8}, {'sv_id': {'sat_id': 127, 'constellation': 58}, 'residual': 14208, 'stddev': 115}, {'sv_id': {'sat_id': 80, 'constellation': 157}, 'residual': -26246, 'stddev': 124}, {'sv_id': {'sat_id': 27, 'constellation': 128}, 'residual': 26466, 'stddev': 204}, {'sv_id': {'sat_id': 75, 'constellation': 238}, 'residual': -7552, 'stddev': 148}, {'sv_id': {'sat_id': 248, 'constellation': 61}, 'residual': -12072, 'stddev': 149}, {'sv_id': {'sat_id': 167, 'constellation': 224}, 'residual': -28632, 'stddev': 186}, {'sv_id': {'sat_id': 157, 'constellation': 227}, 'residual': -4024, 'stddev': 100}, {'sv_id': {'sat_id': 35, 'constellation': 12}, 'residual': 2004, 'stddev': 59}, {'sv_id': {'sat_id': 176, 'constellation': 81}, 'residual': 6998, 'stddev': 24}, {'sv_id': {'sat_id': 155, 'constellation': 67}, 'residual': -31701, 'stddev': 45}, {'sv_id': {'sat_id': 203, 'constellation': 44}, 'residual': 28678, 'stddev': 183}, {'sv_id': {'sat_id': 231, 'constellation': 176}, 'residual': -15793, 'stddev': 253}, {'sv_id': {'sat_id': 247, 'constellation': 103}, 'residual': -7589, 'stddev': 116}, {'sv_id': {'sat_id': 148, 'constellation': 23}, 'residual': -7362, 'stddev': 240}, {'sv_id': {'sat_id': 29, 'constellation': 219}, 'residual': 4813, 'stddev': 242}, {'sv_id': {'sat_id': 207, 'constellation': 72}, 'residual': 20295, 'stddev': 37}, {'sv_id': {'sat_id': 42, 'constellation': 176}, 'residual': -13623, 'stddev': 91}, {'sv_id': {'sat_id': 105, 'constellation': 115}, 'residual': 15250, 'stddev': 110}, {'sv_id': {'sat_id': 44, 'constellation': 109}, 'residual': -18560, 'stddev': 185}, {'sv_id': {'sat_id': 67, 'constellation': 31}, 'residual': 23717, 'stddev': 79}, {'sv_id': {'sat_id': 189, 'constellation': 180}, 'residual': 1886, 'stddev': 162}, {'sv_id': {'sat_id': 121, 'constellation': 156}, 'residual': 12242, 'stddev': 7}, {'sv_id': {'sat_id': 7, 'constellation': 205}, 'residual': 10670, 'stddev': 241}, {'sv_id': {'sat_id': 129, 'constellation': 210}, 'residual': 25899, 'stddev': 186}, {'sv_id': {'sat_id': 208, 'constellation': 195}, 'residual': -2078, 'stddev': 187}, {'sv_id': {'sat_id': 219, 'constellation': 160}, 'residual': -16264, 'stddev': 102}, {'sv_id': {'sat_id': 166, 'constellation': 42}, 'residual': -21002, 'stddev': 94}, {'sv_id': {'sat_id': 102, 'constellation': 156}, 'residual': 7902, 'stddev': 35}, {'sv_id': {'sat_id': 247, 'constellation': 64}, 'residual': -30275, 'stddev': 204}, {'sv_id': {'sat_id': 220, 'constellation': 32}, 'residual': -8633, 'stddev': 222}, {'sv_id': {'sat_id': 201, 'constellation': 246}, 'residual': 6403, 'stddev': 45}, {'sv_id': {'sat_id': 251, 'constellation': 239}, 'residual': 22643, 'stddev': 218}, {'sv_id': {'sat_id': 10, 'constellation': 209}, 'residual': 16760, 'stddev': 175}, {'sv_id': {'sat_id': 131, 'constellation': 194}, 'residual': -20951, 'stddev': 137}, {'sv_id': {'sat_id': 17, 'constellation': 68}, 'residual': -740, 'stddev': 42}]} \ No newline at end of file + assert dictify(msg) == {'crc': 9138, 'length': 253, 'msg_type': 1532, 'payload': 'FQ6XMniFHZeu5Ze9zMRpqniVqSX0TkiMZQKtWEa0NphzTsmhF4eYYj1Lsnjlkjc6qermRay/f5JZlltv4SkRdzSmpng53QwDnEacI38IfzqAN3NQnXqZfBuAYmfMS+6A4pT4PdjQlafgKJC6neNI8GQjDNQHO7BRVhsYm0MrhC3LLAZwt+ewT8L992db4nSUFz7j8B3bzRLyz0hHTyUqsMnKW2lzkjtuLG2At7lDH6VcT720XgeieZzSLwcHza4p8YHSK2W60MPi97vboHjAZqYq9q1eZpzeHiP3QL2JzNwgR97eyfYDGS3773NY2grReEGvg8IprokRRBz9Kg==', 'preamble': 85, 'sender': 63940, 'header': {'tile_set_id': 3605, 'tile_id': 12951, 'time': {'tow': 2535294328, 'wn': 58798}, 'num_msgs': 48535, 'seq_num': 50380, 'update_interval': 105, 'iod_atmo': 170, 'tropo_quality_indicator': 120}, 'index': 43413, 'tropo_delay_correction': {'hydro': -3035, 'wet': 78, 'stddev': 72}, 'stec_residuals': [{'sv_id': {'sat_id': 140, 'constellation': 101}, 'residual': -21246, 'stddev': 88}, {'sv_id': {'sat_id': 70, 'constellation': 180}, 'residual': -26570, 'stddev': 115}, {'sv_id': {'sat_id': 78, 'constellation': 201}, 'residual': 6049, 'stddev': 135}, {'sv_id': {'sat_id': 152, 'constellation': 98}, 'residual': 19261, 'stddev': 178}, {'sv_id': {'sat_id': 120, 'constellation': 229}, 'residual': 14226, 'stddev': 58}, {'sv_id': {'sat_id': 169, 'constellation': 234}, 'residual': 17894, 'stddev': 172}, {'sv_id': {'sat_id': 191, 'constellation': 127}, 'residual': 22930, 'stddev': 150}, {'sv_id': {'sat_id': 91, 'constellation': 111}, 'residual': 10721, 'stddev': 17}, {'sv_id': {'sat_id': 119, 'constellation': 52}, 'residual': -22874, 'stddev': 120}, {'sv_id': {'sat_id': 57, 'constellation': 221}, 'residual': 780, 'stddev': 156}, {'sv_id': {'sat_id': 70, 'constellation': 156}, 'residual': 32547, 'stddev': 8}, {'sv_id': {'sat_id': 127, 'constellation': 58}, 'residual': 14208, 'stddev': 115}, {'sv_id': {'sat_id': 80, 'constellation': 157}, 'residual': -26246, 'stddev': 124}, {'sv_id': {'sat_id': 27, 'constellation': 128}, 'residual': 26466, 'stddev': 204}, {'sv_id': {'sat_id': 75, 'constellation': 238}, 'residual': -7552, 'stddev': 148}, {'sv_id': {'sat_id': 248, 'constellation': 61}, 'residual': -12072, 'stddev': 149}, {'sv_id': {'sat_id': 167, 'constellation': 224}, 'residual': -28632, 'stddev': 186}, {'sv_id': {'sat_id': 157, 'constellation': 227}, 'residual': -4024, 'stddev': 100}, {'sv_id': {'sat_id': 35, 'constellation': 12}, 'residual': 2004, 'stddev': 59}, {'sv_id': {'sat_id': 176, 'constellation': 81}, 'residual': 6998, 'stddev': 24}, {'sv_id': {'sat_id': 155, 'constellation': 67}, 'residual': -31701, 'stddev': 45}, {'sv_id': {'sat_id': 203, 'constellation': 44}, 'residual': 28678, 'stddev': 183}, {'sv_id': {'sat_id': 231, 'constellation': 176}, 'residual': -15793, 'stddev': 253}, {'sv_id': {'sat_id': 247, 'constellation': 103}, 'residual': -7589, 'stddev': 116}, {'sv_id': {'sat_id': 148, 'constellation': 23}, 'residual': -7362, 'stddev': 240}, {'sv_id': {'sat_id': 29, 'constellation': 219}, 'residual': 4813, 'stddev': 242}, {'sv_id': {'sat_id': 207, 'constellation': 72}, 'residual': 20295, 'stddev': 37}, {'sv_id': {'sat_id': 42, 'constellation': 176}, 'residual': -13623, 'stddev': 91}, {'sv_id': {'sat_id': 105, 'constellation': 115}, 'residual': 15250, 'stddev': 110}, {'sv_id': {'sat_id': 44, 'constellation': 109}, 'residual': -18560, 'stddev': 185}, {'sv_id': {'sat_id': 67, 'constellation': 31}, 'residual': 23717, 'stddev': 79}, {'sv_id': {'sat_id': 189, 'constellation': 180}, 'residual': 1886, 'stddev': 162}, {'sv_id': {'sat_id': 121, 'constellation': 156}, 'residual': 12242, 'stddev': 7}, {'sv_id': {'sat_id': 7, 'constellation': 205}, 'residual': 10670, 'stddev': 241}, {'sv_id': {'sat_id': 129, 'constellation': 210}, 'residual': 25899, 'stddev': 186}, {'sv_id': {'sat_id': 208, 'constellation': 195}, 'residual': -2078, 'stddev': 187}, {'sv_id': {'sat_id': 219, 'constellation': 160}, 'residual': -16264, 'stddev': 102}, {'sv_id': {'sat_id': 166, 'constellation': 42}, 'residual': -21002, 'stddev': 94}, {'sv_id': {'sat_id': 102, 'constellation': 156}, 'residual': 7902, 'stddev': 35}, {'sv_id': {'sat_id': 247, 'constellation': 64}, 'residual': -30275, 'stddev': 204}, {'sv_id': {'sat_id': 220, 'constellation': 32}, 'residual': -8633, 'stddev': 222}, {'sv_id': {'sat_id': 201, 'constellation': 246}, 'residual': 6403, 'stddev': 45}, {'sv_id': {'sat_id': 251, 'constellation': 239}, 'residual': 22643, 'stddev': 218}, {'sv_id': {'sat_id': 10, 'constellation': 209}, 'residual': 16760, 'stddev': 175}, {'sv_id': {'sat_id': 131, 'constellation': 194}, 'residual': -20951, 'stddev': 137}, {'sv_id': {'sat_id': 17, 'constellation': 68}, 'residual': -740, 'stddev': 42}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.py index 069e2cc5b6..bc902d718f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionBounds.py @@ -108,4 +108,4 @@ def test_auto_check_sbp_ssr_msg_ssr_gridded_correction_bounds_2(): assert dictify(msg.tropo_v_wet_bound_sig) == 100 - assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 0, 'update_interval': 10, 'sol_id': 0}, 'ssr_iod_atmo': 15, 'tile_set_id': 1, 'tile_id': 10, 'tropo_qi': 39, 'grid_point_id': 1000, 'tropo_delay_correction': {'hydro': 500, 'wet': 100, 'stddev': 200}, 'tropo_v_hydro_bound_mu': 150, 'tropo_v_hydro_bound_sig': 100, 'tropo_v_wet_bound_mu': 150, 'tropo_v_wet_bound_sig': 100, 'n_sats': 0, 'stec_sat_list': [], 'preamble': 85, 'msg_type': 1534, 'sender': 66, 'length': 27, 'payload': 'tAAAAAMAAQAKAA8BAAoAJ+gD9AFkyJZklmQA', 'crc': 9371} \ No newline at end of file + assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 0, 'update_interval': 10, 'sol_id': 0}, 'ssr_iod_atmo': 15, 'tile_set_id': 1, 'tile_id': 10, 'tropo_qi': 39, 'grid_point_id': 1000, 'tropo_delay_correction': {'hydro': 500, 'wet': 100, 'stddev': 200}, 'tropo_v_hydro_bound_mu': 150, 'tropo_v_hydro_bound_sig': 100, 'tropo_v_wet_bound_mu': 150, 'tropo_v_wet_bound_sig': 100, 'n_sats': 0, 'stec_sat_list': [], 'preamble': 85, 'msg_type': 1534, 'sender': 66, 'length': 27, 'payload': 'tAAAAAMAAQAKAA8BAAoAJ+gD9AFkyJZklmQA', 'crc': 9371} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.py index c9e2d6cb9a..d5896a2723 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionDepA.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_ssr_msg_ssr_gridded_correction_dep_a_1(): assert dictify(msg.tropo_delay_correction) == {'hydro': 10643, 'stddev': 92, 'wet': 33} - assert dictify(msg) == {'crc': 55463, 'length': 254, 'msg_type': 1530, 'payload': 'pNksNWJdP5No/IX1HF9kkykhXFcZjpdKl19eB5LtLadWKnTgqercF7ASDbJPoKBuDzXOl54WdbgwqlIoNXpFtG4mQWj0E+7jWKmkkj8lt1VH66hy02ndnDwS5gKOrBAnIX5qY7zqKaLFiuNQDDZD7gVdAc+BDS5zMTq5f5zIYNnKD/U3xlHahEZJUpMa/w6GYIo31lOcqqNPreRzM/Fr9XCo0goFdQE5bPjUkXfipQWNymoAPCQ988vY1wyJEBz3c5i1d9Dky+wip8QgbQERZcgZXn2oiZ0EpB0fMIRI5X66REyFFQC0i6SUd5XWeLHJUFBpCoh2TS7p6eMLnmc=', 'preamble': 85, 'sender': 27244, 'header': {'time': {'tow': 892131748, 'wn': 23906}, 'num_msgs': 37695, 'seq_num': 64616, 'update_interval': 133, 'iod_atmo': 245, 'tropo_quality_indicator': 28}, 'index': 25695, 'tropo_delay_correction': {'hydro': 10643, 'wet': 33, 'stddev': 92}, 'stec_residuals': [{'sv_id': {'sat_id': 87, 'constellation': 25}, 'residual': -26738, 'stddev': 74}, {'sv_id': {'sat_id': 151, 'constellation': 95}, 'residual': 1886, 'stddev': 146}, {'sv_id': {'sat_id': 237, 'constellation': 45}, 'residual': 22183, 'stddev': 42}, {'sv_id': {'sat_id': 116, 'constellation': 224}, 'residual': -5463, 'stddev': 220}, {'sv_id': {'sat_id': 23, 'constellation': 176}, 'residual': 3346, 'stddev': 178}, {'sv_id': {'sat_id': 79, 'constellation': 160}, 'residual': 28320, 'stddev': 15}, {'sv_id': {'sat_id': 53, 'constellation': 206}, 'residual': -24937, 'stddev': 22}, {'sv_id': {'sat_id': 117, 'constellation': 184}, 'residual': -21968, 'stddev': 82}, {'sv_id': {'sat_id': 40, 'constellation': 53}, 'residual': 17786, 'stddev': 180}, {'sv_id': {'sat_id': 110, 'constellation': 38}, 'residual': 26689, 'stddev': 244}, {'sv_id': {'sat_id': 19, 'constellation': 238}, 'residual': 22755, 'stddev': 169}, {'sv_id': {'sat_id': 164, 'constellation': 146}, 'residual': 9535, 'stddev': 183}, {'sv_id': {'sat_id': 85, 'constellation': 71}, 'residual': -22293, 'stddev': 114}, {'sv_id': {'sat_id': 211, 'constellation': 105}, 'residual': -25379, 'stddev': 60}, {'sv_id': {'sat_id': 18, 'constellation': 230}, 'residual': -29182, 'stddev': 172}, {'sv_id': {'sat_id': 16, 'constellation': 39}, 'residual': 32289, 'stddev': 106}, {'sv_id': {'sat_id': 99, 'constellation': 188}, 'residual': 10730, 'stddev': 162}, {'sv_id': {'sat_id': 197, 'constellation': 138}, 'residual': 20707, 'stddev': 12}, {'sv_id': {'sat_id': 54, 'constellation': 67}, 'residual': 1518, 'stddev': 93}, {'sv_id': {'sat_id': 1, 'constellation': 207}, 'residual': 3457, 'stddev': 46}, {'sv_id': {'sat_id': 115, 'constellation': 49}, 'residual': -18118, 'stddev': 127}, {'sv_id': {'sat_id': 156, 'constellation': 200}, 'residual': -9888, 'stddev': 202}, {'sv_id': {'sat_id': 15, 'constellation': 245}, 'residual': -14793, 'stddev': 81}, {'sv_id': {'sat_id': 218, 'constellation': 132}, 'residual': 18758, 'stddev': 82}, {'sv_id': {'sat_id': 147, 'constellation': 26}, 'residual': 3839, 'stddev': 134}, {'sv_id': {'sat_id': 96, 'constellation': 138}, 'residual': -10697, 'stddev': 83}, {'sv_id': {'sat_id': 156, 'constellation': 170}, 'residual': 20387, 'stddev': 173}, {'sv_id': {'sat_id': 228, 'constellation': 115}, 'residual': -3789, 'stddev': 107}, {'sv_id': {'sat_id': 245, 'constellation': 112}, 'residual': -11608, 'stddev': 10}, {'sv_id': {'sat_id': 5, 'constellation': 117}, 'residual': 14593, 'stddev': 108}, {'sv_id': {'sat_id': 248, 'constellation': 212}, 'residual': 30609, 'stddev': 226}, {'sv_id': {'sat_id': 165, 'constellation': 5}, 'residual': -13683, 'stddev': 106}, {'sv_id': {'sat_id': 0, 'constellation': 60}, 'residual': 15652, 'stddev': 243}, {'sv_id': {'sat_id': 203, 'constellation': 216}, 'residual': 3287, 'stddev': 137}, {'sv_id': {'sat_id': 16, 'constellation': 28}, 'residual': 29687, 'stddev': 152}, {'sv_id': {'sat_id': 181, 'constellation': 119}, 'residual': -6960, 'stddev': 203}, {'sv_id': {'sat_id': 236, 'constellation': 34}, 'residual': -15193, 'stddev': 32}, {'sv_id': {'sat_id': 109, 'constellation': 1}, 'residual': 25873, 'stddev': 200}, {'sv_id': {'sat_id': 25, 'constellation': 94}, 'residual': -22403, 'stddev': 137}, {'sv_id': {'sat_id': 157, 'constellation': 4}, 'residual': 7588, 'stddev': 31}, {'sv_id': {'sat_id': 48, 'constellation': 132}, 'residual': -6840, 'stddev': 126}, {'sv_id': {'sat_id': 186, 'constellation': 68}, 'residual': -31412, 'stddev': 21}, {'sv_id': {'sat_id': 0, 'constellation': 180}, 'residual': -23413, 'stddev': 148}, {'sv_id': {'sat_id': 119, 'constellation': 149}, 'residual': 30934, 'stddev': 177}, {'sv_id': {'sat_id': 201, 'constellation': 80}, 'residual': 26960, 'stddev': 10}, {'sv_id': {'sat_id': 136, 'constellation': 118}, 'residual': 11853, 'stddev': 233}, {'sv_id': {'sat_id': 233, 'constellation': 227}, 'residual': -25077, 'stddev': 103}]} \ No newline at end of file + assert dictify(msg) == {'crc': 55463, 'length': 254, 'msg_type': 1530, 'payload': 'pNksNWJdP5No/IX1HF9kkykhXFcZjpdKl19eB5LtLadWKnTgqercF7ASDbJPoKBuDzXOl54WdbgwqlIoNXpFtG4mQWj0E+7jWKmkkj8lt1VH66hy02ndnDwS5gKOrBAnIX5qY7zqKaLFiuNQDDZD7gVdAc+BDS5zMTq5f5zIYNnKD/U3xlHahEZJUpMa/w6GYIo31lOcqqNPreRzM/Fr9XCo0goFdQE5bPjUkXfipQWNymoAPCQ988vY1wyJEBz3c5i1d9Dky+wip8QgbQERZcgZXn2oiZ0EpB0fMIRI5X66REyFFQC0i6SUd5XWeLHJUFBpCoh2TS7p6eMLnmc=', 'preamble': 85, 'sender': 27244, 'header': {'time': {'tow': 892131748, 'wn': 23906}, 'num_msgs': 37695, 'seq_num': 64616, 'update_interval': 133, 'iod_atmo': 245, 'tropo_quality_indicator': 28}, 'index': 25695, 'tropo_delay_correction': {'hydro': 10643, 'wet': 33, 'stddev': 92}, 'stec_residuals': [{'sv_id': {'sat_id': 87, 'constellation': 25}, 'residual': -26738, 'stddev': 74}, {'sv_id': {'sat_id': 151, 'constellation': 95}, 'residual': 1886, 'stddev': 146}, {'sv_id': {'sat_id': 237, 'constellation': 45}, 'residual': 22183, 'stddev': 42}, {'sv_id': {'sat_id': 116, 'constellation': 224}, 'residual': -5463, 'stddev': 220}, {'sv_id': {'sat_id': 23, 'constellation': 176}, 'residual': 3346, 'stddev': 178}, {'sv_id': {'sat_id': 79, 'constellation': 160}, 'residual': 28320, 'stddev': 15}, {'sv_id': {'sat_id': 53, 'constellation': 206}, 'residual': -24937, 'stddev': 22}, {'sv_id': {'sat_id': 117, 'constellation': 184}, 'residual': -21968, 'stddev': 82}, {'sv_id': {'sat_id': 40, 'constellation': 53}, 'residual': 17786, 'stddev': 180}, {'sv_id': {'sat_id': 110, 'constellation': 38}, 'residual': 26689, 'stddev': 244}, {'sv_id': {'sat_id': 19, 'constellation': 238}, 'residual': 22755, 'stddev': 169}, {'sv_id': {'sat_id': 164, 'constellation': 146}, 'residual': 9535, 'stddev': 183}, {'sv_id': {'sat_id': 85, 'constellation': 71}, 'residual': -22293, 'stddev': 114}, {'sv_id': {'sat_id': 211, 'constellation': 105}, 'residual': -25379, 'stddev': 60}, {'sv_id': {'sat_id': 18, 'constellation': 230}, 'residual': -29182, 'stddev': 172}, {'sv_id': {'sat_id': 16, 'constellation': 39}, 'residual': 32289, 'stddev': 106}, {'sv_id': {'sat_id': 99, 'constellation': 188}, 'residual': 10730, 'stddev': 162}, {'sv_id': {'sat_id': 197, 'constellation': 138}, 'residual': 20707, 'stddev': 12}, {'sv_id': {'sat_id': 54, 'constellation': 67}, 'residual': 1518, 'stddev': 93}, {'sv_id': {'sat_id': 1, 'constellation': 207}, 'residual': 3457, 'stddev': 46}, {'sv_id': {'sat_id': 115, 'constellation': 49}, 'residual': -18118, 'stddev': 127}, {'sv_id': {'sat_id': 156, 'constellation': 200}, 'residual': -9888, 'stddev': 202}, {'sv_id': {'sat_id': 15, 'constellation': 245}, 'residual': -14793, 'stddev': 81}, {'sv_id': {'sat_id': 218, 'constellation': 132}, 'residual': 18758, 'stddev': 82}, {'sv_id': {'sat_id': 147, 'constellation': 26}, 'residual': 3839, 'stddev': 134}, {'sv_id': {'sat_id': 96, 'constellation': 138}, 'residual': -10697, 'stddev': 83}, {'sv_id': {'sat_id': 156, 'constellation': 170}, 'residual': 20387, 'stddev': 173}, {'sv_id': {'sat_id': 228, 'constellation': 115}, 'residual': -3789, 'stddev': 107}, {'sv_id': {'sat_id': 245, 'constellation': 112}, 'residual': -11608, 'stddev': 10}, {'sv_id': {'sat_id': 5, 'constellation': 117}, 'residual': 14593, 'stddev': 108}, {'sv_id': {'sat_id': 248, 'constellation': 212}, 'residual': 30609, 'stddev': 226}, {'sv_id': {'sat_id': 165, 'constellation': 5}, 'residual': -13683, 'stddev': 106}, {'sv_id': {'sat_id': 0, 'constellation': 60}, 'residual': 15652, 'stddev': 243}, {'sv_id': {'sat_id': 203, 'constellation': 216}, 'residual': 3287, 'stddev': 137}, {'sv_id': {'sat_id': 16, 'constellation': 28}, 'residual': 29687, 'stddev': 152}, {'sv_id': {'sat_id': 181, 'constellation': 119}, 'residual': -6960, 'stddev': 203}, {'sv_id': {'sat_id': 236, 'constellation': 34}, 'residual': -15193, 'stddev': 32}, {'sv_id': {'sat_id': 109, 'constellation': 1}, 'residual': 25873, 'stddev': 200}, {'sv_id': {'sat_id': 25, 'constellation': 94}, 'residual': -22403, 'stddev': 137}, {'sv_id': {'sat_id': 157, 'constellation': 4}, 'residual': 7588, 'stddev': 31}, {'sv_id': {'sat_id': 48, 'constellation': 132}, 'residual': -6840, 'stddev': 126}, {'sv_id': {'sat_id': 186, 'constellation': 68}, 'residual': -31412, 'stddev': 21}, {'sv_id': {'sat_id': 0, 'constellation': 180}, 'residual': -23413, 'stddev': 148}, {'sv_id': {'sat_id': 119, 'constellation': 149}, 'residual': 30934, 'stddev': 177}, {'sv_id': {'sat_id': 201, 'constellation': 80}, 'residual': 26960, 'stddev': 10}, {'sv_id': {'sat_id': 136, 'constellation': 118}, 'residual': 11853, 'stddev': 233}, {'sv_id': {'sat_id': 233, 'constellation': 227}, 'residual': -25077, 'stddev': 103}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.py index caf1a7b9c2..ca44326492 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrGriddedCorrectionNoStdDepA.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_ssr_msg_ssr_gridded_correction_no_std_dep_a_1(): assert dictify(msg.tropo_delay_correction) == {'hydro': 16250, 'wet': 101} - assert dictify(msg) == {'crc': 20941, 'length': 254, 'msg_type': 1520, 'payload': 's/AhqewidfVD+Ons5uZnej9l551zosWSI2vebTQpVgztuEHMiZSrtwsAtMusNcRVunPLXKYeKg3IR2KJ26Bf2F/6Y8Rc1p/9w97pkuk/TBhqKP1BCbco17w7dUVhczw4AI3PqzahFz0AV+Z7VyS4/w6ju+Arl5doJzkFNjDgtYE8XKtybW0MF3YIQJ822CEUGESgJCbekb5cY2yf6PDj3f0PPhd5uah0BJN7SN934vKhzLTKiaY6GHwTtbwQa0LnPwFA/HM+6WH6VpzdMbIgScZD+f1KOCald1xjLF+DWcDhN1+rWM0VdOdTR0dkbtn+mNQSCCid9DZI8Oe9b8M=', 'preamble': 85, 'sender': 7270, 'header': {'time': {'tow': 2837573811, 'wn': 8940}, 'num_msgs': 62837, 'seq_num': 63555, 'update_interval': 233, 'iod_atmo': 236, 'tropo_quality_indicator': 230}, 'index': 26598, 'tropo_delay_correction': {'hydro': 16250, 'wet': 101}, 'stec_residuals': [{'sv_id': {'sat_id': 231, 'constellation': 157}, 'residual': -23949}, {'sv_id': {'sat_id': 197, 'constellation': 146}, 'residual': 27427}, {'sv_id': {'sat_id': 222, 'constellation': 109}, 'residual': 10548}, {'sv_id': {'sat_id': 86, 'constellation': 12}, 'residual': -18195}, {'sv_id': {'sat_id': 65, 'constellation': 204}, 'residual': -27511}, {'sv_id': {'sat_id': 171, 'constellation': 183}, 'residual': 11}, {'sv_id': {'sat_id': 180, 'constellation': 203}, 'residual': 13740}, {'sv_id': {'sat_id': 196, 'constellation': 85}, 'residual': 29626}, {'sv_id': {'sat_id': 203, 'constellation': 92}, 'residual': 7846}, {'sv_id': {'sat_id': 42, 'constellation': 13}, 'residual': 18376}, {'sv_id': {'sat_id': 98, 'constellation': 137}, 'residual': -24357}, {'sv_id': {'sat_id': 95, 'constellation': 216}, 'residual': -1441}, {'sv_id': {'sat_id': 99, 'constellation': 196}, 'residual': -10660}, {'sv_id': {'sat_id': 159, 'constellation': 253}, 'residual': -8509}, {'sv_id': {'sat_id': 233, 'constellation': 146}, 'residual': 16361}, {'sv_id': {'sat_id': 76, 'constellation': 24}, 'residual': 10346}, {'sv_id': {'sat_id': 253, 'constellation': 65}, 'residual': -18679}, {'sv_id': {'sat_id': 40, 'constellation': 215}, 'residual': 15292}, {'sv_id': {'sat_id': 117, 'constellation': 69}, 'residual': 29537}, {'sv_id': {'sat_id': 60, 'constellation': 56}, 'residual': -29440}, {'sv_id': {'sat_id': 207, 'constellation': 171}, 'residual': -24266}, {'sv_id': {'sat_id': 23, 'constellation': 61}, 'residual': 22272}, {'sv_id': {'sat_id': 230, 'constellation': 123}, 'residual': 9303}, {'sv_id': {'sat_id': 184, 'constellation': 255}, 'residual': -23794}, {'sv_id': {'sat_id': 187, 'constellation': 224}, 'residual': -26837}, {'sv_id': {'sat_id': 151, 'constellation': 104}, 'residual': 14631}, {'sv_id': {'sat_id': 5, 'constellation': 54}, 'residual': -8144}, {'sv_id': {'sat_id': 181, 'constellation': 129}, 'residual': 23612}, {'sv_id': {'sat_id': 171, 'constellation': 114}, 'residual': 28013}, {'sv_id': {'sat_id': 12, 'constellation': 23}, 'residual': 2166}, {'sv_id': {'sat_id': 64, 'constellation': 159}, 'residual': -10186}, {'sv_id': {'sat_id': 33, 'constellation': 20}, 'residual': 17432}, {'sv_id': {'sat_id': 160, 'constellation': 36}, 'residual': -8666}, {'sv_id': {'sat_id': 145, 'constellation': 190}, 'residual': 25436}, {'sv_id': {'sat_id': 108, 'constellation': 159}, 'residual': -3864}, {'sv_id': {'sat_id': 227, 'constellation': 221}, 'residual': 4093}, {'sv_id': {'sat_id': 62, 'constellation': 23}, 'residual': -18055}, {'sv_id': {'sat_id': 168, 'constellation': 116}, 'residual': -27900}, {'sv_id': {'sat_id': 123, 'constellation': 72}, 'residual': 30687}, {'sv_id': {'sat_id': 226, 'constellation': 242}, 'residual': -13151}, {'sv_id': {'sat_id': 180, 'constellation': 202}, 'residual': -22903}, {'sv_id': {'sat_id': 58, 'constellation': 24}, 'residual': 4988}, {'sv_id': {'sat_id': 181, 'constellation': 188}, 'residual': 27408}, {'sv_id': {'sat_id': 66, 'constellation': 231}, 'residual': 319}, {'sv_id': {'sat_id': 64, 'constellation': 252}, 'residual': 15987}, {'sv_id': {'sat_id': 233, 'constellation': 97}, 'residual': 22266}, {'sv_id': {'sat_id': 156, 'constellation': 221}, 'residual': -19919}, {'sv_id': {'sat_id': 32, 'constellation': 73}, 'residual': 17350}, {'sv_id': {'sat_id': 249, 'constellation': 253}, 'residual': 14410}, {'sv_id': {'sat_id': 38, 'constellation': 165}, 'residual': 23671}, {'sv_id': {'sat_id': 99, 'constellation': 44}, 'residual': -31905}, {'sv_id': {'sat_id': 89, 'constellation': 192}, 'residual': 14305}, {'sv_id': {'sat_id': 95, 'constellation': 171}, 'residual': -12968}, {'sv_id': {'sat_id': 21, 'constellation': 116}, 'residual': 21479}, {'sv_id': {'sat_id': 71, 'constellation': 71}, 'residual': 28260}, {'sv_id': {'sat_id': 217, 'constellation': 254}, 'residual': -11112}, {'sv_id': {'sat_id': 18, 'constellation': 8}, 'residual': -25304}, {'sv_id': {'sat_id': 244, 'constellation': 54}, 'residual': -4024}, {'sv_id': {'sat_id': 231, 'constellation': 189}, 'residual': -15505}]} \ No newline at end of file + assert dictify(msg) == {'crc': 20941, 'length': 254, 'msg_type': 1520, 'payload': 's/AhqewidfVD+Ons5uZnej9l551zosWSI2vebTQpVgztuEHMiZSrtwsAtMusNcRVunPLXKYeKg3IR2KJ26Bf2F/6Y8Rc1p/9w97pkuk/TBhqKP1BCbco17w7dUVhczw4AI3PqzahFz0AV+Z7VyS4/w6ju+Arl5doJzkFNjDgtYE8XKtybW0MF3YIQJ822CEUGESgJCbekb5cY2yf6PDj3f0PPhd5uah0BJN7SN934vKhzLTKiaY6GHwTtbwQa0LnPwFA/HM+6WH6VpzdMbIgScZD+f1KOCald1xjLF+DWcDhN1+rWM0VdOdTR0dkbtn+mNQSCCid9DZI8Oe9b8M=', 'preamble': 85, 'sender': 7270, 'header': {'time': {'tow': 2837573811, 'wn': 8940}, 'num_msgs': 62837, 'seq_num': 63555, 'update_interval': 233, 'iod_atmo': 236, 'tropo_quality_indicator': 230}, 'index': 26598, 'tropo_delay_correction': {'hydro': 16250, 'wet': 101}, 'stec_residuals': [{'sv_id': {'sat_id': 231, 'constellation': 157}, 'residual': -23949}, {'sv_id': {'sat_id': 197, 'constellation': 146}, 'residual': 27427}, {'sv_id': {'sat_id': 222, 'constellation': 109}, 'residual': 10548}, {'sv_id': {'sat_id': 86, 'constellation': 12}, 'residual': -18195}, {'sv_id': {'sat_id': 65, 'constellation': 204}, 'residual': -27511}, {'sv_id': {'sat_id': 171, 'constellation': 183}, 'residual': 11}, {'sv_id': {'sat_id': 180, 'constellation': 203}, 'residual': 13740}, {'sv_id': {'sat_id': 196, 'constellation': 85}, 'residual': 29626}, {'sv_id': {'sat_id': 203, 'constellation': 92}, 'residual': 7846}, {'sv_id': {'sat_id': 42, 'constellation': 13}, 'residual': 18376}, {'sv_id': {'sat_id': 98, 'constellation': 137}, 'residual': -24357}, {'sv_id': {'sat_id': 95, 'constellation': 216}, 'residual': -1441}, {'sv_id': {'sat_id': 99, 'constellation': 196}, 'residual': -10660}, {'sv_id': {'sat_id': 159, 'constellation': 253}, 'residual': -8509}, {'sv_id': {'sat_id': 233, 'constellation': 146}, 'residual': 16361}, {'sv_id': {'sat_id': 76, 'constellation': 24}, 'residual': 10346}, {'sv_id': {'sat_id': 253, 'constellation': 65}, 'residual': -18679}, {'sv_id': {'sat_id': 40, 'constellation': 215}, 'residual': 15292}, {'sv_id': {'sat_id': 117, 'constellation': 69}, 'residual': 29537}, {'sv_id': {'sat_id': 60, 'constellation': 56}, 'residual': -29440}, {'sv_id': {'sat_id': 207, 'constellation': 171}, 'residual': -24266}, {'sv_id': {'sat_id': 23, 'constellation': 61}, 'residual': 22272}, {'sv_id': {'sat_id': 230, 'constellation': 123}, 'residual': 9303}, {'sv_id': {'sat_id': 184, 'constellation': 255}, 'residual': -23794}, {'sv_id': {'sat_id': 187, 'constellation': 224}, 'residual': -26837}, {'sv_id': {'sat_id': 151, 'constellation': 104}, 'residual': 14631}, {'sv_id': {'sat_id': 5, 'constellation': 54}, 'residual': -8144}, {'sv_id': {'sat_id': 181, 'constellation': 129}, 'residual': 23612}, {'sv_id': {'sat_id': 171, 'constellation': 114}, 'residual': 28013}, {'sv_id': {'sat_id': 12, 'constellation': 23}, 'residual': 2166}, {'sv_id': {'sat_id': 64, 'constellation': 159}, 'residual': -10186}, {'sv_id': {'sat_id': 33, 'constellation': 20}, 'residual': 17432}, {'sv_id': {'sat_id': 160, 'constellation': 36}, 'residual': -8666}, {'sv_id': {'sat_id': 145, 'constellation': 190}, 'residual': 25436}, {'sv_id': {'sat_id': 108, 'constellation': 159}, 'residual': -3864}, {'sv_id': {'sat_id': 227, 'constellation': 221}, 'residual': 4093}, {'sv_id': {'sat_id': 62, 'constellation': 23}, 'residual': -18055}, {'sv_id': {'sat_id': 168, 'constellation': 116}, 'residual': -27900}, {'sv_id': {'sat_id': 123, 'constellation': 72}, 'residual': 30687}, {'sv_id': {'sat_id': 226, 'constellation': 242}, 'residual': -13151}, {'sv_id': {'sat_id': 180, 'constellation': 202}, 'residual': -22903}, {'sv_id': {'sat_id': 58, 'constellation': 24}, 'residual': 4988}, {'sv_id': {'sat_id': 181, 'constellation': 188}, 'residual': 27408}, {'sv_id': {'sat_id': 66, 'constellation': 231}, 'residual': 319}, {'sv_id': {'sat_id': 64, 'constellation': 252}, 'residual': 15987}, {'sv_id': {'sat_id': 233, 'constellation': 97}, 'residual': 22266}, {'sv_id': {'sat_id': 156, 'constellation': 221}, 'residual': -19919}, {'sv_id': {'sat_id': 32, 'constellation': 73}, 'residual': 17350}, {'sv_id': {'sat_id': 249, 'constellation': 253}, 'residual': 14410}, {'sv_id': {'sat_id': 38, 'constellation': 165}, 'residual': 23671}, {'sv_id': {'sat_id': 99, 'constellation': 44}, 'residual': -31905}, {'sv_id': {'sat_id': 89, 'constellation': 192}, 'residual': 14305}, {'sv_id': {'sat_id': 95, 'constellation': 171}, 'residual': -12968}, {'sv_id': {'sat_id': 21, 'constellation': 116}, 'residual': 21479}, {'sv_id': {'sat_id': 71, 'constellation': 71}, 'residual': 28260}, {'sv_id': {'sat_id': 217, 'constellation': 254}, 'residual': -11112}, {'sv_id': {'sat_id': 18, 'constellation': 8}, 'residual': -25304}, {'sv_id': {'sat_id': 244, 'constellation': 54}, 'residual': -4024}, {'sv_id': {'sat_id': 231, 'constellation': 189}, 'residual': -15505}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClock.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClock.py index ed91b67c00..f7984707b5 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClock.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClock.py @@ -64,4 +64,4 @@ def test_auto_check_sbp_ssr_msg_ssr_orbit_clock_1(): assert dictify(msg.update_interval) == 236 - assert dictify(msg) == {'crc': 5646, 'length': 50, 'msg_type': 1501, 'payload': 'U9Bmz6Qdy9Ts/5jpzzdeNjqARBt1sG77PfR6Ml80kOgYCiV/o0KxaZz1Cvlr2hG6OEg=', 'preamble': 85, 'sender': 58677, 'time': {'tow': 3479621715, 'wn': 7588}, 'sid': {'sat': 203, 'code': 212}, 'update_interval': 236, 'iod_ssr': 255, 'iod': 936372632, 'radial': -2143668642, 'along': -1334502588, 'cross': -197264530, 'dot_radial': 878654074, 'dot_along': 169404560, 'dot_cross': 1118011173, 'c0': -174298703, 'c1': -630458102, 'c2': 1211677201} \ No newline at end of file + assert dictify(msg) == {'crc': 5646, 'length': 50, 'msg_type': 1501, 'payload': 'U9Bmz6Qdy9Ts/5jpzzdeNjqARBt1sG77PfR6Ml80kOgYCiV/o0KxaZz1Cvlr2hG6OEg=', 'preamble': 85, 'sender': 58677, 'time': {'tow': 3479621715, 'wn': 7588}, 'sid': {'sat': 203, 'code': 212}, 'update_interval': 236, 'iod_ssr': 255, 'iod': 936372632, 'radial': -2143668642, 'along': -1334502588, 'cross': -197264530, 'dot_radial': 878654074, 'dot_along': 169404560, 'dot_cross': 1118011173, 'c0': -174298703, 'c1': -630458102, 'c2': 1211677201} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBounds.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBounds.py index 5ddb54d5f8..108663ebb6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBounds.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBounds.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_1(): assert dictify(msg.ssr_iod) == 15 - assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 3, 'sol_id': 48}, 'ssr_iod': 15, 'const_id': 1, 'n_sats': 2, 'orbit_clock_bounds': [{'sat_id': 24, 'orb_radial_bound_mu': 39, 'orb_along_bound_mu': 38, 'orb_cross_bound_mu': 37, 'orb_radial_bound_sig': 1, 'orb_along_bound_sig': 2, 'orb_cross_bound_sig': 3, 'clock_bound_mu': 39, 'clock_bound_sig': 1}, {'sat_id': 3, 'orb_radial_bound_mu': 39, 'orb_along_bound_mu': 38, 'orb_cross_bound_mu': 37, 'orb_radial_bound_sig': 1, 'orb_along_bound_sig': 2, 'orb_cross_bound_sig': 3, 'clock_bound_mu': 39, 'clock_bound_sig': 1}], 'preamble': 85, 'msg_type': 1502, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAAQIDMA8BAhgnJiUBAgMnAQMnJiUBAgMnAQ==', 'crc': 21781} \ No newline at end of file + assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 3, 'sol_id': 48}, 'ssr_iod': 15, 'const_id': 1, 'n_sats': 2, 'orbit_clock_bounds': [{'sat_id': 24, 'orb_radial_bound_mu': 39, 'orb_along_bound_mu': 38, 'orb_cross_bound_mu': 37, 'orb_radial_bound_sig': 1, 'orb_along_bound_sig': 2, 'orb_cross_bound_sig': 3, 'clock_bound_mu': 39, 'clock_bound_sig': 1}, {'sat_id': 3, 'orb_radial_bound_mu': 39, 'orb_along_bound_mu': 38, 'orb_cross_bound_mu': 37, 'orb_radial_bound_sig': 1, 'orb_along_bound_sig': 2, 'orb_cross_bound_sig': 3, 'clock_bound_mu': 39, 'clock_bound_sig': 1}], 'preamble': 85, 'msg_type': 1502, 'sender': 66, 'length': 31, 'payload': 'tAAAAAMAAQIDMA8BAhgnJiUBAgMnAQMnJiUBAgMnAQ==', 'crc': 21781} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.py index fc60c6e0ca..d4db134030 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockBoundsDegradation.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ssr_msg_ssr_orbit_clock_bounds_degradation_1(): assert dictify(msg.ssr_iod) == 15 - assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 3, 'sol_id': 48}, 'ssr_iod': 15, 'const_id': 1, 'sat_bitmask': 10, 'orbit_clock_bounds_degradation': {'orb_radial_bound_mu_dot': 200, 'orb_along_bound_mu_dot': 199, 'orb_cross_bound_mu_dot': 198, 'orb_radial_bound_sig_dot': 197, 'orb_along_bound_sig_dot': 196, 'orb_cross_bound_sig_dot': 195, 'clock_bound_mu_dot': 194, 'clock_bound_sig_dot': 193}, 'preamble': 85, 'msg_type': 1503, 'sender': 66, 'length': 28, 'payload': 'tAAAAAMAAQIDMA8BCgAAAAAAAADIx8bFxMPCwQ==', 'crc': 30152} \ No newline at end of file + assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 2, 'update_interval': 3, 'sol_id': 48}, 'ssr_iod': 15, 'const_id': 1, 'sat_bitmask': 10, 'orbit_clock_bounds_degradation': {'orb_radial_bound_mu_dot': 200, 'orb_along_bound_mu_dot': 199, 'orb_cross_bound_mu_dot': 198, 'orb_radial_bound_sig_dot': 197, 'orb_along_bound_sig_dot': 196, 'orb_cross_bound_sig_dot': 195, 'clock_bound_mu_dot': 194, 'clock_bound_sig_dot': 193}, 'preamble': 85, 'msg_type': 1503, 'sender': 66, 'length': 28, 'payload': 'tAAAAAMAAQIDMA8BCgAAAAAAAADIx8bFxMPCwQ==', 'crc': 30152} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockDepA.py index 8a7962278c..389a1520c7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrOrbitClockDepA.py @@ -64,4 +64,4 @@ def test_auto_check_sbp_ssr_msg_ssr_orbit_clock_dep_a_1(): assert dictify(msg.update_interval) == 194 - assert dictify(msg) == {'crc': 64669, 'length': 47, 'msg_type': 1500, 'payload': '4XIfvSseAR7C08GvoY/+OD/oB9hFAW6lfMS9G3RYBD0DlxKrky7GVfP14et7tdI=', 'preamble': 85, 'sender': 42529, 'time': {'tow': 3172954849, 'wn': 7723}, 'sid': {'sat': 1, 'code': 30}, 'update_interval': 194, 'iod_ssr': 211, 'iod': 193, 'radial': -24141393, 'along': 132661048, 'cross': 1845577176, 'dot_radial': -1111196507, 'dot_along': 72905755, 'dot_cross': 311886653, 'c0': -970026069, 'c1': -503975083, 'c2': -759858197} \ No newline at end of file + assert dictify(msg) == {'crc': 64669, 'length': 47, 'msg_type': 1500, 'payload': '4XIfvSseAR7C08GvoY/+OD/oB9hFAW6lfMS9G3RYBD0DlxKrky7GVfP14et7tdI=', 'preamble': 85, 'sender': 42529, 'time': {'tow': 3172954849, 'wn': 7723}, 'sid': {'sat': 1, 'code': 30}, 'update_interval': 194, 'iod_ssr': 211, 'iod': 193, 'radial': -24141393, 'along': 132661048, 'cross': 1845577176, 'dot_radial': -1111196507, 'dot_along': 72905755, 'dot_cross': 311886653, 'c0': -970026069, 'c1': -503975083, 'c2': -759858197} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrPhaseBiases.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrPhaseBiases.py index 8eab3b095e..c28819d654 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrPhaseBiases.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrPhaseBiases.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_ssr_msg_ssr_phase_biases_1(): assert dictify(msg.yaw_rate) == 17 - assert dictify(msg) == {'crc': 61659, 'length': 255, 'msg_type': 1510, 'payload': '0ZqQDNWkqVKx5mLR+RYRHfr1wdse1LHPuyGSOsykQXIx+DQIoSz8pqjofIZWrfGuLI6bgY+4odMPJL3Qwt2YEMtXIryNaL1mnPwW+4gxvJ3e9TGEECKO5FWL3cXrYkprRiQm7/twvHz2jaSWaAfVLBX0wASPGCoVVIgHKnYtF66vgTapDtUCxWI8Dc9pZIFIiPCMgQlyrJeWEdJ/c5cD8v7XDgUifgLXQSawF9LJYSTPXOAadJvTpS9mJkPHN3UkqSEB5sm3FSo+k62tm2KS56eKUqd/5QECf+3PdFpznwMqQpH6yQf7AkvmGtW1OEBhWP8GkxBZyxtE8+Y38qep', 'preamble': 85, 'sender': 52955, 'time': {'tow': 210803409, 'wn': 42197}, 'sid': {'sat': 169, 'code': 82}, 'update_interval': 177, 'iod_ssr': 230, 'dispersive_bias': 98, 'mw_consistency': 209, 'yaw': 5881, 'yaw_rate': 17, 'biases': [{'code': 29, 'integer_indicator': 250, 'widelane_integer_indicator': 245, 'discontinuity_counter': 193, 'bias': -1311498533}, {'code': 207, 'integer_indicator': 187, 'widelane_integer_indicator': 33, 'discontinuity_counter': 146, 'bias': 1101319226}, {'code': 114, 'integer_indicator': 49, 'widelane_integer_indicator': 248, 'discontinuity_counter': 52, 'bias': -64184056}, {'code': 166, 'integer_indicator': 168, 'widelane_integer_indicator': 232, 'discontinuity_counter': 124, 'bias': -240298362}, {'code': 174, 'integer_indicator': 44, 'widelane_integer_indicator': 142, 'discontinuity_counter': 155, 'bias': -1581740159}, {'code': 211, 'integer_indicator': 15, 'widelane_integer_indicator': 36, 'discontinuity_counter': 189, 'bias': -1730297136}, {'code': 16, 'integer_indicator': 203, 'widelane_integer_indicator': 87, 'discontinuity_counter': 34, 'bias': -1117221444}, {'code': 102, 'integer_indicator': 156, 'widelane_integer_indicator': 252, 'discontinuity_counter': 22, 'bias': -1137604357}, {'code': 157, 'integer_indicator': 222, 'widelane_integer_indicator': 245, 'discontinuity_counter': 49, 'bias': -1910370172}, {'code': 228, 'integer_indicator': 85, 'widelane_integer_indicator': 139, 'discontinuity_counter': 221, 'bias': 1247996869}, {'code': 107, 'integer_indicator': 70, 'widelane_integer_indicator': 36, 'discontinuity_counter': 38, 'bias': -1133446161}, {'code': 124, 'integer_indicator': 246, 'widelane_integer_indicator': 141, 'discontinuity_counter': 164, 'bias': -720934762}, {'code': 44, 'integer_indicator': 21, 'widelane_integer_indicator': 244, 'discontinuity_counter': 192, 'bias': 706252548}, {'code': 21, 'integer_indicator': 84, 'widelane_integer_indicator': 136, 'discontinuity_counter': 7, 'bias': 388855338}, {'code': 174, 'integer_indicator': 175, 'widelane_integer_indicator': 129, 'discontinuity_counter': 54, 'bias': 47517353}, {'code': 197, 'integer_indicator': 98, 'widelane_integer_indicator': 60, 'discontinuity_counter': 13, 'bias': -2124125745}, {'code': 72, 'integer_indicator': 136, 'widelane_integer_indicator': 240, 'discontinuity_counter': 140, 'bias': -1401812607}, {'code': 151, 'integer_indicator': 150, 'widelane_integer_indicator': 17, 'discontinuity_counter': 210, 'bias': 60257151}, {'code': 242, 'integer_indicator': 254, 'widelane_integer_indicator': 215, 'discontinuity_counter': 14, 'bias': 41820677}, {'code': 215, 'integer_indicator': 65, 'widelane_integer_indicator': 38, 'discontinuity_counter': 176, 'bias': 1640616471}, {'code': 36, 'integer_indicator': 207, 'widelane_integer_indicator': 92, 'discontinuity_counter': 224, 'bias': -744786918}, {'code': 165, 'integer_indicator': 47, 'widelane_integer_indicator': 102, 'discontinuity_counter': 38, 'bias': 1966589763}, {'code': 36, 'integer_indicator': 169, 'widelane_integer_indicator': 33, 'discontinuity_counter': 1, 'bias': 364366310}, {'code': 42, 'integer_indicator': 62, 'widelane_integer_indicator': 147, 'discontinuity_counter': 173, 'bias': -1839031379}, {'code': 231, 'integer_indicator': 167, 'widelane_integer_indicator': 138, 'discontinuity_counter': 82, 'bias': 31817639}, {'code': 2, 'integer_indicator': 127, 'widelane_integer_indicator': 237, 'discontinuity_counter': 207, 'bias': -1619830156}, {'code': 3, 'integer_indicator': 42, 'widelane_integer_indicator': 66, 'discontinuity_counter': 145, 'bias': -83375622}, {'code': 2, 'integer_indicator': 75, 'widelane_integer_indicator': 230, 'discontinuity_counter': 26, 'bias': 1077458389}, {'code': 97, 'integer_indicator': 88, 'widelane_integer_indicator': 255, 'discontinuity_counter': 6, 'bias': -883355501}, {'code': 27, 'integer_indicator': 68, 'widelane_integer_indicator': 243, 'discontinuity_counter': 230, 'bias': -1448611273}]} \ No newline at end of file + assert dictify(msg) == {'crc': 61659, 'length': 255, 'msg_type': 1510, 'payload': '0ZqQDNWkqVKx5mLR+RYRHfr1wdse1LHPuyGSOsykQXIx+DQIoSz8pqjofIZWrfGuLI6bgY+4odMPJL3Qwt2YEMtXIryNaL1mnPwW+4gxvJ3e9TGEECKO5FWL3cXrYkprRiQm7/twvHz2jaSWaAfVLBX0wASPGCoVVIgHKnYtF66vgTapDtUCxWI8Dc9pZIFIiPCMgQlyrJeWEdJ/c5cD8v7XDgUifgLXQSawF9LJYSTPXOAadJvTpS9mJkPHN3UkqSEB5sm3FSo+k62tm2KS56eKUqd/5QECf+3PdFpznwMqQpH6yQf7AkvmGtW1OEBhWP8GkxBZyxtE8+Y38qep', 'preamble': 85, 'sender': 52955, 'time': {'tow': 210803409, 'wn': 42197}, 'sid': {'sat': 169, 'code': 82}, 'update_interval': 177, 'iod_ssr': 230, 'dispersive_bias': 98, 'mw_consistency': 209, 'yaw': 5881, 'yaw_rate': 17, 'biases': [{'code': 29, 'integer_indicator': 250, 'widelane_integer_indicator': 245, 'discontinuity_counter': 193, 'bias': -1311498533}, {'code': 207, 'integer_indicator': 187, 'widelane_integer_indicator': 33, 'discontinuity_counter': 146, 'bias': 1101319226}, {'code': 114, 'integer_indicator': 49, 'widelane_integer_indicator': 248, 'discontinuity_counter': 52, 'bias': -64184056}, {'code': 166, 'integer_indicator': 168, 'widelane_integer_indicator': 232, 'discontinuity_counter': 124, 'bias': -240298362}, {'code': 174, 'integer_indicator': 44, 'widelane_integer_indicator': 142, 'discontinuity_counter': 155, 'bias': -1581740159}, {'code': 211, 'integer_indicator': 15, 'widelane_integer_indicator': 36, 'discontinuity_counter': 189, 'bias': -1730297136}, {'code': 16, 'integer_indicator': 203, 'widelane_integer_indicator': 87, 'discontinuity_counter': 34, 'bias': -1117221444}, {'code': 102, 'integer_indicator': 156, 'widelane_integer_indicator': 252, 'discontinuity_counter': 22, 'bias': -1137604357}, {'code': 157, 'integer_indicator': 222, 'widelane_integer_indicator': 245, 'discontinuity_counter': 49, 'bias': -1910370172}, {'code': 228, 'integer_indicator': 85, 'widelane_integer_indicator': 139, 'discontinuity_counter': 221, 'bias': 1247996869}, {'code': 107, 'integer_indicator': 70, 'widelane_integer_indicator': 36, 'discontinuity_counter': 38, 'bias': -1133446161}, {'code': 124, 'integer_indicator': 246, 'widelane_integer_indicator': 141, 'discontinuity_counter': 164, 'bias': -720934762}, {'code': 44, 'integer_indicator': 21, 'widelane_integer_indicator': 244, 'discontinuity_counter': 192, 'bias': 706252548}, {'code': 21, 'integer_indicator': 84, 'widelane_integer_indicator': 136, 'discontinuity_counter': 7, 'bias': 388855338}, {'code': 174, 'integer_indicator': 175, 'widelane_integer_indicator': 129, 'discontinuity_counter': 54, 'bias': 47517353}, {'code': 197, 'integer_indicator': 98, 'widelane_integer_indicator': 60, 'discontinuity_counter': 13, 'bias': -2124125745}, {'code': 72, 'integer_indicator': 136, 'widelane_integer_indicator': 240, 'discontinuity_counter': 140, 'bias': -1401812607}, {'code': 151, 'integer_indicator': 150, 'widelane_integer_indicator': 17, 'discontinuity_counter': 210, 'bias': 60257151}, {'code': 242, 'integer_indicator': 254, 'widelane_integer_indicator': 215, 'discontinuity_counter': 14, 'bias': 41820677}, {'code': 215, 'integer_indicator': 65, 'widelane_integer_indicator': 38, 'discontinuity_counter': 176, 'bias': 1640616471}, {'code': 36, 'integer_indicator': 207, 'widelane_integer_indicator': 92, 'discontinuity_counter': 224, 'bias': -744786918}, {'code': 165, 'integer_indicator': 47, 'widelane_integer_indicator': 102, 'discontinuity_counter': 38, 'bias': 1966589763}, {'code': 36, 'integer_indicator': 169, 'widelane_integer_indicator': 33, 'discontinuity_counter': 1, 'bias': 364366310}, {'code': 42, 'integer_indicator': 62, 'widelane_integer_indicator': 147, 'discontinuity_counter': 173, 'bias': -1839031379}, {'code': 231, 'integer_indicator': 167, 'widelane_integer_indicator': 138, 'discontinuity_counter': 82, 'bias': 31817639}, {'code': 2, 'integer_indicator': 127, 'widelane_integer_indicator': 237, 'discontinuity_counter': 207, 'bias': -1619830156}, {'code': 3, 'integer_indicator': 42, 'widelane_integer_indicator': 66, 'discontinuity_counter': 145, 'bias': -83375622}, {'code': 2, 'integer_indicator': 75, 'widelane_integer_indicator': 230, 'discontinuity_counter': 26, 'bias': 1077458389}, {'code': 97, 'integer_indicator': 88, 'widelane_integer_indicator': 255, 'discontinuity_counter': 6, 'bias': -883355501}, {'code': 27, 'integer_indicator': 68, 'widelane_integer_indicator': 243, 'discontinuity_counter': 230, 'bias': -1448611273}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApc.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApc.py index 67c98b8cb4..d8502cf0a0 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApc.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApc.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_ssr_msg_ssr_satellite_apc_1(): assert dictify(msg.update_interval) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 1541, 'sender': 0, 'length': 41, 'payload': 'fzoJAK4IAQIDAgAEPQABAP//2QILCggFAfz49vb2+fwABgwWHikpKSk=', 'crc': 41360, 'time': {'tow': 604799, 'wn': 2222}, 'update_interval': 1, 'sol_id': 2, 'iod_ssr': 3, 'apc': [{'sid': {'sat': 2, 'code': 0}, 'sat_info': 4, 'svn': 61, 'pco': [1, -1, 729], 'pcv': [11, 10, 8, 5, 1, -4, -8, -10, -10, -10, -7, -4, 0, 6, 12, 22, 30, 41, 41, 41, 41]}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 1541, 'sender': 0, 'length': 41, 'payload': 'fzoJAK4IAQIDAgAEPQABAP//2QILCggFAfz49vb2+fwABgwWHikpKSk=', 'crc': 41360, 'time': {'tow': 604799, 'wn': 2222}, 'update_interval': 1, 'sol_id': 2, 'iod_ssr': 3, 'apc': [{'sid': {'sat': 2, 'code': 0}, 'sat_info': 4, 'svn': 61, 'pco': [1, -1, 729], 'pcv': [11, 10, 8, 5, 1, -4, -8, -10, -10, -10, -7, -4, 0, 6, 12, 22, 30, 41, 41, 41, 41]}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.py index 5c909f09ee..d1ccd2dd9f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrSatelliteApcDepA.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_ssr_msg_ssr_satellite_apc_dep_a_1(): assert dictify(msg.apc) == [{'pco': [-21547, -10498, 1236], 'pcv': [8, 33, 31, 80, 21, 4, 105, -31, 39, -117, 124, -107, 48, 15, -42, -59, -115, 32, 33, -121, -106], 'sat_info': 240, 'sid': {'code': 169, 'sat': 203}, 'svn': 1102}, {'pco': [23079, -22252, 12271], 'pcv': [-103, -81, 35, -111, -111, 123, -62, 2, 102, 74, -107, 95, -85, -18, -7, 7, -19, -86, 125, 106, -98], 'sat_info': 49, 'sid': {'code': 123, 'sat': 148}, 'svn': 24967}, {'pco': [-7596, 31630, -9907], 'pcv': [-8, 67, -41, -127, 114, -118, 25, -16, 10, 56, 76, 61, -95, -40, 22, -75, -82, 33, 13, -4, -20], 'sat_info': 181, 'sid': {'code': 188, 'sat': 83}, 'svn': 7106}, {'pco': [-19478, 11484, 14804], 'pcv': [44, -83, 49, 36, -119, -8, -21, 97, 112, -99, -117, 26, 115, -64, 31, 85, 127, -28, 81, -4, -37], 'sat_info': 128, 'sid': {'code': 196, 'sat': 230}, 'svn': 61399}, {'pco': [-11049, 6580, -28589], 'pcv': [-9, 12, 27, -57, -83, 74, 23, 4, -17, 103, -33, -36, -117, 91, 127, -42, 86, 48, -53, -28, 99], 'sat_info': 147, 'sid': {'code': 110, 'sat': 249}, 'svn': 41224}, {'pco': [-21881, -9942, -5689], 'pcv': [42, -86, 78, -50, 41, 43, 81, -9, 99, -58, -112, 2, -124, 2, -32, -36, -108, 58, 85, -118, -46], 'sat_info': 159, 'sid': {'code': 83, 'sat': 45}, 'svn': 64011}, {'pco': [-14290, 30340, 3569], 'pcv': [37, 62, 107, -3, -66, -120, 66, 9, 84, -101, 86, -76, 41, -60, 40, 119, 101, -4, -33, -112, -103], 'sat_info': 7, 'sid': {'code': 158, 'sat': 200}, 'svn': 17310}] - assert dictify(msg) == {'crc': 3378, 'length': 224, 'msg_type': 1540, 'payload': 'y6nwTgTVq/7W1AQIIR9QFQRp4SeLfJUwD9bFjSAhh5aUezGHYSdaFKnvL5mvI5GRe8ICZkqVX6vu+Qftqn1qnlO8tcIbVOKOe03Z+EPXgXKKGfAKOEw9odgWta4hDfzs5sSA1+/qs9ws1DksrTEkifjrYXCdixpzwB9Vf+RR/Nv5bpMIodfUtBlTkPcMG8etShcE72ff3Itbf9ZWMMvkYy1Tnwv6h6oq2cfpKqpOzikrUfdjxpAChALg3JQ6VYrSyJ4HnkMuyIR28Q0lPmv9vohCCVSbVrQpxCh3ZfzfkJk=', 'preamble': 85, 'sender': 4920, 'apc': [{'sid': {'sat': 203, 'code': 169}, 'sat_info': 240, 'svn': 1102, 'pco': [-21547, -10498, 1236], 'pcv': [8, 33, 31, 80, 21, 4, 105, -31, 39, -117, 124, -107, 48, 15, -42, -59, -115, 32, 33, -121, -106]}, {'sid': {'sat': 148, 'code': 123}, 'sat_info': 49, 'svn': 24967, 'pco': [23079, -22252, 12271], 'pcv': [-103, -81, 35, -111, -111, 123, -62, 2, 102, 74, -107, 95, -85, -18, -7, 7, -19, -86, 125, 106, -98]}, {'sid': {'sat': 83, 'code': 188}, 'sat_info': 181, 'svn': 7106, 'pco': [-7596, 31630, -9907], 'pcv': [-8, 67, -41, -127, 114, -118, 25, -16, 10, 56, 76, 61, -95, -40, 22, -75, -82, 33, 13, -4, -20]}, {'sid': {'sat': 230, 'code': 196}, 'sat_info': 128, 'svn': 61399, 'pco': [-19478, 11484, 14804], 'pcv': [44, -83, 49, 36, -119, -8, -21, 97, 112, -99, -117, 26, 115, -64, 31, 85, 127, -28, 81, -4, -37]}, {'sid': {'sat': 249, 'code': 110}, 'sat_info': 147, 'svn': 41224, 'pco': [-11049, 6580, -28589], 'pcv': [-9, 12, 27, -57, -83, 74, 23, 4, -17, 103, -33, -36, -117, 91, 127, -42, 86, 48, -53, -28, 99]}, {'sid': {'sat': 45, 'code': 83}, 'sat_info': 159, 'svn': 64011, 'pco': [-21881, -9942, -5689], 'pcv': [42, -86, 78, -50, 41, 43, 81, -9, 99, -58, -112, 2, -124, 2, -32, -36, -108, 58, 85, -118, -46]}, {'sid': {'sat': 200, 'code': 158}, 'sat_info': 7, 'svn': 17310, 'pco': [-14290, 30340, 3569], 'pcv': [37, 62, 107, -3, -66, -120, 66, 9, 84, -101, 86, -76, 41, -60, 40, 119, 101, -4, -33, -112, -103]}]} \ No newline at end of file + assert dictify(msg) == {'crc': 3378, 'length': 224, 'msg_type': 1540, 'payload': 'y6nwTgTVq/7W1AQIIR9QFQRp4SeLfJUwD9bFjSAhh5aUezGHYSdaFKnvL5mvI5GRe8ICZkqVX6vu+Qftqn1qnlO8tcIbVOKOe03Z+EPXgXKKGfAKOEw9odgWta4hDfzs5sSA1+/qs9ws1DksrTEkifjrYXCdixpzwB9Vf+RR/Nv5bpMIodfUtBlTkPcMG8etShcE72ff3Itbf9ZWMMvkYy1Tnwv6h6oq2cfpKqpOzikrUfdjxpAChALg3JQ6VYrSyJ4HnkMuyIR28Q0lPmv9vohCCVSbVrQpxCh3ZfzfkJk=', 'preamble': 85, 'sender': 4920, 'apc': [{'sid': {'sat': 203, 'code': 169}, 'sat_info': 240, 'svn': 1102, 'pco': [-21547, -10498, 1236], 'pcv': [8, 33, 31, 80, 21, 4, 105, -31, 39, -117, 124, -107, 48, 15, -42, -59, -115, 32, 33, -121, -106]}, {'sid': {'sat': 148, 'code': 123}, 'sat_info': 49, 'svn': 24967, 'pco': [23079, -22252, 12271], 'pcv': [-103, -81, 35, -111, -111, 123, -62, 2, 102, 74, -107, 95, -85, -18, -7, 7, -19, -86, 125, 106, -98]}, {'sid': {'sat': 83, 'code': 188}, 'sat_info': 181, 'svn': 7106, 'pco': [-7596, 31630, -9907], 'pcv': [-8, 67, -41, -127, 114, -118, 25, -16, 10, 56, 76, 61, -95, -40, 22, -75, -82, 33, 13, -4, -20]}, {'sid': {'sat': 230, 'code': 196}, 'sat_info': 128, 'svn': 61399, 'pco': [-19478, 11484, 14804], 'pcv': [44, -83, 49, 36, -119, -8, -21, 97, 112, -99, -117, 26, 115, -64, 31, 85, 127, -28, 81, -4, -37]}, {'sid': {'sat': 249, 'code': 110}, 'sat_info': 147, 'svn': 41224, 'pco': [-11049, 6580, -28589], 'pcv': [-9, 12, 27, -57, -83, 74, 23, 4, -17, 103, -33, -36, -117, 91, 127, -42, 86, 48, -53, -28, 99]}, {'sid': {'sat': 45, 'code': 83}, 'sat_info': 159, 'svn': 64011, 'pco': [-21881, -9942, -5689], 'pcv': [42, -86, 78, -50, 41, 43, 81, -9, 99, -58, -112, 2, -124, 2, -32, -36, -108, 58, 85, -118, -46]}, {'sid': {'sat': 200, 'code': 158}, 'sat_info': 7, 'svn': 17310, 'pco': [-14290, 30340, 3569], 'pcv': [37, 62, 107, -3, -66, -120, 66, 9, 84, -101, 86, -76, 41, -60, 40, 119, 101, -4, -33, -112, -103]}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrection.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrection.py index 929e69ba64..4d9515cc65 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrection.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrection.py @@ -48,4 +48,4 @@ def test_auto_check_sbp_ssr_msg_ssr_stec_correction_1(): assert dictify(msg.tile_set_id) == 1 - assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 1, 'update_interval': 10, 'sol_id': 0}, 'ssr_iod_atmo': 15, 'tile_set_id': 1, 'tile_id': 10, 'n_sats': 2, 'stec_sat_list': [{'sv_id': {'sat_id': 1, 'constellation': 1}, 'stec_quality_indicator': 1, 'stec_coeff': [63, 62, 61, 60]}, {'sv_id': {'sat_id': 31, 'constellation': 15}, 'stec_quality_indicator': 5, 'stec_coeff': [63, 64, 65, 66]}], 'preamble': 85, 'msg_type': 1533, 'sender': 66, 'length': 38, 'payload': 'tAAAAAMAAQEKAA8BAAoAAgEBAT8APgA9ADwAHw8FPwBAAEEAQgA=', 'crc': 12919} \ No newline at end of file + assert dictify(msg) == {'header': {'time': {'tow': 180, 'wn': 3}, 'num_msgs': 1, 'seq_num': 1, 'update_interval': 10, 'sol_id': 0}, 'ssr_iod_atmo': 15, 'tile_set_id': 1, 'tile_id': 10, 'n_sats': 2, 'stec_sat_list': [{'sv_id': {'sat_id': 1, 'constellation': 1}, 'stec_quality_indicator': 1, 'stec_coeff': [63, 62, 61, 60]}, {'sv_id': {'sat_id': 31, 'constellation': 15}, 'stec_quality_indicator': 5, 'stec_coeff': [63, 64, 65, 66]}], 'preamble': 85, 'msg_type': 1533, 'sender': 66, 'length': 38, 'payload': 'tAAAAAMAAQEKAA8BAAoAAgEBAT8APgA9ADwAHw8FPwBAAEEAQgA=', 'crc': 12919} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDep.py index 750bee9304..8502893ac7 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDep.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_1(): assert dictify(msg.stec_sat_list) == [{'stec_coeff': [-5289, -20141, 966, 2062], 'stec_quality_indicator': 70, 'sv_id': {'constellation': 40, 'sat_id': 132}}, {'stec_coeff': [-19147, -20902, -26889, -21446], 'stec_quality_indicator': 44, 'sv_id': {'constellation': 12, 'sat_id': 70}}, {'stec_coeff': [32176, -20220, 29157, 19726], 'stec_quality_indicator': 119, 'sv_id': {'constellation': 179, 'sat_id': 247}}, {'stec_coeff': [-8651, -27973, 23546, -10284], 'stec_quality_indicator': 23, 'sv_id': {'constellation': 185, 'sat_id': 153}}, {'stec_coeff': [27486, 23329, 234, -29739], 'stec_quality_indicator': 250, 'sv_id': {'constellation': 107, 'sat_id': 14}}, {'stec_coeff': [18965, -22098, 22077, -29093], 'stec_quality_indicator': 50, 'sv_id': {'constellation': 179, 'sat_id': 95}}, {'stec_coeff': [-7898, 26002, -29879, 30008], 'stec_quality_indicator': 9, 'sv_id': {'constellation': 108, 'sat_id': 51}}, {'stec_coeff': [-12948, 4701, -15597, -13791], 'stec_quality_indicator': 213, 'sv_id': {'constellation': 37, 'sat_id': 82}}, {'stec_coeff': [-17283, 14455, -27067, 19606], 'stec_quality_indicator': 178, 'sv_id': {'constellation': 206, 'sat_id': 87}}, {'stec_coeff': [-12215, -6072, -1528, -19765], 'stec_quality_indicator': 18, 'sv_id': {'constellation': 131, 'sat_id': 3}}, {'stec_coeff': [12630, -19721, 14502, 2591], 'stec_quality_indicator': 252, 'sv_id': {'constellation': 163, 'sat_id': 170}}, {'stec_coeff': [-23340, -24063, 4650, -22148], 'stec_quality_indicator': 241, 'sv_id': {'constellation': 213, 'sat_id': 119}}, {'stec_coeff': [5944, 32142, 30760, 11587], 'stec_quality_indicator': 26, 'sv_id': {'constellation': 158, 'sat_id': 121}}, {'stec_coeff': [3095, 22769, -4283, 14844], 'stec_quality_indicator': 110, 'sv_id': {'constellation': 235, 'sat_id': 126}}, {'stec_coeff': [-21032, -19726, 1297, -22049], 'stec_quality_indicator': 201, 'sv_id': {'constellation': 44, 'sat_id': 93}}, {'stec_coeff': [619, -5744, 22542, -12000], 'stec_quality_indicator': 77, 'sv_id': {'constellation': 3, 'sat_id': 192}}, {'stec_coeff': [10651, -2889, 21150, 26421], 'stec_quality_indicator': 123, 'sv_id': {'constellation': 17, 'sat_id': 1}}, {'stec_coeff': [-19165, 30229, -1282, -18382], 'stec_quality_indicator': 185, 'sv_id': {'constellation': 202, 'sat_id': 14}}, {'stec_coeff': [-23752, 32433, 20441, -4181], 'stec_quality_indicator': 45, 'sv_id': {'constellation': 31, 'sat_id': 50}}, {'stec_coeff': [-13968, -29322, -23790, 9063], 'stec_quality_indicator': 238, 'sv_id': {'constellation': 188, 'sat_id': 237}}, {'stec_coeff': [4737, 21877, 20414, -10286], 'stec_quality_indicator': 82, 'sv_id': {'constellation': 21, 'sat_id': 63}}] - assert dictify(msg) == {'crc': 45539, 'length': 245, 'msg_type': 1531, 'payload': 'nuRydTKenCp3nJ1wLzyEKEZX61OxxgMOCEYMLDW1Wq73ljqs97N3sH0EseVxDk2ZuRc13ruS+lvU1w5r+l5rIVvqANWLX7MyFUquqT1WW44zbAkm4ZJlSYs4dVIl1WzNXRITwyHKV86yfbx3OEWWlkwDgxJJ0EjoCPrLsqqj/FYx97KmOB8Kd9Xx1KQBoioSfKl5nho4F459KHhDLX7rbhcM8VhF7/w5XSzJ2K3yshEF36nAA01rApDpDlgg0QERe5spt/SeUjVnDsq5I7UVdv76MrgyHy04o7F+2U+r7+287nDJdo0So2cjPxVSgRJ1Vb5P0tc=', 'preamble': 85, 'sender': 38860, 'header': {'tile_set_id': 58526, 'tile_id': 30066, 'time': {'tow': 714907186, 'wn': 40055}, 'num_msgs': 157, 'seq_num': 112, 'update_interval': 47, 'iod_atmo': 60}, 'stec_sat_list': [{'sv_id': {'sat_id': 132, 'constellation': 40}, 'stec_quality_indicator': 70, 'stec_coeff': [-5289, -20141, 966, 2062]}, {'sv_id': {'sat_id': 70, 'constellation': 12}, 'stec_quality_indicator': 44, 'stec_coeff': [-19147, -20902, -26889, -21446]}, {'sv_id': {'sat_id': 247, 'constellation': 179}, 'stec_quality_indicator': 119, 'stec_coeff': [32176, -20220, 29157, 19726]}, {'sv_id': {'sat_id': 153, 'constellation': 185}, 'stec_quality_indicator': 23, 'stec_coeff': [-8651, -27973, 23546, -10284]}, {'sv_id': {'sat_id': 14, 'constellation': 107}, 'stec_quality_indicator': 250, 'stec_coeff': [27486, 23329, 234, -29739]}, {'sv_id': {'sat_id': 95, 'constellation': 179}, 'stec_quality_indicator': 50, 'stec_coeff': [18965, -22098, 22077, -29093]}, {'sv_id': {'sat_id': 51, 'constellation': 108}, 'stec_quality_indicator': 9, 'stec_coeff': [-7898, 26002, -29879, 30008]}, {'sv_id': {'sat_id': 82, 'constellation': 37}, 'stec_quality_indicator': 213, 'stec_coeff': [-12948, 4701, -15597, -13791]}, {'sv_id': {'sat_id': 87, 'constellation': 206}, 'stec_quality_indicator': 178, 'stec_coeff': [-17283, 14455, -27067, 19606]}, {'sv_id': {'sat_id': 3, 'constellation': 131}, 'stec_quality_indicator': 18, 'stec_coeff': [-12215, -6072, -1528, -19765]}, {'sv_id': {'sat_id': 170, 'constellation': 163}, 'stec_quality_indicator': 252, 'stec_coeff': [12630, -19721, 14502, 2591]}, {'sv_id': {'sat_id': 119, 'constellation': 213}, 'stec_quality_indicator': 241, 'stec_coeff': [-23340, -24063, 4650, -22148]}, {'sv_id': {'sat_id': 121, 'constellation': 158}, 'stec_quality_indicator': 26, 'stec_coeff': [5944, 32142, 30760, 11587]}, {'sv_id': {'sat_id': 126, 'constellation': 235}, 'stec_quality_indicator': 110, 'stec_coeff': [3095, 22769, -4283, 14844]}, {'sv_id': {'sat_id': 93, 'constellation': 44}, 'stec_quality_indicator': 201, 'stec_coeff': [-21032, -19726, 1297, -22049]}, {'sv_id': {'sat_id': 192, 'constellation': 3}, 'stec_quality_indicator': 77, 'stec_coeff': [619, -5744, 22542, -12000]}, {'sv_id': {'sat_id': 1, 'constellation': 17}, 'stec_quality_indicator': 123, 'stec_coeff': [10651, -2889, 21150, 26421]}, {'sv_id': {'sat_id': 14, 'constellation': 202}, 'stec_quality_indicator': 185, 'stec_coeff': [-19165, 30229, -1282, -18382]}, {'sv_id': {'sat_id': 50, 'constellation': 31}, 'stec_quality_indicator': 45, 'stec_coeff': [-23752, 32433, 20441, -4181]}, {'sv_id': {'sat_id': 237, 'constellation': 188}, 'stec_quality_indicator': 238, 'stec_coeff': [-13968, -29322, -23790, 9063]}, {'sv_id': {'sat_id': 63, 'constellation': 21}, 'stec_quality_indicator': 82, 'stec_coeff': [4737, 21877, 20414, -10286]}]} \ No newline at end of file + assert dictify(msg) == {'crc': 45539, 'length': 245, 'msg_type': 1531, 'payload': 'nuRydTKenCp3nJ1wLzyEKEZX61OxxgMOCEYMLDW1Wq73ljqs97N3sH0EseVxDk2ZuRc13ruS+lvU1w5r+l5rIVvqANWLX7MyFUquqT1WW44zbAkm4ZJlSYs4dVIl1WzNXRITwyHKV86yfbx3OEWWlkwDgxJJ0EjoCPrLsqqj/FYx97KmOB8Kd9Xx1KQBoioSfKl5nho4F459KHhDLX7rbhcM8VhF7/w5XSzJ2K3yshEF36nAA01rApDpDlgg0QERe5spt/SeUjVnDsq5I7UVdv76MrgyHy04o7F+2U+r7+287nDJdo0So2cjPxVSgRJ1Vb5P0tc=', 'preamble': 85, 'sender': 38860, 'header': {'tile_set_id': 58526, 'tile_id': 30066, 'time': {'tow': 714907186, 'wn': 40055}, 'num_msgs': 157, 'seq_num': 112, 'update_interval': 47, 'iod_atmo': 60}, 'stec_sat_list': [{'sv_id': {'sat_id': 132, 'constellation': 40}, 'stec_quality_indicator': 70, 'stec_coeff': [-5289, -20141, 966, 2062]}, {'sv_id': {'sat_id': 70, 'constellation': 12}, 'stec_quality_indicator': 44, 'stec_coeff': [-19147, -20902, -26889, -21446]}, {'sv_id': {'sat_id': 247, 'constellation': 179}, 'stec_quality_indicator': 119, 'stec_coeff': [32176, -20220, 29157, 19726]}, {'sv_id': {'sat_id': 153, 'constellation': 185}, 'stec_quality_indicator': 23, 'stec_coeff': [-8651, -27973, 23546, -10284]}, {'sv_id': {'sat_id': 14, 'constellation': 107}, 'stec_quality_indicator': 250, 'stec_coeff': [27486, 23329, 234, -29739]}, {'sv_id': {'sat_id': 95, 'constellation': 179}, 'stec_quality_indicator': 50, 'stec_coeff': [18965, -22098, 22077, -29093]}, {'sv_id': {'sat_id': 51, 'constellation': 108}, 'stec_quality_indicator': 9, 'stec_coeff': [-7898, 26002, -29879, 30008]}, {'sv_id': {'sat_id': 82, 'constellation': 37}, 'stec_quality_indicator': 213, 'stec_coeff': [-12948, 4701, -15597, -13791]}, {'sv_id': {'sat_id': 87, 'constellation': 206}, 'stec_quality_indicator': 178, 'stec_coeff': [-17283, 14455, -27067, 19606]}, {'sv_id': {'sat_id': 3, 'constellation': 131}, 'stec_quality_indicator': 18, 'stec_coeff': [-12215, -6072, -1528, -19765]}, {'sv_id': {'sat_id': 170, 'constellation': 163}, 'stec_quality_indicator': 252, 'stec_coeff': [12630, -19721, 14502, 2591]}, {'sv_id': {'sat_id': 119, 'constellation': 213}, 'stec_quality_indicator': 241, 'stec_coeff': [-23340, -24063, 4650, -22148]}, {'sv_id': {'sat_id': 121, 'constellation': 158}, 'stec_quality_indicator': 26, 'stec_coeff': [5944, 32142, 30760, 11587]}, {'sv_id': {'sat_id': 126, 'constellation': 235}, 'stec_quality_indicator': 110, 'stec_coeff': [3095, 22769, -4283, 14844]}, {'sv_id': {'sat_id': 93, 'constellation': 44}, 'stec_quality_indicator': 201, 'stec_coeff': [-21032, -19726, 1297, -22049]}, {'sv_id': {'sat_id': 192, 'constellation': 3}, 'stec_quality_indicator': 77, 'stec_coeff': [619, -5744, 22542, -12000]}, {'sv_id': {'sat_id': 1, 'constellation': 17}, 'stec_quality_indicator': 123, 'stec_coeff': [10651, -2889, 21150, 26421]}, {'sv_id': {'sat_id': 14, 'constellation': 202}, 'stec_quality_indicator': 185, 'stec_coeff': [-19165, 30229, -1282, -18382]}, {'sv_id': {'sat_id': 50, 'constellation': 31}, 'stec_quality_indicator': 45, 'stec_coeff': [-23752, 32433, 20441, -4181]}, {'sv_id': {'sat_id': 237, 'constellation': 188}, 'stec_quality_indicator': 238, 'stec_coeff': [-13968, -29322, -23790, 9063]}, {'sv_id': {'sat_id': 63, 'constellation': 21}, 'stec_quality_indicator': 82, 'stec_coeff': [4737, 21877, 20414, -10286]}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.py index 2b664cf1a9..f413b2c227 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrStecCorrectionDepA.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_ssr_msg_ssr_stec_correction_dep_a_1(): assert dictify(msg.stec_sat_list) == [{'stec_coeff': [-1951, -9854, 27353, 3130], 'stec_quality_indicator': 111, 'sv_id': {'constellation': 19, 'sat_id': 126}}, {'stec_coeff': [24401, 4182, 21543, -12060], 'stec_quality_indicator': 171, 'sv_id': {'constellation': 230, 'sat_id': 65}}, {'stec_coeff': [-13469, -18883, 32066, 971], 'stec_quality_indicator': 219, 'sv_id': {'constellation': 81, 'sat_id': 201}}, {'stec_coeff': [32220, 5436, -9635, -24841], 'stec_quality_indicator': 100, 'sv_id': {'constellation': 44, 'sat_id': 193}}, {'stec_coeff': [3718, 12497, -10482, -27495], 'stec_quality_indicator': 129, 'sv_id': {'constellation': 93, 'sat_id': 207}}, {'stec_coeff': [-4940, -13875, 801, -13066], 'stec_quality_indicator': 225, 'sv_id': {'constellation': 72, 'sat_id': 147}}, {'stec_coeff': [-15868, -2369, -9396, -16609], 'stec_quality_indicator': 98, 'sv_id': {'constellation': 3, 'sat_id': 19}}, {'stec_coeff': [-1265, 4897, 13920, -28102], 'stec_quality_indicator': 177, 'sv_id': {'constellation': 79, 'sat_id': 113}}, {'stec_coeff': [5448, -11359, 5574, 28654], 'stec_quality_indicator': 249, 'sv_id': {'constellation': 100, 'sat_id': 210}}, {'stec_coeff': [-10783, 18179, 16371, -5055], 'stec_quality_indicator': 227, 'sv_id': {'constellation': 36, 'sat_id': 107}}, {'stec_coeff': [4009, 1462, -19216, 31241], 'stec_quality_indicator': 0, 'sv_id': {'constellation': 77, 'sat_id': 92}}, {'stec_coeff': [26727, -16898, 28241, 12546], 'stec_quality_indicator': 6, 'sv_id': {'constellation': 232, 'sat_id': 86}}, {'stec_coeff': [12855, 1461, 20603, -3023], 'stec_quality_indicator': 216, 'sv_id': {'constellation': 84, 'sat_id': 202}}, {'stec_coeff': [-6492, 16952, -22404, -29893], 'stec_quality_indicator': 125, 'sv_id': {'constellation': 188, 'sat_id': 224}}, {'stec_coeff': [-10053, -24897, 23629, -710], 'stec_quality_indicator': 51, 'sv_id': {'constellation': 118, 'sat_id': 106}}, {'stec_coeff': [-26103, -9539, -11971, 20993], 'stec_quality_indicator': 165, 'sv_id': {'constellation': 150, 'sat_id': 132}}, {'stec_coeff': [-18891, -16272, -22578, -2915], 'stec_quality_indicator': 23, 'sv_id': {'constellation': 196, 'sat_id': 181}}, {'stec_coeff': [15833, 24920, -13879, -1206], 'stec_quality_indicator': 189, 'sv_id': {'constellation': 1, 'sat_id': 35}}, {'stec_coeff': [14008, 18996, 2798, 5761], 'stec_quality_indicator': 104, 'sv_id': {'constellation': 14, 'sat_id': 217}}, {'stec_coeff': [-25256, -15330, 6831, 8780], 'stec_quality_indicator': 109, 'sv_id': {'constellation': 226, 'sat_id': 178}}, {'stec_coeff': [3304, -2893, -25841, -13628], 'stec_quality_indicator': 154, 'sv_id': {'constellation': 220, 'sat_id': 116}}, {'stec_coeff': [-10742, 10098, 7413, 17645], 'stec_quality_indicator': 115, 'sv_id': {'constellation': 70, 'sat_id': 72}}] - assert dictify(msg) == {'crc': 39816, 'length': 252, 'msg_type': 1515, 'payload': 'RlHE6Lkrk3snBH4Tb2H4gtnZajoMQearUV9WECdU5NDJUdtjyz22Qn3LA8EsZNx9PBVd2veez12Bhg7RMA7XmZSTSOG07M3JIQP2zBMDYgTCv/ZM2x+/cU+xD/shE2A2OpLSZPlIFaHTxhXub2sk4+HVA0fzP0HsXE0AqQ+2BfC0CXpW6AZnaP69UW4CMcpU2DcytQV7UDH04Lx9pOY4QnyoO4tqdjO72L+eTVw6/YSWpQmavdo90QFStcQXNbZwwM6nnfQjAb3ZPVhhyclK+9kOaLg2NEruCoEWsuJtWJ0exK8aTCJ03JroDLP0D5vEykhGcwrWcif1HO1E', 'preamble': 85, 'sender': 1831, 'header': {'time': {'tow': 3905179974, 'wn': 11193}, 'num_msgs': 147, 'seq_num': 123, 'update_interval': 39, 'iod_atmo': 4}, 'stec_sat_list': [{'sv_id': {'sat_id': 126, 'constellation': 19}, 'stec_quality_indicator': 111, 'stec_coeff': [-1951, -9854, 27353, 3130]}, {'sv_id': {'sat_id': 65, 'constellation': 230}, 'stec_quality_indicator': 171, 'stec_coeff': [24401, 4182, 21543, -12060]}, {'sv_id': {'sat_id': 201, 'constellation': 81}, 'stec_quality_indicator': 219, 'stec_coeff': [-13469, -18883, 32066, 971]}, {'sv_id': {'sat_id': 193, 'constellation': 44}, 'stec_quality_indicator': 100, 'stec_coeff': [32220, 5436, -9635, -24841]}, {'sv_id': {'sat_id': 207, 'constellation': 93}, 'stec_quality_indicator': 129, 'stec_coeff': [3718, 12497, -10482, -27495]}, {'sv_id': {'sat_id': 147, 'constellation': 72}, 'stec_quality_indicator': 225, 'stec_coeff': [-4940, -13875, 801, -13066]}, {'sv_id': {'sat_id': 19, 'constellation': 3}, 'stec_quality_indicator': 98, 'stec_coeff': [-15868, -2369, -9396, -16609]}, {'sv_id': {'sat_id': 113, 'constellation': 79}, 'stec_quality_indicator': 177, 'stec_coeff': [-1265, 4897, 13920, -28102]}, {'sv_id': {'sat_id': 210, 'constellation': 100}, 'stec_quality_indicator': 249, 'stec_coeff': [5448, -11359, 5574, 28654]}, {'sv_id': {'sat_id': 107, 'constellation': 36}, 'stec_quality_indicator': 227, 'stec_coeff': [-10783, 18179, 16371, -5055]}, {'sv_id': {'sat_id': 92, 'constellation': 77}, 'stec_quality_indicator': 0, 'stec_coeff': [4009, 1462, -19216, 31241]}, {'sv_id': {'sat_id': 86, 'constellation': 232}, 'stec_quality_indicator': 6, 'stec_coeff': [26727, -16898, 28241, 12546]}, {'sv_id': {'sat_id': 202, 'constellation': 84}, 'stec_quality_indicator': 216, 'stec_coeff': [12855, 1461, 20603, -3023]}, {'sv_id': {'sat_id': 224, 'constellation': 188}, 'stec_quality_indicator': 125, 'stec_coeff': [-6492, 16952, -22404, -29893]}, {'sv_id': {'sat_id': 106, 'constellation': 118}, 'stec_quality_indicator': 51, 'stec_coeff': [-10053, -24897, 23629, -710]}, {'sv_id': {'sat_id': 132, 'constellation': 150}, 'stec_quality_indicator': 165, 'stec_coeff': [-26103, -9539, -11971, 20993]}, {'sv_id': {'sat_id': 181, 'constellation': 196}, 'stec_quality_indicator': 23, 'stec_coeff': [-18891, -16272, -22578, -2915]}, {'sv_id': {'sat_id': 35, 'constellation': 1}, 'stec_quality_indicator': 189, 'stec_coeff': [15833, 24920, -13879, -1206]}, {'sv_id': {'sat_id': 217, 'constellation': 14}, 'stec_quality_indicator': 104, 'stec_coeff': [14008, 18996, 2798, 5761]}, {'sv_id': {'sat_id': 178, 'constellation': 226}, 'stec_quality_indicator': 109, 'stec_coeff': [-25256, -15330, 6831, 8780]}, {'sv_id': {'sat_id': 116, 'constellation': 220}, 'stec_quality_indicator': 154, 'stec_coeff': [3304, -2893, -25841, -13628]}, {'sv_id': {'sat_id': 72, 'constellation': 70}, 'stec_quality_indicator': 115, 'stec_coeff': [-10742, 10098, 7413, 17645]}]} \ No newline at end of file + assert dictify(msg) == {'crc': 39816, 'length': 252, 'msg_type': 1515, 'payload': 'RlHE6Lkrk3snBH4Tb2H4gtnZajoMQearUV9WECdU5NDJUdtjyz22Qn3LA8EsZNx9PBVd2veez12Bhg7RMA7XmZSTSOG07M3JIQP2zBMDYgTCv/ZM2x+/cU+xD/shE2A2OpLSZPlIFaHTxhXub2sk4+HVA0fzP0HsXE0AqQ+2BfC0CXpW6AZnaP69UW4CMcpU2DcytQV7UDH04Lx9pOY4QnyoO4tqdjO72L+eTVw6/YSWpQmavdo90QFStcQXNbZwwM6nnfQjAb3ZPVhhyclK+9kOaLg2NEruCoEWsuJtWJ0exK8aTCJ03JroDLP0D5vEykhGcwrWcif1HO1E', 'preamble': 85, 'sender': 1831, 'header': {'time': {'tow': 3905179974, 'wn': 11193}, 'num_msgs': 147, 'seq_num': 123, 'update_interval': 39, 'iod_atmo': 4}, 'stec_sat_list': [{'sv_id': {'sat_id': 126, 'constellation': 19}, 'stec_quality_indicator': 111, 'stec_coeff': [-1951, -9854, 27353, 3130]}, {'sv_id': {'sat_id': 65, 'constellation': 230}, 'stec_quality_indicator': 171, 'stec_coeff': [24401, 4182, 21543, -12060]}, {'sv_id': {'sat_id': 201, 'constellation': 81}, 'stec_quality_indicator': 219, 'stec_coeff': [-13469, -18883, 32066, 971]}, {'sv_id': {'sat_id': 193, 'constellation': 44}, 'stec_quality_indicator': 100, 'stec_coeff': [32220, 5436, -9635, -24841]}, {'sv_id': {'sat_id': 207, 'constellation': 93}, 'stec_quality_indicator': 129, 'stec_coeff': [3718, 12497, -10482, -27495]}, {'sv_id': {'sat_id': 147, 'constellation': 72}, 'stec_quality_indicator': 225, 'stec_coeff': [-4940, -13875, 801, -13066]}, {'sv_id': {'sat_id': 19, 'constellation': 3}, 'stec_quality_indicator': 98, 'stec_coeff': [-15868, -2369, -9396, -16609]}, {'sv_id': {'sat_id': 113, 'constellation': 79}, 'stec_quality_indicator': 177, 'stec_coeff': [-1265, 4897, 13920, -28102]}, {'sv_id': {'sat_id': 210, 'constellation': 100}, 'stec_quality_indicator': 249, 'stec_coeff': [5448, -11359, 5574, 28654]}, {'sv_id': {'sat_id': 107, 'constellation': 36}, 'stec_quality_indicator': 227, 'stec_coeff': [-10783, 18179, 16371, -5055]}, {'sv_id': {'sat_id': 92, 'constellation': 77}, 'stec_quality_indicator': 0, 'stec_coeff': [4009, 1462, -19216, 31241]}, {'sv_id': {'sat_id': 86, 'constellation': 232}, 'stec_quality_indicator': 6, 'stec_coeff': [26727, -16898, 28241, 12546]}, {'sv_id': {'sat_id': 202, 'constellation': 84}, 'stec_quality_indicator': 216, 'stec_coeff': [12855, 1461, 20603, -3023]}, {'sv_id': {'sat_id': 224, 'constellation': 188}, 'stec_quality_indicator': 125, 'stec_coeff': [-6492, 16952, -22404, -29893]}, {'sv_id': {'sat_id': 106, 'constellation': 118}, 'stec_quality_indicator': 51, 'stec_coeff': [-10053, -24897, 23629, -710]}, {'sv_id': {'sat_id': 132, 'constellation': 150}, 'stec_quality_indicator': 165, 'stec_coeff': [-26103, -9539, -11971, 20993]}, {'sv_id': {'sat_id': 181, 'constellation': 196}, 'stec_quality_indicator': 23, 'stec_coeff': [-18891, -16272, -22578, -2915]}, {'sv_id': {'sat_id': 35, 'constellation': 1}, 'stec_quality_indicator': 189, 'stec_coeff': [15833, 24920, -13879, -1206]}, {'sv_id': {'sat_id': 217, 'constellation': 14}, 'stec_quality_indicator': 104, 'stec_coeff': [14008, 18996, 2798, 5761]}, {'sv_id': {'sat_id': 178, 'constellation': 226}, 'stec_quality_indicator': 109, 'stec_coeff': [-25256, -15330, 6831, 8780]}, {'sv_id': {'sat_id': 116, 'constellation': 220}, 'stec_quality_indicator': 154, 'stec_coeff': [3304, -2893, -25841, -13628]}, {'sv_id': {'sat_id': 72, 'constellation': 70}, 'stec_quality_indicator': 115, 'stec_coeff': [-10742, 10098, 7413, 17645]}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinition.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinition.py index 5e75339498..912032e523 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinition.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinition.py @@ -62,4 +62,4 @@ def test_auto_check_sbp_ssr_msg_ssr_tile_definition_1(): assert dictify(msg.update_interval) == 1 - assert dictify(msg) == {'preamble': 85, 'msg_type': 1528, 'sender': 0, 'length': 33, 'payload': 'fzoJAK4IAQIDBAAFALocO6dkAGQABgAGANIClkkAAAAA', 'crc': 24268, 'time': {'tow': 604799, 'wn': 2222}, 'update_interval': 1, 'sol_id': 2, 'iod_atmo': 3, 'tile_set_id': 4, 'tile_id': 5, 'corner_nw_lat': 7354, 'corner_nw_lon': -22725, 'spacing_lat': 100, 'spacing_lon': 100, 'rows': 6, 'cols': 6, 'bitmask': 1234567890} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 1528, 'sender': 0, 'length': 33, 'payload': 'fzoJAK4IAQIDBAAFALocO6dkAGQABgAGANIClkkAAAAA', 'crc': 24268, 'time': {'tow': 604799, 'wn': 2222}, 'update_interval': 1, 'sol_id': 2, 'iod_atmo': 3, 'tile_set_id': 4, 'tile_id': 5, 'corner_nw_lat': 7354, 'corner_nw_lon': -22725, 'spacing_lat': 100, 'spacing_lon': 100, 'rows': 6, 'cols': 6, 'bitmask': 1234567890} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.py index 7e1923a04c..238675819d 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepA.py @@ -54,4 +54,4 @@ def test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_a_1(): assert dictify(msg.tile_set_id) == 48697 - assert dictify(msg) == {'crc': 39489, 'length': 24, 'msg_type': 1526, 'payload': 'Ob6y9wi5CbWi8EET/48Vv+/NqwAAAAAA', 'preamble': 85, 'sender': 34248, 'tile_set_id': 48697, 'tile_id': 63410, 'corner_nw_lat': -18168, 'corner_nw_lon': -19191, 'spacing_lat': 61602, 'spacing_lon': 4929, 'rows': 36863, 'cols': 48917, 'bitmask': 11259375} \ No newline at end of file + assert dictify(msg) == {'crc': 39489, 'length': 24, 'msg_type': 1526, 'payload': 'Ob6y9wi5CbWi8EET/48Vv+/NqwAAAAAA', 'preamble': 85, 'sender': 34248, 'tile_set_id': 48697, 'tile_id': 63410, 'corner_nw_lat': -18168, 'corner_nw_lon': -19191, 'spacing_lat': 61602, 'spacing_lon': 4929, 'rows': 36863, 'cols': 48917, 'bitmask': 11259375} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.py index f66df8b422..eb3a06a2d8 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_ssr_MsgSsrTileDefinitionDepB.py @@ -56,4 +56,4 @@ def test_auto_check_sbp_ssr_msg_ssr_tile_definition_dep_b_1(): assert dictify(msg.tile_set_id) == 256 - assert dictify(msg) == {'ssr_sol_id': 31, 'tile_set_id': 256, 'tile_id': 512, 'corner_nw_lat': 1024, 'corner_nw_lon': 2048, 'spacing_lat': 4096, 'spacing_lon': 8192, 'rows': 16384, 'cols': 32768, 'bitmask': 1234567890, 'preamble': 85, 'msg_type': 1527, 'sender': 66, 'length': 25, 'payload': 'HwABAAIABAAIABAAIABAAIDSApZJAAAAAA==', 'crc': 18390} \ No newline at end of file + assert dictify(msg) == {'ssr_sol_id': 31, 'tile_set_id': 256, 'tile_id': 512, 'corner_nw_lat': 1024, 'corner_nw_lon': 2048, 'spacing_lat': 4096, 'spacing_lon': 8192, 'rows': 16384, 'cols': 32768, 'bitmask': 1234567890, 'preamble': 85, 'msg_type': 1527, 'sender': 66, 'length': 25, 'payload': 'HwABAAIABAAIABAAIABAAIDSApZJAAAAAA==', 'crc': 18390} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetry.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetry.py index 1fabe6eb1d..fe28088802 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetry.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetry.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_system_msg_csac_telemetry_1(): assert dictify(msg.telemetry) == "some data" - assert dictify(msg) == {'preamble': 85, 'msg_type': 65284, 'sender': 43508, 'length': 10, 'payload': 'aXNvbWUgZGF0YQ==', 'crc': 24293, 'id': 105, 'telemetry': 'some data'} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65284, 'sender': 43508, 'length': 10, 'payload': 'aXNvbWUgZGF0YQ==', 'crc': 24293, 'id': 105, 'telemetry': 'some data'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetryLabels.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetryLabels.py index e3b69adbb3..67e7d57d9b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetryLabels.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgCsacTelemetryLabels.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_system_msg_csac_telemetry_labels_1(): assert dictify(msg.telemetry_labels) == "some labels" - assert dictify(msg) == {'preamble': 85, 'msg_type': 65285, 'sender': 51291, 'length': 12, 'payload': 'unNvbWUgbGFiZWxz', 'crc': 60502, 'id': 186, 'telemetry_labels': 'some labels'} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65285, 'sender': 51291, 'length': 12, 'payload': 'unNvbWUgbGFiZWxz', 'crc': 60502, 'id': 186, 'telemetry_labels': 'some labels'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgDgnssStatus.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgDgnssStatus.py index 7db29061ab..7bff1708dd 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgDgnssStatus.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgDgnssStatus.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_system_msg_dgnss_status_1(): assert dictify(msg.source) == "Skylark" - assert dictify(msg) == {'latency': 50, 'sender': 66, 'msg_type': 65282, 'source': 'Skylark', 'num_signals': 12, 'crc': 458, 'length': 11, 'flags': 0, 'preamble': 85, 'payload': 'ADIADFNreWxhcms='} \ No newline at end of file + assert dictify(msg) == {'latency': 50, 'sender': 66, 'msg_type': 65282, 'source': 'Skylark', 'num_signals': 12, 'crc': 458, 'length': 11, 'flags': 0, 'preamble': 85, 'payload': 'ADIADFNreWxhcms='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGnssTimeOffset.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGnssTimeOffset.py index 4dff3e62b8..938446ada6 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGnssTimeOffset.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGnssTimeOffset.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_system_msg_gnss_time_offset_1(): assert dictify(msg.weeks) == 14857 - assert dictify(msg) == {'preamble': 85, 'msg_type': 65287, 'sender': 3862, 'length': 9, 'payload': 'CTpSUwlnFiXd', 'crc': 25684, 'weeks': 14857, 'milliseconds': 1728664402, 'microseconds': 9494, 'flags': 221} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65287, 'sender': 3862, 'length': 9, 'payload': 'CTpSUwlnFiXd', 'crc': 25684, 'weeks': 14857, 'milliseconds': 1728664402, 'microseconds': 9494, 'flags': 221} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGroupMeta.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGroupMeta.py index 0caed1831f..7bc89e3256 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGroupMeta.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgGroupMeta.py @@ -72,4 +72,4 @@ def test_auto_check_sbp_system_msg_group_meta_2(): assert dictify(msg.n_group_msgs) == 14 - assert dictify(msg) == {'group_id': 1, 'flags': 1, 'n_group_msgs': 14, 'group_msgs': [258, 259, 522, 529, 521, 532, 526, 530, 525, 533, 545, 65283, 65286, 65294], 'preamble': 85, 'msg_type': 65290, 'sender': 789, 'payload': 'AQEOAgEDAQoCEQIJAhQCDgISAg0CFQIhAgP/Bv8O/w==', 'crc': 39506, 'length': 31} \ No newline at end of file + assert dictify(msg) == {'group_id': 1, 'flags': 1, 'n_group_msgs': 14, 'group_msgs': [258, 259, 522, 529, 521, 532, 526, 530, 525, 533, 545, 65283, 65286, 65294], 'preamble': 85, 'msg_type': 65290, 'sender': 789, 'payload': 'AQEOAgEDAQoCEQIJAhQCDgISAg0CFQIhAgP/Bv8O/w==', 'crc': 39506, 'length': 31} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgHeartbeat.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgHeartbeat.py index 2c50549c0a..094355af7f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgHeartbeat.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgHeartbeat.py @@ -60,4 +60,4 @@ def test_auto_check_sbp_system_msg_heartbeat_2(): assert dictify(msg.flags) == 0 - assert dictify(msg) == {'sender': 1219, 'msg_type': 65535, 'crc': 14658, 'length': 4, 'flags': 0, 'preamble': 85, 'payload': 'AAAAAA=='} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 65535, 'crc': 14658, 'length': 4, 'flags': 0, 'preamble': 85, 'payload': 'AAAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsStatus.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsStatus.py index 6b57f3c279..8888837eed 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsStatus.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsStatus.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_system_msg_ins_status_1(): assert dictify(msg.flags) == 536870921 - assert dictify(msg) == {'flags': 536870921, 'preamble': 85, 'msg_type': 65283, 'sender': 789, 'payload': 'CQAAIA==', 'crc': 26404, 'length': 4} \ No newline at end of file + assert dictify(msg) == {'flags': 536870921, 'preamble': 85, 'msg_type': 65283, 'sender': 789, 'payload': 'CQAAIA==', 'crc': 26404, 'length': 4} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsUpdates.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsUpdates.py index 77d7ce310b..a6d0ee1024 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsUpdates.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgInsUpdates.py @@ -50,4 +50,4 @@ def test_auto_check_sbp_system_msg_ins_updates_1(): assert dictify(msg.zerovel) == 0 - assert dictify(msg) == {'tow': 504489300, 'gnsspos': 0, 'gnssvel': 0, 'wheelticks': 0, 'speed': 0, 'nhc': 0, 'zerovel': 0, 'preamble': 85, 'msg_type': 65286, 'sender': 789, 'payload': 'VOURHgAAAAAAAA==', 'crc': 16209, 'length': 10} \ No newline at end of file + assert dictify(msg) == {'tow': 504489300, 'gnsspos': 0, 'gnssvel': 0, 'wheelticks': 0, 'speed': 0, 'nhc': 0, 'zerovel': 0, 'preamble': 85, 'msg_type': 65286, 'sender': 789, 'payload': 'VOURHgAAAAAAAA==', 'crc': 16209, 'length': 10} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgPpsTime.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgPpsTime.py index 926f4a0978..58f35adbda 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgPpsTime.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgPpsTime.py @@ -40,4 +40,4 @@ def test_auto_check_sbp_system_msg_pps_time_1(): assert dictify(msg.time) == 690508632716 - assert dictify(msg) == {'preamble': 85, 'msg_type': 65288, 'sender': 53726, 'length': 9, 'payload': 'jJKFxaAAAAD/', 'crc': 38269, 'time': 690508632716, 'flags': 255} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65288, 'sender': 53726, 'length': 9, 'payload': 'jJKFxaAAAAD/', 'crc': 38269, 'time': 690508632716, 'flags': 255} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgSensorAidEvent.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgSensorAidEvent.py index 25adf20402..adaf1696e2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgSensorAidEvent.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgSensorAidEvent.py @@ -52,4 +52,4 @@ def test_auto_check_sbp_system_msg_sensor_aid_event_1(): assert dictify(msg.time) == 326825520 - assert dictify(msg) == {'preamble': 85, 'msg_type': 65289, 'sender': 35027, 'length': 15, 'payload': 'MPZ6EwAAAAAAAAAAAAAA', 'crc': 60449, 'time': 326825520, 'sensor_type': 0, 'sensor_id': 0, 'sensor_state': 0, 'n_available_meas': 0, 'n_attempted_meas': 0, 'n_accepted_meas': 0, 'flags': 0} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65289, 'sender': 35027, 'length': 15, 'payload': 'MPZ6EwAAAAAAAAAAAAAA', 'crc': 60449, 'time': 326825520, 'sensor_type': 0, 'sensor_id': 0, 'sensor_state': 0, 'n_available_meas': 0, 'n_attempted_meas': 0, 'n_accepted_meas': 0, 'flags': 0} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStartup.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStartup.py index b7217f4427..cabd2cdf73 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStartup.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStartup.py @@ -68,4 +68,4 @@ def test_auto_check_sbp_system_msg_startup_2(): assert dictify(msg.startup_type) == 0 - assert dictify(msg) == {'reserved': 0, 'cause': 0, 'startup_type': 0, 'sender': 1219, 'msg_type': 65280, 'crc': 46463, 'length': 4, 'preamble': 85, 'payload': 'AAAAAA=='} \ No newline at end of file + assert dictify(msg) == {'reserved': 0, 'cause': 0, 'startup_type': 0, 'sender': 1219, 'msg_type': 65280, 'crc': 46463, 'length': 4, 'preamble': 85, 'payload': 'AAAAAA=='} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusJournal.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusJournal.py index 471ac91929..7925465568 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusJournal.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusJournal.py @@ -76,4 +76,4 @@ def test_auto_check_sbp_system_msg_status_journal_2(): assert dictify(msg.total_status_reports) == 100 - assert dictify(msg) == {'preamble': 85, 'msg_type': 65533, 'sender': 35027, 'length': 17, 'payload': 'AQABBGQAAAAQkhAAAAYAAQ0=', 'crc': 31120, 'reporting_system': 1, 'sbp_version': 1025, 'total_status_reports': 100, 'sequence_descriptor': 16, 'journal': [{'uptime': 4242, 'report': {'component': 6, 'generic': 1, 'specific': 13}}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65533, 'sender': 35027, 'length': 17, 'payload': 'AQABBGQAAAAQkhAAAAYAAQ0=', 'crc': 31120, 'reporting_system': 1, 'sbp_version': 1025, 'total_status_reports': 100, 'sequence_descriptor': 16, 'journal': [{'uptime': 4242, 'report': {'component': 6, 'generic': 1, 'specific': 13}}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusReport.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusReport.py index 6661b93871..b22a6cb5e0 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusReport.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_system_MsgStatusReport.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_system_msg_status_report_1(): assert dictify(msg.uptime) == 1657804265 - assert dictify(msg) == {'preamble': 85, 'msg_type': 65534, 'sender': 21510, 'length': 252, 'payload': 'Uv2xXwM8j1rpFdBi98vdxpzP2e6iiJoLcuyG6wyFCR6vkRpy1xSS+TY2hcFqutK3AIEF+OGVh38CGlhcCmdJA2dETLghzsKjex6XsJWsuOd25sioZG0K6QQ891LXphyKbi1i2vSzfmtcfF6dKrt8BmH3oLxueP7WbjPwpJMSSrJDBBtJvkCzkn2ZwC7KQvguKKGt8tYDCwF2RqI9shucKL9x5shICNf1Tjve+nMgIR7TqpFcnUsYqQY3PghrUowxs3paRxxYZzOxSF0nlAvKKiJczGYdYvlbhl8X+MAUU8NftDYkuktAFJ2FDJUcDrmBZe9K+PUe5FiO1DXg', 'crc': 42654, 'reporting_system': 64850, 'sbp_version': 24497, 'sequence': 1519336451, 'uptime': 1657804265, 'status': [{'component': 52215, 'generic': 221, 'specific': 198}, {'component': 53148, 'generic': 217, 'specific': 238}, {'component': 34978, 'generic': 154, 'specific': 11}, {'component': 60530, 'generic': 134, 'specific': 235}, {'component': 34060, 'generic': 9, 'specific': 30}, {'component': 37295, 'generic': 26, 'specific': 114}, {'component': 5335, 'generic': 146, 'specific': 249}, {'component': 13878, 'generic': 133, 'specific': 193}, {'component': 47722, 'generic': 210, 'specific': 183}, {'component': 33024, 'generic': 5, 'specific': 248}, {'component': 38369, 'generic': 135, 'specific': 127}, {'component': 6658, 'generic': 88, 'specific': 92}, {'component': 26378, 'generic': 73, 'specific': 3}, {'component': 17511, 'generic': 76, 'specific': 184}, {'component': 52769, 'generic': 194, 'specific': 163}, {'component': 7803, 'generic': 151, 'specific': 176}, {'component': 44181, 'generic': 184, 'specific': 231}, {'component': 58998, 'generic': 200, 'specific': 168}, {'component': 28004, 'generic': 10, 'specific': 233}, {'component': 15364, 'generic': 247, 'specific': 82}, {'component': 42711, 'generic': 28, 'specific': 138}, {'component': 11630, 'generic': 98, 'specific': 218}, {'component': 46068, 'generic': 126, 'specific': 107}, {'component': 31836, 'generic': 94, 'specific': 157}, {'component': 47914, 'generic': 124, 'specific': 6}, {'component': 63329, 'generic': 160, 'specific': 188}, {'component': 30830, 'generic': 254, 'specific': 214}, {'component': 13166, 'generic': 240, 'specific': 164}, {'component': 4755, 'generic': 74, 'specific': 178}, {'component': 1091, 'generic': 27, 'specific': 73}, {'component': 16574, 'generic': 179, 'specific': 146}, {'component': 39293, 'generic': 192, 'specific': 46}, {'component': 17098, 'generic': 248, 'specific': 46}, {'component': 41256, 'generic': 173, 'specific': 242}, {'component': 982, 'generic': 11, 'specific': 1}, {'component': 18038, 'generic': 162, 'specific': 61}, {'component': 7090, 'generic': 156, 'specific': 40}, {'component': 29119, 'generic': 230, 'specific': 200}, {'component': 2120, 'generic': 215, 'specific': 245}, {'component': 15182, 'generic': 222, 'specific': 250}, {'component': 8307, 'generic': 33, 'specific': 30}, {'component': 43731, 'generic': 145, 'specific': 92}, {'component': 19357, 'generic': 24, 'specific': 169}, {'component': 14086, 'generic': 62, 'specific': 8}, {'component': 21099, 'generic': 140, 'specific': 49}, {'component': 31411, 'generic': 90, 'specific': 71}, {'component': 22556, 'generic': 103, 'specific': 51}, {'component': 18609, 'generic': 93, 'specific': 39}, {'component': 2964, 'generic': 202, 'specific': 42}, {'component': 23586, 'generic': 204, 'specific': 102}, {'component': 25117, 'generic': 249, 'specific': 91}, {'component': 24454, 'generic': 23, 'specific': 248}, {'component': 5312, 'generic': 83, 'specific': 195}, {'component': 46175, 'generic': 54, 'specific': 36}, {'component': 19386, 'generic': 64, 'specific': 20}, {'component': 34205, 'generic': 12, 'specific': 149}, {'component': 3612, 'generic': 185, 'specific': 129}, {'component': 61285, 'generic': 74, 'specific': 248}, {'component': 7925, 'generic': 228, 'specific': 88}, {'component': 54414, 'generic': 53, 'specific': 224}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 65534, 'sender': 21510, 'length': 252, 'payload': 'Uv2xXwM8j1rpFdBi98vdxpzP2e6iiJoLcuyG6wyFCR6vkRpy1xSS+TY2hcFqutK3AIEF+OGVh38CGlhcCmdJA2dETLghzsKjex6XsJWsuOd25sioZG0K6QQ891LXphyKbi1i2vSzfmtcfF6dKrt8BmH3oLxueP7WbjPwpJMSSrJDBBtJvkCzkn2ZwC7KQvguKKGt8tYDCwF2RqI9shucKL9x5shICNf1Tjve+nMgIR7TqpFcnUsYqQY3PghrUowxs3paRxxYZzOxSF0nlAvKKiJczGYdYvlbhl8X+MAUU8NftDYkuktAFJ2FDJUcDrmBZe9K+PUe5FiO1DXg', 'crc': 42654, 'reporting_system': 64850, 'sbp_version': 24497, 'sequence': 1519336451, 'uptime': 1657804265, 'status': [{'component': 52215, 'generic': 221, 'specific': 198}, {'component': 53148, 'generic': 217, 'specific': 238}, {'component': 34978, 'generic': 154, 'specific': 11}, {'component': 60530, 'generic': 134, 'specific': 235}, {'component': 34060, 'generic': 9, 'specific': 30}, {'component': 37295, 'generic': 26, 'specific': 114}, {'component': 5335, 'generic': 146, 'specific': 249}, {'component': 13878, 'generic': 133, 'specific': 193}, {'component': 47722, 'generic': 210, 'specific': 183}, {'component': 33024, 'generic': 5, 'specific': 248}, {'component': 38369, 'generic': 135, 'specific': 127}, {'component': 6658, 'generic': 88, 'specific': 92}, {'component': 26378, 'generic': 73, 'specific': 3}, {'component': 17511, 'generic': 76, 'specific': 184}, {'component': 52769, 'generic': 194, 'specific': 163}, {'component': 7803, 'generic': 151, 'specific': 176}, {'component': 44181, 'generic': 184, 'specific': 231}, {'component': 58998, 'generic': 200, 'specific': 168}, {'component': 28004, 'generic': 10, 'specific': 233}, {'component': 15364, 'generic': 247, 'specific': 82}, {'component': 42711, 'generic': 28, 'specific': 138}, {'component': 11630, 'generic': 98, 'specific': 218}, {'component': 46068, 'generic': 126, 'specific': 107}, {'component': 31836, 'generic': 94, 'specific': 157}, {'component': 47914, 'generic': 124, 'specific': 6}, {'component': 63329, 'generic': 160, 'specific': 188}, {'component': 30830, 'generic': 254, 'specific': 214}, {'component': 13166, 'generic': 240, 'specific': 164}, {'component': 4755, 'generic': 74, 'specific': 178}, {'component': 1091, 'generic': 27, 'specific': 73}, {'component': 16574, 'generic': 179, 'specific': 146}, {'component': 39293, 'generic': 192, 'specific': 46}, {'component': 17098, 'generic': 248, 'specific': 46}, {'component': 41256, 'generic': 173, 'specific': 242}, {'component': 982, 'generic': 11, 'specific': 1}, {'component': 18038, 'generic': 162, 'specific': 61}, {'component': 7090, 'generic': 156, 'specific': 40}, {'component': 29119, 'generic': 230, 'specific': 200}, {'component': 2120, 'generic': 215, 'specific': 245}, {'component': 15182, 'generic': 222, 'specific': 250}, {'component': 8307, 'generic': 33, 'specific': 30}, {'component': 43731, 'generic': 145, 'specific': 92}, {'component': 19357, 'generic': 24, 'specific': 169}, {'component': 14086, 'generic': 62, 'specific': 8}, {'component': 21099, 'generic': 140, 'specific': 49}, {'component': 31411, 'generic': 90, 'specific': 71}, {'component': 22556, 'generic': 103, 'specific': 51}, {'component': 18609, 'generic': 93, 'specific': 39}, {'component': 2964, 'generic': 202, 'specific': 42}, {'component': 23586, 'generic': 204, 'specific': 102}, {'component': 25117, 'generic': 249, 'specific': 91}, {'component': 24454, 'generic': 23, 'specific': 248}, {'component': 5312, 'generic': 83, 'specific': 195}, {'component': 46175, 'generic': 54, 'specific': 36}, {'component': 19386, 'generic': 64, 'specific': 20}, {'component': 34205, 'generic': 12, 'specific': 149}, {'component': 3612, 'generic': 185, 'specific': 129}, {'component': 61285, 'generic': 74, 'specific': 248}, {'component': 7925, 'generic': 228, 'specific': 88}, {'component': 54414, 'generic': 53, 'specific': 224}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_telemetry_MsgTelSv.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_telemetry_MsgTelSv.py index e101226657..4c87fef365 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_telemetry_MsgTelSv.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_telemetry_MsgTelSv.py @@ -46,4 +46,4 @@ def test_auto_check_sbp_telemetry_msg_tel_sv_1(): assert dictify(msg.wn) == 2223 - assert dictify(msg) == {'preamble': 85, 'msg_type': 288, 'sender': 9876, 'length': 20, 'payload': 'rwjQ3T4YEAEoMgXi/wEAAQEBIQw=', 'crc': 26919, 'wn': 2223, 'tow': 406773200, 'n_obs': 16, 'origin_flags': 1, 'sv_tel': [{'az': 40, 'el': 50, 'availability_flags': 5, 'pseudorange_residual': -30, 'phase_residual': 1, 'outlier_flags': 1, 'ephemeris_flags': 1, 'correction_flags': 1, 'sid': {'sat': 33, 'code': 12}}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 288, 'sender': 9876, 'length': 20, 'payload': 'rwjQ3T4YEAEoMgXi/wEAAQEBIQw=', 'crc': 26919, 'wn': 2223, 'tow': 406773200, 'n_obs': 16, 'origin_flags': 1, 'sv_tel': [{'az': 40, 'el': 50, 'availability_flags': 5, 'pseudorange_residual': -30, 'phase_residual': 1, 'outlier_flags': 1, 'ephemeris_flags': 1, 'correction_flags': 1, 'sid': {'sat': 33, 'code': 12}}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgMeasurementState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgMeasurementState.py index 16f6d59aaa..8b72ff4618 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgMeasurementState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgMeasurementState.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_tracking_msg_measurement_state_1(): assert dictify(msg.states) == [{'cn0': 162, 'mesid': {'code': 0, 'sat': 29}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 201, 'mesid': {'code': 0, 'sat': 27}}, {'cn0': 168, 'mesid': {'code': 0, 'sat': 20}}, {'cn0': 184, 'mesid': {'code': 0, 'sat': 32}}, {'cn0': 187, 'mesid': {'code': 0, 'sat': 15}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 210, 'mesid': {'code': 0, 'sat': 18}}, {'cn0': 167, 'mesid': {'code': 0, 'sat': 16}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 213, 'mesid': {'code': 0, 'sat': 23}}, {'cn0': 223, 'mesid': {'code': 0, 'sat': 10}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 202, 'mesid': {'code': 2, 'sat': 131}}, {'cn0': 192, 'mesid': {'code': 1, 'sat': 27}}, {'cn0': 165, 'mesid': {'code': 1, 'sat': 15}}, {'cn0': 146, 'mesid': {'code': 1, 'sat': 29}}, {'cn0': 170, 'mesid': {'code': 1, 'sat': 32}}, {'cn0': 201, 'mesid': {'code': 1, 'sat': 18}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 212, 'mesid': {'code': 1, 'sat': 23}}, {'cn0': 205, 'mesid': {'code': 1, 'sat': 10}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 230, 'mesid': {'code': 3, 'sat': 96}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 214, 'mesid': {'code': 3, 'sat': 101}}, {'cn0': 212, 'mesid': {'code': 3, 'sat': 103}}, {'cn0': 209, 'mesid': {'code': 3, 'sat': 104}}, {'cn0': 157, 'mesid': {'code': 3, 'sat': 106}}, {'cn0': 230, 'mesid': {'code': 3, 'sat': 102}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 189, 'mesid': {'code': 4, 'sat': 101}}, {'cn0': 207, 'mesid': {'code': 4, 'sat': 96}}, {'cn0': 164, 'mesid': {'code': 4, 'sat': 106}}, {'cn0': 193, 'mesid': {'code': 4, 'sat': 104}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 208, 'mesid': {'code': 4, 'sat': 102}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 212, 'mesid': {'code': 12, 'sat': 27}}, {'cn0': 161, 'mesid': {'code': 12, 'sat': 29}}, {'cn0': 216, 'mesid': {'code': 12, 'sat': 32}}, {'cn0': 216, 'mesid': {'code': 12, 'sat': 30}}, {'cn0': 178, 'mesid': {'code': 12, 'sat': 20}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 203, 'mesid': {'code': 14, 'sat': 36}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 158, 'mesid': {'code': 14, 'sat': 5}}, {'cn0': 194, 'mesid': {'code': 14, 'sat': 4}}, {'cn0': 192, 'mesid': {'code': 14, 'sat': 11}}, {'cn0': 207, 'mesid': {'code': 14, 'sat': 9}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 218, 'mesid': {'code': 20, 'sat': 9}}, {'cn0': 176, 'mesid': {'code': 20, 'sat': 5}}, {'cn0': 217, 'mesid': {'code': 20, 'sat': 36}}, {'cn0': 200, 'mesid': {'code': 20, 'sat': 11}}, {'cn0': 205, 'mesid': {'code': 20, 'sat': 4}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}, {'cn0': 0, 'mesid': {'code': 0, 'sat': 0}}] - assert dictify(msg) == {'preamble': 85, 'msg_type': 97, 'sender': 31183, 'length': 237, 'payload': 'HQCiAAAAAAAAGwDJFACoIAC4DwC7AAAAEgDSEACnAAAAFwDVCgDfAAAAAAAAAAAAAAAAgwLKGwHADwGlHQGSIAGqEgHJAAAAAAAAAAAAFwHUCgHNAAAAYAPmAAAAZQPWZwPUaAPRagOdZgPmAAAAAAAAZQS9YATPagSkaATBAAAAZgTQAAAAGwzUHQyhIAzYHgzYFAyyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJA7LAAAABQ6eBA7CCw7ACQ7PAAAAAAAAAAAACRTaBRSwJBTZCxTIBBTNAAAAAAAA', 'crc': 13859, 'states': [{'mesid': {'sat': 29, 'code': 0}, 'cn0': 162}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 27, 'code': 0}, 'cn0': 201}, {'mesid': {'sat': 20, 'code': 0}, 'cn0': 168}, {'mesid': {'sat': 32, 'code': 0}, 'cn0': 184}, {'mesid': {'sat': 15, 'code': 0}, 'cn0': 187}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 18, 'code': 0}, 'cn0': 210}, {'mesid': {'sat': 16, 'code': 0}, 'cn0': 167}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 23, 'code': 0}, 'cn0': 213}, {'mesid': {'sat': 10, 'code': 0}, 'cn0': 223}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 131, 'code': 2}, 'cn0': 202}, {'mesid': {'sat': 27, 'code': 1}, 'cn0': 192}, {'mesid': {'sat': 15, 'code': 1}, 'cn0': 165}, {'mesid': {'sat': 29, 'code': 1}, 'cn0': 146}, {'mesid': {'sat': 32, 'code': 1}, 'cn0': 170}, {'mesid': {'sat': 18, 'code': 1}, 'cn0': 201}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 23, 'code': 1}, 'cn0': 212}, {'mesid': {'sat': 10, 'code': 1}, 'cn0': 205}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 96, 'code': 3}, 'cn0': 230}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 101, 'code': 3}, 'cn0': 214}, {'mesid': {'sat': 103, 'code': 3}, 'cn0': 212}, {'mesid': {'sat': 104, 'code': 3}, 'cn0': 209}, {'mesid': {'sat': 106, 'code': 3}, 'cn0': 157}, {'mesid': {'sat': 102, 'code': 3}, 'cn0': 230}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 101, 'code': 4}, 'cn0': 189}, {'mesid': {'sat': 96, 'code': 4}, 'cn0': 207}, {'mesid': {'sat': 106, 'code': 4}, 'cn0': 164}, {'mesid': {'sat': 104, 'code': 4}, 'cn0': 193}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 102, 'code': 4}, 'cn0': 208}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 27, 'code': 12}, 'cn0': 212}, {'mesid': {'sat': 29, 'code': 12}, 'cn0': 161}, {'mesid': {'sat': 32, 'code': 12}, 'cn0': 216}, {'mesid': {'sat': 30, 'code': 12}, 'cn0': 216}, {'mesid': {'sat': 20, 'code': 12}, 'cn0': 178}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 36, 'code': 14}, 'cn0': 203}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 5, 'code': 14}, 'cn0': 158}, {'mesid': {'sat': 4, 'code': 14}, 'cn0': 194}, {'mesid': {'sat': 11, 'code': 14}, 'cn0': 192}, {'mesid': {'sat': 9, 'code': 14}, 'cn0': 207}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 9, 'code': 20}, 'cn0': 218}, {'mesid': {'sat': 5, 'code': 20}, 'cn0': 176}, {'mesid': {'sat': 36, 'code': 20}, 'cn0': 217}, {'mesid': {'sat': 11, 'code': 20}, 'cn0': 200}, {'mesid': {'sat': 4, 'code': 20}, 'cn0': 205}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 97, 'sender': 31183, 'length': 237, 'payload': 'HQCiAAAAAAAAGwDJFACoIAC4DwC7AAAAEgDSEACnAAAAFwDVCgDfAAAAAAAAAAAAAAAAgwLKGwHADwGlHQGSIAGqEgHJAAAAAAAAAAAAFwHUCgHNAAAAYAPmAAAAZQPWZwPUaAPRagOdZgPmAAAAAAAAZQS9YATPagSkaATBAAAAZgTQAAAAGwzUHQyhIAzYHgzYFAyyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJA7LAAAABQ6eBA7CCw7ACQ7PAAAAAAAAAAAACRTaBRSwJBTZCxTIBBTNAAAAAAAA', 'crc': 13859, 'states': [{'mesid': {'sat': 29, 'code': 0}, 'cn0': 162}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 27, 'code': 0}, 'cn0': 201}, {'mesid': {'sat': 20, 'code': 0}, 'cn0': 168}, {'mesid': {'sat': 32, 'code': 0}, 'cn0': 184}, {'mesid': {'sat': 15, 'code': 0}, 'cn0': 187}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 18, 'code': 0}, 'cn0': 210}, {'mesid': {'sat': 16, 'code': 0}, 'cn0': 167}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 23, 'code': 0}, 'cn0': 213}, {'mesid': {'sat': 10, 'code': 0}, 'cn0': 223}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 131, 'code': 2}, 'cn0': 202}, {'mesid': {'sat': 27, 'code': 1}, 'cn0': 192}, {'mesid': {'sat': 15, 'code': 1}, 'cn0': 165}, {'mesid': {'sat': 29, 'code': 1}, 'cn0': 146}, {'mesid': {'sat': 32, 'code': 1}, 'cn0': 170}, {'mesid': {'sat': 18, 'code': 1}, 'cn0': 201}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 23, 'code': 1}, 'cn0': 212}, {'mesid': {'sat': 10, 'code': 1}, 'cn0': 205}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 96, 'code': 3}, 'cn0': 230}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 101, 'code': 3}, 'cn0': 214}, {'mesid': {'sat': 103, 'code': 3}, 'cn0': 212}, {'mesid': {'sat': 104, 'code': 3}, 'cn0': 209}, {'mesid': {'sat': 106, 'code': 3}, 'cn0': 157}, {'mesid': {'sat': 102, 'code': 3}, 'cn0': 230}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 101, 'code': 4}, 'cn0': 189}, {'mesid': {'sat': 96, 'code': 4}, 'cn0': 207}, {'mesid': {'sat': 106, 'code': 4}, 'cn0': 164}, {'mesid': {'sat': 104, 'code': 4}, 'cn0': 193}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 102, 'code': 4}, 'cn0': 208}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 27, 'code': 12}, 'cn0': 212}, {'mesid': {'sat': 29, 'code': 12}, 'cn0': 161}, {'mesid': {'sat': 32, 'code': 12}, 'cn0': 216}, {'mesid': {'sat': 30, 'code': 12}, 'cn0': 216}, {'mesid': {'sat': 20, 'code': 12}, 'cn0': 178}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 36, 'code': 14}, 'cn0': 203}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 5, 'code': 14}, 'cn0': 158}, {'mesid': {'sat': 4, 'code': 14}, 'cn0': 194}, {'mesid': {'sat': 11, 'code': 14}, 'cn0': 192}, {'mesid': {'sat': 9, 'code': 14}, 'cn0': 207}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 9, 'code': 20}, 'cn0': 218}, {'mesid': {'sat': 5, 'code': 20}, 'cn0': 176}, {'mesid': {'sat': 36, 'code': 20}, 'cn0': 217}, {'mesid': {'sat': 11, 'code': 20}, 'cn0': 200}, {'mesid': {'sat': 4, 'code': 20}, 'cn0': 205}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}, {'mesid': {'sat': 0, 'code': 0}, 'cn0': 0}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIq.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIq.py index e105a0b5f4..8f21f4656b 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIq.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIq.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_tracking_msg_tracking_iq_1(): assert dictify(msg.sid) == {'code': 203, 'sat': 121} - assert dictify(msg) == {'crc': 42849, 'length': 15, 'msg_type': 45, 'payload': 'kXnLL9nvNy0mvVifE9AM', 'preamble': 85, 'sender': 20482, 'channel': 145, 'sid': {'sat': 121, 'code': 203}, 'corrs': [{'i': -9937, 'q': 14319}, {'i': 9773, 'q': 22717}, {'i': 5023, 'q': 3280}]} \ No newline at end of file + assert dictify(msg) == {'crc': 42849, 'length': 15, 'msg_type': 45, 'payload': 'kXnLL9nvNy0mvVifE9AM', 'preamble': 85, 'sender': 20482, 'channel': 145, 'sid': {'sat': 121, 'code': 203}, 'corrs': [{'i': -9937, 'q': 14319}, {'i': 9773, 'q': 22717}, {'i': 5023, 'q': 3280}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepA.py index 0608d3dbb1..09ee228d2a 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepA.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_tracking_msg_tracking_iq_dep_a_1(): assert dictify(msg.sid) == {'code': 15, 'reserved': 0, 'sat': 64028} - assert dictify(msg) == {'crc': 8721, 'length': 29, 'msg_type': 28, 'payload': 'ixz6DwBjWqpgR3khoTTTomUpJOJjR0sO8IZSr1M=', 'preamble': 85, 'sender': 17336, 'channel': 139, 'sid': {'sat': 64028, 'code': 15, 'reserved': 0}, 'corrs': [{'i': 1621776995, 'q': -1591641785}, {'i': 1705169716, 'q': 1675764777}, {'i': -267498681, 'q': 1403998854}]} \ No newline at end of file + assert dictify(msg) == {'crc': 8721, 'length': 29, 'msg_type': 28, 'payload': 'ixz6DwBjWqpgR3khoTTTomUpJOJjR0sO8IZSr1M=', 'preamble': 85, 'sender': 17336, 'channel': 139, 'sid': {'sat': 64028, 'code': 15, 'reserved': 0}, 'corrs': [{'i': 1621776995, 'q': -1591641785}, {'i': 1705169716, 'q': 1675764777}, {'i': -267498681, 'q': 1403998854}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepB.py index 3ccfbbc18c..72512f78e4 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingIqDepB.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_tracking_msg_tracking_iq_dep_b_1(): assert dictify(msg.sid) == {'code': 183, 'sat': 188} - assert dictify(msg) == {'crc': 39414, 'length': 27, 'msg_type': 44, 'payload': 'Lby3SLmdD7v5ZRiHkrTge+uO0GZwGRWxYHRE', 'preamble': 85, 'sender': 25895, 'channel': 45, 'sid': {'sat': 188, 'code': 183}, 'corrs': [{'i': 261994824, 'q': 409336251}, {'i': -525036921, 'q': -795939973}, {'i': 353988710, 'q': 1148477617}]} \ No newline at end of file + assert dictify(msg) == {'crc': 39414, 'length': 27, 'msg_type': 44, 'payload': 'Lby3SLmdD7v5ZRiHkrTge+uO0GZwGRWxYHRE', 'preamble': 85, 'sender': 25895, 'channel': 45, 'sid': {'sat': 188, 'code': 183}, 'corrs': [{'i': 261994824, 'q': 409336251}, {'i': -525036921, 'q': -795939973}, {'i': 353988710, 'q': 1148477617}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingState.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingState.py index 5a387ea021..ff071fa578 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingState.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingState.py @@ -148,4 +148,4 @@ def test_auto_check_sbp_tracking_msg_tracking_state_6(): assert dictify(msg.states) == [{'cn0': 39.70351791381836, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}, 'state': 1}, {'cn0': 36.52388381958008, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}, 'state': 1}, {'cn0': 37.169708251953125, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}, 'state': 1}, {'cn0': 38.81692886352539, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}, 'state': 1}, {'cn0': 42.05073165893555, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}, 'state': 1}, {'cn0': 37.807498931884766, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}, 'state': 1}, {'cn0': 37.71632385253906, 'sid': {'code': 0, 'reserved': 0, 'sat': 220}, 'state': 1}, {'cn0': 38.5289192199707, 'sid': {'code': 0, 'reserved': 0, 'sat': 222}, 'state': 1}, {'cn0': 42.27101516723633, 'sid': {'code': 0, 'reserved': 0, 'sat': 225}, 'state': 1}, {'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}, 'state': 0}, {'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}, 'state': 0}] - assert dictify(msg) == {'sender': 55286, 'msg_type': 19, 'states': [{'state': 1, 'cn0': 39.70351791381836, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}}, {'state': 1, 'cn0': 36.52388381958008, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}}, {'state': 1, 'cn0': 37.169708251953125, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}}, {'state': 1, 'cn0': 38.81692886352539, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}}, {'state': 1, 'cn0': 42.05073165893555, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}}, {'state': 1, 'cn0': 37.807498931884766, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}}, {'state': 1, 'cn0': 37.71632385253906, 'sid': {'code': 0, 'reserved': 0, 'sat': 220}}, {'state': 1, 'cn0': 38.5289192199707, 'sid': {'code': 0, 'reserved': 0, 'sat': 222}}, {'state': 1, 'cn0': 42.27101516723633, 'sid': {'code': 0, 'reserved': 0, 'sat': 225}}, {'state': 0, 'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}}, {'state': 0, 'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}}], 'crc': 12158, 'length': 99, 'preamble': 85, 'payload': 'AcoAAABn0B5CAcsAAAB1GBJCAdAAAADIrRRCAdQAAACJRBtCAdkAAADzMyhCAdoAAADhOhdCAdwAAACE3RZCAd4AAACdHRpCAeEAAACFFSlCAAAAAAAAAIC/AAAAAAAAAIC/'} \ No newline at end of file + assert dictify(msg) == {'sender': 55286, 'msg_type': 19, 'states': [{'state': 1, 'cn0': 39.70351791381836, 'sid': {'code': 0, 'reserved': 0, 'sat': 202}}, {'state': 1, 'cn0': 36.52388381958008, 'sid': {'code': 0, 'reserved': 0, 'sat': 203}}, {'state': 1, 'cn0': 37.169708251953125, 'sid': {'code': 0, 'reserved': 0, 'sat': 208}}, {'state': 1, 'cn0': 38.81692886352539, 'sid': {'code': 0, 'reserved': 0, 'sat': 212}}, {'state': 1, 'cn0': 42.05073165893555, 'sid': {'code': 0, 'reserved': 0, 'sat': 217}}, {'state': 1, 'cn0': 37.807498931884766, 'sid': {'code': 0, 'reserved': 0, 'sat': 218}}, {'state': 1, 'cn0': 37.71632385253906, 'sid': {'code': 0, 'reserved': 0, 'sat': 220}}, {'state': 1, 'cn0': 38.5289192199707, 'sid': {'code': 0, 'reserved': 0, 'sat': 222}}, {'state': 1, 'cn0': 42.27101516723633, 'sid': {'code': 0, 'reserved': 0, 'sat': 225}}, {'state': 0, 'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}}, {'state': 0, 'cn0': -1.0, 'sid': {'code': 0, 'reserved': 0, 'sat': 0}}], 'crc': 12158, 'length': 99, 'preamble': 85, 'payload': 'AcoAAABn0B5CAcsAAAB1GBJCAdAAAADIrRRCAdQAAACJRBtCAdkAAADzMyhCAdoAAADhOhdCAdwAAACE3RZCAd4AAACdHRpCAeEAAACFFSlCAAAAAAAAAIC/AAAAAAAAAIC/'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDepB.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDepB.py index 51aacb970b..8952931dc2 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDepB.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDepB.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_tracking_msg_tracking_state_dep_b_1(): assert dictify(msg.states) == [{'cn0': 5856.2001953125, 'sid': {'code': 63, 'reserved': 68, 'sat': 58295}, 'state': 115}, {'cn0': 2612.199951171875, 'sid': {'code': 43, 'reserved': 222, 'sat': 31151}, 'state': 255}, {'cn0': 2925.199951171875, 'sid': {'code': 53, 'reserved': 20, 'sat': 1520}, 'state': 78}, {'cn0': 3198.199951171875, 'sid': {'code': 66, 'reserved': 155, 'sat': 60802}, 'state': 153}, {'cn0': 8623.2001953125, 'sid': {'code': 161, 'reserved': 190, 'sat': 35058}, 'state': 53}, {'cn0': 5915.2001953125, 'sid': {'code': 142, 'reserved': 149, 'sat': 65405}, 'state': 153}, {'cn0': 5412.2001953125, 'sid': {'code': 31, 'reserved': 76, 'sat': 24422}, 'state': 248}, {'cn0': 6428.2001953125, 'sid': {'code': 27, 'reserved': 12, 'sat': 36211}, 'state': 131}, {'cn0': 3104.199951171875, 'sid': {'code': 39, 'reserved': 23, 'sat': 37676}, 'state': 208}, {'cn0': 3686.199951171875, 'sid': {'code': 49, 'reserved': 203, 'sat': 64415}, 'state': 237}, {'cn0': 5967.2001953125, 'sid': {'code': 128, 'reserved': 206, 'sat': 22486}, 'state': 70}, {'cn0': 5423.2001953125, 'sid': {'code': 218, 'reserved': 19, 'sat': 28622}, 'state': 14}, {'cn0': 438.20001220703125, 'sid': {'code': 54, 'reserved': 2, 'sat': 53602}, 'state': 216}, {'cn0': 1862.199951171875, 'sid': {'code': 7, 'reserved': 34, 'sat': 25477}, 'state': 200}, {'cn0': 5462.2001953125, 'sid': {'code': 135, 'reserved': 46, 'sat': 21803}, 'state': 155}, {'cn0': 7454.2001953125, 'sid': {'code': 171, 'reserved': 201, 'sat': 21251}, 'state': 155}, {'cn0': 7134.2001953125, 'sid': {'code': 16, 'reserved': 19, 'sat': 50475}, 'state': 121}, {'cn0': 3111.199951171875, 'sid': {'code': 63, 'reserved': 176, 'sat': 13813}, 'state': 128}, {'cn0': 4297.2001953125, 'sid': {'code': 153, 'reserved': 51, 'sat': 15636}, 'state': 36}, {'cn0': 2649.199951171875, 'sid': {'code': 140, 'reserved': 22, 'sat': 29778}, 'state': 46}, {'cn0': 941.2000122070312, 'sid': {'code': 96, 'reserved': 143, 'sat': 37443}, 'state': 177}, {'cn0': 1539.199951171875, 'sid': {'code': 201, 'reserved': 251, 'sat': 41011}, 'state': 220}, {'cn0': 1443.199951171875, 'sid': {'code': 161, 'reserved': 220, 'sat': 706}, 'state': 168}, {'cn0': 1074.199951171875, 'sid': {'code': 125, 'reserved': 178, 'sat': 2312}, 'state': 69}, {'cn0': 2122.199951171875, 'sid': {'code': 186, 'reserved': 171, 'sat': 34580}, 'state': 185}, {'cn0': 9076.2001953125, 'sid': {'code': 85, 'reserved': 170, 'sat': 39804}, 'state': 18}, {'cn0': 4781.2001953125, 'sid': {'code': 255, 'reserved': 186, 'sat': 52980}, 'state': 57}, {'cn0': 3076.199951171875, 'sid': {'code': 181, 'reserved': 175, 'sat': 24007}, 'state': 165}] - assert dictify(msg) == {'preamble': 85, 'msg_type': 19, 'sender': 61938, 'length': 252, 'payload': 'c7fjP0SaAbdF/695K94zQyNFTvAFNRQz0zZFmYLtQpsz40dFNfKIob7NvAZGmX3/jpWa2bhF+GZfH0yaIalFg3ONGwya4chF0CyTJxczA0JF7Z/7McszY2ZFRtZXgM6aebpFDs5v2hOaealF2GLRNgKaGdtDyIVjByJmxuhEmytVhy6asapFmwNTq8ma8ehFeSvFEBOa8d5FgPU1P7Azc0JFJBQ9mTOaSYZFLlJ0jBYzkyVFsUOSYI/NTGtE3DOgyftmZsBEqMICodxmZrRERQgJfbJmRoZEuRSHuqszowRFEnybVarN0A1GOfTO/7qaaZVFpcddta8zQ0BF', 'crc': 7174, 'states': [{'state': 115, 'sid': {'sat': 58295, 'code': 63, 'reserved': 68}, 'cn0': 5856.2001953125}, {'state': 255, 'sid': {'sat': 31151, 'code': 43, 'reserved': 222}, 'cn0': 2612.199951171875}, {'state': 78, 'sid': {'sat': 1520, 'code': 53, 'reserved': 20}, 'cn0': 2925.199951171875}, {'state': 153, 'sid': {'sat': 60802, 'code': 66, 'reserved': 155}, 'cn0': 3198.199951171875}, {'state': 53, 'sid': {'sat': 35058, 'code': 161, 'reserved': 190}, 'cn0': 8623.2001953125}, {'state': 153, 'sid': {'sat': 65405, 'code': 142, 'reserved': 149}, 'cn0': 5915.2001953125}, {'state': 248, 'sid': {'sat': 24422, 'code': 31, 'reserved': 76}, 'cn0': 5412.2001953125}, {'state': 131, 'sid': {'sat': 36211, 'code': 27, 'reserved': 12}, 'cn0': 6428.2001953125}, {'state': 208, 'sid': {'sat': 37676, 'code': 39, 'reserved': 23}, 'cn0': 3104.199951171875}, {'state': 237, 'sid': {'sat': 64415, 'code': 49, 'reserved': 203}, 'cn0': 3686.199951171875}, {'state': 70, 'sid': {'sat': 22486, 'code': 128, 'reserved': 206}, 'cn0': 5967.2001953125}, {'state': 14, 'sid': {'sat': 28622, 'code': 218, 'reserved': 19}, 'cn0': 5423.2001953125}, {'state': 216, 'sid': {'sat': 53602, 'code': 54, 'reserved': 2}, 'cn0': 438.20001220703125}, {'state': 200, 'sid': {'sat': 25477, 'code': 7, 'reserved': 34}, 'cn0': 1862.199951171875}, {'state': 155, 'sid': {'sat': 21803, 'code': 135, 'reserved': 46}, 'cn0': 5462.2001953125}, {'state': 155, 'sid': {'sat': 21251, 'code': 171, 'reserved': 201}, 'cn0': 7454.2001953125}, {'state': 121, 'sid': {'sat': 50475, 'code': 16, 'reserved': 19}, 'cn0': 7134.2001953125}, {'state': 128, 'sid': {'sat': 13813, 'code': 63, 'reserved': 176}, 'cn0': 3111.199951171875}, {'state': 36, 'sid': {'sat': 15636, 'code': 153, 'reserved': 51}, 'cn0': 4297.2001953125}, {'state': 46, 'sid': {'sat': 29778, 'code': 140, 'reserved': 22}, 'cn0': 2649.199951171875}, {'state': 177, 'sid': {'sat': 37443, 'code': 96, 'reserved': 143}, 'cn0': 941.2000122070312}, {'state': 220, 'sid': {'sat': 41011, 'code': 201, 'reserved': 251}, 'cn0': 1539.199951171875}, {'state': 168, 'sid': {'sat': 706, 'code': 161, 'reserved': 220}, 'cn0': 1443.199951171875}, {'state': 69, 'sid': {'sat': 2312, 'code': 125, 'reserved': 178}, 'cn0': 1074.199951171875}, {'state': 185, 'sid': {'sat': 34580, 'code': 186, 'reserved': 171}, 'cn0': 2122.199951171875}, {'state': 18, 'sid': {'sat': 39804, 'code': 85, 'reserved': 170}, 'cn0': 9076.2001953125}, {'state': 57, 'sid': {'sat': 52980, 'code': 255, 'reserved': 186}, 'cn0': 4781.2001953125}, {'state': 165, 'sid': {'sat': 24007, 'code': 181, 'reserved': 175}, 'cn0': 3076.199951171875}]} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 19, 'sender': 61938, 'length': 252, 'payload': 'c7fjP0SaAbdF/695K94zQyNFTvAFNRQz0zZFmYLtQpsz40dFNfKIob7NvAZGmX3/jpWa2bhF+GZfH0yaIalFg3ONGwya4chF0CyTJxczA0JF7Z/7McszY2ZFRtZXgM6aebpFDs5v2hOaealF2GLRNgKaGdtDyIVjByJmxuhEmytVhy6asapFmwNTq8ma8ehFeSvFEBOa8d5FgPU1P7Azc0JFJBQ9mTOaSYZFLlJ0jBYzkyVFsUOSYI/NTGtE3DOgyftmZsBEqMICodxmZrRERQgJfbJmRoZEuRSHuqszowRFEnybVarN0A1GOfTO/7qaaZVFpcddta8zQ0BF', 'crc': 7174, 'states': [{'state': 115, 'sid': {'sat': 58295, 'code': 63, 'reserved': 68}, 'cn0': 5856.2001953125}, {'state': 255, 'sid': {'sat': 31151, 'code': 43, 'reserved': 222}, 'cn0': 2612.199951171875}, {'state': 78, 'sid': {'sat': 1520, 'code': 53, 'reserved': 20}, 'cn0': 2925.199951171875}, {'state': 153, 'sid': {'sat': 60802, 'code': 66, 'reserved': 155}, 'cn0': 3198.199951171875}, {'state': 53, 'sid': {'sat': 35058, 'code': 161, 'reserved': 190}, 'cn0': 8623.2001953125}, {'state': 153, 'sid': {'sat': 65405, 'code': 142, 'reserved': 149}, 'cn0': 5915.2001953125}, {'state': 248, 'sid': {'sat': 24422, 'code': 31, 'reserved': 76}, 'cn0': 5412.2001953125}, {'state': 131, 'sid': {'sat': 36211, 'code': 27, 'reserved': 12}, 'cn0': 6428.2001953125}, {'state': 208, 'sid': {'sat': 37676, 'code': 39, 'reserved': 23}, 'cn0': 3104.199951171875}, {'state': 237, 'sid': {'sat': 64415, 'code': 49, 'reserved': 203}, 'cn0': 3686.199951171875}, {'state': 70, 'sid': {'sat': 22486, 'code': 128, 'reserved': 206}, 'cn0': 5967.2001953125}, {'state': 14, 'sid': {'sat': 28622, 'code': 218, 'reserved': 19}, 'cn0': 5423.2001953125}, {'state': 216, 'sid': {'sat': 53602, 'code': 54, 'reserved': 2}, 'cn0': 438.20001220703125}, {'state': 200, 'sid': {'sat': 25477, 'code': 7, 'reserved': 34}, 'cn0': 1862.199951171875}, {'state': 155, 'sid': {'sat': 21803, 'code': 135, 'reserved': 46}, 'cn0': 5462.2001953125}, {'state': 155, 'sid': {'sat': 21251, 'code': 171, 'reserved': 201}, 'cn0': 7454.2001953125}, {'state': 121, 'sid': {'sat': 50475, 'code': 16, 'reserved': 19}, 'cn0': 7134.2001953125}, {'state': 128, 'sid': {'sat': 13813, 'code': 63, 'reserved': 176}, 'cn0': 3111.199951171875}, {'state': 36, 'sid': {'sat': 15636, 'code': 153, 'reserved': 51}, 'cn0': 4297.2001953125}, {'state': 46, 'sid': {'sat': 29778, 'code': 140, 'reserved': 22}, 'cn0': 2649.199951171875}, {'state': 177, 'sid': {'sat': 37443, 'code': 96, 'reserved': 143}, 'cn0': 941.2000122070312}, {'state': 220, 'sid': {'sat': 41011, 'code': 201, 'reserved': 251}, 'cn0': 1539.199951171875}, {'state': 168, 'sid': {'sat': 706, 'code': 161, 'reserved': 220}, 'cn0': 1443.199951171875}, {'state': 69, 'sid': {'sat': 2312, 'code': 125, 'reserved': 178}, 'cn0': 1074.199951171875}, {'state': 185, 'sid': {'sat': 34580, 'code': 186, 'reserved': 171}, 'cn0': 2122.199951171875}, {'state': 18, 'sid': {'sat': 39804, 'code': 85, 'reserved': 170}, 'cn0': 9076.2001953125}, {'state': 57, 'sid': {'sat': 52980, 'code': 255, 'reserved': 186}, 'cn0': 4781.2001953125}, {'state': 165, 'sid': {'sat': 24007, 'code': 181, 'reserved': 175}, 'cn0': 3076.199951171875}]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDep.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDep.py index 03c545947c..bc85adf156 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDep.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDep.py @@ -326,4 +326,4 @@ def test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_5(): assert dictify(msg.uptime) == 3 - assert dictify(msg) == {'track_flags': 11, 'doppler': 15640, 'clock_offset': 0, 'msg_type': 17, 'lock': 14032, 'nav_flags': 0, 'p_std': 0, 'l': {'i': 3275, 'f': 64}, 'pset_flags': 3, 'p': 0, 'misc_flags': 9, 'preamble': 85, 'payload': 'vV94TgIAAAAAAAAAAAAAAAAAAADLDAAAQLjQNg8AAAAYPQAABAADAAAAAAAAACgAAgEACwADCQ==', 'recv_time': 9906446269, 'acceleration': 2, 'uptime': 3, 'sender': 26427, 'cn0': 184, 'doppler_std': 4, 'tow_flags': 0, 'tot': {'wn': 0, 'tow': 0}, 'crc': 52930, 'length': 55, 'clock_drift': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 15}, 'sync_flags': 1, 'corr_spacing': 40} \ No newline at end of file + assert dictify(msg) == {'track_flags': 11, 'doppler': 15640, 'clock_offset': 0, 'msg_type': 17, 'lock': 14032, 'nav_flags': 0, 'p_std': 0, 'l': {'i': 3275, 'f': 64}, 'pset_flags': 3, 'p': 0, 'misc_flags': 9, 'preamble': 85, 'payload': 'vV94TgIAAAAAAAAAAAAAAAAAAADLDAAAQLjQNg8AAAAYPQAABAADAAAAAAAAACgAAgEACwADCQ==', 'recv_time': 9906446269, 'acceleration': 2, 'uptime': 3, 'sender': 26427, 'cn0': 184, 'doppler_std': 4, 'tow_flags': 0, 'tot': {'wn': 0, 'tow': 0}, 'crc': 52930, 'length': 55, 'clock_drift': 0, 'sid': {'code': 0, 'reserved': 0, 'sat': 15}, 'sync_flags': 1, 'corr_spacing': 40} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.py index 8b6ba20294..0bc0b5ca29 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgTrackingStateDetailedDepA.py @@ -78,4 +78,4 @@ def test_auto_check_sbp_tracking_msg_tracking_state_detailed_dep_a_1(): assert dictify(msg.uptime) == 3263741727 - assert dictify(msg) == {'crc': 25722, 'length': 57, 'msg_type': 33, 'payload': 'Lh+0JtsAAACFZEdewAKgz9T/h4s+PrNT4/WGoMxOX/8mO6EP/1a9+B+/iMJ8Fw9b+XWOWttDGVM+', 'preamble': 85, 'sender': 28315, 'recv_time': 941247176494, 'tot': {'tow': 1581737093, 'ns_residual': -811597120, 'wn': 65492}, 'p': 1044286343, 'p_std': 21427, 'l': {'i': -1601767965, 'f': 204}, 'cn0': 78, 'lock': 65375, 'sid': {'sat': 38, 'code': 59}, 'doppler': 1459556257, 'doppler_std': 63677, 'uptime': 3263741727, 'clock_offset': 6012, 'clock_drift': 23311, 'corr_spacing': 30201, 'acceleration': -114, 'sync_flags': 90, 'tow_flags': 219, 'track_flags': 67, 'nav_flags': 25, 'pset_flags': 83, 'misc_flags': 62} \ No newline at end of file + assert dictify(msg) == {'crc': 25722, 'length': 57, 'msg_type': 33, 'payload': 'Lh+0JtsAAACFZEdewAKgz9T/h4s+PrNT4/WGoMxOX/8mO6EP/1a9+B+/iMJ8Fw9b+XWOWttDGVM+', 'preamble': 85, 'sender': 28315, 'recv_time': 941247176494, 'tot': {'tow': 1581737093, 'ns_residual': -811597120, 'wn': 65492}, 'p': 1044286343, 'p_std': 21427, 'l': {'i': -1601767965, 'f': 204}, 'cn0': 78, 'lock': 65375, 'sid': {'sat': 38, 'code': 59}, 'doppler': 1459556257, 'doppler_std': 63677, 'uptime': 3263741727, 'clock_offset': 6012, 'clock_drift': 23311, 'corr_spacing': 30201, 'acceleration': -114, 'sync_flags': 90, 'tow_flags': 219, 'track_flags': 67, 'nav_flags': 25, 'pset_flags': 83, 'misc_flags': 62} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgtrackingStateDepA.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgtrackingStateDepA.py index 20b193a50a..099fbf93c5 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgtrackingStateDepA.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_tracking_MsgtrackingStateDepA.py @@ -148,4 +148,4 @@ def test_auto_check_sbp_tracking_msgtracking_state_dep_a_6(): assert dictify(msg.states) == [{'cn0': 27.394229888916016, 'prn': 0, 'state': 1}, {'cn0': 2.875, 'prn': 2, 'state': 1}, {'cn0': 8.467644691467285, 'prn': 3, 'state': 1}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}, {'cn0': -1.0, 'prn': 0, 'state': 0}] - assert dictify(msg) == {'sender': 1219, 'msg_type': 22, 'states': [{'state': 1, 'prn': 0, 'cn0': 27.394229888916016}, {'state': 1, 'prn': 2, 'cn0': 2.875}, {'state': 1, 'prn': 3, 'cn0': 8.467644691467285}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}], 'crc': 31525, 'length': 66, 'preamble': 85, 'payload': 'AQBiJ9tBAQIAADhAAQN5ewdBAAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/'} \ No newline at end of file + assert dictify(msg) == {'sender': 1219, 'msg_type': 22, 'states': [{'state': 1, 'prn': 0, 'cn0': 27.394229888916016}, {'state': 1, 'prn': 2, 'cn0': 2.875}, {'state': 1, 'prn': 3, 'cn0': 8.467644691467285}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}, {'state': 0, 'prn': 0, 'cn0': -1.0}], 'crc': 31525, 'length': 66, 'preamble': 85, 'payload': 'AQBiJ9tBAQIAADhAAQN5ewdBAAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/AAAAAIC/'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_user_MsgUserData.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_user_MsgUserData.py index 3bc0c2608b..539bd6cd24 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_user_MsgUserData.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_user_MsgUserData.py @@ -38,4 +38,4 @@ def test_auto_check_sbp_user_msg_user_data_1(): assert dictify(msg.contents) == [53, 5, 172, 138, 50, 49, 206, 234, 149, 204, 113, 31, 108, 188, 179, 154, 156, 167, 145, 139, 42, 207, 126, 242, 193, 9, 58, 75, 8, 135, 11, 92, 131, 245, 24, 90, 255, 30, 58, 31, 109, 148, 56, 178, 140, 30, 159, 70, 17, 170, 50, 148, 1, 99, 112, 88, 217, 36, 84, 34, 234, 82, 144, 144, 97, 96, 75, 174, 58, 219, 180, 148, 247, 59, 2, 116, 214, 114, 55, 134, 54, 119, 108, 128, 73, 181, 20, 233, 23, 23, 73, 119, 136, 231, 189, 26, 174, 128, 93, 30, 76, 45, 109, 134, 81, 0, 116, 158, 127, 40, 133, 208, 134, 127, 140, 232, 183, 184, 108, 6, 228, 54, 238, 59, 220, 30, 228, 212, 50, 182, 97, 20, 41, 76, 227, 88, 12, 95, 112, 209, 183, 127, 4, 165, 189, 44, 239, 232, 132, 9, 114, 184, 249, 208, 246, 194, 250, 2, 97, 173, 157, 202, 172, 180, 150, 213, 193, 177, 209, 156, 20, 174, 18, 73, 132, 215, 115, 128, 175, 169, 116, 132, 100, 72, 45, 25, 14, 205, 213, 145, 68, 137, 249, 54, 40, 174, 215, 148, 166, 190, 63, 118, 6, 165, 212, 74, 68, 200, 38, 139, 212, 112, 45, 167, 236, 255, 106, 92, 132, 59, 61, 233, 3, 246, 158, 83, 134, 246, 154, 17, 0, 6, 56, 216, 19, 216, 70, 71, 161, 184, 5, 177, 45, 37, 98, 56, 149, 0, 73, 221, 105, 239, 168, 205, 85] - assert dictify(msg) == {'crc': 62801, 'length': 255, 'msg_type': 2048, 'payload': 'NQWsijIxzuqVzHEfbLyzmpynkYsqz37ywQk6SwiHC1yD9Rha/x46H22UOLKMHp9GEaoylAFjcFjZJFQi6lKQkGFgS64627SU9zsCdNZyN4Y2d2yASbUU6RcXSXeI570aroBdHkwtbYZRAHSefyiF0IZ/jOi3uGwG5DbuO9we5NQytmEUKUzjWAxfcNG3fwSlvSzv6IQJcrj50PbC+gJhrZ3KrLSW1cGx0ZwUrhJJhNdzgK+pdIRkSC0ZDs3VkUSJ+TYorteUpr4/dgal1EpEyCaL1HAtp+z/alyEOz3pA/aeU4b2mhEABjjYE9hGR6G4BbEtJWI4lQBJ3WnvqM1V', 'preamble': 85, 'sender': 8574, 'contents': [53, 5, 172, 138, 50, 49, 206, 234, 149, 204, 113, 31, 108, 188, 179, 154, 156, 167, 145, 139, 42, 207, 126, 242, 193, 9, 58, 75, 8, 135, 11, 92, 131, 245, 24, 90, 255, 30, 58, 31, 109, 148, 56, 178, 140, 30, 159, 70, 17, 170, 50, 148, 1, 99, 112, 88, 217, 36, 84, 34, 234, 82, 144, 144, 97, 96, 75, 174, 58, 219, 180, 148, 247, 59, 2, 116, 214, 114, 55, 134, 54, 119, 108, 128, 73, 181, 20, 233, 23, 23, 73, 119, 136, 231, 189, 26, 174, 128, 93, 30, 76, 45, 109, 134, 81, 0, 116, 158, 127, 40, 133, 208, 134, 127, 140, 232, 183, 184, 108, 6, 228, 54, 238, 59, 220, 30, 228, 212, 50, 182, 97, 20, 41, 76, 227, 88, 12, 95, 112, 209, 183, 127, 4, 165, 189, 44, 239, 232, 132, 9, 114, 184, 249, 208, 246, 194, 250, 2, 97, 173, 157, 202, 172, 180, 150, 213, 193, 177, 209, 156, 20, 174, 18, 73, 132, 215, 115, 128, 175, 169, 116, 132, 100, 72, 45, 25, 14, 205, 213, 145, 68, 137, 249, 54, 40, 174, 215, 148, 166, 190, 63, 118, 6, 165, 212, 74, 68, 200, 38, 139, 212, 112, 45, 167, 236, 255, 106, 92, 132, 59, 61, 233, 3, 246, 158, 83, 134, 246, 154, 17, 0, 6, 56, 216, 19, 216, 70, 71, 161, 184, 5, 177, 45, 37, 98, 56, 149, 0, 73, 221, 105, 239, 168, 205, 85]} \ No newline at end of file + assert dictify(msg) == {'crc': 62801, 'length': 255, 'msg_type': 2048, 'payload': 'NQWsijIxzuqVzHEfbLyzmpynkYsqz37ywQk6SwiHC1yD9Rha/x46H22UOLKMHp9GEaoylAFjcFjZJFQi6lKQkGFgS64627SU9zsCdNZyN4Y2d2yASbUU6RcXSXeI570aroBdHkwtbYZRAHSefyiF0IZ/jOi3uGwG5DbuO9we5NQytmEUKUzjWAxfcNG3fwSlvSzv6IQJcrj50PbC+gJhrZ3KrLSW1cGx0ZwUrhJJhNdzgK+pdIRkSC0ZDs3VkUSJ+TYorteUpr4/dgal1EpEyCaL1HAtp+z/alyEOz3pA/aeU4b2mhEABjjYE9hGR6G4BbEtJWI4lQBJ3WnvqM1V', 'preamble': 85, 'sender': 8574, 'contents': [53, 5, 172, 138, 50, 49, 206, 234, 149, 204, 113, 31, 108, 188, 179, 154, 156, 167, 145, 139, 42, 207, 126, 242, 193, 9, 58, 75, 8, 135, 11, 92, 131, 245, 24, 90, 255, 30, 58, 31, 109, 148, 56, 178, 140, 30, 159, 70, 17, 170, 50, 148, 1, 99, 112, 88, 217, 36, 84, 34, 234, 82, 144, 144, 97, 96, 75, 174, 58, 219, 180, 148, 247, 59, 2, 116, 214, 114, 55, 134, 54, 119, 108, 128, 73, 181, 20, 233, 23, 23, 73, 119, 136, 231, 189, 26, 174, 128, 93, 30, 76, 45, 109, 134, 81, 0, 116, 158, 127, 40, 133, 208, 134, 127, 140, 232, 183, 184, 108, 6, 228, 54, 238, 59, 220, 30, 228, 212, 50, 182, 97, 20, 41, 76, 227, 88, 12, 95, 112, 209, 183, 127, 4, 165, 189, 44, 239, 232, 132, 9, 114, 184, 249, 208, 246, 194, 250, 2, 97, 173, 157, 202, 172, 180, 150, 213, 193, 177, 209, 156, 20, 174, 18, 73, 132, 215, 115, 128, 175, 169, 116, 132, 100, 72, 45, 25, 14, 205, 213, 145, 68, 137, 249, 54, 40, 174, 215, 148, 166, 190, 63, 118, 6, 165, 212, 74, 68, 200, 38, 139, 212, 112, 45, 167, 236, 255, 106, 92, 132, 59, 61, 233, 3, 246, 158, 83, 134, 246, 154, 17, 0, 6, 56, 216, 19, 216, 70, 71, 161, 184, 5, 177, 45, 37, 98, 56, 149, 0, 73, 221, 105, 239, 168, 205, 85]} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgOdometry.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgOdometry.py index 35d3d1a70a..8919611735 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgOdometry.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgOdometry.py @@ -42,4 +42,4 @@ def test_auto_check_sbp_vehicle_msg_odometry_1(): assert dictify(msg.velocity) == 7 - assert dictify(msg) == {'sender': 66, 'msg_type': 2307, 'tow': 8, 'crc': 25396, 'length': 9, 'flags': 1, 'velocity': 7, 'preamble': 85, 'payload': 'CAAAAAcAAAAB'} \ No newline at end of file + assert dictify(msg) == {'sender': 66, 'msg_type': 2307, 'tow': 8, 'crc': 25396, 'length': 9, 'flags': 1, 'velocity': 7, 'preamble': 85, 'payload': 'CAAAAAcAAAAB'} diff --git a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgWheeltick.py b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgWheeltick.py index 6f0739ecfa..5b966ebe8f 100644 --- a/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgWheeltick.py +++ b/kaitai/python/kaitai_sbp/tests/test_auto_check_sbp_vehicle_MsgWheeltick.py @@ -44,4 +44,4 @@ def test_auto_check_sbp_vehicle_msg_wheeltick_1(): assert dictify(msg.time) == 112414825470 - assert dictify(msg) == {'preamble': 85, 'msg_type': 2308, 'sender': 17771, 'length': 14, 'payload': '/htyLBoAAAABkuEzCdI=', 'crc': 14372, 'time': 112414825470, 'flags': 1, 'source': 146, 'ticks': -771148831} \ No newline at end of file + assert dictify(msg) == {'preamble': 85, 'msg_type': 2308, 'sender': 17771, 'length': 14, 'payload': '/htyLBoAAAABkuEzCdI=', 'crc': 14372, 'time': 112414825470, 'flags': 1, 'source': 146, 'ticks': -771148831} diff --git a/python/sbp/ssr.py b/python/sbp/ssr.py index c2a07b91f1..20e275ee9d 100644 --- a/python/sbp/ssr.py +++ b/python/sbp/ssr.py @@ -341,8 +341,9 @@ class TroposphericDelayCorrection(object): wet : int Wet vertical delay. Add 0.252 m to get actual value. stddev : int - Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - value/16) - 1) + Encoded standard deviation leaning on RTCM DF389 specification. The upper + 3 bit are the class, the lower 5 bits are the value. Standard deviation + [mm] = (3^class * (1 + value/16) - 1) """ _parser = construct.Struct( @@ -420,8 +421,9 @@ class STECResidual(object): residual : int STEC residual stddev : int - Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - value/16) - 1) * 10 + Encoded standard deviation leaning on RTCM DF389 specification. The upper + 3 bit are the class, the lower 5 bits are the value. Standard deviation + [TECU] = (3^class * (1 + value/16) - 1) * 0.1 """ _parser = construct.Struct( diff --git a/rust/sbp/src/messages/ssr.rs b/rust/sbp/src/messages/ssr.rs index d79d81787b..bd38a9b9bf 100644 --- a/rust/sbp/src/messages/ssr.rs +++ b/rust/sbp/src/messages/ssr.rs @@ -3648,8 +3648,9 @@ pub mod stec_residual { /// STEC residual #[cfg_attr(feature = "serde", serde(rename = "residual"))] pub residual: i16, - /// Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - /// value/16) - 1) * 10 + /// Encoded standard deviation leaning on RTCM DF389 specification. The + /// upper 3 bit are the class, the lower 5 bits are the value. Standard + /// deviation \[TECU\] = (3^class * (1 + value/16) - 1) * 0.1 #[cfg_attr(feature = "serde", serde(rename = "stddev"))] pub stddev: u8, } @@ -4082,8 +4083,9 @@ pub mod tropospheric_delay_correction { /// Wet vertical delay. Add 0.252 m to get actual value. #[cfg_attr(feature = "serde", serde(rename = "wet"))] pub wet: i8, - /// Modified DF389. class 3 MSB, value 5 LSB. stddev = (3^class * (1 + - /// value/16) - 1) + /// Encoded standard deviation leaning on RTCM DF389 specification. The + /// upper 3 bit are the class, the lower 5 bits are the value. Standard + /// deviation \[mm\] = (3^class * (1 + value/16) - 1) #[cfg_attr(feature = "serde", serde(rename = "stddev"))] pub stddev: u8, } From 050f567ac54c0bf68d74af57634f35f8ac9eb695 Mon Sep 17 00:00:00 2001 From: Christian Reimer Date: Fri, 6 Jun 2025 19:07:02 +0200 Subject: [PATCH 3/5] Update references to docker image in READMEs --- HOWTO.md | 6 +++--- README.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/HOWTO.md b/HOWTO.md index aeeeccdf41..41d0687772 100644 --- a/HOWTO.md +++ b/HOWTO.md @@ -163,11 +163,11 @@ Some thoughts to consider when adding a new message: It's highly recommended to use the docker container to run the release process, the docker container can be pulled from DockerHub and launched via this command: - docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19 + docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10 You can invoke individual stages like so: - docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2023-12-19 \ + docker run -v $PWD:/mnt/workspace -i -t swiftnav/libsbp-build:2025-02-10 \ /bin/bash -c "make python" Check this [link](https://hub.docker.com/r/swiftnav/libsbp-build/tags) for newer tags. @@ -467,7 +467,7 @@ For more info see: Date: Tue, 10 Jun 2025 09:37:07 +0200 Subject: [PATCH 4/5] Review feedback --- spec/yaml/swiftnav/sbp/ssr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/yaml/swiftnav/sbp/ssr.yaml b/spec/yaml/swiftnav/sbp/ssr.yaml index c3a7a99811..d47705eb88 100644 --- a/spec/yaml/swiftnav/sbp/ssr.yaml +++ b/spec/yaml/swiftnav/sbp/ssr.yaml @@ -182,7 +182,7 @@ definitions: type: u8 units: mm desc: > - Encoded standard deviation leaning on RTCM DF389 specification. + Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit are the class, the lower 5 bits are the value. Standard deviation [mm] = (3^class * (1 + value/16) - 1) @@ -213,7 +213,7 @@ definitions: type: u8 units: TECU desc: > - Encoded standard deviation leaning on RTCM DF389 specification. + Standard deviation encoded using a similar method as RTCM DF389. The upper 3 bit are the class, the lower 5 bits are the value. Standard deviation [TECU] = (3^class * (1 + value/16) - 1) * 0.1 From f1193218e2b3ae880866f4c932fff39aafa55e73 Mon Sep 17 00:00:00 2001 From: Christian Reimer Date: Tue, 10 Jun 2025 09:38:48 +0200 Subject: [PATCH 5/5] Generated files --- c/include/libsbp/ssr/STECResidual.h | 4 ++-- .../libsbp/ssr/TroposphericDelayCorrection.h | 6 +++--- docs/sbp.pdf | Bin 567388 -> 567691 bytes haskell/src/SwiftNav/SBP/Ssr.hs | 4 ++-- .../com/swiftnav/sbp/ssr/STECResidual.java | 2 +- .../sbp/ssr/TroposphericDelayCorrection.java | 2 +- javascript/sbp.bundle.js.LICENSE.txt | 6 ++++++ javascript/sbp/ssr.js | 4 ++-- kaitai/ksy/ssr.ksy | 4 ++-- python/sbp/ssr.py | 4 ++-- rust/sbp/src/messages/ssr.rs | 4 ++-- 11 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 javascript/sbp.bundle.js.LICENSE.txt diff --git a/c/include/libsbp/ssr/STECResidual.h b/c/include/libsbp/ssr/STECResidual.h index 6712adfa11..9b0d2eba65 100644 --- a/c/include/libsbp/ssr/STECResidual.h +++ b/c/include/libsbp/ssr/STECResidual.h @@ -56,8 +56,8 @@ typedef struct { s16 residual; /** - * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 - * bit are the class, the lower 5 bits are the value. Standard deviation + * Standard deviation encoded using a similar method as RTCM DF389. The upper + * 3 bit are the class, the lower 5 bits are the value. Standard deviation * [TECU] = (3^class * (1 + value/16) - 1) * 0.1 [TECU] */ u8 stddev; diff --git a/c/include/libsbp/ssr/TroposphericDelayCorrection.h b/c/include/libsbp/ssr/TroposphericDelayCorrection.h index 648f640d5d..49485f5724 100644 --- a/c/include/libsbp/ssr/TroposphericDelayCorrection.h +++ b/c/include/libsbp/ssr/TroposphericDelayCorrection.h @@ -54,9 +54,9 @@ typedef struct { s8 wet; /** - * Encoded standard deviation leaning on RTCM DF389 specification. The upper 3 - * bit are the class, the lower 5 bits are the value. Standard deviation [mm] - * = (3^class * (1 + value/16) - 1) [mm] + * Standard deviation encoded using a similar method as RTCM DF389. The upper + * 3 bit are the class, the lower 5 bits are the value. Standard deviation + * [mm] = (3^class * (1 + value/16) - 1) [mm] */ u8 stddev; } sbp_tropospheric_delay_correction_t; diff --git a/docs/sbp.pdf b/docs/sbp.pdf index f1a173b87c4c6e269080768c99a98ae67bb37d01..a9e6a283906d26dd1b8461331677f2a7e6051160 100644 GIT binary patch delta 52704 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 Xba--Q4`vEAHZe3fG72RnMNdWwM@Qdv delta 52438 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

    QOtGK5W-&}N!m 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