GNSS KnowledgeBase / Formats & Protocols / CMR, CMR+, sCMRx, CMRx, CMRW


The Compact Measurement Record (CMR) format was developed by Trimble Navigation Limited long time ago. It includes three messages types:

  • Type 0: GPS Observables
  • Type 1: Reference Station Position
  • Type 2: Reference Station Description

Later (about 20 years ago), Trimble introduced CMR+ message. It allows to reduce the peak throughput of the CMR format. It is used for CMR message types 1 and 2. Data from these messages is transmitted by frames. Each frame is 16 bytes in size (7-byte message body plus 9 auxiliary bytes), and is transmitted together with other CMR Messages.

Only GPS measurements (message Type 0) was disclosed by Trimble. Format for GLONASS and rest systems is kept confidential. It gives Trimble rovers outstanding advantage over 3rd party rovers if working w/ Trimble base or NTRIP network controlled by Trimble.

Rest GNSS manufactures introduced own implementation of GLONASS observation messages (Type 3). It is almost copy of CMR message Type 0 but w/ GLONASS measurements inside. See "Leica CMR GLONASS definition". Trimble rovers support own GLONASS CMR as well as 3rd parties definition.

Besides disclosed CMR (Messages types 0, 1, 2) & CMR+ formats, Trimble uses proprietary undisclosed CMR formats / messages. One may find mentions of CMRx, CMR-W, sCMRx, Ag Scrambled CMR in Trimble's receivers documentation.

Content and preambles of these "secrete" messages depends on what business Trimble receiver belongs to (Geo or Agriculture). Utility CSGTestSuite.exe created and provided by Trimble may help in digging these messages. However, the content not only undisclosed but also some simple crypto coding applied.

Basic KernelSAT services support decoding and visualization of standard CMR & CMR+ messages w/ Leica extension of GLONASS data (type 3).

Update: using GNSS simulator one may do legitimate reverse engineering of CMR-W / CMRx messages. Placing several satellites on the same orbit position w/ concrete SNR as well as using crypto de-coding techniques allow to decript and decode these messages. We're planning to add advanced version of KernelSAT services which could convert content of CMRx / CMR-W messages into standard RTCM3 (MSM) what will allow non-Trimble rovers use full GNSS constellation when working w/ Trimble base or network.

(the byte after STX & Status)
Message Type Message Class Message Description
0x930CMRGPS Observables
0x931CMRReference Station Position
0x932CMRReference Station Description
0x933CMRGLONASS Observables (Leica definition)
0x94CMR+Sub-packet of CMR+ message
0x98CMR-WSort of modern Trimble CMR-like messages

© 2023-2024 KernelSAT