Main Page

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 19

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 20


2005年 11月 5日 ()  
寝てた。


2005年 11月 15日 (火)  
さて朝。
ロボットを机の上に鎮座させ、走行モジュールの実機テスト。が、動作しない。

「シミュレータだと動作するのに、なんで実機だと動作しないかな〜」

と悩んでいたが、SH7045F の ROM を焼き直したら動作した。

ぐわっ!

...なんか、悲しかった。
でも、動作するようになってよかった。



昨日、研究室の他グループの TCP/IP 勉強会にて、

「1対1接続なら、サーバとクライアントを意識しないで接続できると便利か?」

という話題で盛り上がったらしい。
その話を聞いて実装が頭に思い浮かんだので、とりあえず作る。
相手にクライアントとして接続し、接続に失敗したら自分がサーバになるクラス。
思っていたとおり、簡単だった。以下は、接続周りのソース。

int PeerConnection::connect(const char* host, long port, long timeout) {
  
  // 相手側に接続を行う
  con = new TcpipDevice();
  int ret_value = con->connect(device, baudrate);
  error_message = con->what();
  if (ret_value >= 0) {
    return ret_value;
  }
  delete con;

  // 接続用ポートを立てる
  TcpipServer server_con;
  server_con.activate(port);
  con = server_con.accept(timeout);
  if (con) {
    error_message = con->what();
    return 0;
  }
  error_message = "connection timeout";
  return -1;
}


まぁ、接続遅延がある環境で、同じようなタイミングで接続が行われると、
互いが同時にconnect() を取り下げ、接続待ちポートの準備に...、
ってことが起こるのかもしれないが、気にしない。

純粋なソフトの世界は、思ったことが外乱とか測定誤差なしに実装できるので、よい。
つか、私も勉強会に参加すればよかった...。



今日のめし会は、ハンバーグとキャベツと卵の丼物。
名称は忘れた。

つなぎが弱かったせいか、ハンバーグから肉汁が抜けてていまいちだった。
まずくはないんだが...。

あと、参加者の1人の供出で、得体の知れない芋が食卓に...。
得体の知れない味だった。なんつーか、土臭いセロリ。



最近、なんかハイテンションでいかん...。風邪か?


2005年 11月 16日 (水)  
朝方に起床。
寝ぼけていると、テーブルの上にある醤油のペットボトルが、
コーラのペットボトルに見えて、危険だ。



で、アプリケーション毎のプロパティ情報を管理する PropertyInfo クラスを作る。
クラスでファイルから情報を読み出し、書き戻すだけのクラス。
テストコードを抜粋すると、こんな感じ。

class PropertySample : public PropertyInfo {
public:
  int a;
  int b;
  int c;
  
  void evaluate(void) {
    value(&a, "a_value");
    value(&b, "b_value");
    value(&c, "c_value");
  }
};

void PropertyInfoTest::readTest(void) {
  PropertySample obj;

  char* searchPath[] = { "./", NULL };
  obj.readPropertyFile(".propertyrc", searchPath); // 読み出し

  CPPUNIT_ASSERT_EQUAL(1, obj.a);
  CPPUNIT_ASSERT_EQUAL(2, obj.b);

  ++obj.c;
  c_value = obj.c;
  obj.flush(); // 書き込み
}


ま、実装は汚いが一応動作した。いい感じ。
あとは、これを作成中のタイピングソフトとか、モニタライブラリのフォントパスを
保存するあたりで使っていく予定。
がんばろう。

で、朝になったので就寝。...なんか、間違ってるよなぁ。


2005年 11月 28日 (月)  
研究室のミーティング。
ミーティング中の研究報告において、ある人が

「今期間は、SICK(ジック) のセンサを選んでいました」

などと発言していた。
それを聞きながら、私なら

「今期間は、SICK のセンサをじっくり選んでいました」

と言うのに、などと思っていた。
なんか、がっかりだった。



お昼に買い物に行く。本屋、スーパーの順で回る予定。
出かけた道の途中、うなぎ屋を見て、

「スーパーでうなぎを買って食べた方が安いよな〜」

などと思ったあたりで、はっと気付く。

「あれ? 先週にスーパーで買ったうなぎ、食べたっけか?」

...帰宅後に確認したが、そのうなぎは廃棄処分にした。
買うまでが うなぎではなく、食べるまでが うなぎなんだ。とか思った。
なんか、敗北感でいっぱいだった。


本人へのコメント送信



Main Page