シリアル通信ソフト 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

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