Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Transmitting is very easy - simply post a string to the variable ACOMMS_TRANSMIT_DATA and the modem will immediately send that data if it is not currently receiving or transmitting data. The variable ACOMMS_DRIVER_STATUS indicates whether the modem is "ready", "transmitting", or "receiving". The transmission rate and destination can be set by posting the the variables ACOMMS_TRANSMIT_RATE and ACOMMS_TRANSMIT_DEST. If sending non-ASCII data, post a binary string to ACOMMS_TRANSMIT_DATA_BINARY instead.  Request an ack by posting 1 to ACOMMS_REQUEST_ACK.  

Receiving

To use simple receiving, the "enable_legacy" option must be enabled in the MOOS process config. Whenever a transmission is received, information about the reception is posted to several variables:

  • ACOMMS_RECEIVED_DATA - binary string type - contains all the received data. Data from multiple frames is concatenated together, even if frames in the middle are missing.
  • ACOMMS_BAD_FRAMES - string type - comma delimited list of bad frame indices
  • ACOMMS_SOURCE_ID - double type - integer ID of the transmitting modem
  • ACOMMS_DEST_ID - double type - integer ID of the destination modem (0 = broadcast)
  • ACOMMS_RATE - double type - integer rate of the transmission
  • ACOMMS_RECEIVED_STATUS - double type - integer indicated status. 0=good, 1=partial, 2=badACOMMS_REQUEST_ACK - double type - 1=true, 0=false

Unified Interface

Sometimes the simple interface is cumbersome because applications have to subscribe to many variable to get enough information about incoming acomms transmissions. With the unified interface, only one variable is required to send or receive data.

...