<br><div class="gmail_extra"><br><br><div class="gmail_quote">2012/12/3 Sylvain Joyeux <span dir="ltr"><<a href="mailto:sylvain.joyeux@dfki.de" target="_blank">sylvain.joyeux@dfki.de</a>></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 'system_state'.<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't know what you want to put in 'system_state', 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('my_type') instead of output_port('system_state', 'my_type') 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 "test"<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 "_base_" 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 "test" 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>