\subsubsection{Parameters for the iCommander Configuration Block}
\paragraph{Example .moos file}
The moos file is simple since the bulk of the configuration is stored in separate XML files (see section \ref{sec:dccl_overview} for the configuration of these files):

\begin{small}\begin{verbatim}
LatOrigin = 42.5
LongOrigin = 10.08333

// where to find the file specifying modem lookups
modem_id_lookup_path = ../../../data/acomms/modemidlookup.txt
Community = topside

//------------------------------------------------------------------
// iCommander configuration  block 
ProcessConfig = iCommander
{
  // available to all moos processes.
  AppTick    = 4
  CommsTick  = 4
  
  // available to all tes moos processes

  //verbose, terse, quiet
  verbosity = verbose

  // for checking xml structure correctness
  // highly recommended to use this
  // requires path relative to xml file location (or full path)
  schema = ../../acomms/libdccl/message_schema.xsd

  message_file = ../../../data/acomms/nafcon_command.xml
  message_file = ../../../data/acomms/nafcon_report.xml

  load = iCommander_autosave.txt  
}
\end{verbatim}
\end{small}

\paragraph{Filling out the .moos file}
\begin{itemize}
\item \verb|verbosity|: choose verbose for full text terminal output, terse for symbolic heartbeat output, and quiet for no terminal output.
\item \verb|message_file|: path to an XML file containing a message set of one or messages. These are the DCCL messages. You can also load messages XML files through the Main Menu in the program.
\item \verb|load|: path to a file of iCommander saved message(s) to load automatically on startup. You can also load messages through the Main Menu in the program.
\end{itemize}

\subsubsection{Reference Sheet}
\paragraph{Main Menu}
\begin{verbatim}
 ______________________________________________________________
|            iCommander: Vehicle Command Message Sender        |
|                        2 messages loaded.                    |
|    Main Menu:                                                |
|    > Return to active message                                |
|    > Select Message                                          |
|    > Load                                                    |
|    > Save                                                    |
|    > Import Message File                                     |
|    > Exit                                                    |
|______________________________________________________________|
\end{verbatim}
\begin{itemize}
\item Return to active message - only available if you have actively edited a message this session. Choose to return to the editing screen of the last message you were editing.
\item Select Message - pick a message type to edit. All messages are read from DCCL (dynamic compact control language) XML message files.
\item Load - load a saved message parameters file. This allows you to save values for message fields from session to session.
\item Save - saves all open messages to a single file for later use. These files are plain text for easy use outside iCommander.
\item Import Message File - import another DCCL XML file for use.
\item Exit - quit cleanly.
\end{itemize}


\paragraph{Editing screen}
\begin{verbatim}

    __________________________________________________
   |                                                  |
   |Editing message variable 1 of 22: MessageType     |
   |(static) you cannot change the value of this field|
   |__________________________________________________|

   ___________________________________________________
  |                                                   | 
  |Message (Type: SENSOR_PROSECUTE)                   |
  |22 entries total                                   |
  |        {Enter} for options                        |
  |        {Up/Down} for more message variables       |
  |                                                   |
  |                                 _________________ |
  |                                |                 ||
  |1. MessageType (static)         |SENSOR_PROSECUTE ||
  |                                |_________________||
  |                                 _________________ |
  |                                |                 ||
  |2. SensorCommandType (int)      |1                ||
  |                                |_________________||
  |                                 _________________ |
  |                                |                 || 
  |3. SourcePlatformId (int)       |0                ||
  |                                |_________________||
  |                                 _________________ |
  |                                |                 ||
  |4. DestinationPlatformId (int)  |3                ||
  |                                |_________________||
  |___________________________________________________|
\end{verbatim}

Scroll to select the box to edit. Note that you will need to scroll up or down off the screen to see all the fields at once. The information box at the top will tell you how large the field can be based on the DCCL settings. You cannot enter a value outside these ranges. Hit enter to get the editing menu.

\paragraph{Editing menu}
\begin{verbatim}
        __________________________________________________________
       |                                                          |
       |                     Choose an action                     |
       |> Return to message                                       |
       |> Send                                                    |
       |> Preview                                                 |
       |> Quick switch to another open message                    |
       |> Insert special: current time                            |
       |> Insert special: local X,Y to longitude,latitude         |
       |> Insert special: community                               |
       |> Insert special: modem id                                |
       |> Clear message                                           |
       |> Main Menu                                               |
       |                                                          |
       |                                                          |
       |__________________________________________________________|
\end{verbatim}
\begin{itemize}
\item Return to message
\item Send
\item Preview - preview the message to be sent in exact syntactical form
\item Quick switch to another open message - switch to another message with information (either edited this session or loaded)
\item Insert special: current time - insert a placeholder (``\_time'') that will be replaced with the current UNIX time when message is sent (e.g. 1236053988). \textbf{Shortcut: type 't'} directly into the field and bypass this menu.
\item Insert special: local X,Y to longitude,latitude - insert a placeholder designator to do a UTM local grid to latitude / longitude conversion. first the latitude (Y or northings) is entered (``y(lat)1:''), then you choose where to put the longitude (X or eastings) (``x(lon)1:''). after the colon enter the desired value in meters that will be converted to latitude/longitude based in the LatOrigin/LongOrigin set in the top of the MOOS file. Note that you may have more than one pair of x/y. This is the reason for the number following ``y(lat)''/``x(lon)''. ``y(lat)1'' is paired with ``x(lon)1'', ``y(lat)2'' is paired with ``x(lon)2'', etc. \textbf{Shortcut: type 'y' or 'x' respectively} directly into the fields and bypass this menu.
\item Insert special: community - insert the name of this MOOS community.
\item Insert special: modem id - choose a modem id from a list of names. This is based off the modem id lookup table used by pGeneralCodec's algorithms, and pAcommsPoller.
\item Clear message
\item Main Menu
\end{itemize}

\paragraph{Acknowledgments}
If you are using pAcommsHandler with the ACK field set to 1 (true), all acoustic message acknowledgments are displayed at the top of the screen. For example, the ack of a PROSECUTE message would look like this:
\begin{verbatim}
  ______________________________________________________________________________________
 |                                                                                      |
 | Message acknowledged from queue: OUT_PROSECUTE_HEX_30B at time: 2009-Mar-03 03:53:41 |
 |______________________________________________________________________________________|
\end{verbatim}