RL78マイコン基板(RL78/G13)|rl78flashで書き込んでPython+pySerialでシリアル通信する設定
以前のエントリでPythonのpySerialというシリアルポート操作パッケージを試したことがあるのですが、これに
miniterm.pyという通信端末スクリプトが含まれていたことを思い出したので実行してみました。幸いなことに、
DTR信号(やRTS信号)を反転させる機能があり、それを使うことでうまく通信することが出来ました。
miniterm.pyのヘルプ

起動するとCOMポートを聞かれるので入力する(まだ通信は始まらない)

キーボードから ^T ^D を順に入力すると通信を開始(DTR信号の場合) (RTS信号であれば ^T ^R を順に入力)

小技として ^T ^D ^T ^D でRL78/G13をリセット可(DTR信号の場合) (RTS信号であれば ^T ^R ^T ^R で)

追記 : 補足
後で気付いたのですが、スクリプトminiterm.pyへの引数によって指定することも出来るようになっていました。
miniterm.pyの引数のヘルプ

引数に COM14 --dtr=0 で起動時から通信を開始(DTR信号の場合) (RTS信号であれば COM14 --rts=0 で)

追記 : メモ
Windowsではコマンドプロンプトの漢字コードがSJIS固定になっているので、miniterm.pyのままではルネサス
WebコンパイラでSerial.print()の引数に日本語を書くと文字化けしてしまいますが、Linux(やMac OS Xでも?)
ではコンソールウィンドウの漢字コードがUTF-8であれば、ルネサスWebコンパイラでSerial.print()の引数に
日本語を書いても問題無く日本語表示されそうな気がします。WindowsでもLinux環境をエミュレーションする
ツールに含まれているコンソールウィンドウであれば漢字コードを変更する機能とかはありそうな気がします。
例えば、以前のエントリで試してみたMSYS2というLinux環境をエミュレーションするツールにはありました。
(ただ、MSYS2がキー入力や画面出力をフックする処理がminiterm.pyと相性が良くなくて挙動が微妙でしたが、
よくよく考えてみると、Windows用PythonではなくてMSYS2用Pythonでやってみるべきだったような気も。)
コマンドプロンプトではルネサスWebコンパイラでSerial.print()の引数に日本語を書くと文字化けする

MSYS2のコンソールウィンドウであれば問題無く日本語表示させることが出来る

追記 : メモ
たぶん、miniterm.pyを改造すれば、UTF-8→SJISへ変換して表示させたり、表示にタイムスタンプを付けたり、
通信ログのバックアップを自動で何世代分か残しておいたり、といったことは出来そうな気はしていますが、、、
追記 : 雑感
Linux(やMac OS Xでも?)にリモートログインしたシェルでminiterm.pyを実行すれば、リモートでRL78/G13と
通信(シリアルモニタ)出来そうです、、、 さらに、miniterm.pyを改造して、特定のフォルダのHEXファイルが
更新されたら、通信(シリアルモニタ)を中断し、フラッシュ書き込みツールを起動し、フラッシュ書き込み完了
後に通信(シリアルモニタ)を再開する、ということを自動的に行うように出来たら、ちょっと面白そうです、、、
なお、CS+に以前のエントリのPuTTYのpscpコマンドでファイル転送する処理を外部ツールとして登録すれば、
メニューやツールバーボタンの操作でビルドしたHEXファイルをリモートへ転送することは出来そうです、、、
追記 : メモ
そういえば、という感じで思い出したのですが、以前ウェブで調べ物をしていた時にKURUMI基板をXBeeで遠隔
書き込みされている人のブログを読ませて頂いたことがありました。その人のブログをもう一度探してみました。
解禁?ルネサスのRL78マイコンを使ったArduino Pro mini互換ボードGR-KURUMIをXBeeでプログラミング
Under Power 研究所 - hamayan
http://hamayan.blog.so-net.ne.jp/2013-04-05
内蔵フラッシュメモリ書き換えプロトコルではフラッシュメモリブロック単位で書き換えることが出来ますので、
プログラムのパラメータデータをうまく配置すればパラメータデータだけを書き換えることも出来そうです、、、
追記 : メモ
CQ出版社のInterface誌10月号(8月25日発売済み)の特集はPythonだったようです。(マイコン用MicroPythonと
いうものの記事もあるようです。すみません。まだ今月号は買っていませんので、目次からの情報ですが、、、)
世界の英知!Pythonライブラリ事典101
データ解析時代の新定番Python
http://www.kumikomi.net/interface/contents/201610.php
miniterm.pyという通信端末スクリプトが含まれていたことを思い出したので実行してみました。幸いなことに、
DTR信号(やRTS信号)を反転させる機能があり、それを使うことでうまく通信することが出来ました。
miniterm.pyのヘルプ

起動するとCOMポートを聞かれるので入力する(まだ通信は始まらない)

キーボードから ^T ^D を順に入力すると通信を開始(DTR信号の場合) (RTS信号であれば ^T ^R を順に入力)

小技として ^T ^D ^T ^D でRL78/G13をリセット可(DTR信号の場合) (RTS信号であれば ^T ^R ^T ^R で)

追記 : 補足
後で気付いたのですが、スクリプトminiterm.pyへの引数によって指定することも出来るようになっていました。
miniterm.pyの引数のヘルプ

引数に COM14 --dtr=0 で起動時から通信を開始(DTR信号の場合) (RTS信号であれば COM14 --rts=0 で)

