Home | Trees | Indices | Help |
---|
|
1 # Software License Agreement (BSD License) 2 # 3 # Copyright (c) 2012, Fraunhofer FKIE/US, Alexander Tiderko 4 # All rights reserved. 5 # 6 # Redistribution and use in source and binary forms, with or without 7 # modification, are permitted provided that the following conditions 8 # are met: 9 # 10 # * Redistributions of source code must retain the above copyright 11 # notice, this list of conditions and the following disclaimer. 12 # * Redistributions in binary form must reproduce the above 13 # copyright notice, this list of conditions and the following 14 # disclaimer in the documentation and/or other materials provided 15 # with the distribution. 16 # * Neither the name of Fraunhofer nor the names of its 17 # contributors may be used to endorse or promote products derived 18 # from this software without specific prior written permission. 19 # 20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 24 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 30 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 # POSSIBILITY OF SUCH DAMAGE. 32 33 from python_qt_binding.QtCore import QObject, Signal 34 from rosgraph_msgs.msg import Log 35 36 import rospy 37 3840 ''' 41 A class to receive the ROS master state updates from a ROS topic. The topic 42 will be determine using U{master_discovery_fkie.interface_finder.get_changes_topic()<http://docs.ros.org/kinetic/api/master_discovery_fkie/html/modules.html#interface-finder-module>}. 43 ''' 44 rosinfo_signal = Signal(Log) 45 roswarn_signal = Signal(Log) 46 roserr_signal = Signal(Log) 47 rosfatal_signal = Signal(Log) 488150 ''' 51 This method creates a ROS subscriber to received the notifications of ROS 52 Logs. The retrieved messages will be emitted as *_signal. 53 ''' 54 self.sub_rosout = None 55 rospy.loginfo("listen for logs on %s", '/rosout') 56 self.sub_rosout = rospy.Subscriber('/rosout', Log, self._on_log)5759 ''' 60 Unregister the subscribed topic 61 ''' 62 if hasattr(self, 'sub_rosout'): 63 self.sub_rosout.unregister() 64 del self.sub_rosout6567 ''' 68 The method to handle the received Log messages. 69 @param msg: the received message 70 @type msg: U{rosgraph_msgs.Log<http://docs.ros.org/kinetic/api/rosgraph_msgs/html/msg/Log.html>} 71 ''' 72 if msg.name == rospy.get_name(): 73 if msg.level == Log.INFO: 74 self.rosinfo_signal.emit(msg) 75 elif msg.level == Log.WARN: 76 self.roswarn_signal.emit(msg) 77 elif msg.level == Log.ERROR: 78 self.roserr_signal.emit(msg) 79 elif msg.level == Log.FATAL: 80 self.rosfatal_signal.emit(msg)
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Sat Jul 18 03:25:15 2020 | http://epydoc.sourceforge.net |