aboutsummaryrefslogtreecommitdiff
path: root/msg
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2015-01-23 11:40:23 +0100
committerThomas Gubler <thomasgubler@gmail.com>2015-01-23 11:58:24 +0100
commitd7e57061c976ba18c69d8be9949660e85f645126 (patch)
tree37d0c32f07f50777159e333eecb2c8f4b2ffbe8a /msg
parent4ba57ad285884a2b01ebf8aac2c710ed63f7ffd3 (diff)
downloadpx4-firmware-d7e57061c976ba18c69d8be9949660e85f645126.tar.gz
px4-firmware-d7e57061c976ba18c69d8be9949660e85f645126.tar.bz2
px4-firmware-d7e57061c976ba18c69d8be9949660e85f645126.zip
generate message wrapper headers on ros
Diffstat (limited to 'msg')
-rw-r--r--msg/templates/px4/ros/msg.h.template95
-rw-r--r--msg/templates/px4/uorb/msg.h.template (renamed from msg/templates/px4/msg.h.template)10
2 files changed, 100 insertions, 5 deletions
diff --git a/msg/templates/px4/ros/msg.h.template b/msg/templates/px4/ros/msg.h.template
new file mode 100644
index 000000000..176be0d09
--- /dev/null
+++ b/msg/templates/px4/ros/msg.h.template
@@ -0,0 +1,95 @@
+@###############################################
+@#
+@# PX4 ROS compatible message source code
+@# generation for C++
+@#
+@# This file generates the multiplatform wrapper
+@#
+@# EmPy template for generating <msg>.h files
+@# Based on the original template for ROS
+@#
+@###############################################
+@# Start of Template
+@#
+@# Context:
+@# - file_name_in (String) Source file
+@# - spec (msggen.MsgSpec) Parsed specification of the .msg file
+@# - md5sum (String) MD5Sum of the .msg specification
+@###############################################
+/****************************************************************************
+ *
+ * Copyright (C) 2013-2015 PX4 Development Team. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name PX4 nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/* Auto-generated by genmsg_cpp from file @file_name_in */
+
+@{
+import genmsg.msgs
+import gencpp
+
+cpp_class = 'px4_%s'%spec.short_name
+native_type = spec.short_name
+topic_name = spec.short_name
+}@
+
+#pragma once
+
+@##############################
+@# Generic Includes
+@##############################
+#include <uORB/topics/@(topic_name).h>
+#include "platforms/px4_message.h"
+
+@##############################
+@# Class
+@##############################
+
+namespace px4
+{
+
+class @(cpp_class) :
+ public PX4Message<@(native_type)>
+{
+public:
+ @(cpp_class)() :
+ PX4Message<@(native_type)>()
+ {}
+
+ @(cpp_class)(@(native_type) msg) :
+ PX4Message<@(native_type)>(msg)
+ {}
+
+ ~@(cpp_class)() {}
+
+ static PX4TopicHandle handle() {return "@(topic_name)";}
+};
+
+};
diff --git a/msg/templates/px4/msg.h.template b/msg/templates/px4/uorb/msg.h.template
index ba0fbd4bf..2d4251107 100644
--- a/msg/templates/px4/msg.h.template
+++ b/msg/templates/px4/uorb/msg.h.template
@@ -56,7 +56,7 @@ import genmsg.msgs
import gencpp
cpp_class = 'px4_%s'%spec.short_name
-uorb_struct = '%s_s'%spec.short_name
+native_type = '%s_s'%spec.short_name
topic_name = spec.short_name
}@
@@ -76,15 +76,15 @@ namespace px4
{
class __EXPORT @(cpp_class) :
- public PX4Message<@(uorb_struct)>
+ public PX4Message<@(native_type)>
{
public:
@(cpp_class)() :
- PX4Message<@(uorb_struct)>()
+ PX4Message<@(native_type)>()
{}
- @(cpp_class)(@(uorb_struct) msg) :
- PX4Message<@(uorb_struct)>(msg)
+ @(cpp_class)(@(native_type) msg) :
+ PX4Message<@(native_type)>(msg)
{}
~@(cpp_class)() {}