RL78/G23-64PFPBのArduinoIDE環境を使ってみました。

チョコです。

やっと、RL78/G23-64PFPBのArduinoIDE環境を使ってみました。

RL78/G14FPBのサンプル・コードをRL78/G23-64PFPBのArduinoIDE環境に移植したり、MultiFuncシールドを接続して動かしてみました。

本体は、サンプルプログラム等に投稿してあります。アップしたのは、以下の3つです。

興味がある人は動かしてみてください。

Parents Reply Children
  • チョコです。

    シェルティさん、早速のリプライ有難うございます。

    >RL78用のArduinoライブラリ内部で実装が空関数とかになっているかもしれません。

    そうですか。RL78/G10からLCDのライブラリを移植してみようかと思います。

    7セグLEDやLCDはセンサー等の測定結果の表示に使う予定なので、最初に作成しています。

    今回は4ビット幅で直接制御し、その後I2C対応(そうすると、ArduinoIDEのAPIはないので、新規作成)予定です。

    これまで、ベアメタルでのプログラムをやっていたので、Arduinoは少し不便かなと思っています。ハードを直接いじることはできますかね。特にタイマ系で使用可能なリソースは何なのかを知りたいです。

    以上

  • チョコさん

    シェルティです、こんにちは。

    コメントありがとうございます。

    >>これまで、ベアメタルでのプログラムをやっていたので、Arduinoは少し不便かなと思っています。ハードを直接いじることはできますかね。特にタイマ系で使用可能なリソースは何なのかを知りたいです。

    はい、可能です。Arduinoライブラリをe2 studioに含めた形でスマートコンフィグレータでタイマや他のペリフェラルを再設定できる環境を追々以下に解説記事を増やしていきたいと考えています。

    https://github.com/renesas/Arduino/wiki/%E3%83%9B%E3%83%BC%E3%83%A0#arduino%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E5%86%85%E9%83%A8%E3%82%92%E8%A9%B3%E7%B4%B0%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%97%E3%81%9F%E3%81%84%E5%A0%B4%E5%90%88

    Arduinoはマイコン導入時の勉強には最適ですが、使いこなしてくると逆に不便なところが出てきます。以下は設計資料からの抜粋ですが、RL78へのArduino適用→量産製品開発について以下のような導線を考えています。

    以上です

  • チョコです。

    シェルティさん、情報有難うご合います。

    >Arduinoライブラリをe2 studioに含めた形でスマートコンフィグレータでタイマや他のペリフェラルを再設定できる環境を追々以下に解説記事を増やしていきたいと考えています。

    完成したら、参考にさせていただきます。

    >Arduinoはマイコン導入時の勉強には最適ですが、使いこなしてくると逆に不便なところが出てきます。

    それでも、ArduinoのAPIは結構簡単にI2CやLCDを制御できるので、そこらを少しモディファイしておけば、マルチタスク環境でも結構使いまわしができるかと考えています。

    現状のコード生成には不満を感じているので、ArduinoのAPIには期待しています。

    以上

  • チョコさん

    こんにちは、シェルティです。

    コメントありがとうございます。更新ができましたらまた報告いたします。

    >>そこらを少しモディファイしておけば、マルチタスク環境でも結構使いまわしができるかと考えています。

    おっしゃる通りと思います。↑で貼ったフローだとシングルタスク環境→Arduino環境・マルチタスク環境→一般の組み込み製品のような表現で丸め込んでしまっていてあまり正確な表現ではないですね。貼ったあとに「ちょっと失敗したなあ」と思っていて、少し補正の文言を考えていたところです。

    実際、いまRYZ014AというセルラーモジュールをArduino APIで制御する手段を開発中ですが、通信系のソフトウェアはRTOSベースで受信部分を「受信割込みで即時に受信バッファにデータを詰め込んで受信タスクを起動→受信タスクで適切なタイミングでデータ処理」とするのがセオリーでして、次の版からArduinoライブラリにFreeRTOSカーネルを組み込む格好になります。そうするとArduino環境でも普通にFreeRTOSのAPIを叩いてマルチにタスクを生成・実行できます。とするとArduino環境を使った際のユーザ要求は「詳細なデバッグがしたい」が残ってくるのだと思います。

    ともあれ引き続きいろいろ意見交換させてください。使いやすい環境づくりを目指してまいります。

    以上です

  • チョコです。

    RL78/G10からLCDのライブラリをLiquidCrystal()関数の簡易版としてRL78/G14-FPBのアプリケーションプログラムに組み込んでみました。

    RL78G14-FPBで遊ぶ?

    今回は、まじめなサンプルコードなので、遊びとは言えないかもしれません。

  • チョコです。

    今回は、RL78G14-FPBからRL78G23-64PFPBのArduino IDE環境にプログラムを移植して動作確認を行いました。

    LCD部分をライブラリにしたかったのですが、方法が分からないので、力任せにコピペしました。

    3か所ほど少し修正しただけで、動作しています。

    LCDが使えるようになったので、少し使い道が広くなるかと思います。

    とりあえず、「サンプルプロフラム等」に投稿してありますので、興味がある方は覗いてみてください。

    以上

  • チョコさん

    こんにちは、シェルティです。

    ありがとうございます。ルネサスでもRL78G23-64PFPB向けにLiquidCrystal()の作りこみを開始しました。あと128x64ドットのOLED表示機もサポートしようと考えています。投稿いただいたデータを開発チームにも見てもらおうと思います。

    以上です

  • LCD表示器の制御方法.pdf

    チョコです。

    レス有難うございます。

    元が、RL78/G10で作成したライブラリをRL78G14-FPBに移植したものをRL78G23-64PFPBに移植したものなので、最後は力任せでした。

    RL78G14-FPBの方が見やすいかと思います。また、以前検討したときにまとめた資料(PDF)を添付しておきます。

    CS+環境では、ArduinoのAPIのような使い方が難しいので、そこらは対応出来ていません(RL78G14-FPBでは、"."を

    構造体で対応しているようですが、今回はそこまではやっていません)。

     

    必要なら、16文字2行のLCDのボードを提供可能です。

    以上

  • チョコです。

    LCD_LIBの部分を本来のスケッチとは分けて使いやすくしました。

    RL78G23-64PFPBで遊ぶ(3)改

    具体的には、下の画面イメージに示すように、LCD_LIBタブにLCDのライブラリを独立させました。

    このように分離した状態でコンパイルして動作させたのが下の写真です。

    これまでの写真のボードと異なり、8ビットI/Fでも使えるようになっていますが、

    これまでと同様、今回は4ビットI/Fで使っています。

    以上

  • チョコさん

    シェルティです、こんにちは。

    >>必要なら、16文字2行のLCDのボードを提供可能です。

    ご配慮感謝いたします。こちら、弊社でも調達しましたので提供は今のところ不要ですね。

    またいろいろ実装面について情報共有、相談などさせてください。

    以上です