silverhammer_lowspeed_check_size.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import rospy
4 import roslib
5 import roslib.message
6 import sys
7 from roslib.message import get_message_class
9 from struct import calcsize
10 from StringIO import StringIO
11 
12 def usage():
13  print "silverhammer_lowspeed_check_size.py message_packege/Message"
14 
15 def checkSize(class_str):
16  try:
17  message_class = get_message_class(class_str)
18  format = msgToStructFormat(message_class)
19  ros_msg = message_class()
20  ros_buffer = StringIO()
21  rospy.msg.serialize_message(ros_buffer, 0, ros_msg)
22  print class_str
23  print " binary format: ", format
24  print " size: ", calcsize(format), "bytes"
25  print " ", 8 * calcsize(format), "bits"
26  print " size w/ UDP header: ", calcsize(format) + 36, "bytes"
27  print " ", 8 * (calcsize(format) + 36), "bits"
28  print " ROS size: ", ros_buffer.len, "bytes"
29  print " ", ros_buffer.len * 8, "bits"
30  except Exception, e:
31  print "cannot serialize %s" % class_str
32  print " error: ", e.message
33  return
34 
35 
36 if __name__ == "__main__":
37  if len(sys.argv) != 2:
38  usage()
39  sys.exit(1)
40  checkSize(sys.argv[1])


jsk_network_tools
Author(s): Yusuke Furuta
autogenerated on Tue Feb 6 2018 03:45:07