Go to the documentation of this file.00001
00002
00003 import rospy
00004 import roslib
00005 import roslib.message
00006 import sys
00007 from roslib.message import get_message_class
00008 from jsk_network_tools.silverhammer_util import *
00009 from struct import calcsize
00010 def usage():
00011 print "silverhammer_lowspeed_check_size.py message_packege/Message"
00012
00013 def checkSize(class_str):
00014 try:
00015 message_class = get_message_class(class_str)
00016 format = msgToStructFormat(message_class)
00017 print class_str
00018 print " binary format: ", format
00019 print " size: ", calcsize(format), "bytes"
00020 print " ", 8 * calcsize(format), "bits"
00021 print " size w/ UDP header: ", calcsize(format) + 36, "bytes"
00022 print " ", 8 * (calcsize(format) + 36), "bits"
00023 except Exception, e:
00024 print "cannot serialize %s" % class_str
00025 print " error: ", e.message
00026 return
00027
00028
00029 if __name__ == "__main__":
00030 if len(sys.argv) != 2:
00031 usage()
00032 sys.exit(1)
00033 checkSize(sys.argv[1])