[Rock-dev] How to explicit assign task ports to service ports?

Christian Rauch Christian.Rauch at dfki.de
Tue Sep 3 14:57:35 CEST 2013


Hello,

I assigned a service to a task:
{{{
provides Trigger::PredictorSrv,
         'prediction' => 'prediction_value',
         :as => 'predictor'
}}}

whose service port "prediction" is later on accessed by 
"gyro_prediction_child.as(PredictorSrv).prediction_port.to_orocos_port".

Doing this results in this error:
{{{
| 
/home/seekurjr/virgo_next/tools/orocos.rb/lib/orocos/ports_searchable.rb:68:in 
`find_port': /wrappers/VectorX</double> is provided by multiple ports 
prediction_value: dbg_prediction_valueN, prediction_value (ArgumentError)
}}}

I assume here, that the task port name "prediction_value" that I gave 
explicitly in the definition is used as a search term (two ports of the 
task match that substring and have same type) instead as the port I want.

Is this the desired behaviour? Can I deactivate this behaviour and have 
syskit use that port, that I explicitly gave in my service assignment?

Regards,
Christian


-- 
  Christian Rauch
  Space Robotics

  Universität Bremen
  FB 3 - Mathematik und Informatik
  AG Robotik
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Tel:     +49 (0)421 178 45-6619
  Empfang: +49 (0)421 178 45-6611
  Fax:     +49 (0)421 178 45-4150
  E-Mail:  Christian.Rauch at dfki.de

  Weitere Informationen: http://www.informatik.uni-bremen.de/robotik



More information about the Rock-dev mailing list