Project

General

Profile

機能 #2350

RTObject_impl::initialize() 内のECの作成方法の修正

Added by n-ando almost 10 years ago. Updated over 9 years ago.

Status:
終了
Priority:
通常
Assignee:
fsi-takahashi
Target version:
-
Start date:
02/04/2012
Due date:
% Done:

100%

Estimated time:

Description

RTObject_impl::initialize() 内のECの作成方法の修正を行う。

主な変更点は
  • RTC個別configファイル(プライベートオプション)に従ってECを作成する。
  • 個別configが指定されない場合、rtc.confのオプション(グローバルオプションと呼ぶ) に従ってECを作る
  • プライベートオプションではECは複数個作成することができる (execution_contextオプション)
  • 個別config内で、ECのタイプ毎、ECのインスタンス名ごとにオプションを指定できる
  • 個別configでECをnone指定するとECを1つも作成・アタッチせずにRTCを起動できるようにする
  • 個別configではECに名前をつけることができる
  • 同名のECがすでに存在する場合、新たにインスタンスを作成せずに既存のものを使う
  • サンプルのrtc.confとcompoennt.confに変更を反映させる。

#============================================================
# execution context options
#============================================================
#
# Periodic type ExecutionContext
#
# Other availabilities in OpenRTM-aist
#
# - ExtTrigExecutionContext: External triggered EC. It is embedded in
#                            OpenRTM library.
# - OpenHRPExecutionContext: External triggred paralell execution
#                            EC. It is embedded in OpenRTM
#                            library. This is usually used with
#                            OpenHRP3.
# - RTPreemptEC:             Real-time execution context for Linux
#                            RT-preemptive pathed kernel.
# - ArtExecutionContext:     Real-time execution context for ARTLinux
#                            (http://sourceforge.net/projects/art-linux/)
# exec_cxt.periodic.type: [specify periodic type EC]

#
# The execution cycle of ExecutionContext
#
# exec_cxt.periodic.rate: [Hz]

#
# Event driven execution context (not implemented yet)
#
# exec_cxt.event_driven.type: [specify event driven type EC]
#

#
# State transition mode settings YES/NO
#
# Default: YES (efault setting is recommended.)
#
# Activating, deactivating and resetting of RTC performs state
# transition. Some execution contexts might execute main logic in
# different thread. If these flags are set to YES, activation,
# deactivation and resetting will be performed synchronously. In other
# words, if these flags are YES,
# activation/deactivation/resetting-operations must be returned after
# state transition completed.
#
# "sync_transition" will set synchronous transition flags to all other
# synchronous transition flags sync_activation/deactivation/reset.
#
# exec_cxt.sync_transition: YES
# exec_cxt.sync_activation: YES
# exec_cxt.sync_deactivation: YES
# exec_cxt.sync_reset: YES

#
# Timeout of synchronous state transition [s]
#
# Default: 0.5 [s]
#
# When synchronous transition flags are set to YES, the following
# timeout settings are valid. If "transition_timeout" is set, the
# value will be set to all other timeout of activation/deactivation
# and resetting
#
# exec_cxt.transition_timeout: 0.5
# exec_cxt.activation_timeout: 0.5
# exec_cxt.deactivation_timeout: 0.5
# exec_cxt.reset_timeout: 0.5

#
# Specifying Execution Contexts
#
# Default: No default
#
# execution_contexts: None or <EC0>,<EC1>,...
# <EC?>: ECtype(ECname)
#
# RTC can be attached with zero or more Execution
# Contexts. "execution_contexts" option specifies RTC-specific
# attached ECs and its name. If the option is not specified, the
# internal global options or rtc.conf options related to EC will be
# used. If None is specified, no EC will be created.
#
# Availabilities in OpenRTM-aist
#
# - ExtTrigExecutionContext: External triggered EC. It is embedded in
#                            OpenRTM library.
# - OpenHRPExecutionContext: External triggred paralell execution
#                            EC. It is embedded in OpenRTM
#                            library. This is usually used with
#                            OpenHRP3.
# - RTPreemptEC:             Real-time execution context for Linux
#                            RT-preemptive pathed kernel.
# - ArtExecutionContext:     Real-time execution context for ARTLinux
#                            (http://sourceforge.net/projects/art-linux/)
#
# execution_contexts: PeriodicExecutionContext(pec1000Hz), \
#                     PeriodicExecutionContext(pec500Hz)

#
# EC specific configurations
#
# Default: No default
#
# Each EC can have its own configuration. Individual configuration can
# be specified by using EC type name or EC instance name. Attached ECs
# would be specified in execution_context option like <EC type
# name>(<EC instance name>), ...  EC specific option can be specified
# as follows.
#
# ec.<EC type name>.<option>
# ec.<EC instance name>.<option>
#
# Example:
# ec.PeriodicExecutionContext.sync_transition: NO
# ec.pec1000Hz.rate: 1000
# ec.pec1000Hz.synch_transition: YES
# ec.pec1000Hz.transition_timeout: 0.5
# ec.pec500Hz.rate: 500
# ec.pec500Hz.synch_activation: YES
# ec.pec500Hz.synch_deactivation: NO
# ec.pec500Hz.synch_reset: YES
# ec.pec500Hz.activation_timeout: 0.5
# ec.pec500Hz.reset_timeout: 0.5

Related issues

Related to OpenRTM-aist (C++) - 機能 #2349: RTObject_impl::initialize() 内のECの作成方法の修正終了2012-02-04

Associated revisions

Revision 674 (diff)
Added by fsi-katami almost 10 years ago

The method to create EC has been changed. Now zero or more EC can be attached to RTC. Configuration options for EC have been changed changed. refs #2350

History

#1 Updated by Anonymous almost 10 years ago

  • Status changed from 新規 to 担当
  • % Done changed from 0 to 30

getInheritedECOptions()、getPrivateContextOptions()、getGlobalContextOptions()、getContextOptions()、findExistingEC()、createContexts() の実装

#2 Updated by fsi-takahashi almost 10 years ago

  • Assignee changed from Anonymous to fsi-takahashi

#3 Updated by fsi-takahashi almost 10 years ago

  • Status changed from 担当 to 解決

#4 Updated by fsi-takahashi almost 10 years ago

  • % Done changed from 30 to 100

#5 Updated by fsi-takahashi almost 10 years ago

initialize()の修正完了

#6 Updated by n-ando over 9 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF