読者です 読者をやめる 読者になる 読者になる

KOYAMA Yoshiaki のブログ

プログラミングについての試行錯誤をつらつら書き溜めていきます。

シリアル通信ソフト CoolTerm の使用方法と遅延処理を追加した拙作 PCG-LinkMac バージョン 1.1(1) 公開

追記: 2014/05/21(Wed)

OS X Mavericks では、USB・RS232C シリアルポート変換ケーブル対応のドライバをインストールする必要がありません。Apple 純正のドライバがインストールされています。

~ $ cd /System/library/Extensions/IOUSBFamily.kext/Contents/Plugins/
/System/library/Extensions/IOUSBFamily.kext/Contents/PlugIns $ ls
AppleUSBCDC.kext		AppleUSBMergeNub.kext
AppleUSBCDCACMControl.kext	AppleUSBOHCI.kext
AppleUSBCDCACMData.kext		AppleUSBOpticalMouse.kext
AppleUSBCDCDMM.kext		AppleUSBUHCI.kext
AppleUSBCDCECMControl.kext	AppleUSBVideoSupport.kext
AppleUSBCDCECMData.kext		AppleUSBXHCI.kext
AppleUSBCDCEEM.kext		IOUSBCompositeDriver.kext
AppleUSBCDCWCM.kext		IOUSBHIDDriver.kext
AppleUSBEHCI.kext		IOUSBHIDDriverSafeBoot.kext
AppleUSBFTDI.kext		IOUSBLib.bundle
AppleUSBHub.kext		IOUSBUserClient.kext
/System/library/Extensions/IOUSBFamily.kext/Contents/PlugIns $ 

上記のように Apple 純正 FTDI ドライバ AppleUSBFTDI.kext は、/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns フォルダにあります。

自作アプリの OS X 10.9 Mavericks 対応。Sprite Kit を使ったアプリケーション Neko version 1.0 公開。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2013/12/14/185334

上記 URL の PCG-LinkMac の記事も参考にしてください。


PC-G850VS と Mac ( OS X Mountain Lion 10.8 ) の間でのシリアル通信 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/20120831/1346414073

以前、上記 URL で PC-G850VS と Mac の間でのシリアル通信に、拙作 PCG-LinkMac

PCG-LinkMac バージョン 1.1(1)
http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html#pcglink

を紹介しました。


今回は、シリアル通信ソフト CoolTerm を紹介します。(また、PCG-LinkMac も遅延処理を追加したバージョン 1.1(1) を上記 URL で公開しています。詳しい解説は同封の ReadMe を参照してください。)


Roger Meier's Freeware
CoolTerm
http://freeware.the-meiers.org/

シリアル通信ソフト CoolTerm には、Mac、Win、Linux 版があります。


使い方は簡単です。CoolTerm を起動したら、まず最初に端末の設定をおこないます。

ツールバーの Options をクリックし、Serial Port タブを選び


Port: usbserial-FTG6R5XK
Baudrate: 9600
Data Bits: 8
Parity: none
Stop Bits: 1
Flow Control: いづれもチェックしない

上図のように設定します。OK ボタンをクリックすれば設定完了です。(自分の環境に合わせて設定してください。)
後は、ツールボタンの Connect をクリックしてシリアルポートを開いてください。成功すれば、ウインドウの下部エリアに状態が表示されます。


ファイルを転送するには、メニュー/Connection/Send Textfile... からファイルを選択すれば、転送されます。

MINE [Minesweeper ver 0.2] 
http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html#mine

(PCG-LinkMac1_1.zip を展開して作られる PCG-LinkMac/Example フォルダ
にすべての拙作プログラムが含まれています。)


上記メニューを使って、拙作 MINE [Minesweeper ver 0.2] のテキストファイル mine02.txt を Mac 側から遅延せずに転送し、Mac 側で転送が終了してから、10秒ほど待つと PC-G850VS 側で受信が終了し、転送に成功します。(Mac の環境によって違いが出ると思います。)


たたし、サイズの多きなファイルだとエラーが生じることがあります。その時は、1文字送るごとに遅延するように設定します。


一度、ツールバーの Disconnect でシリアルポートを閉じて、再設定します。

ツールバーの Options をクリックし、Transmit タブを選びます。


Options/Tranmit
✓Use trasmit character delay
Delay (ms): 5

Use trasmit character delay にチェックを入れ、遅延時間を 5 ms に設定します。ツールバーの Save をクリックして名前を付けてファイルに保存すれば、そのファイルを Finder 上でダブルクリックするだけで端末が設定されます。

それから再度ツールバーの Connect ボタンをクリックして、シリアルポートを開いてください。


SDCC 版 Minesweeper ver 1.0
http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html#sdccmine

(PCG-LinkMac1_1.zip を展開して作られる PCG-LinkMac/Example フォルダ
にすべての拙作プログラムが含まれています。)

拙作 SDCC 版 Minesweeper ver 1.0 の minesweeper_hex.txt ファイルで説明したいと思います。

PC-G850VS のモニタで機械語エリアを確保し

MON
*USER 23AE
*

先程、遅延時間を 5 ms に設定しましたが、ここでは説明のため 3ms に設定したとします。
minesweeper_hex.txt を PC-G850VS に転送すると

*R
INFO:0100-2154
*

終了番地が 2154 となり、データの取りこぼしが起きています。
それで、5ms の遅延に設定すると

*R
INFO:0100-23AE
*

終了番地が 23AE となり正しく受信しています。私の Mac

iMac 27-inch, Mid 2010
プロセッサ  2.93 GHz Intel Core i7
メモリ  8 GB 1333 MHz DDR3
グラフィックス  ATI Radeon HD 5750 1024 MB
ソフトウェア  OS X 10.8.3(12D78)

です。最新の Mac だと遅延時間を 5ms 以上にしないといけないかもしれません。


エラーが出た時は、Mac 側の入出力条件設定と P-G850VS側 の入出力条件設定 Format が等しいか確認してください。
特に

I/O DEVICE ERROR

がすぐ起きた時は、遅延するように設定してください。最初は、エラーが起きない大きめの間隔から設定し、段々減らしていくと良いかもしれません。
改行コード: end of file、行番号: line number も注意してください。


下図のように、PCG-LinkMac でも遅延できるように機能を追加しました。


PCG-LinkMac バージョン 1.1(1)
http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html#pcglink

良かったら、ダウンロードしてください。