[Bug 579] New: Simulink component configuration procedure broken when using DeploymentComponent

For more infomation about this bug, visit
Summary: Simulink component configuration procedure broken when
using DeploymentComponent
Product: Simulink Toolbox
Version: unspecified
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: General
AssignedTo: orocos-dev [..] ...
ReportedBy: peter [dot] soetens [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

When a Simulink component is created, it starts as preoperational and has no
ports no properties, so you need to call configure() before you can use it.
However, once you call configure() again, the ports and properties are deleted
and re-created. This leads to confusing behaviour when the DeploymentComponent
is used, which *first* sets properties and connects ports and *finally* calls
configure(), erasing all these settings.

The proposed fix is to
1. create the component in the Stopped (configured) state.
-> Allows the deployment component to configure ports and properties
2. To not delete the ports and properties during configure().
-> keeps connection and configuration state.

Peter

Note to self: this also means ports and properties are not cleaned up when the
component is deleted. Need to find a workaround for that later (or switch to
Java :-)

[Bug 579] Simulink component configuration procedure broken when

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=579

Klaas Gadeyne <klaas [dot] gadeyne [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |
Status|RESOLVED |REOPENED

--- Comment #4 from Klaas Gadeyne <klaas [dot] gadeyne [..] ...> 2009-12-02 10:23:39 ---
(In reply to comment #3)
> (In reply to comment #2)
> > Created an attachment (id=336)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=336) [details] [details]
> > Really fixes this bug
> >
> > The previous patch did not work because the port was still removed from the
> > interface. This simpler and better documented patch should fix this bug for
> > good.
>
> Confirmed.

Did _I_ ever confirm this? ;-)

There was some nasty bug left in your fix. I guess you meant this?

apollo:/usr/local/matlab2007b/rtw/c/orocos/taskcontext# emacs
sfun_vproperty.cpp
apollo:/usr/local/matlab2007b/rtw/c/orocos/taskcontext# svn diff
sfun_vproperty.cpp
Index: sfun_vproperty.cpp
===================================================================
--- sfun_vproperty.cpp (revision 1054)
+++ sfun_vproperty.cpp (working copy)
@@ -268,7 +268,7 @@
RTW::currentTC->properties()->addProperty( prop );
//own_prop = true; //See bug #579: Simulink component
configuration procedure broken when using DeploymentComponent
} else {
- RTT::Property<std::vector RTW::currentTC->properties()->getProperty<std::vector + prop =
RTW::currentTC->properties()->getProperty<std::vector if (!prop) {
log(Error) <<"Property< std::vector<double> > "<< name << "
has wrong type in TaskContext." <<endlog();
ssSetErrorStatus(S,"VProperty has wrong type in current
TaskContext.");

>

[Bug 579] Simulink component configuration procedure broken when

For more infomation about this bug, visit

Klaas Gadeyne <klaas [dot] gadeyne [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED

--- Comment #3 from Klaas Gadeyne <klaas [dot] gadeyne [..] ...> 2008-08-13 10:17:54 ---
(In reply to comment #2)
> Created an attachment (id=336)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=336) [details]
> Really fixes this bug
>
> The previous patch did not work because the port was still removed from the
> interface. This simpler and better documented patch should fix this bug for
> good.

Confirmed.

[Bug 579] Simulink component configuration procedure broken when

For more infomation about this bug, visit

Peter Soetens
<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Attachment #335 is|0 |1
obsolete| |

--- Comment #2 from Peter Soetens
<peter [dot] soetens [..] ...> 2008-08-13 10:12:01 ---
Created an attachment (id=336)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=336)
Really fixes this bug

The previous patch did not work because the port was still removed from the
interface. This simpler and better documented patch should fix this bug for
good.

[Bug 579] Simulink component configuration procedure broken when

For more infomation about this bug, visit

Peter Soetens
<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|orocos- |peter [dot] soetens [..] ...
|dev [..] ... |

--- Comment #1 from Peter Soetens
<peter [dot] soetens [..] ...> 2008-08-12 14:05:11 ---
Created an attachment (id=335)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=335)
fixes this issue

This patch no longer deletes the ports or properties and configures the
component when created.