<br><div class="gmail_extra"><br><br><div class="gmail_quote">2012/12/3 Sylvain Joyeux <span dir="ltr">&lt;<a href="mailto:sylvain.joyeux@dfki.de" target="_blank">sylvain.joyeux@dfki.de</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 12/03/2012 09:35 AM, Charles Lesire-Cabaniols wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi rock-devs,<br>
<br>
I am trying to extend the standard orogen syntax by providing extra key words. For instance, I would like to standardize an output port of my system components by forcing its name to be &#39;system_state&#39;.<br>
</blockquote></div>
Are you aware of other methods to achieve the same:<br>
 - subclassing (<a href="http://www.rock-robotics.org/stable/documentation/orogen/task_inheritance.html" target="_blank">http://www.rock-robotics.org/<u></u>stable/documentation/orogen/<u></u>task_inheritance.html</a>)<br>

 - the custom states (I don&#39;t know what you want to put in &#39;system_state&#39;, so that might be absolutely not relevant ;-))</blockquote><div><br>Yes, I looked at them, but I defintely think that developing a plugin is the best way to go...<br>
<br>Even if I will use custom states as well ! :)<br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I hence would like my users to use system_state(&#39;my_type&#39;) instead of output_port(&#39;system_state&#39;, &#39;my_type&#39;) to avoid mistakes (as far as possible).<br>
<br>
I then decided to implement an orogen plugin.<br>
<br>
Having a look at <a href="http://rock-robotics.org/stable/documentation/orogen/plugins.html" target="_blank">http://rock-robotics.org/<u></u>stable/documentation/orogen/<u></u>plugins.html</a>, I tried the simple example: I wrote a file with the first code snippet of the link, and put it on install/share/orogen/plugins.<br>

<br>
I then defined a new Orogen component with the instruction<br>
add_boolean_attribute &quot;test&quot;<br>
<br>
But after generating the code with orogen my_component.orogen, I found nothing related to this boolean attribute!<br>
<br>
What is wrong in the process I followed?<br>
</blockquote></div>
All the &quot;_base_&quot; methods define stuff on the Base class, i.e. in .orogen/tasks/MyTaskBase.hpp. Have you looked there ?<br></blockquote><div><br>Yes. I found absolutely nothing about my &quot;test&quot; attribute.<br>
Is there a way to know if Orogen has found the plugin?<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If you want to generate in the user-visible parts, use the user methods, i.e. add_user_member instead of add_base_member<span class="HOEnZb"><font color="#888888"><br>
<br>
Sylvain<br>
</font></span></blockquote></div><br></div>