except IOError,e: # log and notify robot of error periodic_message.status = 'error' if not suppress_robot_comm: channel.send_to(periodic_message.encode_message()) logger.error("Failed to gather a full rotation of data.") # # get revised instructions from robot # if 0: robot_data, robot_address = channel.receive_from() message_from_robot = RobotMessage(robot_data) if ((message_from_robot.sender == 'robot') and (message_from_robot.message == 'sweep')): Analyzer.start = message_from_robot.start Analyzer.stop = message_from_robot.stop #except socket.timeout: # logger.info("No message received from robot") elapsed_time = (SECONDS_PER_MINUTE/float(rotation.rpm())) rotation_time = rotation_time + elapsed_time logger.info("rotation time is: {:.1f}".format(rotation_time)) current_time = current_time + elapsed_time if rotation_time > seconds_per_output: fname = "data/lidar_snapshot_{:d}.dat".format(file_index) LidarLogger.write_to_file(fname, rotation.polar_data()) file_index = file_index + 1 rotation_time = 0