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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Takeshi MUTOH
むとう@おうちです。

ごぶさたしてます。

久しぶりに夏休みというものを味わって、はじけてました(^-^;)
# 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:[hidden email] URL:http://qml.610T.org/
 ・水面の泡のように、フラフラ揺れたり、沈んだり浮かんだり
 ・自転車操業中    http://qml.610T.org/cycling/
Reply | Threaded
Open this post in threaded view
|

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

Koji Yokokawa-3
横川です。
Squeak+Gainerに興味を持っていただきありがとうございます。
二つとも同時に反応する人が少ないようで、なかなか「遊んでみたよ」報告が聞
けないので寂しく思っていました。

On Fri, 12 Sep 2008 16:53:31 +0900
Takeshi MUTOH <[hidden email]> wrote:


> で、本題ですが、FreeBSDとかでも使いたいので、SparkFunのGainer基板を購
> 入して、Squeak+GainerをMacやFreeBSDで試していました。
> で、2つほど疑問点が出てきましたので、識者の方教えてください。
>
> 1. Squeak+Gainer側の話
> Squeak+Gainer(14)のGNSerialClient class >> findClientでは、シリアルを3
> 番目からなめているように見えます。
> これは、Windowsでは、0-2はレガシーのシリアルがいることが多いからですか
> ね?
>
> この感じだと、Unix系だと/dev/ttyS3とかからなめられてしまいませんかね?


手元のWindowsPCで「あ、動いた」レベルで放置状態です。
このへん詳しくないので情報(や実装)ほしいです。
シリアルポートの自動認識の常套手段ってあるのでしょうか? >詳しい人
Scratch Boardはどうしてるのかな?
 

-- !
Koji Yokokawa <[hidden email]>
    http://www.yengawa.com/
    ^self new!

Reply | Threaded
Open this post in threaded view
|

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

Kazuhiro ABE-3
こんにちは、阿部です。

2008/09/13 22:11 Koji Yokokawa <[hidden email]>:
> シリアルポートの自動認識の常套手段ってあるのでしょうか? >詳しい人
> Scratch Boardはどうしてるのかな?

Scratchの最新版は1.3ですが、ソースが公開されているものは1.2.1です。
http://scratch.mit.edu/pages/source
これを見ると、Windowsのことしか考えていないように見えるのですが、COM1-32までをスキャンするようになっています(SensorBoardMorph>>portNames)。
おもしろいのは、stepしながら、scanStateを変更していき(off, start, checkData,
on)、それに応じて、実行されるメソッドも変えていっているところでしょうか(SensorBoardMorph >>scanForPort)。
そのため、デバッガでは追いかけられず、苦労したような記憶があります。

 //abee
--
阿部 和広 EMAIL [hidden email]
Reply | Threaded
Open this post in threaded view
|

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

Takeshi MUTOH
むとう@おうちです。

仕事その2が本日終了。
# 来年は未定(;-;)…


なんか、すごい昔の話ですが…

この話題の成果(?)は、C5での野良デモと
か、Smalltalk勉強会での野良デモ未遂とかあるのですが、
K*BUGってところでお話ししてました(BSD寄りなので注意)。
- http://qml.610t.org/FreeBSD/Serial2008.html

あとは、「WindowsVM、シリアルって、COM10より大き
いと使えないことない?」ってのも調べてたりしてました。
- http://qml.610t.org/squeak/

On 2008/09/13, at 22:54, Kazuhiro ABE wrote:
>> シリアルポートの自動認識の常套手段ってあるのでしょう
>> か? >詳しい人
>> Scratch Boardはどうしてるのかな?
> Scratchの最新版は1.3ですが、ソースが公開されているものは
> 1.2.1です。
> http://scratch.mit.edu/pages/source

すいません、まだソース見てません。今はもう1.3.1のソース
公開してるのですね。

しかし、ここ見るとScratchPlugin関連のソースもあるのですね。
これは、FreeBSDでも嬉しいなぁ。

> これを見ると、Windowsのことしか考えていないように見え
> るのですが、COM1-32までをスキャンするようになっています
> (SensorBoardMorph>>portNames)。

そもそも、COM10より大きいので使えてる人います?

ではでは。
--
武藤 武士@「あおによし」自宅より
  E-mail:[hidden email] URL:http://qml.610T.org/
  ・にんじんだもの、赤くもなればあまくもなる
  ・健康でいられるのが一番だなぁ…

Reply | Threaded
Open this post in threaded view
|

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

Kazuhiro ABE-2
こんにちは、阿部です。

2009/03/13 16:09 Takeshi MUTOH <[hidden email]>:
> すいません、まだソース見てません。今はもう1.3.1のソース公開してるのですね。

はい。

> しかし、ここ見るとScratchPlugin関連のソースもあるのですね。

私のSD 3月号の記事では「ない」と書いてしまいましたが、おっしゃるとおり、「ある」の間違いです。すみません。
http://d.hatena.ne.jp/abee2/20090210/1234263060

> そもそも、COM10より大きいので使えてる人います?

私もダメです。
どうやらこれはWin32の仕様というかバグというかでMicrosoftが回避方法を公開していますが、今のところsqWin32SerialPort.cは対応していないようです。
http://support.microsoft.com/default.aspx?scid=kb;ja;JP115831

 //abee
--
阿部 和広  EMAIL [hidden email]
Reply | Threaded
Open this post in threaded view
|

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

Takeshi MUTOH
むとう@おうちです。

On 2009/03/13, at 17:04, Kazuhiro ABE wrote:
>> しかし、ここ見るとScratchPlugin関連のソースもあるの
>> ですね。
> 私のSD 3月号の記事では「ない」と書いてしまいました
> が、おっしゃるとおり、「ある」の間違いです。すみません。
> http://d.hatena.ne.jp/abee2/20090210/1234263060

あ、この記事もまだ読んでないです(_o_)

>> そもそも、COM10より大きいので使えてる人います?
> 私もダメです。
> どうやらこれはWin32の仕様というかバグというかでMicrosoft
> が回避方法を公開していますが、今のところ
> sqWin32SerialPort.cは対応していないようです。
> http://support.microsoft.com/default.aspx?scid=kb;ja;JP115831

私もそう思っています。
- http://qml.610t.org/squeak/mutoh_20090207.html

ちょっと、WindowsVMの開発環境を作る元気がなくて、検証ま
ではしてないんですが…


あと、書き忘れてましたが、Linuxの方は他の方も以下のよう
な修正を出されてます。
- http://bugs.squeak.org/view.php?id=7266

けど、これしてしまうと、イメージ側でunixかどうかみて
コード書かないとダメなので、いかがなもんかいなと個人的には
思ってます。
# まあ、僕のプラグイン直接書き換えるってのよりは100倍ま
しだとは思いますが;-p

僕の考えている落としどころとしては、VMのコマンドライン
オプションにdevice prefixを指定できるようにするってのな
んですが、皆さんはどう思われます?

では。
--
武藤 武士@「あおによし」自宅より
  E-mail:[hidden email] URL:http://qml.610T.org/
  ・にんげんは一度に一つしかでけへんいうとるやろ
  ・健康でいられるのが一番だなぁ…