忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[333]  [332]  [331]  [330]  [329]  [328]  [327]  [325]  [324]  [323]  [322
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

OpenRTM-aist-Python-1.0.1のManagerConfig.pyで


config_file_path = ["./rtc.conf",
                      "/etc/rtc.conf",
                      "/etc/rtc/rtc.conf",
                      "/usr/local/etc/rtc.conf",
                      "/usr/local/etc/rtc/rtc.conf",
                      None]



とWindowsでもこうなってるのが仕様なのかどうかわからない・・・

Linuxならこれで良いかもしれないけど.




それはさておき,今回はcoil(Common Operating System Infrastructure Layer)で遊んでみます.

今回のサンプルはここからダウンロードできます.


今回のサンプルは単に別のタスクをwhile文の中で待たせておいて,1秒ごとに外からのシグナルで再開させるだけのプログラムです.


ソースを見ていきます.

まず,


#include <coil/Mutex.h>
#include <coil/Condition.h>
#include <coil/Task.h>



としてcoilをインクルードします.


あとは,


class task : public virtual coil::Task
{
    public:
        task(){};
        virtual int svc();
};


int task::svc()
{
    static int count = 0;  //タスクを待たせた回数
   
    m_worker.mutex_.lock(); //排他処理

    while(!m_worker.running_)
    {
        count += 1;
        printf("task1の回数\t%d\n",count);  //回数表示
       
        m_worker.cond_.wait();  //待たせる
       
    }

    if(m_worker.running_)
    {
        printf("task1が終了しました\n");
    }
    m_worker.mutex_.unlock();  //排他処理
       
    return 0;

}



のようなTaskにしておきます.


そして,main文では


    task *task1 = new task();  //タスクの生成
    m_worker.running_ = false;  //falseの時にwhile文が回る,trueの時は終了
    task1->activate();  //タスクを実行
   
       
    for(int i=0;i < 5;i++)
    {
        Sleep(1*1000);
        m_worker.mutex_.lock();  //排他処理
        m_worker.cond_.signal();  //
待ち状態から起こす
        m_worker.mutex_.unlock();  //排他処理

    }

    Sleep(2*1000);
   
    //while文終了

    m_worker.running_ = true;
    m_worker.mutex_.lock();
    m_worker.cond_.signal();
    m_worker.mutex_.unlock();
    Sleep(1*1000);



こんな感じで.

説明不足ですが,今日のところはこのぐらいにしときます.


次回は何をやるかは未定です.













にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]