Пример #1
0
                                
 		        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