36 THIS_PACKAGE =
"rosserial_vex_cortex"
39 make_libraries.py generates the VEX Cortex rosserial library files. It requires the location of the include directory of a PROS kernel.
41 rosrun rosserial_cortex make_libraries.py <pros_include_dir>
45 import rosserial_client
52 ROS_TO_EMBEDDED_TYPES = {
53 'bool' : (
'bool', 1, PrimitiveDataType, []),
54 'byte' : (
'int8_t', 1, PrimitiveDataType, []),
55 'int8' : (
'int8_t', 1, PrimitiveDataType, []),
56 'char' : (
'uint8_t', 1, PrimitiveDataType, []),
57 'uint8' : (
'uint8_t', 1, PrimitiveDataType, []),
58 'int16' : (
'int16_t', 2, PrimitiveDataType, []),
59 'uint16' : (
'uint16_t', 2, PrimitiveDataType, []),
60 'int32' : (
'int32_t', 4, PrimitiveDataType, []),
61 'uint32' : (
'uint32_t', 4, PrimitiveDataType, []),
62 'int64' : (
'int64_t', 8, PrimitiveDataType, []),
63 'uint64' : (
'uint64_t', 8, PrimitiveDataType, []),
64 'float32' : (
'float', 4, PrimitiveDataType, []),
65 'float64' : (
'float', 4, AVR_Float64DataType, []),
66 'time' : (
'ros::Time', 8, TimeDataType, [
'ros/time']),
67 'duration': (
'ros::Duration', 8, TimeDataType, [
'ros/duration']),
68 'string' : (
'char*', 0, StringDataType, []),
69 'Header' : (
'std_msgs::Header', 0, MessageDataType, [
'std_msgs/Header'])
73 if (len(sys.argv) < 2):
78 output_path = os.path.join(sys.argv[1],
"ros_lib")
79 print(
"\nExporting to %s" % output_path)
81 rospack = rospkg.RosPack()
84 shutil.rmtree(output_path, ignore_errors=
True)
85 shutil.copytree(os.path.join(rospack.get_path(THIS_PACKAGE),
"src",
"ros_lib"), output_path)
86 rosserial_client_copy_files(rospack, output_path)
89 rosserial_generate(rospack, output_path, ROS_TO_EMBEDDED_TYPES)