37 THIS_PACKAGE =
"rosserial_chibios"
40 make_libraries.py generates the ChibiOS rosserial library files. It
41 requires the location of your ChibiOS project folder.
43 rosrun rosserial_chibios make_libraries.py <output_path>
48 import rosserial_client
55 ROS_TO_EMBEDDED_TYPES = {
56 'bool' : (
'bool', 1, PrimitiveDataType, []),
57 'byte' : (
'int8_t', 1, PrimitiveDataType, []),
58 'int8' : (
'int8_t', 1, PrimitiveDataType, []),
59 'char' : (
'uint8_t', 1, PrimitiveDataType, []),
60 'uint8' : (
'uint8_t', 1, PrimitiveDataType, []),
61 'int16' : (
'int16_t', 2, PrimitiveDataType, []),
62 'uint16' : (
'uint16_t', 2, PrimitiveDataType, []),
63 'int32' : (
'int32_t', 4, PrimitiveDataType, []),
64 'uint32' : (
'uint32_t', 4, PrimitiveDataType, []),
65 'int64' : (
'int64_t', 8, PrimitiveDataType, []),
66 'uint64' : (
'uint64_t', 8, PrimitiveDataType, []),
67 'float32' : (
'float', 4, PrimitiveDataType, []),
68 'float64' : (
'double', 8, PrimitiveDataType, []),
69 'time' : (
'ros::Time', 8, TimeDataType, [
'ros/time']),
70 'duration': (
'ros::Duration', 8, TimeDataType, [
'ros/duration']),
71 'string' : (
'char*', 0, StringDataType, []),
72 'Header' : (
'std_msgs::Header', 0, MessageDataType, [
'std_msgs/Header'])
76 if (len(sys.argv) < 2):
81 output_path = os.path.join(sys.argv[1],
"ros_lib")
82 print(
"\nExporting to %s" % output_path)
84 rospack = rospkg.RosPack()
87 shutil.rmtree(output_path, ignore_errors=
True)
88 shutil.copytree(os.path.join(rospack.get_path(THIS_PACKAGE),
"src",
"ros_lib"), output_path)
89 rosserial_client_copy_files(rospack, output_path)
92 rosserial_generate(rospack, output_path, ROS_TO_EMBEDDED_TYPES)