HMR3500 User's Guide
All multibyte numbers are transmitted "little-endian," that is, less or least significant byte first. This is common to Intel and
some other architectures. Host computers which require "big endian" will need to rearrange bytes in software.
With one exception, the compass acknowledges every message, either with requested data, results of an operation, or a
simple echo of the command. The reply messages from the compass are prefixed with a letter "D" to each corresponding
host message name. The only exception to this is the RSET command which performs a complete processor reset
immediately. However, upon startup, the module outputs a DPOWER message, and this can be considered as an
acknowledgement of a RSET.
If there is any error in the form of a packet received by the module, or if the packet ID code is not supported, the module
will ignore the message altogether. It is up to the host to re-request data for which it does not receive a response because
of an error.
The compass may send some unsolicited messages to the host. Examples are DORIENT and DMCAL. There is no
provision to resend any of these packets which may be lost.
3.4 MESSAGE DESCRIPTIONS
Most host-compass communication is a dialog—the host sends a command and the module replies. For this reason, most
of the message descriptions below describe the host command and the module response together. The reply message
names are listed with each corresponding host messages in the detail message description section.
Remember that some messages and/or replies have no data; the message type ID carries all necessary information. The
length field in the headers of these messages will contain a zero, and there will be no data bytes.
Most packet (message type) ID's lie in the range 0x40 through 0x7d. These are all printable ASCII, and will not be
confused with the first three characters in the header. Packets from the host are usually commands or requests; those
from the compass are responses to those requests. The ID code of the response is the same as the request. However,
since the data portion of the packet is usually different, the message ID's are named differently. The compass replies
have the letter 'D' prefixed to the name of the corresponding host message.
Packet ID's that are not assigned in this document should not be used. There are a few message types reserved for
production and calibration, or for development, which are not described here. Although the module is designed to be safe
from harm from inadvertent sending of these messages, nothing helpful can come from using them.
Since the compass is closely related to Honeywell's DRM products, many messages are common to both the compass
and Dead Reckoning Modules. A major exception is the ID codes for the VRSN/DVRSN messages which have been
changed for the compass to prevent confusion among support programs.
Table 1: Numeric Data Formats
May be signed or unsigned, or defined as bit flags.
May be signed or unsigned. Unsigned may be defined as bit flags.
Used for azimuth and related angles. May be considered signed or
unsigned. If unsigned, value is 65536/360 times degrees and is in
the range of 0° to 360°. If considered as signed, the same binary
values correspond to ±180°.
May be signed or unsigned.
Format corresponds to IEEE 754 for single-precision. Used for
latitude and longitude.