[Squeak-ja: 3989] GainerとSerialとわたし

Takeshi MUTOH mutoh @ openedu.org
2008年 9月 12日 (金) 16:53:31 JST


むとう@おうちです。

ごぶさたしてます。

久しぶりに夏休みというものを味わって、はじけてました(^-^;)
# http://qml.610t.org/FreeBSD/SummerVacation2008.html

OSC2008 Nagoyaで、Gainerの中の人のお話を聴く機会がありまして、横川さん
のSqueak+Gainerも紹介されていました。

私、ハードウエアが付録につくと、ついつい雑誌を買ってしまう人なのですが、
その中にDesign Wave Magazine 2008/05のCortex-M3(ARM)基板というのも入っ
ていました。これには、Gainerのサブセットも実装されており、3軸の加速度
センサーもあるので、Squeak+Gainerと一緒に使うと、リアルハンドルとか作
れて、結構面白いです。
# が、残念ながらFreeBSDでは、使えない…


で、本題ですが、FreeBSDとかでも使いたいので、SparkFunのGainer基板を購
入して、Squeak+GainerをMacやFreeBSDで試していました。
で、2つほど疑問点が出てきましたので、識者の方教えてください。

1. Squeak+Gainer側の話
Squeak+Gainer(14)のGNSerialClient class >> findClientでは、シリアルを3
番目からなめているように見えます。
これは、Windowsでは、0-2はレガシーのシリアルがいることが多いからですか
ね?

この感じだと、Unix系だと/dev/ttyS3とかからなめられてしまいませんかね?

2. SqueakのSerialPluginの実装の話
手元の3.9-7のVMのソースでは、
- Squeak-3.9-7/platforms/unix/plugins/SerialPlugin/sqUnixSerial.c
の最初の方で、
{{{
    21  /*** Module variables ***/
    22  
    23  /* portNum      0=/dev/ttyS0, etc. */
    24  /* include 1 byte for NUL at end */
    25  #define PORT_NAME_SIZE 11
    26  static const char serialPortBaseName[] = "/dev/ttyS0";
    27  
}}}
と、シリアルデバイスは/dev/ttyS[0-9]とかを仮定しているように見えます。
これが、USBの場合、/dev/ttyU[0-9]などになる実装も多いようですし、Macな
どでは/dev/cu.usbserial-xxxxxxとかだったります。

これって、どないしたもんでしょうか?
MacのVMって、この辺どうなってるんでしょうか?

Gainerだけだと、シリアルプロキシーとか使えばいいのかもしれませんが…

では、情報いただければ幸いです。
--
武藤 武士@「あおによし」自宅より 
 E-mail:mutoh @ openedu.org	URL:http://qml.610T.org/
 ・水面の泡のように、フラフラ揺れたり、沈んだり浮かんだり
 ・自転車操業中 	    http://qml.610T.org/cycling/


Squeak-ja メーリングリストの案内