MachiKania type Pの開発環境
2022年9月30日
MachiKania type Pのver 1.1では、USBケーブルで接続したPC上で、BASICプログラムの開発や、クラスライブラリーの開発が行えます。
下の写真は、開発環境の実行例です。操作としては、PC上のテキストエディターでBASICプログラムを編集し、MachiKaniaのリセットボタンを押すだけです。MMC/SDカードの抜き差しや、BASICファイルのドラッグ&ドロップは必要ありません。
この機能は結構便利で、私自身が常用しています。MMC/SDカードの抜き差しをほとんどしなくなりました。以下で、開発環境の構築方法について述べます。
ダウンロードした MachiKania type P の ZIP ファイルに、「document」フォルダーがありますから、そこの「 pcconnect.txt」を参照してください。このテキストファイルで、方法について述べてあります。以下、「 pcconnect.txt」の説明文を取り上げながら、説明します(記事中、イタリックの表記が、説明文の抜粋です)。
<準備>
1.ver 1.1以降のMachiKania type Pを、Raspberry Pi Picoにインストールします。
2.ダウンロードしたMachiKania type PのZIPアーカイブ中の「pcconnect」ディレクトリーを、PCのどこかに解凍・展開します。
3.PCとしてLinuxを使用する場合は、connect.cをgccでコンパイルし、a.outを作成してください。Windowsを使用する場合は、forWindows.zipを解凍し、a.exeとcygwin1.dllをpcconnectディレクトリーに展開してください。
4.connect.iniを編集します。「SERIALPORT=」の後にはMachiKaniaをPCに接続した場合のCOMポートを指定します。よく分からない場合は、とりあえずそのまま(「/dev/ttyDUMMY」のまま)で次に進めてください。
5.connect.iniの「ROOT=」の後には、MachiKaniaに転送するファイルを含むディレクトリー名を指定します。デフォルトでは「machikap/」となっています。そのまま使用する場合は、pcconnectディレクトリーにmachikapディレクトリーを作成してください。別のディレクトリーを使用する場合は、指定した名のディレクトリーを作成してください。
説明文では述べていませんが、MacOSはLinuxと同じくPOSIX規格に準拠しているので、Linuxでの説明に従って進めれば、うまく行くはずです(確認していません)。上記まで準備ができれば、Windowsの場合ならフォルダー表示は以下のようになっているはずです。
6.MachiKaniaをPCに接続し、a.out(Linuxの場合)もしくはa.exe(Windowsの場合)を起動します。うまく接続できた場合は「Waiting for request...」と表示され、MachiKaniaからの転送リクエスト待ちになります。
7.接続に失敗した場合は、「open serial port...failed Try some from followings (/dev/tty* would be good)」と表示され、次の行にMachiKaniaが接続されたポートの候補のリストが表示されます。MachiKaniaをPCに接続した状態と接続しない状態でa.out/a.exeに表示されるポート名リストを比較すれば、MachiKaniaのポート名を知ることができます。正しいポート名をconnect.iniの「SERIALPORT=」に指定して、もう一度 a.out/a.exe を起動しなおしてください。
「connect.ini」で「SERIALPORT=/dev/ttyDUMMY」のまま続けた場合、a.exeの実行画面は以下の例のようになります。
この場合、KachiKaniaは「/dev/ttyS2」いう名のポートととして認識されているようです。「connect.ini」で「SERIALPORT=/dev/ttyS2」と編集します。
候補のポート名が複数あってどれだか分からないときは、以下の図を参考にMachiKaniaのポート名を特定してください。
正しいポート名でconnecti.iniを設定した後にa.exeを再起動すると、以下の画面のようになります。
8.machikapディレクトリーを空にしたままで、MachiKaniaのリセットボタンを押してください。この時、「Request detected! Waiting for SENDCMD...OK All done!」と表示されれば、a.out/a.exeとMachiKaniaの通信が問題なく行われています。
9.もし通信がうまく行かない場合は、MachiKaniaのMMC/SDカードのルートにあるMACHIKAP.INIを編集し、「STARTWAIT=」の後の数字を少し多くしてください。500で通信に失敗しても、700や1000なら成功するようなケースもあります。
「STARTWAIT=」の編集が終わり、うまく通信できると、以下のような画面になります。
ここまでくれば、開発環境のセットアップは終了です。
<ファイルの転送>
1.machikapディレクトリーに転送したいファイル(MACHIKAP.BASなど)を配置し、任意のエディターで編集してください。
2.MachiKaniaのリセットボタンを押すと、PCからMachiKaniaにファイルが転送されます。MACHIKAP.BASがあれば、そのまま実行されます。
「machikap/」ディレクトリーに「machikap.bas」を作成し、a.exeを起動し、MachiKaniaのリセットボタンを押すと、以下のような表示になります。
MachiKania上では、「MACHIKAP.BAS」が実行されているはずです。続けて、「machikap.bas」を編集した後にMachiKaniaのリセットボタンを押せば、編集した後の最新のコードが実行されます。まれに、リセットボタンを押しても反応しなくなる時がありますが、多くの場合はa.exeを再起動すれば改善します。
<後始末>
1.プログラムのデバッグ等が終わって、MMC/SDカードのMACHIKAP.BASが必要なくなった場合、machikapディレクトリー内のMACHIKAP.BASの内容を「fremove "MACHIKAP.BAS"」としてください。
2.a.out/a.exeが起動した状態でMachiKaniaのリセットボタンを押すと、MMC/SDカードのMACHIKAP.BASが削除されます。
3.a.out/a.exeを終了し、MachiKaniaのリセットボタンを再度押せば、MachiKaniaはファイル選択画面になります。
MachiKaniaのMMC/SDカードにMACHIKAP.BASが残っていると、起動時に自動実行されます。このMACHIKAP.BASファイルをPC側の操作で削除するための方法について、述べています。
下の写真は、開発環境の実行例です。操作としては、PC上のテキストエディターでBASICプログラムを編集し、MachiKaniaのリセットボタンを押すだけです。MMC/SDカードの抜き差しや、BASICファイルのドラッグ&ドロップは必要ありません。
この機能は結構便利で、私自身が常用しています。MMC/SDカードの抜き差しをほとんどしなくなりました。以下で、開発環境の構築方法について述べます。
ダウンロードした MachiKania type P の ZIP ファイルに、「document」フォルダーがありますから、そこの「 pcconnect.txt」を参照してください。このテキストファイルで、方法について述べてあります。以下、「 pcconnect.txt」の説明文を取り上げながら、説明します(記事中、イタリックの表記が、説明文の抜粋です)。
<準備>
1.ver 1.1以降のMachiKania type Pを、Raspberry Pi Picoにインストールします。
2.ダウンロードしたMachiKania type PのZIPアーカイブ中の「pcconnect」ディレクトリーを、PCのどこかに解凍・展開します。
3.PCとしてLinuxを使用する場合は、connect.cをgccでコンパイルし、a.outを作成してください。Windowsを使用する場合は、forWindows.zipを解凍し、a.exeとcygwin1.dllをpcconnectディレクトリーに展開してください。
4.connect.iniを編集します。「SERIALPORT=」の後にはMachiKaniaをPCに接続した場合のCOMポートを指定します。よく分からない場合は、とりあえずそのまま(「/dev/ttyDUMMY」のまま)で次に進めてください。
5.connect.iniの「ROOT=」の後には、MachiKaniaに転送するファイルを含むディレクトリー名を指定します。デフォルトでは「machikap/」となっています。そのまま使用する場合は、pcconnectディレクトリーにmachikapディレクトリーを作成してください。別のディレクトリーを使用する場合は、指定した名のディレクトリーを作成してください。
説明文では述べていませんが、MacOSはLinuxと同じくPOSIX規格に準拠しているので、Linuxでの説明に従って進めれば、うまく行くはずです(確認していません)。上記まで準備ができれば、Windowsの場合ならフォルダー表示は以下のようになっているはずです。
6.MachiKaniaをPCに接続し、a.out(Linuxの場合)もしくはa.exe(Windowsの場合)を起動します。うまく接続できた場合は「Waiting for request...」と表示され、MachiKaniaからの転送リクエスト待ちになります。
7.接続に失敗した場合は、「open serial port...failed Try some from followings (/dev/tty* would be good)」と表示され、次の行にMachiKaniaが接続されたポートの候補のリストが表示されます。MachiKaniaをPCに接続した状態と接続しない状態でa.out/a.exeに表示されるポート名リストを比較すれば、MachiKaniaのポート名を知ることができます。正しいポート名をconnect.iniの「SERIALPORT=」に指定して、もう一度 a.out/a.exe を起動しなおしてください。
「connect.ini」で「SERIALPORT=/dev/ttyDUMMY」のまま続けた場合、a.exeの実行画面は以下の例のようになります。
この場合、KachiKaniaは「/dev/ttyS2」いう名のポートととして認識されているようです。「connect.ini」で「SERIALPORT=/dev/ttyS2」と編集します。
候補のポート名が複数あってどれだか分からないときは、以下の図を参考にMachiKaniaのポート名を特定してください。
正しいポート名でconnecti.iniを設定した後にa.exeを再起動すると、以下の画面のようになります。
8.machikapディレクトリーを空にしたままで、MachiKaniaのリセットボタンを押してください。この時、「Request detected! Waiting for SENDCMD...OK All done!」と表示されれば、a.out/a.exeとMachiKaniaの通信が問題なく行われています。
9.もし通信がうまく行かない場合は、MachiKaniaのMMC/SDカードのルートにあるMACHIKAP.INIを編集し、「STARTWAIT=」の後の数字を少し多くしてください。500で通信に失敗しても、700や1000なら成功するようなケースもあります。
「STARTWAIT=」の編集が終わり、うまく通信できると、以下のような画面になります。
ここまでくれば、開発環境のセットアップは終了です。
<ファイルの転送>
1.machikapディレクトリーに転送したいファイル(MACHIKAP.BASなど)を配置し、任意のエディターで編集してください。
2.MachiKaniaのリセットボタンを押すと、PCからMachiKaniaにファイルが転送されます。MACHIKAP.BASがあれば、そのまま実行されます。
「machikap/」ディレクトリーに「machikap.bas」を作成し、a.exeを起動し、MachiKaniaのリセットボタンを押すと、以下のような表示になります。
MachiKania上では、「MACHIKAP.BAS」が実行されているはずです。続けて、「machikap.bas」を編集した後にMachiKaniaのリセットボタンを押せば、編集した後の最新のコードが実行されます。まれに、リセットボタンを押しても反応しなくなる時がありますが、多くの場合はa.exeを再起動すれば改善します。
<後始末>
1.プログラムのデバッグ等が終わって、MMC/SDカードのMACHIKAP.BASが必要なくなった場合、machikapディレクトリー内のMACHIKAP.BASの内容を「fremove "MACHIKAP.BAS"」としてください。
2.a.out/a.exeが起動した状態でMachiKaniaのリセットボタンを押すと、MMC/SDカードのMACHIKAP.BASが削除されます。
3.a.out/a.exeを終了し、MachiKaniaのリセットボタンを再度押せば、MachiKaniaはファイル選択画面になります。
MachiKaniaのMMC/SDカードにMACHIKAP.BASが残っていると、起動時に自動実行されます。このMACHIKAP.BASファイルをPC側の操作で削除するための方法について、述べています。