def parse_acoustic_im(self, tokens): """ This method parses an incoming instant message and publish its content on a dedicated topic :param tokens: list of message fields """ msg = AcousticModemPayload() msg.header.stamp = rospy.Time.now() msg.address = int(tokens[2]) msg.duration = int(tokens[5]) msg.rssi = float(tokens[6]) msg.integrity = float(tokens[7]) msg.relative_velocity = float(tokens[8]) msg.payload = ','.join(tokens[9:]) rospy.loginfo('%s: Received IM from node %s, payload: %s, info: %s' %(self.name, msg.address, repr(msg.payload), repr(msg.info))) self.received_cnt += 1 self.pub_im_in.publish(msg)