OpenRTM / OpenRTP-aist

OpenRTP-aist: RT-Middleware and OMG RTC based component and system development tools implemented by AIST
Other
1 stars 6 forks source link

FSMコンポーネントを設定した場合、エラーになるPythonコードを生成することがある #275

Closed Nobu19800 closed 4 years ago

Nobu19800 commented 4 years ago

Describe the bug RTCBuilderでFSMポートを設定してPythonのコードを生成すると、以下のように何も定義していないクラスを定義してしまい実行時にエラーになる。

@StaticFSM.FSM_SUBSTATE(Top)
class node2(StaticFSM.Link):

To Reproduce Steps to reproduce the behavior:

  1. RTC BuilderでFSMポートを設定する
  2. あるノード(以下node1)でActionsOn EntryOn Exitのチェックボックスをオフにする
  3. node1に遷移を設定するがイベント名は設定しない
  4. 生成したPythonコードを実行する

もしくは単にfinal nodeを追加するだけでも問題を再現できる。

Reproducibility 100%

Expected behavior 上記の設定のノード(ActionsのOn Entry、On Exitのチェックボックスをオフにする遷移を設定するがイベント名は設定しない)がある場合は、対応するクラスにpassの記述を追加する。

@StaticFSM.FSM_SUBSTATE(Top)
class node2(StaticFSM.Link):
    pass

Screenshots or Logs

Environment

Additional context

ga-sakamoto commented 4 years ago

277 にて,onInit関数をコメントアウトせずに出力する事となったため,上記のようなコードが生成されることはなくなったためクローズ