追記 : メモ
Windowsではコマンドプロンプトの漢字コードがSJIS固定になっているので、miniterm.pyのままではルネサス
WebコンパイラでSerial.print()の引数に日本語を書くと文字化けしてしまいますが、Linux(やMac OS Xでも?)
ではコンソールウィンドウの漢字コードがUTF-8であれば、ルネサスWebコンパイラでSerial.print()の引数に
日本語を書いても問題無く日本語表示されそうな気がします。WindowsでもLinux環境をエミュレーションする
ツールに含まれているコンソールウィンドウであれば漢字コードを変更する機能とかはありそうな気がします。
例えば、以前のエントリで試してみたMSYS2というLinux環境をエミュレーションするツールにはありました。
(ただ、MSYS2がキー入力や画面出力をフックする処理がminiterm.pyと相性が良くなくて挙動が微妙でしたが、
よくよく考えてみると、Windows用PythonではなくてMSYS2用Pythonでやってみるべきだったような気も。)
コマンドプロンプトではルネサスWebコンパイラでSerial.print()の引数に日本語を書くと文字化けする

MSYS2のコンソールウィンドウであれば問題無く日本語表示させることが出来る

追記 : メモ
たぶん、miniterm.pyを改造すれば、UTF-8→SJISへ変換して表示させたり、表示にタイムスタンプを付けたり、
通信ログのバックアップを自動で何世代分か残しておいたり、といったことは出来そうな気はしていますが、、、
追記 : 雑感
Linux(やMac OS Xでも?)にリモートログインしたシェルでminiterm.pyを実行すれば、リモートでRL78/G13と
通信(シリアルモニタ)出来そうです、、、 さらに、miniterm.pyを改造して、特定のフォルダのHEXファイルが
更新されたら、通信(シリアルモニタ)を中断し、フラッシュ書き込みツールを起動し、フラッシュ書き込み完了
後に通信(シリアルモニタ)を再開する、ということを自動的に行うように出来たら、ちょっと面白そうです、、、
なお、CS+に以前のエントリのPuTTYのpscpコマンドでファイル転送する処理を外部ツールとして登録すれば、
メニューやツールバーボタンの操作でビルドしたHEXファイルをリモートへ転送することは出来そうです、、、
追記 : メモ
そういえば、という感じで思い出したのですが、以前ウェブで調べ物をしていた時にKURUMI基板をXBeeで遠隔
書き込みされている人のブログを読ませて頂いたことがありました。その人のブログをもう一度探してみました。
解禁?ルネサスのRL78マイコンを使ったArduino Pro mini互換ボードGR-KURUMIをXBeeでプログラミング
Under Power 研究所 - hamayan
http://hamayan.blog.so-net.ne.jp/2013-04-05
内蔵フラッシュメモリ書き換えプロトコルではフラッシュメモリブロック単位で書き換えることが出来ますので、
プログラムのパラメータデータをうまく配置すればパラメータデータだけを書き換えることも出来そうです、、、
追記 : メモ
CQ出版社のInterface誌10月号(8月25日発売済み)の特集はPythonだったようです。(マイコン用MicroPythonと
いうものの記事もあるようです。すみません。まだ今月号は買っていませんので、目次からの情報ですが、、、)
世界の英知!Pythonライブラリ事典101
データ解析時代の新定番Python
http://www.kumikomi.net/interface/contents/201610.php
- 関連記事
-
- RL78マイコン基板(RL78/G13)|Internet ExplorerからOCXを使わずにCOMポートを読み書きする
- RL78マイコン基板(RL78/G13)|KurumiWriter(改)で書き込んで自作utf8to932コマンドで日本語表示
- RL78マイコン基板(RL78/G13)|KurumiWriter(改)で書き込んでmoreコマンドでシリアル通信する設定
- RL78マイコン基板(RL78/G13)|KurumiWriter V1.00(ソース公開版)のフラッシュ書き込み時間の改善
- RL78マイコン基板(RL78/G13)|KurumiWriter V2.10とrl78flashの書き込み時間の比較 (CP2102編)
- RL78マイコン基板(RL78/G13)|CP2102+rl78flashで秋月のRL78搭載変換モジュールに書き込み
- RL78マイコン基板(RL78/G13)|CP2102+KurumiWriterで秋月のRL78搭載変換モジュールに書き込み
- RL78マイコン基板(RL78/G13)|rl78flashで書き込んでPython+pySerialでシリアル通信する設定
- RL78マイコン基板(RL78/G13)|TeraTermでログにタイムスタンプを付けて自動保存してくれる機能
- RL78マイコン基板(RL78/G13)|WebコンパイラのSerial.printに日本語出力させてTeraTermで表示
- RL78マイコン|日立/RSDの人のCC-RLの論文が情報処理学会の優秀論文(全54編)の1つに選ばれていた
- RL78マイコン基板(RL78/G13)|rl78flashで書き込んでTeraTermでシリアル通信する設定
- RL78マイコン基板(RL78/G13)|KurumiWriter V1.00(ソース公開版)とrl78flashの書き込み時間の比較
- RL78マイコン基板(RL78/G13)|rl78flashの書き込みボーレート変更不具合の暫定修正('workaround')
- RL78マイコン基板(RL78/G13)|KurumiWriter V1.00(ソース公開版)で不安定動作の暫定修正
2016/09/18 blog-entry-816 category: RL78 /* 16bit,8bit CISC */
| h o m e |