Micromodem-2 User's Guide: Acoustic Communications Group
Micromodem-2 User's Guide: Acoustic Communications Group
Guide
Acoustic Communications Group
1
Table of Contents
Overview ....................................................................................................................................................... 1
New Features in the Micromodem-2........................................................................................................ 2
Hardware Improvement Highlights ...................................................................................................... 2
More Information ................................................................................................................................. 2
Upgrading from the Micromodem-1 ........................................................................................................ 3
Hardware Differences ........................................................................................................................... 3
Software Interface Differences ............................................................................................................. 3
Getting Started with Acoustic Communication ........................................................................................ 4
Modem Setup ....................................................................................................................................... 5
NMEA 0183 Sentences .......................................................................................................................... 6
NMEA Messages.................................................................................................................................... 6
Hardware Interface ..................................................................................................................................... 10
User Connections .................................................................................................................................... 11
Pinouts ................................................................................................................................................ 11
Mating Connectors.............................................................................................................................. 12
Electrical Specifications........................................................................................................................... 14
Absolute Maximum Ratings ................................................................................................................ 14
Operating Conditions .......................................................................................................................... 14
Software Interface ...................................................................................................................................... 15
Acoustic Communications Sentences ..................................................................................................... 16
CAACK – Acknowledgment of a transmitted packet ........................................................................... 16
CADRQ – Data request message, modem to host .............................................................................. 16
CARXD - Received binary message, modem to host ........................................................................... 17
CARXP – Incoming packet detected, modem to host ......................................................................... 17
CCTXD – Transmit binary data message, host to modem ................................................................... 17
CCTXP – Start of packet transmission, modem to host ...................................................................... 18
CCTXF – End of packet transmission, modem to host ........................................................................ 18
Sending Sweeps and Tones ................................................................................................................. 18
2
Sending M-Sequences ......................................................................................................................... 19
Passthrough Messages........................................................................................................................ 19
NMEA API Level ....................................................................................................................................... 22
CCALQ.................................................................................................................................................. 22
CAALQ ................................................................................................................................................. 22
Acoustic Network Protocol Sentences .................................................................................................... 23
CCCYC – Network Cycle Initialization Command ................................................................................ 23
CACYC – Echo of Network Cycle Initialization command .................................................................... 23
Ping Sentences ........................................................................................................................................ 24
CCMPC – Mini-Packet Ping command, host to modem ...................................................................... 24
CAMPC – Echo of Ping command, modem to host ............................................................................. 24
CAMPA – A Ping has been received, modem to host ......................................................................... 24
CAMPR – Reply to Ping has been received, modem to host .............................................................. 25
CCRSP – Pinging with an FM sweep .................................................................................................... 25
CARSP – Response to FM sweep ping command ............................................................................... 25
Recording Raw Data ................................................................................................................................ 26
CCREC .................................................................................................................................................. 26
CARCI ................................................................................................................................................... 27
CAREP .................................................................................................................................................. 27
Example ............................................................................................................................................... 28
CACFT – Fathometer ping reply report ............................................................................................... 30
CACIR – Fathometer ping reply IRE capture ....................................................................................... 30
Sleep and Hibernate Sentences .............................................................................................................. 32
Hibernating ......................................................................................................................................... 32
Sleep.................................................................................................................................................... 37
External Hardware Line Control Sentences ............................................................................................ 39
CCEXL – External hardware control command, local modem only..................................................... 39
CCMEC - External hardware control command .................................................................................. 39
CAMEC – Echo of hardware control command, modem to host ........................................................ 40
CAMEA – Hardware control command received acoustically ............................................................ 41
CAMER – Hardware control command reply received ....................................................................... 41
Packets, Rates, Frames and Acknowledgement ................................................................................. 42
3
Flexible Data Protocol (FDP) ................................................................................................................... 44
CCTDP- transmit (downlink) data packet ............................................................................................ 44
CATDP - Response to CCTDP command .............................................................................................. 44
CARDP- Reception of a FDP downlink data packet. ............................................................................ 45
FDP Minipacket rates .......................................................................................................................... 46
User Mini-Packet Sentences ................................................................................................................... 48
CCMUC – User Mini-Packet command, host to modem ..................................................................... 48
CAMUC – Echo of user Mini-Packet, modem to host ......................................................................... 48
CAMUA – Mini-Packet received acoustically, modem to host ........................................................... 48
CAMUR – Reply to Mini-Packet received, modem to host ................................................................. 49
Navigation Sentences.............................................................................................................................. 50
CCPGT – Ping Generic transponder, host to modem .......................................................................... 50
CCPDT – Ping REMUS digital transponder, host to modem ................................................................ 51
CCPNT – Ping narrowband transponder, host to modem .................................................................. 52
SNTTA – Transponder travel times, modem to host........................................................................... 53
SNMFD – Nav matched filter information, modem to host................................................................ 53
Diagnostic and Information Sentences ................................................................................................... 54
CABBD – Dump of baseband data to serial port, modem to host ...................................................... 54
CCCFR -- Measure noise level at receiver, host to modem................................................................. 54
SNCFR -- Noise report, modem to host ............................................................................................... 55
CACST – Communication cycle receive statistics ................................................................................ 55
CAXST – Communication cycle transmit statistics .............................................................................. 58
CAMSG – Transaction message, modem to host ................................................................................ 58
CAREV – Software revision message, modem to host ........................................................................ 59
CADQF – Data quality factor information, modem to host ................................................................ 60
CASHF – Shift information, modem to host ........................................................................................ 60
CAMFD – Comms matched filter information, modem to host .......................................................... 60
CACLK – Time/Date message, modem to host ................................................................................... 61
CASNR – SNR statistics on the incoming PSK packet .......................................................................... 61
CADOP – Doppler speed message, modem to host ............................................................................ 62
CADBG – Low level debug message, modem to host ......................................................................... 62
BBD, Baseband data dump configuration parameter ......................................................................... 62
4
SNNST .................................................................................................................................................. 64
Configuration Sentences ......................................................................................................................... 66
CCCFG – Set configuration parameter, host to modem ..................................................................... 66
CCCFQ – Query configuration parameter, host to modem ................................................................ 67
Selected Configuration Settings for detector lockouts ....................................................................... 84
Synchronous Navigation ......................................................................................................................... 85
Using and Setting the Clock .................................................................................................................... 86
CCTMS ................................................................................................................................................. 86
CATMS ................................................................................................................................................. 86
Examples ............................................................................................................................................. 87
CCTMQ ................................................................................................................................................ 87
CATMQ ................................................................................................................................................ 88
CATMG ................................................................................................................................................ 88
CCCLK – Set clock, host to modem...................................................................................................... 89
Firmware Update .................................................................................................................................... 91
UPMFW ............................................................................................................................................... 92
UPMFWA ............................................................................................................................................. 92
UPDAT ................................................................................................................................................. 93
UPDATA ............................................................................................................................................... 93
UPERR.................................................................................................................................................. 93
UPDONE .............................................................................................................................................. 94
pyAcomms Support ............................................................................................................................. 95
Acoustic NMEA command ...................................................................................................................... 96
CCACM ................................................................................................................................................ 96
CAACM ................................................................................................................................................ 96
CAACA ................................................................................................................................................. 97
CAACR ................................................................................................................................................. 97
USBL navigation ...................................................................................................................................... 98
USBL Navigation Configuration Parameters ....................................................................................... 99
CCXSB ................................................................................................................................................ 100
CAXSB ................................................................................................................................................ 101
CCRSB ................................................................................................................................................ 102
5
CAUSB ............................................................................................................................................... 103
CAUIR ................................................................................................................................................ 103
CAUXY ............................................................................................................................................... 103
Error Messages ..................................................................................................................................... 104
CAERR – Error message, modem to host .......................................................................................... 104
ModemTMA .......................................................................................................................................... 105
pyAcomms Support Library................................................................................................................... 106
pyAcomms Installation Instructions: ................................................................................................ 106
pyAcomms Upgrade Instructions ...................................................................................................... 107
Applications............................................................................................................................................... 108
Long-term deployment with periodic wakeups and data logging ........................................................ 109
Initial Configuration .......................................................................................................................... 109
Wake the modem from hibernate .................................................................................................... 110
Set the time when the host wakes the modem ................................................................................ 110
Command the modem to hibernate (in the future) ......................................................................... 110
Retrieving Logged Data ..................................................................................................................... 111
Example Real-Time Modem Output ................................................................................................. 111
Docking an AUV using USBL navigation with precision timing ............................................................. 113
Navigation using a tracking ping ........................................................................................................... 116
CCPST Passthrough Message Examples ................................................................................................ 118
FATHOMETER Examples........................................................................................................................ 120
Depth sounder, no Iridium link ......................................................................................................... 120
References: ............................................................................................................................................... 128
Document Revision History: ..................................................................................................................... 128
6
Table 9: Communications Packet Receive Statistics Message Fields .......................................................... 56
Table 10: Communications Packet Transmit Statistics Message Fields ...................................................... 58
Table 11: Routine Errors ............................................................................................................................. 59
7
Overview
1
New Features in the Micromodem-2
The Micromodem-2 offers many improvements to the Micromodem-1 while maintain the same form
factor and supporting existing applications. It is acoustically interoperable with Micromodem-1 systems.
More Information
For a more detailed discussion of the development of the Micromodem-2, see Reference [3].
Note that several specifications of the Micromodem-2 have changed since this paper was published.
Use this manual when designing interoperable systems, and contact the Acoustic Communcations Group
with questions.
2
Upgrading from the Micromodem-1
The Micromodem-2 is designed to be largely backward-compatible with the Micromodem-1, both in
hardware and in the software interface.
Mechanically, the Micromodem-2 is the same size as the Micromodem-1 and includes the same
mounting hole configuration. See the assembly drawing for more details.
Hardware Differences
Some of the connectors used on the Micromodem-2 are different from those used on the Micromodem-
1. An adapter harness, WHOI Acomms Part 231024, may be used to connect a Micromodem-1 wiring
harness to a Micromodem-2. For more details on the Micromodem-2 connectors, see the assembly
drawing.
With current firmware, idle power consumption of the Micromodem-2 is higher than the Micromodem-
1 (approximately 500mW). This is expected to decrease with future software updates.
3
Getting Started with Acoustic Communication
Only a few commands are necessary to get started transmitting and receiving data via the acoustic modem. The
system may be polled (master-slave) for communication, but also supports random access. Active navigation
using the REMUS Digital Transponders is asynchronous, but can be coordinated centrally if desired using the
Cycle-Initialization command. While many messages are used to provide status, most of these can be turned off
if desired. The interface is designed to be NMEA compatible, and thus the interface commands and status
messages are all ASCII. Transfer of binary data is handled by hex-encoding it within an NMEA sentence. However,
all of the data that is actually transmitted acoustically is sent in compact binary form in fixed-length packets. A
short introduction to the interface is provided below. More detail is available in the sentence descriptions and
applications chapter.
Topside (or Central) Control: The computer controlling the master modem will use the Cycle Initialization
command, $CCCYC, to send or request data to or from other units in the network. Data received back from a
remote unit will be sent over the serial port in $CARXD (hex-encoded binary) messages, depending on which
has been enabled. Designation of the ‘Master’ is actually arbitrary, any modem can be told by the user to initiate
a transaction with the Cycle Initialization command.
Remote (or Slave) Units: A computer connected to any modem will receive notification that a Cycle Initialization
command has been received. The information that indicates the function of the current cycle is then provided
to the user in the $CACYC message. If there is incoming data, it is typically sent in $CARXD (hex-encoded binary)
messages. If the master is requesting data, the modem passes that request to the user with the $CADRQ (Data
Request) message. After the user provides the data to the modem it is transmitted back to the requestor.
Autonomous Networks: There is no requirement for a ‘Master’ in the network. At any time any member of the
network can make a transmission. Thus, while monitoring of the network and queries for sensor or status
information may come from a buoy or ship with a human in the loop, vehicles operating independently may
communicate among themselves as desired. For example, vehicles may be launched and the queried for status
at the start of a mission, then left to interact asynchronously. However, as message traffic grows, the probability
of one system interfering with the other increases. Use of the acknowledgement capability ensures delivery of
important packets. Often there is a clear flow of data, for example, vehicles performing initial surveys will pass
location data to other vehicles outfitted with different sensors. Then it makes sense for the survey vehicle to
initiate all transactions, and for the other vehicles to transmit only when told to. Important information (as
differentiated from state-of-health) should be transmitted with the acknowledgement bit set.
4
Modem Setup
Setting up a new Micro-Modem requires just a few steps to ensure that it is configured for the intended use.
The setup is done using the $CCCFG command. When this command is entered the modem will echo back the
value in the $CACFG message. The format of the command is:
$CCCFG,NNN,vv*CS
Where NNN is the parameter name, and vv is the value. Values can be queried using the $CCCFQ command,
which is
$CCCFQ,NNN
The modem echoes back the value of parameter NNN in the $CACFG message.
The basic steps to set up are as follows:
1. Set the unit number (SRC): $CCCFG,SRC,1
2. Set the Cycle-Init timeout time (CTO): $CCCFG,CTO,10
3. Set data output format flag as desired, for example: $CCCFG,RXD,1 to enable hex-encoded data
output.
Testing that the transmitter works simply requires sending a cycle-init command: $CCCYC,1,1,4,0,0,1
(transmit unit 1 to unit 4, rate 0, no ACK, one packet in the transaction). The modem will send the short cycle-
init packet, then request data from the user to transmit. If no data is provided it will generate an error message.
A test packet will be transmitted if the ASD parameter is set (Always Send Data).
5
NMEA 0183 Sentences
The following messages are used to interact with the Micro-Modem. Generally, the messages are NMEA 0183
sentences. Sentences begin with “$” followed by a 5 character talker and message identifier, then some number
of comma delimited data fields, a checksum field “*<8 bit HEX checksum>” and finally, the termination sequence
<CR><LF> (HEX 0D 0A). Different talker identifiers (the first two characters after the “$” in a talker sentence) are
used for the different acoustic tasks the modem can perform, as shown in the table below. Not all have been
implemented yet ($DF, $YX, and $XB).
NMEA Messages
The NMEA commands and messages supported by the modem are summarized in the following tables, which
are sorted alphabetically by message.
6
Message Description Applications Page
not
defined.
$CADQF Modem reports decision quality factor for last All Communication 60
FSK packet
7
Message Description Applications Page
$CAMSC Echo of sleep command All 37
8
Table 4: Quick-Reference Guide for Commonly Used Messages
$CACYC, Command Type, SRC, DEST, Packet Type, ACK Request Bit, Number of frames
$CADRQ, Time, SRC, DEST, ACK Request Bit, Max # Bytes Requested, Frame Counter
$CARXD, SRC, DEST, ACK bit, Frame Number, Hex encoded data message
$CCPDT, Group, Interrogation Channel, Synch Flag, Synch Timeout (ms) AF, BF, CF, DF
Where Group is typically 1 or 2, Interrogation Channel 1-4. Set xF to 1 to enable specific transponders
$SNTTA, Travel Time 1, Travel Time 2, Travel Time 3, Travel Time 4, System Time
9
Hardware Interface
10
User Connections
Pinouts
View looking into edge of modem:
J5 Signals
Pin # Type Signal Name
1 Ground Ground
2 Power Out Aux 3.3V Out
3 3.3V Serial Out COM3 TX
4 3.3V I2C Out I2C SDA
5 3.3V Serial In COM3 RX
6 3.3V I2C Bidirectional I2C SCL
7 3.3V Serial Out COM3 #RTS
8 Bidirectional GPIO GPIO1
9 3.3V Serial In COM3 #CTS
11
10 Bidirectional GPIO GPIO2
11 Analog In (differential positive) Aux ADC +
12 Analog In (differential negative) Aux ADC -
J3 Signals
Pin # Type Signal Name
1 Signal Ground Ground
2 Signal Ground Ground
3 RS232 Out COM1 TX
4 RS232 Out COM2 TX
5 RS232 In COM1 RX
6 RS232 In COM2 RX
7 RS232 Out COM1 #RTS
8 RS232 Out / RS485 Out COM4 #RTS / TX+
(Input in RS485 half-duplex mode)
9 RS232 In COM1 #CTS
10 RS232 Out / RS485 Out COM4 TX / TX-
(Input in RS485 half-duplex mode)
11 Logic In (PPS) EXTPPS (rising edge is PPS)
12 RS232 In / RS485 In COM4 RX / RX+
13 Logic In EXTWAKE (active low)
14 RS232 In / RS485 In COM4 #CTS / RX-
15 Logic In TXTRIGGER (rising edge)
16 Signal Ground Ground
Mating Connectors
The connectors used on the edge of the modem are FCI Minitek 2mm headers. They are locking and
polarized to prevent misinsertion. They mate with FCI connector bodies and crimp contacts.
Preassembled Harnesses
WHOI builds an adapter harness for connecting Micromodem-2’s to Micromodem-1 wiring harnesses,
part 231024.
Crimp Contacts
Wire Size FCI Part Number Digi-Key Part Number Mouser Part Number
26 AWG to 30 AWG 77138-101LF 609-2653-1-ND 649-77138-101LF
22 AWG to 24 AWG 10044403-101LF 649-10044403-101LF
Connector Bodies
Note that these connector bodies have pin 1 indicators that DO NOT match the connector on the
modem. Please be careful to make sure that any wiring matches the pinouts illustrated above. (FCI
obsoleted the connector bodies with the “correct” pin 1 indicators.)
Mate for FCI Part Number Digi-Key Part Number Mouser Part Number
12
J1 90311-014LF 609-2743-ND 649-90311-014LF
J3 90311-016LF 609-2798-ND 649-90311-016LF
J4 90311-012LF 609-2797-ND 649-90311-012LF
J5 90311-006LF 609-2777-ND 649-90311-006LF
Crimpers
In addition to the crimper below, Molex part 11-01-0204 (now obsolete) and Molex 63819-0100 (Digi-
Key WM9020-ND) have been successfully used. The Molex crimpers are preferred by several engineers
and technicians at WHOI.
13
Electrical Specifications
Absolute Maximum Ratings
Stresses beyond those listed in this section may cause permanent damage to the modem. Do not
design to these specifications. Exposure to any absolute maximum rating for extended periods may
affect the reliability and lifetime of the modem.
Parameter Value
Edge Power Input Voltage -36V to +36V
Stack Power Input Voltage
Voltage on GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, EXTPPS, -8V to +8V
TXTRIGGER, COM3 TX, COM3 RX, COM3 RTS, COM3 CTS, TXACTIVE,
RXACTIVE, TXINHIBIT
Voltage on EXTWAKE -3.6V to +12V
Voltage on COM1 RX, COM1 CTS, COM2 RX, COM4 RX/RX+, COM4 -25V to +25V
CTS/RX-
Voltage on COM4 TX/TX-, COM4 RTS/TX+ -13.2V to +9V
Voltage on COM1 TX, COM1 RTS, COM2 TX -13.2V to +13.2V
Voltage on Aux ADC -, Aux ADC + -24V to +24V
All voltages specified relative to ground.
These ratings are determined by design, and are not individually tested.
Operating Conditions
Parameter Conditions Min Typical Max Units
Input Supply Voltage (Vin) 3.6 33 V
Supply Current Vin ≤ 5V 1 A
Vin ≤ 12V 0.5 A
Vin ≤ 24V 0.25 A
Vin ≤ 33V 0.15 A
Hibernate Current Vin = 5V 31 40 µA
Vin = 12V 41 55 µA
Vin = 24V 47 65 µA
Voltage on any GPIO pin -6 6 V
14
Software Interface
15
Acoustic Communications Sentences
CAACK – Acknowledgment of a transmitted packet
Message from modem to host indicating that an acknowledgement was received for a previously transmitted
data frame.
$CAACK,SRC,DEST,Frame#,A*CS
Example: $CAACK,2,0,1,1
This ack was sent by node 2 to node 0 indicating that it successfully received frame one from the node 0. Node
0 can then remove the data corresponding to the successfully transacted frame from the queue or buffer.
$CADRQ,HHMMSS,SRC,DEST,ACK,N,F#*CS
Example: $CADRQ,134351,1,4,0,32,1
At time 13:43:51 the modem requests the host to provide up to 32 bytes of data to transmit to unit 4 for frame
number 1. The ACK flag is set to 0 in this request.
16
CARXD - Received binary message, modem to host
Received hex encoded binary data message from the modem to the host. This message is sent to the host when
good data (correct CRC) is received by the modem. This message can be enabled or disabled by sending
$CCCFG,RXD,x, where x is 1 to enable and 0 to disable. Default is enabled. When data is received but the CRC
does not check the message $CAMSG,BAD_CRC,2 is sent to the host.
$CARXD,SRC,DEST,ACK,F#,HH…HH*CS
Example: CARXD,4,6,1,1,4379636c6520546573742046726f6d20536563757265435254*3D
The message ‘Cycle Test from SecureCRT’ has been received in frame number 1 of a message transmitted by
unit 4 to unit 6, and the ACK bit was set by the transmitter, and the RXD flag is set so that the modem provides
the data in hex-encoded form.
$CARXP,Type*CS
Example: $CCRXP,0*444
17
If ACK is requested on the packet being sent, the ACK field must be set on all TXD messages that supply data for
that packet.
Pre-loading a data frame: Both $CCTXD and $CCTXA can be used to pre-load a single 32-byte frame. The next
$CCCYC command will not issue a $CCDRQ but send the pre-loaded frame immediately at the rate requested
by the cycle init command. Trying to pre-load more than 1 32-byte frame will result in the 2nd frame being
dropped.
$CCTXD,SRC,DEST,A,HH…HH*CS
Example: $CCTXD,4,6,0,546573742046726f6d2042756f79*0F
The host provided the hex-encoded data destined for unit 6 from unit 4.
$CCTXP,#Bytes*CS
Example: $CCTXP,4*46
$CCTXF,#Bytes*CS
Example: $CCTXF,2*56
18
$CCSWP,225000,275000,5000,500,3,10000
CCSWP
Send an FM sweep
$CCSWP,start_freqx10, stop_freqx10, bw_Hz, duration_msx10, nreps,
reptime_msx10*CS
Sending M-Sequences
The Micromodem can send maximal-length sequences, using the CCMSQ command. The ‘cycles per
chip’ field in the command should be chosen so that the implied bandwidth
(carrier_Hz/cycles_per_chip) is an allowable modem bandwidth. For example, to send 3 repetitions of a
length 511 (k=9) M-sequence at a carrier of 700 Hz at 14 cycles per chip , use:
$CCMSQ,511,3,14,700
CCMSQ
Send a maximal-length sequence
$CCMSQ,seqlen_bits,nreps,cycles_per_chip,carrier_Hz*CS
Passthrough Messages
A “passthrough” sentence, $CCPST, allows serial strings to be sent to devices connected to other serial
ports on the Micromodem-2. For example, a host computer on Micromodem-2 COM2 could send a
configuration sentence to a GPS connected to Micromodem-2 COM4. The passthrough sentence is
19
configurable to allow a variety of options. The passthrough sentence can include the standard NMEA-
style response, $CAPST…, or it can just include the user’s string without a $CAPST… preamble, and with
optional reformatting to generate a new NMEA sentence. See documentation and examples below.
CCPST
Pass a string from one Micromodem-2 serial port to other Micromodem-2 serial port(s), with optional
reformatting.
$CCPST,target_ports,strip_msg,prepend_dollar,append_cksum,append_CRLF,supplie
d_cksum,string*CS
20
*CS Optional: The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
The modem will pass through the response to the CCPST command to the target ports as described
below with the CAPST sentence.
CAPST
Response to CCPST passthrough command. Response is sent to each of the target_ports, not necessarily
including the originating port that sent the $CCPST command unless that port is explicitly included in
target_ports.
$CAPST,target_ports,strip_msg,prpnd_dollar,appnd_cksm,supplied_cksm,string*CS
If strip_msg=1, then response string does NOT include $CAPST or the arguments, and only includes the
“string” argument itself, with optional NMEA-style reformatting:
21
NMEA API Level
The NMEA interface provides a version number, called the “NMEA API Level” below, which only changes
when the NMEA interface changes. Therefore, it doesn’t change with each firmware update, but only
when NMEA messages are changed or added. This version number is a single integer that monotonically
increases.
The host can use the NMEA API Level when developing systems that interface with the Micromodem
and can avoid parsing the firmware version number. The host software can query the NMEA API version
using the CCALQ command.
CCALQ
Request NMEA API Level and other information useful to application developers
$CCALQ,0*CS
0 Reserved. Must be 0.
*CS Optional: The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
The modem will respond to this command with the CAALQ message.
CAALQ
Response to NMEA API Level query
$CAALQ,app_name,nmea_api_level,reserved*CS
22
Acoustic Network Protocol Sentences
CCCYC – Network Cycle Initialization Command
This command starts a network cycle and is typically used by the network master, though any unit can originate
a transaction. This message sets up transactions as listed in the Network Protocol Command Table shown below.
Note that if the command is to transmit data, then the modem will send a message requesting the data to the
user ($CADRQ). The command may be used by any unit, but there is a risk of collision if multiple units
simultaneously start a network cycle. Thus it is typically used only by the Master, though remote units can use
this command to talk to others, including the Master. Normally this command is used by the Master to talk
directly with another unit, in which case it puts its own address in ADR2. However, this command allows the
Master to tell a unit to transmit to a different one, (i.e. unit 2 to talk to 3). In that case the transmitting unit is
ADR1 and the receiving unit is ADR2.
$CCCYC,CMD,ADR1,ADR2,Packet Type,ACK,Npkt*CS
All Cycle Initialization packets are mini-packets. For FH-FSK data packets, they are sent using Packet Type 0, FH-
FSK. For higher rates, the mini-packet modulation depends on the value of the MOD parameter. If MOD is 1, the
mini-packet is set using PSK modulation. Data packets are transmitted using the indicated type. The approximate
length of all data packet transmissions with maximum number of allowable frames is 3.5 seconds for bands 1, 2
and 3.
23
Ping Sentences
The Ping command is used to check if a particular unit is within communication range, and to measure the travel
time to the unit. The Ping command is done using a mini-packet (just like the Cycle-Init command), so that it is
relatively short (less than 1 second long). The ping command is sent using FSK modulation or PSK modulation
based on the value of the NVRAM MOD parameter. A Ping transaction involves several NMEA sentences as
described below.
$CCMPC,SRC,DEST*CS
$CAMPC,SRC,DEST*CS
$CAMPA,SRC,DEST*CS
24
CAMPR – Reply to Ping has been received, modem to host
When the modem that transmits a ping command receives a response it computes the one-way travel time and
provides that information in the CAMPR message. Note that the SRC and DEST now reflect the fact that the unit
that was pinged is now transmitting. Thus, the value of DEST in this message will match SRC in the original
CCMPC command.
When the reply to a ping is received by other modems a CAMPR message is generated for the user. However,
these other units have no knowledge of the transmission time of the ping command, so there is no travel time
available. The travel time field is empty in this case.
$CAMPR,SRC,DEST,TRAVELTIME*CS
$CCRSP,RXSIG,TXSIG,TIMEOUT*CS
$CCRSP,0,1,0
$CARSP,0,1,0*4E
25
Recording Raw Data
Using the $CCREC command, the modem can record up to 2.8Mbytes (1.4M words) of basebanded data.
In addition to the command, the rec configuration parameter shows the current state of the recording.
CCREC
Start recording raw passband or baseband data
$CCREC,start_time,rec_secs,chmask,passbandflag,mem_loc,print_format,bw_Hz,
reserved,serial_port*CS
26
ain_shift 0-12 Analog input left shift, used for data that may not
be full range for a 16-bit A2D.
serial_port 0-15 A bitmask of output ports to print recorded data
to, with 0 used for no printing.
*CS Optional: The NMEA sentence checksum, hex coded
(8-
bit XOR or CRC-32). See Message Checksums.
The modem will respond to this command with a CAREC message with the start time field populated by
the actual start time in ISO 8601 Extended format, unless the command was sent to stop recording.
CARCI
Informational message issued at the start and stop of a recording
$CARCI,START*CS
$CARCI,STOP*CS
CAREP
Print out recorded data at the end of the recording interval, if the serial port field in the CCREC
command is non-zero. The data is chunked into messages, each of which is further composed of buffers
with unique shift and length. Each message is represented by a CAREP.
$CAREP,msgnum,nmsgs,nbufs,start_time,time_source,nchan,iscomplex,sample_rate,
buflength,shift,data*CS
27
data Total data in the buffers, printed as base 64. If
multichannel baseband data, then stored as r,i for
channel 1, r,i for channel 2 and so on for each buffer
Example
Set the modem to record 2 seconds after the receipt of the command for 10 seconds on all four
channels of the multichannel card at a baseband bandwidth of 100 Hz.
$CCREC,2,10,30,0,0,0,100,0,1
$CAREC,2014-04-12T08:10:51Z,2014-04-12T08:11:01Z,30,0,0,1,0,0,0*7C
$CARCI,START*36
$CAREV,081054,AUV,2.0.20147*17
$CAREV,081054,COPROC,0.30.0.56*4B
$CARCI,STOP*6E
$CAREV,081104,AUV,2.0.20147*13
$CAREV,081104,COPROC,0.30.0.56*4F
$CAREC,2014-04-12T08:11:08Z,2014-04-12T08:11:18Z,30,0,0,1,0,0,1*78
$CARCI,START*36
$CAREV,081114,AUV,2.0.20147*12
$CAREV,081114,COPROC,0.30.0.56*4E
$CARCI,STOP*6E
$CAREP,1,11,11,1397290267.899122,9,4,1,200,oACgAKAAoACgAKAAoACgAKAAoACgAK==,CwACAAMABA
AFAAYABwAHAAgABwAIAA==,AAAAAAAA///9/w4A/f+W/3oAUwCj/wYAXwDy/4//EgCYAPL/jv9MAGQAjP/
G/1wASwC7/+H/bgANAJD/8P9iAL//Zv9HAFMAov+s/1sAjQCj/wYAXwDy/4//EgCYAPL/jv9MAGQAjP/G/1wA
SwC7/+H/bgANAJD/8P9iAL//Zv9HAFMAov+s/1sAjQAAAAAA+P8CACQA7f+Q/6/74P8ZAGQAjP/G/1wASwC
7/+H/bgANAJD/8P9iAL//Zv9HAFMAov+s/1sAjQAAAAAA+P8CACQA7f+Q/6/74P8ZAAYA+f8BAAEA//8BAP//
//8BAP//8P9iAL//Zv9HAFMAov+s/1sAjQAAAAAA+P8CACQA7f+Q/6/74P8ZAAYA+f8BAAEA//8BAP////8BAP
//AQABAP//AQD/////AQD//wEAAQC2/7r/cwBXAJP/6v8SANv//P8JAN3/DAAaAOv///89ABYAKwAvAOT/mf
9b//T/Mv8WAbv/nwCCAL3/wQA+//P/i/98/zoAJv/kAJ7/rgCeAN3/DAAaAOv///89ABYAKwAvAOT/mf9b//T/
Mv8WAbv/nwCCAL3/wQA+//P/i/98/zoAJv/kAJ7/rgCeAP////8BAP//AQABAP//AQD/////mf9b//T/Mv8WAb
v/nwCCAL3/wQA+//P/i/98/zoAJv/kAJ7/rgCeAP////8BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////w
EA//8+//P/i/98/zoAJv/kAJ7/rgCeAP////8BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA//8BAAE
A//8BAP////8BAP//AQABAOH/CgFh/2sAd/+P/9H/DgB6/0oAb/+S/+L/Mv+WAIz/7wA6APT/xwA4/4gAKP/J/
4n/I/+HAD3/wABfAO3/rgCC/24Apf+k/+b/OP9rAIv/b/+S/+L/Mv+WAIz/7wA6APT/xwA4/4gAKP/J/4n/I/+HA
D3/wABfAO3/rgCC/24Apf+k/+b/OP9rAIv//////wEA//8BAAEA//8BAP////84/4gAKP/J/4n/I/+HAD3/wABfAO
3/rgCC/24Apf+k/+b/OP9rAIv//////wEA//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//+3/rgCC/24A
pf+k/+b/OP9rAIv//////wEA//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA
28
//8BAAEAwAA7AD4A1wBt/0AA6//b/6j/fwBg/6L/zP81/5cAtv+rADUACQC4AF7/nwBE/9X/9P9r/4EAmf+dAI
YA7//LADf/bgBm/7D/KABK/9IAoP9g/6L/zP81/5cAtv+rADUACQC4AF7/nwBE/9X/9P9r/4EAmf+dAIYA7//LA
Df/bgBm/7D/KABK/9IAoP//////AQD//wEAAQD//wEA/////17/nwBE/9X/9P9r/4EAmf+dAIYA7//LADf/bgBm
/7D/KABK/9IAoP//////AQD//wEAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//7//LADf/bgBm/7D/KABK
/9IAoP//////AQD//wEAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//wEAAQ
CMAFkADQDFAHf/dgDx/8r/tP90ALH/sf/r/zn/sABj/6sATAANAN8AZP9wAET/rP/u/1f/hQBr/6cAZAAOALgAR
v9gAEX/x/8AAEL/lQBZ/7H/sf/r/zn/sABj/6sATAANAN8AZP9wAET/rP/u/1f/hQBr/6cAZAAOALgARv9gAEX/x/
8AAEL/lQBZ//////8BAP//AQABAP//AQD/////ZP9wAET/rP/u/1f/hQBr/6cAZAAOALgARv9gAEX/x/8AAEL/lQB
Z//////8BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA//8OALgARv9gAEX/x/8AAEL/lQBZ//////8
BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//AQABAOsAWwAnAM
UAM/9QAN3/5f9Z/y0APf9x/9P/Tf+/AMj/vQBTAPD/3QB1/28AZ/+Z/xUASf/EAG3/qgCdAMX/9gAy/2oAPf+J
/8v/G/+yAHX/Pf9x/9P/Tf+/AMj/vQBTAPD/3QB1/28AZ/+Z/xUASf/EAG3/qgCdAMX/9gAy/2oAPf+J/8v/G/+y
AHX//////wEA//8BAAEA//8BAP////91/28AZ/+Z/xUASf/EAG3/qgCdAMX/9gAy/2oAPf+J/8v/G/+yAHX//////
wEA//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//8X/9gAy/2oAPf+J/8v/G/+yAHX//////wEA//8BA
AEA//8BAP////8BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA//8BAAEAsgCTADMA5QCO/ycAv
v++/2z/VAAR/1L/EgAh/7kAhP/CAEEAFgDPAEX/pQBB/6z/sv9C/9AAd/+0AEAA+f+xADT/MwBV/4T/0v8p/58
Alv8R/1L/EgAh/7kAhP/CAEEAFgDPAEX/pQBB/6z/sv9C/9AAd/+0AEAA+f+xADT/MwBV/4T/0v8p/58Alv/////
/AQD//wEAAQD//wEA/////0X/pQBB/6z/sv9C/9AAd/+0AEAA+f+xADT/MwBV/4T/0v8p/58Alv//////AQD//w
EAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//+f+xADT/MwBV/4T/0v8p/58Alv//////AQD//wEAAQD//
wEA/////wEA//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//wEAAQCjAEQA8f/XAGv/NADE/2X/mQ
CY/78AOwAvANoAav+TAEf/uv+R/yv/jQBL/+YABABFAIsAd/+HAGH/8v+n/zn/aABE/9EAOQBfALwAhf+fAL8A
OwAvANoAav+TAEf/uv+R/yv/jQBL/+YABABFAIsAd/+HAGH/8v+n/zn/aABE/9EAOQBfALwAhf+fAP////8BAP/
/AQABAP//AQD/////jQBL/+YABABFAIsAd/+HAGH/8v+n/zn/aABE/9EAOQBfALwAhf+fAP////8BAP//AQABA
P//AQD/////AQD//wEAAQD//wEA/////wEA//+n/zn/aABE/9EAOQBfALwAhf+fAP////8BAP//AQABAP//AQD
/////AQD//wEAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//AQABAD3/5/96/2P/QQCD/+r/dQAtAJ//5g
D9/4wA1ACZ/3kAJ/8eAIf/Sf9MACz/3ADv/4UAmADX/78ARv8hAHf/g/8aAC//CgHh/6QA2wCt/9gA5gD9/4w
A1ACZ/3kAJ/8eAIf/Sf9MACz/3ADv/4UAmADX/78ARv8hAHf/g/8aAC//CgHh/6QA2wCt/9gA/////wEA//8BA
AEA//8BAP////9MACz/3ADv/4UAmADX/78ARv8hAHf/g/8aAC//CgHh/6QA2wCt/9gA/////wEA//8BAAEA//8
BAP////8BAP//AQABAP//AQD/////AQD//3f/g/8aAC//CgHh/6QA2wCt/9gA/////wEA//8BAAEA//8BAP////8
BAP//AQABAP//AQD/////AQD//wEAAQD//wEA/////wEA//8BAAEATf88ALr/Uf9RAF//xP9pAGr/YP9AACX/v
ACy/10AewDS/8wAa/80AHz/ef8yAEf/2gDN/4oAkABw/9EAMf8xAFf/SP9gADn/zQC1/28AewBAACX/vACy/1
0AewDS/8wAa/80AHz/ef8yAEf/2gDN/4oAkABw/9EAMf8xAFf/SP9gADn/zQC1/28AewD/////AQD//wEAAQ
D//wEA/////3z/ef8yAEf/2gDN/4oAkABw/9EAMf8xAFf/SP9gADn/zQC1/28AewD/////AQD//wEAAQD//wEA
/////wEA//8BAAEA//8BAP////8BAP//Mf8xAFf/SP9gADn/zQC1/28AewD/////AQD//wEAAQD//wEA/////wE
A//8BAAEA//8BAP////8BAP//AQABAP//AQD/////AQD//wEAAQAUAPIASP9ZAJn/cf9eAL7/c/+4/04AGf96A
MD/rAC/AN7/twBf/2EAkP+O/xUAM/95AI//dwBRABkA0ABU/20AYP+n/9f/J//BAHz/5ABuAE4AGf96AMD/r
AC/AN7/twBf/2EAkP+O/xUAM/95AI//dwBRABkA0ABU/20AYP+n/9f/J//BAHz/5ABuAP////8BAP//AQABAP/
/AQD/////kP+O/xUAM/95AI//dwBRABkA0ABU/20AYP+n/9f/J//BAHz/5ABuAP////8BAP//AQABAP//AQD///
//AQD//wEAAQD//wEA/////wEA//9U/20AYP+n/9f/J//BAHz/5ABuAP////8BAP//AQABAP//AQD/////AQD//
wEAAQD//wEA/////wEA//8BAAEA//8BAP////8BAP//AQABAD==*64
$CAREP,2,11,11,1397290268.999129,9,4,1,200,…
29
CACFT – Fathometer ping reply report
Report a depth from a fathometer.active,1 ping.
$CACFT,start_time,lat_deg,lon_deg,AGN,RTTT_sec,peak_val,peak_shift_val_square
d*CS
$CACIR,msgnum,nmsgs,capture_start_time,nbufs,buflen,shift_val1,buf1_val,….
shift_valn,bufn_vals*CS
30
31
Sleep and Hibernate Sentences
Hibernating
The modem can enter a low-power state during which it will not respond to acoustic or serial traffic.
The user can command the modem to enter hibernate either via a command, CCHIB, or via configuration
settings that enable automatic hibernation on a schedule.
Signal on EXTWAKE pin (the polarity of this signal can be changed via a hardware option, but for most
users the modem will wake when this signal is pulled low/to ground)
Signal on STACKWAKE pins – For the future expansion with highly integrated hardware. Please consult
the Acoustic Communications Group before using this functionality.
Real-time clock alarm – This can be set via user command and configuration parameters as described in
this section.
YYYY-MM-ddTHH:mm:ssZ Reference time in ISO 8601 Extended format. The time zone
specifier must be included and set to “Z”.
Default is 1970-01-01T00:00:00Z
32
hibernate.hibernate_after Number of seconds modem remains on after boot before automatically
hibernating. This is typically used only if the modem must enter
hibernate and wake multiple times without host interaction.
CCHIB
Command modem to hibernate
$CCHIB,hibernate_time,wake_time*CS
33
After the CCHIB command is sent, the modem will reply with a CAHIB message that indicates when the
modem will hibernate and when it will wake.
CAHIB
Response to hibernate command
$CAHIB,hibernate_cause,hibernate_time,wake_cause,wake_time*CS
34
This message is sent in response to a CCHIB command, and also when hibernate or wake times change,
for example due to changing the hibernate configuration parameters or receiving a $CCMSC sleep
command.
CAHBR
Informational message issued before the modem goes into hibernation
$CAHBR,wake_time*CS
wake_time Date and time at which the modem will wake from
hibernate, in ISO 8601 Extended format.
If the modem will hibernate until an external signal
occurs, this field is blank.
*CS Optional: The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
This message is sent just before the modem goes into hibernate. Thus, the CAHIB sentence serves as an
immediate acknowledgement of a change in hibernate or wake times, while the CAHBR sentence is an
informational message about the modem’s change of status before it shuts down.
pyAcomms Support
Hibernate is provided in pyAcomms via the start_hibernate method of the Micromodem class
(acomms.Micromodem.start_hibernate). For more information, see the pyAcomms documentation.
Hibernate Examples
In examples, messages in bold are commands sent from the host to the modem and messages not in bold
are messages sent from the modem to the host. CS is the NMEA message checksum.
$CCHIB,0,0
$CAHIB,0,2012-12-01T01:04:05Z,0,*CS
$CAHBR,*CS
The modem will hibernate immediately. However, other NMEA messages may be printed before the
modem hibernates and before the CAHBR is issued.
35
Start hibernating in 15 seconds and wake at 2012-12-01T06:00:00Z
This example assumes that the hibernate configuration parameters are set to their default values, and
that the current time is 2012-12-01T01:05:00Z.
$CCHIB,15,2012-12-01T06:00:00Z
$CAHIB,0,2012-12-01T01:05:15Z,0,2012-12-01T06:00:00Z*CS
After 15 seconds have passed and the modem is about to hibernate, it will issue the following message:
$CAHBR,2012-12-01T06:00:00Z*CS
CCRST
Reset command. The modem reboots from given location in flash memory. Power is not lost during a
reset. The syntax below is for firmware versions newer than 2.0.14791:
$CCRST,slot*CS
The reset command can be used to set the modem into a known boot state. It can also be used while
programming new firmware onto flash. In this case, the user will issue $CCRST,0 to reboot into the
recovery slot. After programming new firmware onto flash, $CCRST,1 or $CCRST,2 will reboot the
modem into the firmware in slot 1 or 2, respectively.
Subsequent reboots and power-cycles of the modem will boot into the last slot successfully booted with
the CCRST command.
(Deprecated syntax: For firmware versions older than 2.0.14774, $CCRST,1 will reboot into the recovery
firmware, and $CCRST,0 will reboot into the most recently programmed user firmware slot.)
36
Sleep
The Sleep command is used to power down a modem for up to one day in coarsely quantized increments. This
may be done locally, or via acoustic control. When done acoustically the command is sent using a mini packet.
A sleep transaction involves several NMEA sentences as described below. The power draw of a modem in its off
state is several milli-watts as opposed to almost 200 mW typically. (Users should only use the Sleep commands
when the command must be sent remotely; otherwise the Hibernate commands are recommended.)
An argument within the sleep command is used to specify a time to sleep. Three modes are available. The
argument -1 indicates sleep until hardware wakeup (power cycle or hardware line EXTWAKE pulled high). 0
indicates sleep for 0 seconds which simply forces a hard reboot. Arguments larger than 0 and less than or equal
to 1524 indicate the number of minutes to sleep before waking up, rounded down to the nearest multiple of 6
minutes. The exception is that values from 1 to 6 are rounded up to 6, and thus the shortest sleep interval is 6
minutes. 1524 minutes corresponds to 25 hours and 24 minutes. Out of range values cause NMEA range error
messages.
The sleep command is available in both FSK and PSK modulation schemes, based on the value of the MOD
parameter.
$CCMSC,SRC,DEST,ARG*CS
37
CAMSA – A Sleep was received acoustically, modem to host
When any modem receives a mini-packet with the sleep command it informs the local host whether or not the
command is for it. This allows the local host to observe control activity in the channel. The arguments of the
CAMSA are the same as in the CCMSC and CAMSC messages.
$CAMSR,SRC,DEST,ARG*CS
38
External Hardware Line Control Sentences
The external hardware line control command is used to read or write several hardware output lines on the
modem. This may be done locally, or via acoustic control. When done acoustically the command is sent using a
mini packet. This transaction involves several NMEA sentences as described below. When using this line to
control a burn wire or other high-current device it should be opto-isolated and buffered. Even if it is not used in
this way it is suggested that the line be opto-isolated.
$CCEXL,MODE*CS
For example, to set the external select line 1 (EXTSEL1) high, use:
$CCEXL,01
$CCMEC,source,dest,line,mode,arg*CS
39
6 reserved GPIO2 J4.10
7 COM1 Not None
implemented
8 COM2 Not None
implemented
mode 0 Read Line
1 Set Value
2 Toggle high
3 Toggle low
arg Depending on mode, this has different values:
If Mode is 0, this must be 0.
If Mode is 1, then this is:
0 for Off
1 for On.
If Mode is 2 or 3, this is an integer argument for toggle
time duration:
0 - 1 ms
1 - 0.5 sec
2 - 1 sec
3 - 2 sec
4 - 6 sec
5 - 10 sec
6 - 20 sec
7 - 30 sec
*CS Optional: The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
The source is the originator of the command and the DEST is the unit whose hardware lines are to be
controlled. If Source is the same as DEST then there is no acoustic transmission and the local modem
acknowledges the command and performs the requested operation. Arguments to the hardware control
command are used to specify which lines are to be manipulated and how. At present four modes are
available, read, set, toggle high and toggle low. The default state of the output lines is 0 volts for lines
upon power up. If the modem does a hard reboot the lines are also cleared to the default state.
40
CAMEA – Hardware control command received acoustically
When any modem receives a mini-packet with the hardware control command it informs the local host whether
or not the command is for it. This allows the local host to observe control activity in the channel. If the DEST in
the command is the same as the local address the action indicated in the command is performed.
$CAMER,SRC,DEST,LINE,MODE,ARG*CS
(See description of SRC, DEST, LINE, MODE, ARG for $CCMEC above.)
41
Packets, Rates, Frames and Acknowledgement
As with many communications systems, all data transmitted by the Micro-Modem is broken up into packets.
Depending upon the data rate, there may be more than one frame of data within a packet. The current version
of the Micro-Modem software supports multiple transmit and receive rates. The high rates contain multiple
frames. The integrity of each frame is protected with a cyclic-redundancy check (CRC). The FSK packet contains
one 32 byte frame. At the lowest-rate PSK data rate there are three 32-byte frames per packet. The highest
current PSK rate has eight 256-byte frames per packet. The data rates and packet formats are listed below.
Rates number 1, 4, and 5 use block codes, which perform better than the DSSS spreading/convolutional codes
(rates 2, 3, and 6) for the typical case of single-user access to the channel. Unless you have a specific backward-
compatibility requirement, we recommend that you use rates 1, 4, and 5. Rate 6 is provided to allow PSK
support for legacy 32-byte frames.
Acknowledgement that packets have been delivered without error is provided to the sender when the sender
sets the ACK bit in a transmit data message. Then the modem sets the ACK bit high in the acoustic transmission,
which prompts the receiving modem to reply with an ACK message acoustically. When the acoustic ACK is
received at the modem that originally sent the data it sends a message out the serial port to the user to indicate
successful receipt. Note that automatic re-transmissions are not done by the modem; it is left to the user to
decide if the data is to be re-transmitted, or if new data is to be generated.
1. The host sends a CCCYC command to the specifying the data rate.
2. If using data rate 0 (FH-FSK), the transmitting modem then acoustically transmits the short
Cycle-Init command packet. All other modems that receive the Cycle-Init command packet will
report it to their hosts using the CACYC message. (If using PSK rates, the transmitting modem
does not transmit an explicit Cycle-Init command packet.)
3. The transmitting modem then queries its host with the CADRQ message for the data to be
transmitted and then the modem acoustically transmits the data packet.
42
4. At the remote modem the data packet is received and if decoded correctly (CRC checks), the
data frames are sent to the user, one frame per CARXD message. All modems that decode the
data correctly provide the data to their host.
5. For PSK data packets, the Cycle-Init fields are incorporated into the data packet header, thus
obviating the need to send an explicit Cycle-Init acoustic packet. An NMEA $CACYC message is
still reported, however.
1. The user sends a Cycle-Init (CCCYC) command to the modem with the source ID, receiver ID
(itself), packet type, and other parameters.
2. The modem transmits the Cycle-Init packet. The data rate indicated in the Cycle-Init sets the
data rate and thus the size of the expected response.
3. When the Cycle-Init command is received by the polled modem it sends the Cycle Init message
to its host, then requests data to transmit, making one request for each frame of data using the
data request (CADRQ) command. If the polled unit would like an acknowledgement for a
particular packet, it sets the ACK bit in the $CCTXD data response message.
4. The requesting modem receives the data packet from the polled unit and sends the data frames
to the polling user, each in a CARXD message. If any of the frames have the ACK bit set, the
polling modem then transmits a short packet with the acknowledgement bits for that packet
back to the polled modem.
5. At the polled modem the acknowledgement(s) of receipt by the polling unit are sent to the user
with the CAACK message.
43
Flexible Data Protocol (FDP)
The Micromodem-2, in addition to providing the standard Micromodem-1 data and mini packets, also
implements a new communications protocol, the Flexible Data Protocol. This protocol is fully backwards
compatible with the Micromodem I standard, but allows greater flexibility and ease of use.
$CCTDP,dest,rate,ack,base64,hexdata*CS
The modem will respond to this command with the CATDP message,followed by CATXP and CATXF, if they
are set. The modem breaks up the data into frames, each protected by a CRC. The response to the
$CCTDP command reports the number of bytes in each mini frame of the packet along with the number
of bytes in each data frame. Note the nbytes fields within mini or data frames are separated by a
semicolon delimiter.
44
rate The data rate corresponding to bits per second
ack 1 if an acknowledgement is requested
base64 1 for base64 encoded data, 0 for hex encoded data
nbytesmf1;nbytesmf2… Number of bytes of data in each mini frame up to 8 mini
frames, blank if there are no miniframes.
nbytesdf1;nbytesdf2… Number of bytes of data in each data frame up to 16 data
frames, blank if there are no data frames.
*CS The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
A modem, on receiving a FDP data packet, will print out a CARDP message along with the standard set of
detection and packet statistics messages followed by the appropriate response to the packet received.
The RDP message takes the place of the CACYC and the CARXD messages. The data bytes are printed in
hexadecimal or base64 notation based on the value of the recv.base64 config parameter.
In addition to the crccheck field on the CARDP message which alerts the user to an erroneous frame,
there are two other error messages possible. One, if the modulation header does not decode, causing
the modem to print ‘Bad Modulation Header’, and two, if the data header does not decode, the modem
will print “BAD_CRC, Data Header”. See Table 11.
45
FDP Minipacket rates
A minipacket can be sent using different coding rates and data sizes. The following tables show a
breakdown of the packet size and duration for varying rates with a bandwidth of 5000Hz. Although only
full frames are listed, there is no penalty for sending partial frames. The packet duration does not
include the FM probe and null time that precede each packet. Grayed out rates are not yet
implemented. The duration of a packet can be calculated using the following formula:
A data packet can be sent using different coding rates and data sizes. The following tables show a
breakdown of the packet size and duration for varying rates with a bandwidth of 5000Hz. Only full
46
frames are sent, partial frames are padded to full length. The packet duration does not include the FM
probe and null time that precede each packet.
47
User Mini-Packet Sentences
The user mini-packet command sends very short messages in the same packet size as used by the Cycle-Init
command and ping commands. The mini-packet is relatively short (less than 1 second). A user mini-packet
transaction involves several NMEA sentences as described below.
$CCMUC,SRC,DEST,HHHH*CS
$CAMUC,SRC,DEST,HHHH*CS
SRC Source
DEST Destination
ASCII-coded hex data (2 Hex values). Note that the data is zero-
HHHHHH padded, e.g. an F input in CCMUC is echoed back as 000F.
*CS Hex coded checksum (8 bit XOR of sentence)
$CAMUA,SRC,DEST,HHHH*CS
SRC Source
DEST Destination
ASCII-coded hex data (2 Hex values). Note that the data is zero-
HHHH padded, e.g. an F input in CCMUC is sent as 000F.
48
*CS Hex coded checksum (8 bit XOR of sentence)
When the reply to a Mini-Packet is received by other modems a CAMUR message is generated also.
$CAMUR,SRC,DEST*CS
49
Navigation Sentences
CCPGT – Ping Generic transponder, host to modem
Ping Generic Transponder from host to modem.
$CCPGT,Ftx,nbits,tx_seq_code,transponder_timeout_ms,Frx,rx_seq_code1,
rx_seq_code2,rx_seq_code3,rx_seq_code4, Bandwidth_Hz,reserved2*CS
$SNPGT,26000,28,DA444780,1000,24000,FDA44478,0,0,0,4000,0*09
$CATXP,280*48
$CATXF,280*5E
$SNTTA,,,,,144456.86*56
50
CCPDT – Ping REMUS digital transponder, host to modem
REMUS active LBL navigation ping message from host to modem. Dprecated, use $CCPGT instead
$CCPDT,GRP,CHANNEL,SF,STO,Timeout,AF,BF,CF,DF*CS
Example: $CCPDT,1,1,0,0,2500,1,1,0,0
Ping transponder group 1 on channel 1, no hardware synchronization, 2.5 second time out, listen for
transponders A and B (for example, transponders labeled DTxA and DTxB, x might be 2 or 4 depending on the
number of channels it is capable of receiving). When two systems are sharing transponders they should use
different interrogation codes. As of October 2003 (Micro-Modem software release 0.86) all four interrogation
channels are supported by the Micro-Modem and the Digital Transponders.
Note: the transponder turnaround time parameter must be sent to the correct value in the modem non-
volatile memory. For the REMUS transponders this is 50 msec. The command to set this is: $CCCFG,TAT,50
51
CCPNT – Ping narrowband transponder, host to modem
Narrowband active LBL navigation ping message from host to modem. In passive mode, the navigation
statistics message $SNNST must be turned on to get the detection on the outgoing ping as well as all
four replies. Additionally, the passive nav travel times are reported as direct times with no
compensation for Transponder Turnaround Time(TAT).
$CCPNT,Ftx,Ttx,Trx,Timeout,FA,FB,FC,FD,Tflag*CS
Note: the transponder turn around time parameter must be set to the correct value in the modem non-
volatile memory. For UAT-376 the turn-around time is 20 msec. The command to set this is: $CCCFG,TAT,20.
Sample output after $CCPNT is shown below for the case of a bench test at near-zero range. The MFD message
is printed if the MFD flag is set.
$SNPNT,26000,5,5,4000,25000,0,0,0,0,22118*6E
$SNMFD,01,1393,0154,0904*56
$SNTTA,-0.0005,,,,150347.00*6C
52
SNTTA – Transponder travel times, modem to host
Active LBL navigation one-way travel time message from modem to host. Note that if no signal is
detected the travel times fields are empty but the commas remain. The one-way travel time has the
transponder turn-around time already subtracted. The turnaround time is entered with the CCCFG
command: $CCCFG,TAT,xx, where xx is the turn-around time in milliseconds.
In passive mode, the ‘Time of ping’ field is populated with detection time of the outgoing ping. This is
used as the reference time to calculate the travel time offsets for transponders A, B, C and D.
$SNTTA,TA,TB,TC,TD,hhmmsss.ss*CS
Example: $SNTTA,0.0733,0.0416,,,014524.00*5C
The 1-way travel time to transponder A is 0.0733 seconds, or 110 meters, and the 1-way travel time to
transponder B is 0.0416 s, or 62 meters.
$SNMFD,NN,MFPK,MFPWR,MFRATIO*CS
NN Transponder channel
MFPK Matched-filter peak value.
MFPWR Incoherent broad-band power at the peak
MFRATIO Ratio MFPK and MFPWR used for the detector test .
*CS Hex coded checksum (8 bit XOR of sentence)
Example: $SNMFD,01,0858,1632,00052
53
Diagnostic and Information Sentences
CABBD – Dump of baseband data to serial port, modem to host
NOTE: This message is used for diagnostic purposes only. If BBD is enabled during normal operation, serial
errors may occur. The CABBD message format and behavior may change in future firmware releases.
Modem prints complex, interleaved n-channel PSK data to serial port as a hex string. Available in firmware rev
0.93.0.0+
To enable this message, set the BBD configuration parameter to 1 (by issuing $CCCFG,BBD,1). When this
message is enabled, one $CABBD… message will be printed for every packet detected by the modem. The length
of this message is not fixed, but it can be determined using the nwords argument.
Disable this message once the desired baseband data has been retrieved by setting the BBD configuration
parameter to 0 ($CCCFG,BBD,0).
This message terminates with a CRLF character sequence, but does not include the NMEA 0183 checksum.
$CABBD,nwords, <hhhhhhhh…..>
$CCCFR,TTTTT
Example: $CCCFR,1000
Command the modem to average for 1 second and report back with the average noise values in the $SNCFR
message
54
SNCFR -- Noise report, modem to host
Response from modem to host with noise estimates made in the frequency bands used for communication. The
FH-FSK standard uses 7 pairs of frequencies, so there are 14 measurements made and reported to the user.
$SNCFR,<v1>,<v2>,…,<v14>*CS
Example: $SNCFR,-117,-116,-116,-116,-112,-88,-111,-115,-115,-113,-115,-115,-115,-111*7F
The CST message is subject to change and has a version number starting from firmware rev 0-93.0.52. Versions
6+ of the CST message are supported in the Micromodem-II.
$CACST,<Field1>,<Field2>, …, <Field26>*CS
55
Table 9: Communications Packet Receive Statistics Message Fields
Field number Field number Field Name Description
(version 0) (version 6,
micromodem-2)
N/A 1 Version number if less than 6, then version 0.
N/A N/A Date YYYYMMDD
1 2 Mode 0 if good, 1 if bad CRCs, 2 if packet
timeout
2 3 TOA time Time of Arrival
Version 6: yyyyMMddHHmmss.uuuuuu
Version <6: HHmmss.ffff
3 4 TOA mode Clock status
4 5 MFD peak See $CAMFD description
5 6 MFD power See $CAMFD description
6 7 MFD ratio See $CAMFD description
7 8 SPL See $CAMFD description
8 9 SHF-AGN See $CASHF description
9 10 SHF-AINPSHIFT See $CASHF description
10 11 SHF-AINSHIFT
11 12 SHF-MFDSHIFT See $CASHF description
12 13 SHF-P2BSHIFT See $CASHF description
13 14 Rate Packet rate
14 15 SRC Packet Source ID
15 16 DEST Packet destination ID
16 17 PSK Error Code 0. No Error
1. " Bad Modulation header"
2. "Bad CRC, Data Header"
3. "Bad CRC" on any frame
4. "Error accessing coproc" - if modem
loses r/w connection to the coproc
5. "Equalizer timeout" - if the coproc
never returns
6. “Missed start of PSK packet”
17 18 Packet Type -1. Unknown
1: FSK
2: FSK Mini
3: PSK
4: PSK Mini
18 19 Nframes Number of frames expected
19 20 nbad Number of frames with bad CRCs
20 21 SNR-RSS See $CASNR description
56
Field number Field number Field Name Description
(version 0) (version 6,
micromodem-2)
21 22 SNR in See $CASNR description
22 23 SNR out See $CASNR description
23 24 Symbols SNR See $CASNR description
24 25 MSE Mean Squared Error from Equalizer
25 26 DQF Data Quality Factor, FSK only
26 27 DOP Doppler
27 28 Stdev noise Std dev. of noise, dB
28 29 Carrier Carrier frequency of received packet , Hz
29 30 Bandwidth Bandwidth of received packet, Hz
N/A TBD PCM Multi-channel mask, 0 for main board only
57
CAXST – Communication cycle transmit statistics
Message from modem at the end of a communication packet transmit. Used to print out all statistics related to
the transmitted packet. Use NVRAM setting XST to turn it on or off. Default setting, ON. Firmware rev
0.93.0.46+
$CAXST,<Field1>,<Field2>, …, <Field26>*CS
58
$CAMSG, Type, Number*CS
BAD_CRC, Data Header Data Header did not decode on a PSK packet
Error accessing coproc The modem could not find the coprocessor
Missed start of PSK pkt A PSK packet probe was detected but the start of the
packet was missed
Unknown minipacket A command minipacket was received with unknown
command command type
Unknown minipacket type A minipacket was received with unknown type
$CAREV,HHMMSS,IDENT,V.VV.V.VV*CS
59
HH Hours
MM Minutes
SS Seconds
IDENT Software identifier string (for example AUV), or INIT at
boot time.
V.VV.V.VV Revision number (for example, 0.89.0.17).
*CS Hex coded checksum (8 bit XOR of sentence)
$CADQF,DQF,P*CS
Data quality factor (0-255) for last packet. Values above 200
DQF normally represent decodable packets. Values from 230-250
represent high SNR.
P Packet type, 1 data packet, 2, mini-packet, e.g. cycle init.
*CS Hex coded checksum (8 bit XOR of sentence)
$CASHF,AGN,AINPSHIFT,AINSHIFT,MFDSHIFT,P2BSHIFT*CS
60
$CAMFD,MFPK,MFPWR,MFRATIO,SPL*CS
$CACLK,YYYY,MM,DD,hh,mm,ss*CS
YYYY Year
MM Month
DD Day
hh Hours
mm Minutes
ss Seconds
*CS Hex coded checksum (8 bit XOR of sentence)
61
CADOP – Doppler speed message, modem to host
This message reports the calculated relative speed between the transducer attached to this modem and
the transmitting transducer. It is shown only if the DOP configuration parameter is set to 1.
$CADOP,Speed*CS
Example: $CADOP,0.0*5B
$CADBG, Information*CS
Information Varies
*CS Hex coded checksum (8 bit XOR of sentence), optional
CABBD
Dump of baseband data to serial port, modem to host(legacy). This includes 75 msec of pre-packet
samples, which are used to estimate noise, and an extra 100 samples of padding at the end of the
message.
$CABBD,nwords,hhhh…
62
is represented as a hex-encoded 32-bit complex value, or
8
hex characters. So, the number of hex characters in this
message is equal to nwords * 4.
hhhh…. Baseband samples represented as hex-encoded 32-bit
complex values (8 ASCII characters per sample).
CABDD
Dump of baseband data to serial port, modem to host. This includes 75 msec of pre-packet samples,
which are used to estimate noise, and an extra 100 samples of padding at the end of the message. Each
sentence has 256 bytes of hex encoded data samples. The last of these sentences can be zero padded.
$CABDD,msgnum,total_msgs,databytes,hhhh…*CS
Assuming a serial baud rate of 19200, and single-channel receive, a full data packet dump can take up to
160 seconds (BBD=11), a training and header only dump (BBD=3) will take 11 seconds. At 115200 baud it
drops to 2.4 seconds. The following table shows the number of $CABDD messages printed for each
legacy packet type, along with the time take to print out all the messages at two different baud rates
assuming a bandwidth of 2 kHz. Because the pre-packet padding is fixed at 75 milliseconds, the number
of messages will change with the bandwidth.
To print out a baseband dump of 8 bytes of data using the new Flexible Data Protocol at a bandwidth of
5000 Hz at the lowest rate (rate 1), requires 62 messages.
63
SNNST
Navigation statistics message, printed at the end of an LBL navigation cycle. Controlled by the nav.nst
configuration parameter.
$SNNST,version,TX_Hz,TX_ms,yyyymmddhhmmss.ssssss,timing_mode,AGN,TAT,NAV_mode
,det0_peak,det0_pow,det0_ratio,xpond1,xpond1_freq,det1_peak,det1_pow,det1_rat
io,xpond1_owtt,… xpond4,xpond4_freq,det4_peak,
det4_pow,det4_ratio,xpond4_owtt*CS
64
det1_pow MFD detection power, dB, transponder 1, blank if no
detect
det1_ratio MFD detection ratio, transponder 1, blank if no detect
xpond1_owtt One way travel time, ms, transponder 1, blank if no
detect
xpond2 …
xpond4_owtt One way travel time, ms, transponder 4, blank if no
detect
*CS The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
65
Configuration Sentences
CCCFG – Set configuration parameter, host to modem
Send NVRAM configuration parameter message. See CCCFQ – Query configuration parameter, host to
modem for a complete listing of the configuration parameters.
$CCCFG,NNN,vv*CS
Example: $CCCFG,SRC,1
Set the address of the unit (its source address) to 1. The modem will echo the new setting back with the
same sentence and include the checksum as well: $CCCFG,SRC,1*33.
Example: $CCCFG,ALL,0
66
CCCFQ – Query configuration parameter, host to modem
Query a modem configuration parameter. Used to check a value or setting on the modem.
$CCCFQ,NNN *CS
Example: $CCCFQ,SRC
Query the address of the unit. The modem will respond with: $CCCFG,SRC,x*CS where x is the source
number. For example: $CCCFG,SRC,1*33.
Example: $CCCFQ,ALL
In the Micromodem-2, configuration parameters are grouped together based on their functionality.
Legacy parameters are still available, but the new parameters will supersede legacy parameters in case
of overlapping functionality. $CCCFQ is used to query the value of a single parameter or a group.
$CCCFG is used to set the value of a single parameter.
$CCCFQ,TOP
$CACFG,<configuration parameter>,<value>*CS
For convenience, the list is broken up into subgroups and tabulated, each with its own query command.
67
CCCFQ,ALL- Query legacy configuration parameters
Listing of legacy parameters only.
$CCCFQ,ALL
68
CTO Cycle init timeout (sec) 0 255 10
DBG Enable low-level debug 0 1 0
messages
DGM Diagnostic messaging 0 1 0
DOP Whether or not to send the 0 1 0
$CADOP message
DQF Whether or not to send the 0 1 1
$CADQF message
DTH Matched filter signal threshold, 0 32767 108
FSK
DTO Data request timeout (sec) 1 30 2
DTP Matched filter signal threshold, 0 32767 90
PSK
ECD Delay at end of cycle (ms) 0 32767 50
EFB Feedforward taps for the LMS 10 100 20
equalizer
EFF Feedback taps for the LMS 10 100 10
equalizer
FC0 Carrier at Band 0 0 100000 25000
FMD PSK FM probe direction,0 up, 1 0 1 1
down
FML PSK FM probe length, symbols 10 255 200
GPS GPS parser on aux. serial port 0 1 0
HFC Hardware flow control on main 0 1 0
serial port . Currently, non-
functional.
IRE Print impulse response of FM 0 1 0
sweep
MCM Enable current mode 0 1 1
hydrophone power supply on
Rev. C Multi-Channel Analog
Board. Must be set to 1 for Rev.
B Multi-Channel Analog Board.
MFD Whether or not to send the MFD 0 1 0
messages
MOD 0 sends FSK minipacket, 1 sends 0 1 0
PSK minipacket
MPR Enable power toggling on Multi- 0 1 1
Channel Analog Board
MSE Print symbol mean squared error 0 1 0
(dB) from the LMS equalizer
69
MVM Enable voltage mode 0 1 1
hydrophone power supply on
Multi-Channel Analog Board
NDT Detect threshold for nav 0 32767 120
detector
NRL Navigation reverb lockout (ms) 0 32767 25
NRV Number of CTOs before hard 0 255 150
reboot
PAD Power-amp delay (ms) 0 100 2
PCM PSK multichannel channel mask 0 255 0
POW Detection power threshold (dB) -128 128 -100
PRL Packet reverb lockout (ms) 0 32767 50
PTH Matched filter detector power 0 32767 50
threshold
PTO Packet timeout (sec) 0 1000 14
REV Whether or not to send the 0 1 1
$CAREV message
RXA Whether or not to send the 0 1 0
$CARXA message
RXD Whether or not to send the 0 1 1
$CARXD message
RXP Whether or not to send the 0 1 0
$CARXP message
SCG Set clock from GPS 0 1 0
SGP Show GPS messages on main 0 1 1
serial port
SHF Whether or not to send the 0 1 0
$CASHF message
SNR Turn on SNR stats for PSK 0 1 0
comms
SNV Synchronous transmission of 0 1 0
packets
SRC Default Source Address 0 255 0
TAT Navigation turn-around-time 0 32767 50
(msec)
TOA Display time of arrival of a 0 1 0
packet (sec)
TXD Delay before transmit (ms) 0 32767 600
TXP Start of transmit message 0 1 1
TXF End of transmit message 0 1 1
XST Turn on transmit stats message, 0 1 1
CAXST
70
CCCFQ,uart<n>- Query UART configuration parameters
Listing of UART parameters. There are four UARTs on the Micromodem-2:
uart1: RS232 with optional hardware flow control (RTS/CTS).
uart2: RS232 without hardware flow control.
uart3: logic-level (3.3V) with optional hardware flow control.
uart4: Switchable between RS232 (optional hardware flow control) and RS485 (full- or half-duplex).
$CCCFQ,uart<n>
71
1=full-duplex
RS485
2=half-duplex
RS485
72
CCCFQ,log- Query logging configuration parameters
Listing of logging parameters. See NMEA Data Logging for further details on how to use them.
$CCCFQ,log
$CCCFQ,fsk
$CCCFQ,psk
73
1 FDP protocol
psk.packet.modulation modulation type 0 0 0
psk.packet.bandwidth_Hz current bandwidth, 10 10000 5000
Hz
psk.packet.carrier_Hz current carrier, Hz 100 125000 25000
psk.packet.bandwidth0_Hz band 0 bandwidth, Hz 10 10000 5000
psk.packet.carrier0_Hz band 0 carrier, Hz 100 125000 5000
psk.packet.nulltime_ms nulltime, ms 100 5000 250
$CCCFQ,detector
74
detector2.fm_dir Direction of FM sweep 0 1 1
detector2.length_sym length of sweep, symbols 10 1000 200
detector2.fm_bw_Hz Bandwidth, Hz 10 10000 4000
detector2.carrier_Hz Carrier, Hz 100 125000 25120
detector2.thresh detection threshold 0 32767 90
detector3.channel_mask 8-bit bitmask 0 511 1
bit chan
0 onboard
1-4 MCA card
5-7 reserved
detector3.type The signal to listen 0 2 1
for(tone)
detector3.fm_dir Direction of FM sweep 0 1 0
detector3.length_sym length of sweep, symbols 10 1000 40
detector3.fm_bw_Hz Bandwidth, Hz 10 10000 4000
detector3.carrier_Hz Carrier, Hz 100 125000 25120
detector3.thresh detection threshold 0 32767 50
$CCCFQ,recv
75
recv.digital_rcvr Bypass analog in and 0 1 0
use baseband digital
data over SPI interface.
Not for general use,
special hardware
required
recv.base64data Encode data in CARDP 0 1 0
as base64
$CCCFQ,xmit
$CCCFQ,timing
$CCCFQ,hibernate
76
Parameter Name Description Minimum value Maximum Value Default Value
hibernate.wake_interval wake interval 0 2419200 0
in sec
hibernate.wake_reference wake 0 2147483647 0
reference,
sec
hibernate.hibernate_after hibernate- 0 2419200 0
after time,
sec
$CCCFQ,nav
77
nav.trackping.timing_mode Timing mode 0 1 0
nav.trackping.carrier_Hz Carrier for the 100 125000 13500
pinger signal, Hz
nav.trackping.cycles_per_sym Used instead of 1 1000 7
bandwidth for
user defined
signals
nav.trackping.period Repetition period, 1 255 1
seconds
nav.trackping.reference_time Reference time, 0 4294967295 1449187200
unix seconds . 0
indicates no
reference time
required
nav.trackping.data If a sequence is 0 264 0
being sent, use
this data as
packed unsigned
64-bit int
nav.trackping.sequence_len Length of 1 64 47
sequence in bits
nav.trackping.bandwidth_Hz Bandwidth of 10 50000 4000
signal
nav.trackping.duration_msx10 Duration of 0 32767 35
signal,if not user
defined in
millisecods times
10.
$CCCFQ,rec
78
rec.start_time recording start time, -1 2147483647 0
unix, seconds. If not
recording, this is set to
-1
rec.end_time recording end time, -1 2147483647 0
unix, seconds. This
shows the end time of
the current recording,
or if the modem is
done recording, the
end time of the
previous recording.
$CCCFQ,pwramp
$CCCFQ,info
79
info.part_number part number 201005
info.serial_number serial number 511
info.board_rev board revision 68 (ASCII ‘D’)
info.bom_variant BOM variant 77 (ASCII ‘M’)
info.bom_rev BOM revision 1
info.fpga_version FPGA version 2.0.21446
info.fpga_api_level FPGA API level 3
info.fpga_flashrom_version FPGA flashrom version 2
info.build_oem build OEM 65 (ASCII ‘A’)
info.build_year build year 2013
info.build_month build month 1
info.build_options build options 0
info.coproc_version coprocessor version x.xx.x.xx.xxxxx
$CCCFQ,fathometer
80
fathometer.report_full_window report full 0 1 0
fathometer
window rather
than window
around peak
fathometer.dt_peak_ms peak report 0 20000 300
window duration
(ms)
fathometer.pre_peak_pct peak report 0 100 10
window -
percentage of
reported IRE
which will be
before peak
fathometer.decimate_by_2 decimate report 0 1 0
window by 2
fathometer.npings_total number of pings 1 1000 1
per cycle
fathometer.npings_over_iridium number of pings 1 1000 0
transmitted over
Iridium per cycle
fathometer.min_dx_m minimum 0 100000 0
distance from last
ping
fathometer.last_lat_deg latitude of last -100 100 -100
ping (decimal
degrees)(RDONLY)
fathometer.last_lon_deg longitude of last -200.0 200.0 -200
ping (decimal
degrees)(RDONLY)
fathometer.diagnostics_over_iridium send non- 0 1 0
fathometer NMEA
sentences over
Iridium
fathometer.ire_over_iridium send IRE NMEA 0 1 0
sentences over
Iridium
fathometer.use_base64 send IRE with 0 1 1
base64 encoding
rather than ASCII
hex
81
CCCFQ,hwd Query and set board hardware parameters
Listing of software and hardware information. (These parameters are read-only.)
$CCCFQ,hwd
Notes on hwd.gpio<n>
82
Notes on hwd.gpio<n>:
83
Selected Configuration Settings for detector lockouts
84
Synchronous Navigation
The Micromodem-2 allows precise transmission of signals on a PPS edge. See Reference Invalid source
specified. for implementation details. However, there are a few differences in how the PPS state is
maintained in the modem. The Micromodem-2 can synchronize the RTC PPS to an external PPS. Hence,
if external PPS is lost, the modem can still stay synchronized with clock state set to ‘EXT_SYNC’. So a
packet that is queued up for synchronous transmit is always sent so long as RTC PPS is available.
The Micromode-2 shows increased performance accuracy over the Micromodem-1 with respect to one-
way travel time. Tests conducted over the wire (no cables or transducers) showed a mean error of 84
microseconds with a standard deviation of 42 microseconds at 4 kHz bandwidth, which is less than half a
baseband sample (125 microseconds).
85
Using and Setting the Clock
The modem can set its real-time clock based on an external signal received on a GPIO pin if the user
prepares the modem with the CCTMS command.
CCTMS
Set the modem clock, ‘TiMeSet’
$CCTMS,YYYY-MM-ddTHH:mm:ssZ,mode *CS
Additionally, if the clock is set successfully and the clock source has changed, an informational message,
CATMG, will be printed.
If using the External PPS (EXTPPS) signal, it must remain stable (both high and low) for at least 10us, and
it must not be asserted until after the modem has processed the CCTMS message. The host serial port
often introduces significant latency that cannot be predicted. Therefore, we suggest sending this
command at least several hundred milliseconds before a rising edge on External PPS.
CATMS
Response to set clock command
$CATMS,timed_out,YYYY-MM-ddTHH:mm:ssZ*CS
86
timed_out 0 (time was set) if the CATMS command mode was 0 or
if the External PPS signal had a rising edge within
the timeout period and the time was set
successfully.
1 (time was not set) if mode was 1 and the timeout
period elapsed. The time was not set.
YYYY-MM-ddTHH:mm:ssZ Time that was set, in ISO 8601 Extended format.
If timed_out is 1, this field will be empty.
*CS Optional: The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
This message will be sent by the modem following a CCTMS command when the clock is set or when the
timeout period elapses.
Examples
In examples, messages in bold are commands sent from the host to the modem and messages not
in bold are messages sent from the modem to the host. CS is the NMEA message checksum.
$CCTMS,2012-12-01T01:04:05Z,0
$CATMS,0,2012-12-01T01:04:05Z*CS
$CCTMS,2012-12-01T01:04:05Z,1
$CATMS,0,2012-12-01T01:04:05Z*CS
This transaction shows what would occur if the timeout elapsed before the rising edge occurred.
$CCTMS,2012-12-01T01:04:05Z,1
$CATMS,1,*CS
CCTMQ
Query modem time command
$CCTMQ,0*CS
87
0 Reserved field, must be 0.
*CS The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
The modem will respond with the current time and time source information in the CATMQ message.
CATMQ
Response to time query (CCTMQ) command
$CATMQ,YYYY-MM-ddTHH:mm:ssZ,clock_source,pps_source*CS
The parameters for this message are identical to those of the CATMG message (the only difference is the
message ID).
CATMG
Informational message about timing source, printed when timing sources change
$CATMG,YYYY-MM-ddTHH:mm:ssZ,clock_source,pps_source*CS
88
clock_source NONE If there is no clock source present. This is an
error condition.
RTC if the clock source is the internal RTC modem
clock. This could have previously been
synchronized with an external clock.
USER_CMD If the clock was set using the user
command CCCLK or CCTMS.
GPS if the clock source is synchronized to a GPS string
as controlled by the FRAM parameter SCG.
pps_source NONE If there is no PPS source present. This is an error
condition.
RTC if the PPS source is the internal RTC modem PPS.
EXT If the PPS source is the external PPS pin.
EXT_SYNC if the PPS RTC pulse source is synchronized
to the last valid external PPS pulse.
*CS The NMEA sentence checksum, hex coded (8-
bit XOR or CRC-32). See Message Checksums.
This message will be sent by the modem following a change of status in either the clock source or the
PPS source. This could happen after a reboot, or the execution of a CCTMS command or a CCCLK
command.
The parameters for this message are identical to those of the CATMQ message (the only difference is
the message ID).
$CCCLK,YYYY,MM,DD,hh,mm,ss*CS
YYYY Year
MM Month
DD Day
hh Hours
mm Minutes
ss Seconds
*CS Hex coded checksum (8 bit XOR of sentence)
Example: $CCCLK,2004,3,28,10,20,0
89
90
Firmware Update
The modem can update its firmware during operation. To update firmware over the serial port, the
modem needs to boot into the recovery slot from flash using the $CCRST command.
The AComms Group can provide a python script or an executable to update the firmware, described
below in the section on pyAComms Support. Alternately, if users need to implement their own firmware
update software, the user can command the modem start the update process using the UPMFW
command. The user then must send the UPDAT commands to load the firmware.
The modem can support two separate user update-able firmware slots.
User Modem
UPMFW
UPMFWA
Data Upload
UPDAT
UPDATA
Error / Done
Upload Completes
UPDONE
Upload Errors
UPERR
91
UPMFW
Command modem to start upload of new firmware.
$UPMFW,firmware_slot,data_location,total_data_size,force_reboot,sha1_hash,fir
mware_filename *CS
After the UPMFW command is sent, the modem will reply with a UPMFWA message that indicates when
the modem is ready to start accepting firmware data using the UPDAT message. The SHA1 Hash is
generated following the sha1sum method of the Unix operating system utility.
UPMFWA
Response to upload start command
$UPMFWA,firmware_slot,data_location,total_data_size,sha1_hash,firmware_filena
me*CS
92
UPDAT
Upload of piece of firmware data.
$UPDAT,data_format,data*CS
This message is sent after the UPMFWA message is received. This message is sent multiple times to
handle the upload of each piece of the firmware file. Each data packet is assumed to be received
sequentially with respect to the firmware file. The modem will respond with a UPDATA message after
each data chunk is received.
UPDATA
Response to upload data command
$UPDATA,nbytes*CS
UPERR
Response to errors within firmware update process
$UPERR,errno,error_msg*CS
93
bit XOR or CRC-32). See Message Checksums.
This message is sent in response to any errors that occur within the update process. If received, modem
has ignored this transfer and it needs to be restarted.
UPDONE
Response to upload firmware completion
$UPDONE,Update Complete,msg*CS
This message is sent in response to a completed and successful firmware update. Depending on the
configuration of the update, the message will reference to the reboot option.
94
pyAcomms Support
Not Currently Supported. However, using a downloadable python script (fw_update.py) from our
website, the firmware on the Micromodem-2 can be upgraded following these steps. The user will need
access to the serial port on the modem.
95
Acoustic NMEA command
An acoustic nmea command takes an NMEA command and sends it acoustically at a given rate using the
new FDP minipacket.
CCACM
Acoustic NMEA command packet.
$CCACM,dest,rate,ack,cmd_string*CS
Upon receipt of the command on the originating modem, a $CAACM… is issued and the command is
sent acoustically as a FDP minipacket. Currently this command exists only for the USBL CCXSB command.
Upon receipt of the packet, if the destination ID matches the source ID of the receiving modem, an ack is
sent if requested, and the command is implemented.
CAACM
Response to acoustic NMEA command packet.
$CAACM,dest,rate,ack,cmd_string*CS
96
CAACA
Reciept of acoustic NMEA command packet.
$CAACA,dest,rate,ack,cmd_string*CS
Upon reception of an acoustic command minipacket, the destination modem issues a $CAACA message.
Additionally if the destination ID on the command matches the source ID of the modem, it executes the
command.
CAACR
Acknowledgement of an acoustic NMEA command packet.
$CAACR,dest,rate,ack,cmd_string*CS
97
USBL navigation
The Micromodem USBL mode provides azimuth and elevation to another Micromodem system which is
configured as a USBL transmitter. It also provides range to the transmitter when both are equipped with
either GPS PPS or another stable time source with a hardware pulse output.
A Micromodem-2 equipped with a multi-channel receiver card and a 4-element USBL array functions as
the receiver. The receiver may or may not include a transmit capability. A Micromodem-2 with source
operates as the source. Host computers at both the dock and the homing vehicle are assumed to exist
and provide high-level control of the modems.
This version of the firmware uses an approach which allows the host computers to control all aspects of
the USBL mode of operation. Future versions could be more sophisticated, but this approach makes
visible to the user every step of the process.
The first release of the capability described here will require the repetition rate to be such that the
range is not ambiguous, i.e. there is not more than one ping in the water at a time. Future versions will
have an additional several bits of tag data to follow each ping such that their emission time can be
determined at the receiver.
As an example, if the transmitter is configured at 1 Hz the vehicle can home from less than 1 second, or
1500 meters, away by assuming that a ping, when received, was transmitted at the next ping time minus
the inter-ping delay. In other words for the 1 second case, if a reception occurs at xx:0.70 sec, the range
is computed by assuming the ping was sent at xx:0.0, and thus the travel time is 0.70 seconds. For a 4 Hz
rate, when the signal is received at 0.7 seconds it is assumed to be transmitted at xx:0.5 seconds and the
travel time is 0.2 seconds. At four Hz the maximum unambiguous range is 375 m. Note that the PING
command (CCPNG) can be used at any time before the USBL mode is enabled to measure the actual
range.
98
USBL Navigation Configuration Parameters
All parameters related to USBL navigation are controlled using parameters in the nav configuration
group.
1430 default
nav.usbl.mode 0/[1,2,3], off/[on-FSK, on-PSK, on-both]
99
15 (default) Element 3 array x-location, mm
nav.usbl.array_locs3_y_mm element 3 array y-location in mm
CCXSB
Command modem to start or stop transmitting USBL pings at a specified repetition rate for nseconds.
$CCXSB,enable_flag,signal_type,reprate_hzx10,nsecs,timing_mode*CS
100
Once the modem receives the $CCXSB command, it will echo it back (or issue NMEA error if need be).
Acoustic communications packets can still be received in between ping transmissions, if they do not
interfere with an outgoing transmission or reverberation from that transmission. However, the
transmission of pings is paused during that time. The intent is to allow the vehicle that is homing to the
dock the capability to turn off the pinging once docking is completed or aborted. In future, a User Mini
Packet received at the transmitter could be used to abort the transmission.
CAXSB
Modem echo of the $CCXSB command.
$CAXSB,enable_flag,signal_type,reprate_hzx10,nsecs,timing_mode*CS
101
CCRSB
Command modem to start listening to USBL pings at a specified repetition rate for nseconds.The modem
switches the detector to the multichannel card for the USBL mode.
$CCRSB,enable_flag,signal_type,reprate_hzx10,nsecs,timing_mode*CS
Once the modem receives the $CCRSB command, it will echo it back (or issue NMEA error if need be). If
another $CCRSB command is issued before the first one times out, it will supersede the previous one.
The modem, while configured for receiving USBL navigational pings on one channel, will still be able to
receive communication packets on the second channel. For example, if the signal_type is set to 0, the
modem will still receive PSK packets, and if it is set to 1, it will still receive FSK packets.
102
CAUSB
The USBL navigational message.
$CAUSB, YYYY-MM-ddTHH:mm:ss.ssssZ,azimuth_deg,el_deg,owtt,timing_mode*CS
CAUIR
The USBL Peak Impulse Response message, all channels. Use in conjunction with channel_mask to pick
out valid channels.
$CAUIR, ch1re,ch1im,ch2re,ch2im,ch3re,ch3im,ch4re,ch4im*CS
CAUXY
The USBL unit vector. The unit vector assumes the USBL receiver to be the origin with the x-axis pointing
towards the source.
$CAUXY,xloc,yloc,zloc*CS
103
Error Messages
CAERR – Error message, modem to host
Error messages from modem to host regarding errors that result from serial input by the user. Error
messages include things that are typically correctable by the user, such as NMEA parsing and not
supplying data to the modem when a data request (CADRQ) is made. CAMSG is used to inform the user
about acoustic link status (timeout, bad CRC, etc.).
$CAERR,HHMMSS,Module,NN,Message*CS
104
ModemTMA
The Acoustic Communications Group provides a basic Windows GUI tool for interaction with
Micromodems over a variety of connections. This tool allows basic functionality such as sending and
receiving packets, setting configuration parameters, updating firmware, sending pings, etc. It also
provides more advanced options for different users. Users can download the most recent version from:
http://acomms.whoi.edu/umodem/downloads.html
105
pyAcomms Support Library
The Acoustic Communications Group provides a basic interaction library for the Micromodem system
through Python 2.7.x. This is a basic library which provides support for Micromodem functions. This
section provides the installation instructions for the pyAcomms library. The library supports both
windows, mac and linux development.
The current release of the pyAcomms library is located on the Python package Index (PyPI). The
information links is here:
https://pypi.python.org/pypi/acomms
https://wiki.python.org/moin/BeginnersGuide/Download
This will install all current dependencies for the pyAcomms library. These dependencies currently
include:
bitstring
pyserial
isodate
timer2
python-dateutil
enum
106
apscheduler
setuptools
crcmod
107
Applications
108
Long-term deployment with periodic wakeups
and data logging
The Micromodem-2 may be deployed for long periods of time during which it monitors and logs data
from sensors, and this data can be periodically retrieved by a host computer.
To increase mission duration, a host can command the modem to hibernate periodically to reduce
energy consumption.
If a high-accuracy clock, such as an atomic clock, is available, the host may set the clock on the modem
each time it wakes from hibernate so that timing-critical functions such as acoustic navigation can be
performed accurately.
A host system has a high-accuracy clock, which it will use to set the time on the modem.
The host will wake the modem from hibernate via the EXTWAKE pin.
The host will command the modem to hibernate.
The modem will log all NMEA messages.
A host will retrieve logged NMEA messages at a later time.
In the following instructions, messages in bold are commands sent from the host to the modem and
messages not in bold are messages sent from the modem to the host. CS is the NMEA message
checksum.
Initial Configuration
First, the modem should be configured to enable NMEA logging. (The values shown below are also the
default values, so they don’t need to be set unless they were previously changed.)
$CCCFG,log.nmea.level,2
$CACFG,log.nmea.level,2*CS
$CCCFG,log.nmea.location,1
$CACFG,log.nmea.location,1*CS
Because the host will be commanding the modem to hibernate and waking it via the EXTWAKE pin, the
automatic hibernate schedule should be disabled. (This, again, is the default for these configuration
parameters.)
$CCCFG,hibernate.hibernate_after,0
$CACFG,hibernate.hibernate_after,0,2*CS
109
$CCCFG,hibernate.wake_interval,0
$CACFG,hibernate.wake_interval,0*CS
Adjust the time in this command as necessary. It is recommended that the host set the time at least
500ms after this command is issued, so the time specified here should be one or two seconds in the
future.
$CCTMS,2012-12-01T01:04:05Z,1
After issuing the command, drive the EXTPPS pin high at the time specified in the message. The modem
will reply with
$CATMS,0,2012-12-01T01:04:05Z*CS
The host software should prepare to handle possible error conditions, as well. See the CCTMS command
in the User’s Guide.
Send the hibernate command with a relative hibernate time of 10 minutes (600 seconds), and set the
wake mode to 0, because the modem should hibernate until the host drives the EXTWAKE pin.
$CCHIB,600,0
$CAHIB,0,2012-12-01T01:15:21Z,0,*CS
The timestamp in the response will correspond to the current time + 10 minutes. After 10 minutes, the
modem will issue a $CAHBR message before shutting down.
$CAHBR,*CS
110
See the CCHIB command in the User’s Guide for more details.
$CCRBR,1,0,0,0,0
The modem will then respond with a series of CARBR messages containing logged data. The CARBR
message syntax, along with a number of examples, is described in the NMEA Data Logging and Retrieval
section of the User’s Guide.
$CCCFG,BND,0
$CCCFG,BW0,25
$CCCFG,FC0,900
$CCCFG,psk.packet.mod_hdr_version,1
$CCCFG,psk.packet.nulltime_ms,4000
$CCCFG,recv.agc_length_ms,500
When played out of a sound card on a computer into the analog input of the modem using a sampling
rate of 48 kHz, it will result in the following series of messages similar to below:
$CAREV,181916,AUV,2.0.14703*18
$CAREV,181916,COPROC,0.20.0.51*43
$CARXP,1*45
$CARDP,0,1,1,0,0,1;8;0001020304050607;,*6A
$CACST,6,0,20131008181917.655045,3,1539,25,0384,0150,141,01,01,01,01,1,000,001,0,5,1,0,150,49.2,2
6.4,-100,-23.4,-01,1.1,-6,900,0025*60
$CAREV,182031,AUV,2.0.14703*17
111
$CAREV,182031,COPROC,0.20.0.51*4C
$CCRBR,1,0,0,0,0
$CARBR,0,0,2013-08-23T19:14:26Z,15,CAREV,191426,AUV,2.0.10734*71
$CARBR,0,1,2013-08-23T19:14:26Z,15,CAREV,191426,COPROC,0.20.0.51*2B
$CARBR,0,2,2013-08-23T19:14:26Z,15,CAREV,191426,RECOVERY,2.0.10734*32
$CARBR,0,3,2013-08-23T19:14:33Z,15,CARXP,1*24
$CARBR,0,4,2013-08-23T19:14:35Z,15,CARDP,1,0,1,0,0,1;9;000102030405060708;,*03
$CARBR,0,5,2013-08-
23T19:14:35Z,15,CACST,6,0,20130823191433.543886,3,836,29,0361,0150,40,00,00,00,00,-1,-01,-
01,0,5,1,0,150,69.4,33.0,-100,-30.0,-01,0.0,00,10000,2000*34
$CARBR,0,6,2013-08-23T19:14:35Z,15,CAREV,191435,AUV,2.0.10734*77
$CARBR,0,7,2013-08-23T19:14:35Z,15,CAREV,191435,COPROC,0.20.0.51*2D
$CARBR,0,8,2013-08-23T19:14:35Z,15,CAREV,191435,RECOVERY,2.0.10734*38
$CARBR,0,9,2013-08-23T19:14:40Z,2,CCRBR,1,0,0,0,0*06
$CARBR,1,0,,,*6D
112
Docking an AUV using USBL navigation with
precision timing
In this example, a vehicle equipped with a precision timing source (CSAC board synchronized to GPS)
docks to a docking station, also synchronized to a GPS source. The CSAC board supplies timing
information as $GPZDA messages in conjunction with a PPS signal which the vehicle modem can use to
set its clock.
Assuming that the GPZDA messages are coming in over UART4 and are being echoed on to UART1 of the
micromodem, the following commands are issued to the vehicle modem before the start of the mission:
1. Power on vehicle
2. Power on GPS unit
3. Wait a few minutes for the CSAC board to boot. When the board boots, the modem prints out
its boot message on UART1:
4. Set the uart configuration parameters to process GPS messages on the appropriate UART and
echo them on another. Set the modem clock using GPS message string on the UART that is
processing the incoming messages. In this example, the CSAC board is connected to UART4 of
the modem using a baudrate of 19200, and the modem output is monitored on UART2.
The configuration parameters need to be set only once and hold through a modem power cycle.
$CCCFQ,uart4
$CACFG,uart4.parse_gps,1*37
$CACFG,uart4.show_gps,0*40
$CACFG,uart4.set_clk_GPS,1*3B
$CACFG,uart4.crc32,0*0B
$CACFG,uart4.rs485,0*40
$CACFG,uart4.bitrate,19200*0F
$CCCFQ,uart2
$CACFG,uart2.parse_gps,0*30
$CACFG,uart2.show_gps,1*47
$CACFG,uart2.set_clk_GPS,0*3C
$CACFG,uart2.crc32,0*0D
113
$CACFG,uart2.bitrate,19200*0
5. Once the modem sees a valid GPS string come through along with an external PPS, it will set the
clock. Check to make sure that the clock source is GPS and and the PPS source is EXT. The
modem will print a CATMG message upon change of clock status, or the user can query status
using the CCTMQ command. Keep in mind that the CSAC board only processes valid fixes and
the GPS unit can take several minutes to acquire one.
$GPRMC,194010,A,4131.4776,N,07040.2588,W,000.0,000.0,051214,015.5,W*78
$CATMG,2014-12-05T19:40:11Z,GPS,EXT*7E
$CCTMQ,1
$CATMQ,2014-12-05T19:40:46Z,GPS,EXT*6A
6. At this point, it is safe to disconnect the GPS unit and start the vehicle mission. The CSAC board
will maintain the clock state through a power cycle up to 2 minutes. If the vehicle reboots, the
modem will automatically re-synchronize its clock from the CSAC board. If the vehicle power is
turned off for longer than this time, the modem will have to be re-synchronized.
7. Once the vehicle is ready to home, it can initiate homing by sending the $CCXSB command to
the docking station acoustically using the $CCACM command. A coprocessor firmware of
0.10.0.52 or greater is needed to send the acoustic command. In the following example, a
vehicle with source ID 5, commands a docking station with source ID 6, to start pinging at a
repetition rate of 1 Hz for 5 seconds. Bold face commands are serial input to the modem and
normal face are serial output from the modem.
$CCACM,6,3,1,CCXSB,1,1,10,5,0
$CAACM,6,3,1,CCXSB,1,1,10,5,0*18
$CATXP,0*42
$CATXF,0*54
$CAXST,6,20140529,195047.278352,3,0,200,5000,25000,2,0,0,0,0,2,3,0*4B
The dock side, upon reception of the acoustic command packet, reports CAACA, sends the
acknowledgement and then starts the pinger:
$CAACA,6,3,1,CCXSB,1,1,10,5,0*14
$CACST,6,0,20140529195037.609747,3,11385,40,0129,0150,100,00,00,00,00,3,000,006,0,5,2,0,150,63.7,
22.9,-100,-19.9,-01,0.0,26,25000,5000*44
$CATXP,0*42
114
$CATXF,0*54
$CAXST,6,20140529,195038.282801,3,0,200,5000,25000,2,0,0,0,0,3,3,0*4A
$CATXP,200*40
$CATXF,200*56
etc. …
$CAACR,6,3,0,CCXSB,1,1,10,5,0*06
$CACST,6,0,20140529195047.951611,3,8238,39,0093,0150,100,00,00,00,00,3,006,006,0,5,3,0,150,61.1,2
7.8,-100,-24.8,-01,0.0,27,25000,5000*7B
8. In the following example, the vehicle will listen for 1 hour for homing pings and calculate range
based on a repetition rate of 4 Hz.
$CCRSB,1,1,40,3600,0
$CARSB,1,1,40,3600,3*5F
9. On the dock modem, the homing pings can start upon issuing the $CCXSB command. In this
example, the dock will issue homing pings for one hour at a repetition rate of 4 Hz.
$CCXSB,1,1,40,3600,0
$CAXSB,1,1,40,3600,3*55
$CATXP,200*40
$CATXF,200*56
10. The vehicle should start printing $CAUSB strings upon successful reception of the homing pings.
At any time in the homing processes, the vehicle or the docking station can stop the homing by
re-issuing the appropriate USB command with the enable field set to 0. The modem also echoes
a $CARSB,0… sentence upon expiration of the USBL receiver listen time.
$CAUSB,2014-12-05T19:48:03.000196Z,-4.6,4.5,00.0001,3*70
$CAREV,194803,AUV,2.0.16992*1D
$CAREV,194803,COPROC,0.10.0.46*47
$CAUSB,2014-12-05T19:48:03.250196Z,-4.6,4.5,00.0001,3*77
$CARSB,0,1,40,10,0*59
115
Navigation using a tracking ping
The modem can send out tracking pings on a schedule based on CCCFQ,nav- Query navigation
configuration parameters settings. Once a ping mode is set, it holds through a modem reset/reboot
cycle. It is advisable to set and synchronize the modem clock before starting the tracking pings.
Configuration parameters are updated only during a mode change, i.e. once a pinger has been turned
on, configuration setting changes will not take effect until the pinger is turned off. There are four
distinct modes for sending out tracking pings.
nav.trackping.mode
To send a user-defined sequence, the user would use mode 1 and set the following additional
configuration parameters:
To send a 13.5 kHz, 3.5 ms tone at the top of every second with a second tone 35 ms later at the top of
every 10th second, starting from the top of the minute, set the following parameters
$CCCFG,nav.trackping.carrier_Hz,13500
$CCCFG,nav.trackping.period,1
$CCCFG,nav.trackping.reference_time,1449187200
$CCCFG.nav.trackping.duration_msx10,35
$CCCFG,nav.trackping.mode,4
116
To send a 10.5 kHz, 10 ms FM upsweep at the top of every 10th second starting from the top of the
minute, set the following parameters
$CCCFG,nav.trackping.carrier_Hz,10500
$CCCFG,nav.trackping.period,10
$CCCFG,nav.trackping.reference_time,1449187200
$CCCFG.nav.trackping.duration_msx10,100
$CCCFG.nav.trackping.bandwidth_Hz,3000
$CCCFG,nav.trackping.mode,3
117
CCPST Passthrough Message Examples
The examples below reference the system drawn here:
In these examples, a Micromodem-2 is in a buoy housing with a console connector on COM2, an Iridium
controller (such as WHOI-205102 Iridium 9523 Interface Board) on COM1, and a GPS on COM4. The
Iridium controller in these examples relays all NMEA sentences that it receives back and forth between
COM1 and the Iridium RF channel (like a “bridge”, or a high-latency NMEA console). In addition, the
Iridium controller board’s microcontroller can also send sentences onto COM1 to the Micromodem-2.
Example 1: Iridium controller sends a sign-on message to the Micromodem-2 on COM1 to be passed
through to the Console on COM2 as well as echoed back to itself (in turn sent over Iridium to shore,
verifying on shore and at the console that the Micromodem-2 is functioning):
Example 2: Iridium controller sends a debug message to the Micromodem-2 on COM1 to be passed
through to the Console on COM2, but NOT echoed back to itself (so that it will not be sent over Iridium):
Example 3: Host computer on COM2 console connector sends a configuration message to a u-blox GPS
connected on COM4, also echoing back to itself:
118
Host computer sends to Micromodem-2 on COM2:
$CCPST,10,1,1,0,0,,PUBX,40,GLL,0,0,0,0,0,0\r\n
Micromodem-2 passes through message on COM4 and COM2:
$PUBX,40,GLL,0,0,0,0,0,0\r\n [disable $GPGLL on u-blox GPS]
Example 4: As with Example 3 above, but a shore-side computer sends the $CCPST as an Iridium
message that is sent to Micromodem-2 on COM1, and is echoed to console on COM2, Iridium controller
on COM1, and u-blox GPS on COM4:
119
FATHOMETER Examples
Depth sounder, no Iridium link
To use the modem as a depth sounder with local logging of serial data (no Iridium link), a full depth
capture window of 4 seconds, transmit lockout of 100 ms, and base64 data for the $CACIR messages,
use the following configuration parameter settings, other settings are ignored for this case:
$CACFG,fathometer.active,0*4D
$CACFG,fathometer.hibernate_after,0*10
$CACFG,fathometer.t0_ms,100*45
$CACFG,fathometer.tcapture_ms,4000*24
$CACFG,fathometer.report_full_window,1*51
$CACFG,fathometer.decimate_by_2,0*7E
$CACFG,fathometer.npings_total,1*70
$CACFG,fathometer.npings_over_iridium,0*25
$CACFG,fathometer.min_dx_m,0*5A
$CACFG,fathometer.diagnostics_over_iridium,0*5C
$CACFG,fathometer.ire_over_iridium,0*56
$CACFG,fathometer.use_base64,1*6B
$CCCFG,fathometer.active,1
The modem will send out an FM sweep using the settings defined for a PSK packet probe. After the
lockout period (t0_ms), it will open the detector and record the impulse response for tcapture_ms
milliseconds. At the end of that time, it will issue a report using $CACFT and $CACIR messaging. All
messages are echoed onto uart1 and uart2. If there is a GPS feed , the last reported latitude and
longitude will be reported in the $CACFT message.
$CACFG,fathometer.active,1*4C
$CATXP,2000*70
$CATXF,2000*66
120
$CAXST,6,20180522,184520.000040,3,0,200,1000,3500,-2,17229,16708,19795,0,0,-
1,0*74
$CACFT,2018-05-22T18:45:20.000040Z,41.5244,-70.6711,250,2.0009,32767,0*53
$CACIR,1,7,2018-05-
22T18:45:20.525426Z,100,12,18,AAAAAAEAAAABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQA
BAAEAAgABAAEAAgACAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,18,AAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQABAAAAAAAAAAAAAAAAA
AEAAAABAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQABAAEAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAQAAAAA
AAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA,18,AQACAAEAAQABAAEAAQACAAIAAQAAAA
AA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AAAAAAEAAQAAAAEAAgABAAEAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAA
AAAAAAACAAMABAAEAAIAAgABAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQABAAEAAQABAAEAAQAAAAAA
AAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQAAAAEAAQABAAAAAAACAAEAAgACA
AIA,8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,12
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,18,AAABAAEAAQABAAEAAgABAAEAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAA
AAAAAAAABAAIA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,18,AQABAAEAAAAAAAAAAAACAAMABAADAAIA,18,AQABAAEAAgADAAMABAAEAAUABQAEAAMA,1
8,AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAA
BAAIAAgACAAIAAQABAAIAAgACAAEA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,18,AAABAAMA
AwACAAAAAgACAAMAAQAAAAEA,18,AQAAAAAAAQACAAMAAgACAAEAAAAAAAIA,18,AgACAAIAAQABA
AAAAAAAAAAAAAAAAAAA,18,AAABAAEAAgADAAUABwAHAAgABQAEAAEA,16,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAEA,18,AQABAAEAAQAAAAAAAAABAAMAAgAAAAAA,18,AgADAAYACAAFAAUABwAHAAQAAgAC
AAIA,18,AQABAAEAAQAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEABAADAAEA,
16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAQABAAAAAgABAAAA,18,AA
AAAAAAAAABAAIABAAGAAQAAwACAAEA,18,AgABAAEAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQAAAAA
AAAABAAAAAAAAAAAAAAAAAAAA,18,AAADAAQABAADAAIAAwAEAAIAAAAAAAIA,16,AAAAAAAAAAAA
AAAAAAABAAEAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,6,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA,14,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQABAAEAA
QAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAA
121
AAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,6,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
*56
$CACIR,2,7,2018-05-
22T18:45:20.525426Z,100,12,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAABAAA
A,18,AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAA,18,AAAAAAAAAA
AAAAAAAAAAAAAAAAABAAEA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAA
AAAABAAAAAAAAAAAA,16,AAAAAAAAAAABAAAAAQAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEAAgABAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAB
AAEAAQACAAEAAQABAAIAAwADAAIA,18,AgACAAIAAQABAAEAAQABAAEAAQACAAIA,16,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQABAAEAAAA
AAAAAAAAAAAEA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEA
AQABAAEA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
8,AAABAAEAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAEAAQABAAAAAAAAAAAA,16,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA,18,AAAAAAAAAAAAAAAAAQABAAIAAgABAAEA,18,AgACAAIAAgACAAEAAAAAAAAAAAAAAAAA,
18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEA,18,AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
,18,AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEA,18,AQACAAEAAAAAAAAAAAABAAEAAAAAAAAA,18,A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQA
BAAEAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAABAAEAAQABAAEAAQAAAAAA,16,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAA
AEAAQABAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAEA,18,AAAAAAMABAACAAMABAABAAAAAAAAAAA
A,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAQABAAAA,18,AAAAAAAAAAAAAAAAAAABAAEAAgACAAEA,16,AAABA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAA
122
ABAAEAAQABAAAAAAAAAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAEAAgACAAIAAQAAAAAA,18,AAAAAAAAAAAAAAAAAAAB
AAAAAAAAAAAA,18,AAAAAAAAAQAAAAEAAAAAAAAAAQABAAAA,18,AAAAAAAAAQAAAAAAAAAAAAEAA
gACAAEA*5A
$CACIR,3,7,2018-05-
22T18:45:20.525426Z,100,12,18,AQAAAAAAAAAAAAAAAAAAAAAAAgADAAEA,16,AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA,18,AQABAAAAAAABAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAEA
AAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAA
AAAAAAAAABAAEAAQABAAEA,18,AAABAAEAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAgADAAUA,18,BAADAAIAAQAAAAAAAQAD
AAMAAwADAAIA,18,AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAQABAAAAA
AAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAQABAAEA,18,AQABAAAAAAAAAAAAAAAAAAEAAwAFAA
YA,18,BAACAAEAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAABAAEAA
AABAAEAAQAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA,18,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,18,AAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQAAAAAAAAAAAAAA
AAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQABAAEAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAA
AAAEAAQABAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,0,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,0,AAAAAAAAAQAAAAAAA
AAAAAEAAAAAAAAA,0,AQAAAAAAAQABAAAAAAABAAAAAAAAAAEA,0,AAAAAAEAAQAAAAAAAgAAAAAA
AgAAAAAA,0,AgABAAAAAgACAAAAAgACAAAAAgADAAAA,0,AgADAAAAAwACAAAABAACAAAABQAAAAI
A,0,BQAAAAUAAwAAAAcAAAAEAAUAAAAJAAEA,0,BAAHAAAACwABAAcACAACAA8AAAAPAAQA,0,CwA
OAAMAGAAAAB4AAgAcAA0AFwAeAA8A,0,NgAGAFEAAAB0AAAAqAAIAAQBIgDUAW4A,0,nwTUAcMf/3
9KabYFFwZHAdEBogDJAHIA,2,XwBcACwAUQAQAEcAAgA9AAAALgADAB4A,4,CwAPABMABAAXAAAAE
wACAAwACQADAA4A,6,AAAMAAMABQAIAAAACgABAAUABgAAAAcA,8,AQACAAYAAAAFAAMAAAAGAAAA
AQAEAAAA,10,AwADAAAAAwABAAAAAwABAAAAAwABAAAA,12,AwABAAAAAwABAAAAAQABAAAAAQABA
AAA,14,AAABAAAAAAABAAEAAAAAAAEAAAAAAAAA,16,AQAAAAAAAQABAAAAAAABAAEAAAAAAAEA,1
8,AQAAAAAAAAAAAAAAAAAAAAEAAQAAAAAA,18,AAAAAAEAAAAAAAEAAAAAAAAAAAAAAAEA,16,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAA
123
AAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA*78
$CACIR,4,7,2018-05-
22T18:45:20.525426Z,100,12,18,AQAAAAEAAQABAAEAAQABAAEAAQABAAEA,18,AQABAAAAAAA
AAAAAAQABAAEAAQACAAEA,18,AQABAAEAAgACAAIAAgACAAMAAwACAAIA,18,AQABAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,18,AAAAAAEAAgACAAEAAQABAAEAAQABAAEA,16,AAAAAAAAAAABAAEAAQAAA
AAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAACAAIAAwADAAMA,18,AwAEAAMAAwACAAEAAAAAAAAAAA
AAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAABAAAAAAAAAAAAAAAAAAA
A,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAA,18,AQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,16,AAAAAAAAAAAAAAEAAAABAAEAAQAAAAAA,16,AAAAAAAAAQACAAEAAAAAAAAAAAAAAA
AA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAgADAAMAAQABAAEAAAAAAAEA,16
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAABAAEAAAAAAAAAAAAAAAAA,18,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA,18,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAABAAEAAAAAAAAAAAAAAAAAAAAAA
AAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
6,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,18,AAAAAAEAAQABAAEAAQABAAEAAQAAAAEA,18,AQAAAAEAAQABAAEAAQAAAAEAAQAB
AAEA,18,AQABAAIAAwAEAAMAAgAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
18,AAAAAAAAAAAAAAAAAAACAAIAAQACAAIA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAABAAEAAAAAAAAAAAAAAAEA,18,AQABAAA
AAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAEAAQABAAEAAgAFAAkA,18,CgAHAAQAAQAA
AAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQAEAAMAAwABAAAAAQAAAAAA,16,AAAAAAAAAAAAAAAAA
AAAAAEAAQAAAAAA,16,AAAAAAAAAAAAAAAAAQABAAEAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAA
AAAQAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAA
BAAEA,18,AQAAAAAAAAAAAAAAAAAAAAAAAQABAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
,18,AQABAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQABAAEAAQABAAEAAQAAAAAAAAAAAAAA,18,A
QAAAAAAAAAAAAEAAQADAAIAAQAAAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAA
AAAAAAAAEAAQAAAAEAAQAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,18,AAAAAAAAAAAAAAAAAAAAAAEAAQABAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAA
AAAAAAAAAAAAQACAAMAAwADAAIA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAEAAQABAAAAAAAAAAAA,18,AAAAAAAAAAAAAAA
124
AAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAQACAAIAAgACAAIA,16,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AQAAAAAAAQABAAAAAAAAAAAAA
AAAAAAA*75
$CACIR,5,7,2018-05-
22T18:45:20.525426Z,100,12,18,AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAQA
BAAAAAQACAAIAAgACAAMA,18,AgAEAAQABAADAAIAAAABAAIABAAGAAUA,18,BAACAAAAAAAAAAAA
AAADAAUABwAHAAgA,18,BQACAAEAAQABAAIAAQABAAEAAAAAAAAA,16,AAAAAAAAAAABAAAAAAAAA
AAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAABAAAAAQABAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAABAAEAAAAAAAAAAAABAAEAAQAAAAA
A,18,AAAAAAEAAQAAAAAAAAAAAAEAAAABAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,6,AAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,6,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
6,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAA
AAAAAAAAAAAAAAAAAAAAAAQABAAEA,18,AgACAAMAAwABAAIAAgACAAEAAAABAAEA,16,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAABAAEA,18,AQAAAAAAAAAAAAAAAAABAAAAAAAA
AAEA,18,AQABAAEAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA,18,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQABAAIAAQAAAAAAAAAAAAEAAQABAAEA,18,AQAAAAE
AAAAAAAAAAAAAAAEAAQADAAMA,18,AwADAAQABQAEAAMAAQABAAAAAAAAAAAA,18,AAABAAEAAQAB
AAEAAwADAAIAAQADAAQA,18,AwABAAAAAAACAAIAAgABAAEAAAAAAAAA,18,AAAAAAAAAAABAAQAC
AALAAoABwADAAAA,18,AAAAAAAAAQAFAAgABwAEAAQABQAGAAMA,18,AAAAAAEABAAFAAIAAAAAAA
AAAAAAAAEA,18,AQADAAQAAwAAAAAAAAAAAAIAAgACAAIA,18,BgAKAAgAAwAAAAIABgAEAAIAAAA
BAAQA,16,AAAAAAAAAgAEAAQAAgAAAAEAAQAAAAAA,18,AAAFAAUAAQAAAAMABQADAAEAAAAAAAAA
,18,AAAAAAEAAwADAAEAAAAAAAAAAQACAAAA,16,AAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAA,8,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,12,AAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAA
AAAAAAAAQABAAEA,18,AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAA
125
AAAAAAAAAA,18,AQABAAEAAQABAAEAAAAAAAAAAAAAAAEA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
*41
$CACIR,6,7,2018-05-
22T18:45:20.525426Z,100,12,18,AAAAAAAAAAAAAAAAAAAAAAEAAQACAAIA,18,AQABAAEAAQA
BAAEAAwADAAQABAACAAAA,18,AAAAAAAAAQABAAEAAQAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,18,AAAAAAAAAAAAAAAAAQAAAAAAAQAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18
,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAABAAEA,18,AQABAAAAAAAAAAAAAAA
AAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAA,16,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,20,AAAAAAAAAAAAAAAAAQABAAEAAgACAAEA,18,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA,18,AAABAAAAAAAAAAEAAQABAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,
18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,18,AAAAAAAAAAAAAAEAAQABAAAAAAABAAEA,18,AQABAAE
AAQAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAABAAIAA
gABAAEAAgABAAAA,18,AAAAAAAAAQABAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAA
AAAQACAAIA,18,AQABAAAAAAAAAAAAAAABAAEAAAAAAAAA,18,AAABAAIAAwADAAIAAQAAAAAAAAA
AAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAA,18,AAABAAIABQAIAAgACAAHAAcACAAIAAUA
,18,BAAGAAgABgAEAAQABwAGAAMAAgACAAIA,18,AQABAAAAAAABAAIABAAFAAMAAgAAAAAA,18,A
AAAAAEAAQAAAAAAAQAEAAYABwAKAAwA,16,AwADAAIAAQAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAA
AAAAABAAEAAQAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA,6,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA,14,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,1
8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAA
126
AAAAAAAAAAAAAA,4,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,6,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA,8,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,10,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A*48
$CACIR,7,7,2018-05-
22T18:45:20.525426Z,66,12,12,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,14,AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAA
AAAAAAAAAAAAAAAAAAAQABAAAA,18,AAAAAAAAAAAAAAAAAQACAAIAAgABAAAA,18,AAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA,16,AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAEAAQABAAAA,16,AAAAAAAAAA
AAAAEAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAABAAAAAQAB
AAEAAQACAAEA,18,AAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAEA,18,AQABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAQABAAIAAgACAAMA,18
,AgADAAIAAgACAAIAAQABAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAA,16,AAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAABAAEAAQABAAAAAQA
BAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAEA,18,AgABAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AQAAAAAAAAAAAAAAAAAAAAAAAAABA
AAA,18,AAABAAIABAAFAAYABgAFAAMAAQAAAAAA,18,AQACAAEAAQABAAEAAAAAAAAAAAAAAAAA,1
8,AAAAAAAAAAAAAAEAAQABAAAAAAABAAMA,16,AQABAAEAAAAAAAAAAAAAAAAAAAAAAAAA,18,AAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,18,AgADAAQAAwADAAMAAwABAAAAAAAAAAEA,16,AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,16,AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAEA,16,AgACAAMAAwACAAEAAQABAAEAAQAAAAAA,16,AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA*6C
127
References:
[1] "Micro-Modem Software Interface Guide," Acoustic Communications Group.
128