ros_acomms_msgs package#
Message Definitions#
AcousticTimesync.msg#
ros_acomms_msgs/AcousticTimesync#
- std_msgs/Headerheader#
Standard ROS header containing timestamp and frame information
- int16src#
The source ID of the message
- int16dest#
The destination ID of the message
- ros_acomms_msgs/Timesrc_time#
The time when the message was sent from the source
- ros_acomms_msgs/Timedest_time#
The time when the message was received by the destination
- uint32src_dest_offset_us#
The offset in microseconds between the source and destination times
CST.msg#
ros_acomms_msgs/CST#
- int8version_number#
CST message Version number; if it’s less than 6, then it’s version 0
- int8mode#
Indication of the Received Packet’s State: 0 if good, 1 if bad CRCs, 2 if packet timeout
- ros_acomms_msgs/Timetoa#
Time of Arrival of the Packet
- int8toa_mode#
TOA mode Clock status represented as bitwise field: Bits 0:1: RTC source - 0: None, 1: Onboard RTC, 2: User Command (CLK), 3: User GPS (GPRMC) Bits 2:4 PPS Source - 0: None, 1: RTC, 2: CAL (future), 3: EXT (from external pin), 4: EXT_SYNC (from RTC synchronized to the last EXT PPS pulse)
- uint16mfd_peak#
Matched-filter peak value
- int16mfd_pow#
MFPK compensated for shift and converted to dB
- int16mfd_ratio#
Ratio of MFPK and incoherent broad-band noise used for the detector test
- int16mfd_spl#
Sound Pressure Level at the receiver in dB re. 1 µPa
- int16agn#
Analog gain setting
- int16shift_ainp#
Shift of previous input buffer
- int16shift_ain#
Shift of current input buffer
- int16shift_mfd#
Shift of the basebanded buffer containing a detection
- int16shift_p2b#
Shift performed during basebanding incoming data
- int8rate_num#
Packet Rate (or miniframe rate for FDP)
- int16src#
Packet Source ID
- int16dest#
Packet Destination ID
- int16psk_error#
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
- int8packet_type#
Packet Type: -1: Unknown 1: FSK 2: FSK Mini 3: PSK 4: PSK Mini 5: PSK FDP
- int16num_frames#
Number of Frames Expected
- int16bad_frames_num#
Number of Frames with Bad CRCs
- int16snr_rss#
Received signal strength in dB re. 1 µPa
- float32snr_in#
Input SNR, dB, channel 1 only, reported to 1 decimal place in version 6 of CACST
- float32snr_out#
SNR at the output of the equalizer, dB, reported to 1 decimal place in version 6 of CACST
- float32snr_sym#
Symbol SNR for spread spectrum packets only, dB
- float32mse#
Mean Squared Error from Equalizer
- int16dqf#
Data Quality Factor, FSK only
- float32dop#
Doppler shift measurement
- int16noise#
Std dev. of noise, dB
- int32carrier#
Carrier frequency of received packet, Hz
- int32bandwidth#
Bandwidth of received packet, Hz
- int32sequence_number#
Sequence number of packet
- int16data_rate#
Dataframe rate of packet
- int16num_data_frames#
Number of Data Frames in the packet
- int16num_bad_data_frames#
Number of Bad Data Frames in the packet
LinkStatsFeedback.msg#
ros_acomms_msgs/LinkStatsFeedback#
- std_msgs/Headerheader#
- uint8receiver_src#
- float32median_noise_dB#
- CST [] csts#
- float32 [] noise_for_csts#
ModemAck.msg#
ros_acomms_msgs/ModemAck#
- std_msgs/Headerheader#
- ros_acomms_msgs/Timetimestamp#
- int8ACK_TYPE_UNKNOWN = -1#
- int8ACK_TYPE_FDP = 0#
- int8ACK_TYPE_LEGACY = 1#
- int8ack_type#
- int32rx_sequence_num#
- uint8src#
- uint8dest#
- int8minirate#
- uint8miniframe_ack#
- uint16dataframe_ack#
ModemSensorData.msg#
ros_acomms_msgs/ModemSensorData#
- std_msgs/Headerheader#
- float32pwramp_temperature#
- float32pwramp_vbat#
- float32pwramp_vtransmit#
- float32modem_batt_v#
- float32modem_temp#
NST.msg#
ros_acomms_msgs/NST#
- std_msgs/Headerheader#
SNNST statistics for Nav commands
- int8version#
- int16ftx#
- int16ttx#
- ros_acomms_msgs/Timequery_time#
- int16tat#
- float32a1_owtt#
“A” Transponder response metrics
- int16a1_pk#
- int16a1_pow#
- int16a1_ratio#
- int16a1_frx#
- float32b2_owtt#
“B” Transponder response metrics
- int16b2_pk#
- int16b2_pow#
- int16b2_ratio#
- int16b2_frx#
- float32c3_owtt#
“C” Transponder response metrics
- int16c3_pk#
- int16c3_pow#
- int16c3_ratio#
- int16c3_frx#
- float32d4_owtt#
“D” Transponder response metrics
- int16d4_pk#
- int16d4_pow#
- int16d4_ratio#
- int16d4_frx#
NeighborReachability.msg#
ros_acomms_msgs/NeighborReachability#
- int16dest#
- boolreachable#
- int8fastest_rate#
PDT.msg#
ros_acomms_msgs/PDT#
- std_msgs/Headerheader#
SNPDT modem-to-host response to $CCPDT command
- int8grp#
- int8chn#
- boollf#
- int16timeout#
- bool [4] flags#
PGT.msg#
ros_acomms_msgs/PGT#
- std_msgs/Headerheader#
SNPGT modem-to-host response to $CCPGT command
- uint8mode#
- uint16ftx#
- uint16nbits_tx#
- stringtx_seq_code#
- uint16transponder_timeout_ms#
- uint16frx#
- uint16nbits_rx#
- stringrx_seq_code1#
- stringrx_seq_code2#
- stringrx_seq_code3#
- stringrx_seq_code4#
- uint16bandwidth_hz_tx#
- uint16bandwidth_hz_rx#
- int16reserved#
Packet.msg#
ros_acomms_msgs/Packet#
- int16src#
- int16dest#
- int8PACKET_TYPE_UNKNOWN = -1#
- int8PACKET_TYPE_AUTO = 0#
- int8PACKET_TYPE_FSK = 1#
- int8PACKET_TYPE_LEGACY_PSK = 2#
- int8PACKET_TYPE_FDP = 3#
- int8packet_type#
- int8miniframe_rate#
- int8dataframe_rate#
- uint8 [] miniframe_bytes#
- uint8 [] dataframe_bytes#
PingReply.msg#
ros_acomms_msgs/PingReply#
- std_msgs/Headerheader#
- int16src#
- int16dest#
- float32owtt#
- float32tat#
- float32snr_in#
- float32snr_out#
- int8tx_level#
- int8reserved1#
- int8reserved2#
- int8timestamp_res#
- int8toa_mode#
- int8snv_on#
- uint32timestamp#
- CSTcst#
PingTranspondersReply.msg#
ros_acomms_msgs/PingTranspondersReply#
- std_msgs/Headerheader#
- bool [] transponder_dest_mask#
- uint16timeout_ms#
- ros_acomms_msgs/Timetime_of_ping#
- float32owtt_a#
- float32owtt_b#
- float32owtt_c#
- float32owtt_d#
QueueEnable.msg#
ros_acomms_msgs/QueueEnable#
- int16queue_id#
Queue ID corresponding to the value in the config file (Uses ID rather than topic name for more compact acoustic transmission)
- boolenable#
Whether to enable (True) or disable (False) this queue
QueuePriority.msg#
ros_acomms_msgs/QueuePriority#
- int16queue_id#
- int16priority#
QueueStatus.msg#
ros_acomms_msgs/QueueStatus#
- std_msgs/Headerheader#
- int32total_message_count#
Number of messages in all queues
- int16highest_priority#
Highest priority of any message, in any queue
- int16 [] queued_dest_addresses#
Set of all destination addresses to which queued messages are addressed
- SummaryMessageCount [] summary_message_counts#
Summary of outstanding messages, grouped by (priority, destination)
- QueueSummary [] queue_summaries#
Summary of outstanding messages, per-queue.
QueueSummary.msg#
ros_acomms_msgs/QueueSummary#
- int16queue_id#
Queue that the topic corresponds to
- stringtopic#
Name of subscribed topic
- int16priority#
Current priority of each queue However, it is possible for an individual queued message to be added with a different priority.
- boolenabled#
Whether the queue is active or not
- int16message_count#
How many un-sent messages are in the queue
- int32next_message_size_bits#
The size in bits of the next message in this queue
- int32total_bits_in_queue#
The total size of all messages in this queue (in bits)
ReceivedPacket.msg#
ros_acomms_msgs/ReceivedPacket#
- std_msgs/Headerheader#
- Packetpacket#
- int16 [] minibytes_valid#
- int16 [] databytes_valid#
- CSTcst#
SST.msg#
ros_acomms_msgs/SST#
- ros_acomms_msgs/Timetime#
Timestamp, generated on computer (not modem)
- int8sst_version#
SST message version
- float32in_water_spl_db#
In-water in-band Sound Pressure Level (SPL) in dB. This is the average SPL over the last num_samples
- int8detector#
Detector used during SPL calculation. This enum represents the detector type (e.g., psk chan, fsk chan, etc…). Only PSK is supported as of FW 3.2.2
- int16num_samples#
Number of baseband samples used for each measurement (length of MFD filter)
- float32summary_min#
sample minimum of SPL history (in dB). Min of five-number summary (descriptive statistics)
- float32summary_lower_quartile#
lower quartile of SPL history (in dB). First quartile of five-number summary (descriptive statistics)
- float32summary_median#
median value of SPL history (in dB). Middle value of five-number summary (descriptive statistics)
- float32summary_upper_quartile#
upper quartile of SPL history (in dB). Third quartile of five-number summary (descriptive statistics)
- float32summary_max#
sample maximum of SPL history (in dB). Max of five-number summary (descriptive statistics)
- int16summary_len#
number of elements in SPL history. Each element is the average of a unique set of num_samples of baseband data
SoundSpeedProfile.msg#
ros_acomms_msgs/SoundSpeedProfile#
- std_msgs/Headerheader#
- float32 [] depths#
- float32 [] sound_speeds#
SummaryMessageCount.msg#
ros_acomms_msgs/SummaryMessageCount#
- int16priority#
- int16dest_address#
- int32message_count#
TTA.msg#
ros_acomms_msgs/TTA#
- std_msgs/Headerheader#
SNTTA response to SNPDT “ping”
- float32time_of_ping#
- float32a_flag#
- float32b_flag#
- float32c_flag#
- float32d_flag#
TdmaAdvancedStatus.msg#
ros_acomms_msgs/TdmaAdvancedStatus#
- std_msgs/Headerheader#
tdma basic node info at root level for all sub classes (super class)
- boolwe_are_active#
- uint16current_slot#
- int8minimum_priority#
- string [] require_tags#
- string [] exclude_tags#
- float32remaining_slot_seconds#
- float32remaining_active_seconds#
- float32time_to_next_active#
- float32time_to_next_dedicated_slot#
- float32slot_duration_seconds#
- boolsoftware_mute#
tdma advanced status (child class)
- stringmessage#
- int8miniframe_rate#
- int8dataframe_rate#
- int32maximum_miniframe_bytes#
- int32maximum_dataframe_bytes#
- uint16num_slots#
- uint16 [] active_slots#
- uint16 [] comms_slots#
- int8pings_per_slot#
- int16ping_modem_src#
- boolping_transponders#
TdmaScriptedStatus.msg#
ros_acomms_msgs/TdmaScriptedStatus#
- std_msgs/Headerheader#
tdma basic node info at root level for all sub classes (super class)
- boolwe_are_active#
- uint16current_slot#
- int8minimum_priority#
- string [] require_tags#
- string [] exclude_tags#
- float32remaining_slot_seconds#
- float32remaining_active_seconds#
- float32time_to_next_active#
- float32time_to_next_dedicated_slot#
- float32slot_duration_seconds#
- boolsoftware_mute#
tdma advanced status (parent class)
- stringmessage#
- int8miniframe_rate#
- int8dataframe_rate#
- int32maximum_miniframe_bytes#
- int32maximum_dataframe_bytes#
- uint16num_slots#
- uint16 [] active_slots#
- uint16 [] comms_slots#
- int8pings_per_slot#
- int16ping_modem_src#
- boolping_transponders#
- int8last_miniframe_rate#
scripted status additional meta-data (child class)
- int8last_dataframe_rate#
- int32last_maximum_miniframe_bytes#
- int32last_maximum_dataframe_bytes#
- int16this_cycle_tx_count#
- int16this_cycle_tx_total#
- float32packet_duration_sec#
- string [] this_cycle_modem_commands#
- string [] last_cycle_modem_commands#
TdmaSlottedAlohaStatus.msg#
ros_acomms_msgs/TdmaSlottedAlohaStatus#
- std_msgs/Headerheader#
tdma basic node info at root level for all sub classes (super class)
- boolwe_are_active#
- uint16current_slot#
- int8minimum_priority#
- string [] require_tags#
- string [] exclude_tags#
- float32remaining_slot_seconds#
- float32remaining_active_seconds#
- float32time_to_next_active#
- float32time_to_next_dedicated_slot#
- float32slot_duration_seconds#
- boolsoftware_mute#
tdma advanced status (parent class)
- stringmessage#
- int8miniframe_rate#
- int8dataframe_rate#
- int32maximum_miniframe_bytes#
- int32maximum_dataframe_bytes#
- uint16num_slots#
- uint16 [] active_slots#
- uint16 [] comms_slots#
- int8pings_per_slot#
- int16ping_modem_src#
- boolping_transponders#
- uint16 [] aloha_slots#
slotted aloha status additional meta-data (child class)
- int8aloha_slot_priority#
- float32time_to_next_aloha#
- float32time_to_next_own_slot#
TdmaStatus.msg#
ros_acomms_msgs/TdmaStatus#
- std_msgs/Headerheader#
tdma base class for tdma_advanced we_are_active, current_slot, remaining_slot_seconds, remaining_active_seconds, time_to_next_active
- boolwe_are_active#
- uint16current_slot#
- int8minimum_priority#
- string [] require_tags#
- string [] exclude_tags#
- float32remaining_slot_seconds#
- float32remaining_active_seconds#
- float32time_to_next_active#
- float32time_to_next_dedicated_slot#
- float32slot_duration_seconds#
TransmittedPacket.msg#
ros_acomms_msgs/TransmittedPacket#
- std_msgs/Headerheader#
- Packetpacket#
- XSTxst#
UpdateQueuedMessage.msg#
ros_acomms_msgs/UpdateQueuedMessage#
Update a queued message in a dynamic queue This is used to tell a dynamic queue that a message, which it has provided via the GetNextQueuedMessage service, has been queued, tranmitted, or dequeued.
- std_msgs/Headerheader#
Standard ROS message header
- int32message_id#
Message ID used to uniquely identify the message within the dynamic queue. The service can implement this as a counter or any other scheme, but this should match the ID used by the dynamic queue service
- int8EVENT_LINK_DEQUEUED = 0#
Event type Message has been dequeued (no longer queued in an outgoing packet)
- int8EVENT_LINK_QUEUED = 1#
Message is queued in an outgoing packet, but it hasn’t been sent yet. This is often immediately superceded by EVENT_LINK_TRANSMITTED
- int8EVENT_LINK_TRANSMITTED = 2#
Message has been transmitted. Generally, this is sent at the start of transmission.
- int8event#
XST.msg#
ros_acomms_msgs/XST#
- int8version_number#
- ros_acomms_msgs/Timetime#
- int8toa_mode#
- int8mode#
- int16probe_length#
- uint32bandwidth#
- uint32carrier#
- int16rate_num#
- int16src#
- int16dest#
- int16ack#
- int16num_frames_expected#
- int16num_frames_sent#
- int16packet_type#
- int32nbytes#
- int32actual_carrier#
Service Definitions#
GetNextPacketData.srv#
ros_acomms_msgs/GetNextPacketData#
Request#
- int32num_miniframe_bytes#
Request
- int32num_dataframe_bytes#
- boolmatch_dest#
- int16dest#
- int8minimum_priority#
- string [] require_tags#
- string [] exclude_tags#
- stringmac_namespace#
MAC Introspection for dynamic queues. Information about the current cycle and slot that dynamic queue clients might act on if filled out, this is the MAC that is building a packet to be transmitted
- uint64mac_cycle_num#
Monotonically increasing count for rolling past active_slot 0.
- uint64slot_in_cycle_num#
Monotonically increasing count that increases on each slot change.
- uint16packet_in_slot_num#
Starting at 0 for first packet in slot. If the slot is long enough to have more than 1 packet, this will count up
Response#
Response
- uint8 [] miniframe_bytes#
- uint8 [] dataframe_bytes#
- int32num_miniframe_bytes#
- int32num_dataframe_bytes#
- int32num_messages#
GetNextQueuedMessage.srv#
ros_acomms_msgs/GetNextQueuedMessage#
Request#
GetNextQueuedMessage: Service to get messages from dynamic queues
- int32max_size_in_bits#
Only return encoded messages smaller that this size in bits
- int8minimum_priority#
Only return messages with link-layer priority equal to or greater than this value. Error checking of responses will log an error and drop the message if a message with lower priority is returned.
- int16dest_address#
If using a packet codec that requires a single link-layer destination, only return messages that match this address. With most packet codecs, you can ignore this (if you aren’t sure about it, ignore it).
- stringpacket_codec#
If this is a non-empty string, only return messages that are compatible with the specified packet codec. As with dest_address, you can ignore it if you are only using standard ROS packet codecs.
- int32 [] exclude_message_ids#
Do not return message IDs that are in this list. This list is automatically populated with the message IDs of each message that is placed in the outgoing packet. These message IDs are “local” to the dynamic queue service handler (i.e. “your” dynamic queue handler) and can be used to avoid including more than one copy of a message in a single packet.
- string [] require_tags#
If there are (QoS) tags in this list, only include messages that match the specified tags. The criteria for matching are up to the servicer, but it should do something reasonable.
- string [] exclude_tags#
If there are (QoS) tags in this list, only include messages that do NOT match the specified tags. The criteria for exclusion are up to the servicer, but it should do something reasonable.
- stringmac_namespace#
MAC Introspection for dynamic queues. Information about the current cycle and slot that dynamic queue clients might act on if filled out, this is the MAC that is building a packet to be transmitted
- uint64mac_cycle_num#
Monotonically increasing count for rolling past active_slot 0.
- uint64slot_in_cycle_num#
Monotonically increasing count that increases on each slot change.
- uint16packet_in_slot_num#
Starting at 0 for first packet in slot. If the slot is long enough to have more than 1 packet, this will count up
Response#
- boolhas_message#
True if this dynamic queue has a message to send that meets the criteria in the request, False otherwise. Other fields are ignored (left at defaults) if this is False.
- int32message_id#
An identifier for this message. This identifier is unique only for this dynamic queue, and is used to avoid repeating the same message multiple times in a packet. The service can implement this as a counter or any other scheme.
- int16dest_address#
The link-layer destination address for this message. This is only used by packet codecs that call for a fixed link-layer destination, and is ignored by most ROS message codecs.
- int8priority#
Link-layer priority of this message. This will be compared with the link-layer priority of messages supplied by other static and dynamic queues to determine the ordering of outgoing messages. Higher numbers have higher priority. In the event that two responses or queues have the same priority, ordering is not guaranteed, but it typially follows the order of static and dynamic queues in the codec configuration file.
- uint8 [] data#
Byte array containing encoded message data. Note that data does not need to be byte-aligned; it will be trimmed to data_size_in_bits when it is appended to the packet.
- int32data_size_in_bits#
Length of the encoded message data in the data array. data_size_in_bits must be less than 8 * len(data).
- string [] msg_tags#
(QoS) tags associated with this message. These may be used by the link layer, if using a MAC that understands them. Leave this empty otherwise.
PingModem.srv#
ros_acomms_msgs/PingModem#
Request#
This message is likely to change in future revisions
- uint8dest#
Request
- uint8rate#
- uint8cdr#
- float32timeout_sec#
Response#
- booltimed_out#
Response
- float32one_way_travel_time#
- float32tat#
- int8txlevel#
- int8timestamp_resolution#
- int8toa_mode#
- int8snv_on#
- uint32timestamp#
- CSTcst#
PingTransponders.srv#
ros_acomms_msgs/PingTransponders#
Request#
This message is likely to change in future revisions This message is not yet complete
- bool [] transponder_dest_mask#
Request
- float32timeout_sec#
Response#
- float32 [] travel_times#
Response
QueueTxPacket.srv#
ros_acomms_msgs/QueueTxPacket#
Request#
Queue type constants:#
- int8QUEUE_IMMEDIATE = 1#
- int8QUEUE_PPS = 2#
- int8QUEUE_TXTRIG = 3#
Request#
- int8queue#
Modem queue type
- boolinsert_at_head#
True if insert packet at head
- float32requested_src_level_db#
Source transmit level requested [dB]
- Packetpacket#
Packet ros_acomms Packet.msg #########
Response#
Response#
- boolsuccess#
True if packet successfully added to queue
- int32position_in_queue#
Position in queue
- float32actual_src_level_db#
Actual SRC level the modem will transmit at [dB]