Renesas Rulz
Renesas Rulz
  • User
    Join or sign in
  • Site
  • Search RenesasRulz.com
  • User
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-KURUMI フォーラム ★ご意見ください!RL78/G13のライブラリ統合化したいと思います。
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • Replies 176 replies
  • Subscribers 280 subscribers
  • Views 86729 views
  • Users 0 members are here
  • GR-COTTON
  • GR-KURUMI
  • GR-ADZUKI
Options
  • Share
  • More
  • Cancel
Related Tags
  • Arduino Pro-mini
  • E1
  • GPS
  • GR-ADZUKI
  • GR-COTTON
  • GR-KURUMI
  • GR-KURUMI 書き込み
  • gr-sakura
  • Guthub
  • I2c
  • JPEG
  • Kirin
  • PMT
  • RL78 レジスタバンク
  • rx
  • S/Wシリアル
  • sd card
  • Serial2
  • WDT
  • webコンパイラ
  • xbee
  • コンパイル
  • シリコンマイク
  • 誤差補正
  • 音源
Related

★ご意見ください!RL78/G13のライブラリ統合化したいと思います。

Okamiya Yuuki
Okamiya Yuuki over 5 years ago

がじぇるね岡宮です。

RL78/G13のボードとしてGR-KURUMI、GR-COTTON、GR-ADZUKIの3つがありますが、これらのライブラリをマージしようと思います。

★3/13を目途にご要望や修正点などを締め切り、その後検証して3月末にWebコンパイラに反映、順次IDE for GRへ適用したいと思います。

 

■概要

ライブラリについて、これまで多くのご意見やご提案があり、それぞれを独立してライブラリアップデートを図っていましたが、マージすることでメンテナンス性の向上と、見やすさ・分かりやすさを向上するために、ファイル構成変更をArduinoや既存のGR-SAKURAと同様にしたいと思います。

・マージについて

 __RL78_G13__ をRL78/G13のGRボード共通マクロとして定義。コンパイルオプションで指定。ちなみにArduinoでは__AVR_ATmega1280__という感じ。

 ボードごとにGRKURUMI, GRADZUKIなどコンパイルオプションを付加することで、切り分けを行う。(テスト版ではまだ付加しておらず、GR-ADZUKIで動作確認してます)

・ファイル構成変更

 ・GR-SAKURAと同様に以下の構成に変更

  Arduino\cores\ 

                 \libraries (階層変更なし)

                 \rl78\ (portableフォルダを廃止してrl78直下に変更)

 ・主な変更

  ・RLduino78_mcu_depend.hや、RLduino78_basic.cpp、RLduino78_timer.cなど、独自にArduinoライブラリが形成されていたものを以下のファイルに移植。

   ただし、関数の中身変更は改善事項を除いて基本的に実施しません。比較的RL78ライブラリは安定しているためです。(microsの検証ですごい苦労したのがトラウマです)

   \Arduino.h (標準ライブラリに広くインクルードされるヘッダ)

         \pins_arduino.h (ボードごとのピンに関するヘッダ)

         \wiring_private.h (wiring**や、W**などのArduino基本ライブラリから参照されるヘッダ)

         \wiring.c (millis()やdelay())

         \wiring_digital.c (digital系)

         \wiring_analog.c (analog系)

         \wiring_pulse.c (pulse系)

         \wiring_shift.c (shift系)

         \WMath.cpp (算数)

         \WInterrupts.c (外部割込み)

         \Tone.cpp (Tone関係)

         \utilities.cpp (GRで独自のもの。例えば省電力やattachIntervalTimerとか)

         \rl78\specific_instructions.h (Fujitaさんが作ってくれた高速化やお役立ち)

 

 

■その他

・標準以外のArduinoのライブラリでよく使われるdigitalPinToPortなどを実装

・RTOS用の記述は削除(動作検証できておらず、あまり使用した事例もみないため。)

・attachMicroIntervalTimer、MsTimer2の時間ずれ不具合は反映しました(Fujitaさんありがとうございます!)

・makeでarによるアーカイブ化してから、リンクするとなぜか不要なものがリンクされてしまうため、適用保留としてます。

 

■テストファイル

・makefile

 ※make用ですが、ActivePerlを組み込んでC:\Program Files (x86)\KPITにGNURL78v14.03-ELFをコピーし、コマンドプロンプトでbuild実行してもOKです。ちなみに.batを実行してもOKで、これがWebコンパイラのビルド実体でもあります。

・e2studio用

 インポートしてビルドできます。

■ご意見、要望などまとめ

No. 内容 対応方針 コメント
1 シリアルバッファを任意に変更できるように 専用のクラスメソッドを用意する  
2

-mcpu=g13 -mmul=noneを指定

以下で分ける

#if __RL78__
 /* 全ボード全RL78共通 */
 #if GRKURUMI
  /* GR-KURUMI 固有 */
 #elif GRCOTTON
  /* GR-COTTON 固有 */
 #elif GRADZUKI
  /* GR-ADZUKI 固有 */
 #endif
 #if __RL78_G13__
  /* RL78/G13 固有 */
 #elif __RL78_G14__
  /* RL78/G14 固有 */
 #elif __RL78_G10__
  /* RL78/G10 固有 */
 #endif
#endif
 その通りに行う  
3

MsTimer2は標準ではないので、librariesフォルダに入れる

その通りに行う  
  • Reply
  • Cancel
  • Cancel
Parents
  • @chobichan
    @chobichan over 4 years ago
    いいかげん、リファレンスを更新して!
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to @chobichan

    GR-SAKURAのピンマップの件 も放置だし期待薄ですね。

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to fujita nozomu
    自分であれこれ調べたりでやりたいことを実現できる人よりはそうでない人の方が圧倒的に多く、がじぇるねが拾うべきは後者だと思うのだけどもなんでかそういう層を裏切りまくりだよなあ。
    「なんだこりゃわけわからん」と思われたら次がないことは明らかだけども、社員の人が自社の製品を貶める活動をされてるのは全く理解不能だわ。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    おっしゃりたいことは分かりますが、ちょっと言い過ぎではないですか。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to Okamiya Yuuki
    > ちょっと言い過ぎではないですか。

    いや、全然。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to Okamiya Yuuki

    https://japan.renesasrulz.com/gr_user_forum_japanese/f/web_compiler/4722/thread

    webコンパイラでファイルが消えたという人放ったらかしとかあり得んわ。

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    このスレは見落としてました。これまでWebコンパイラは個別にメールで対応することが幾度かありましたが、Rulz投稿は見落とすこともあります。結果としては放ったらかしている状態になってましたね。

    ちなみにWebコンパイラのプロジェクトファイル消失に関しては、一時ディスク逼迫が生じデータベースファイルが正しく更新されないことがあり、実体のファイルは存在してもプロジェクトが表示されなくなる問題が2回ほどあり、都度復旧してました。現在では解消しています。

    こちらとしても課題に対しては取り組んでいますが、人手の関係で全ての事柄に同時対処することは困難のため、都度影響度合いを見ながら対処していることご理解ください。ディスられるのは慣れてる方ですが、言わんとすることは分かりますので、前向きに行かせてください。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to Okamiya Yuuki

    > このスレは見落としてました。

    先月豊洲で直接この話してんのに今頃何言ってんだ。

    > こちらとしても課題に対しては取り組んでいますが、人手の関係で全ての事柄に同時対処することは困難のため、都度影響度合いを見ながら対処していることご理解ください。

    人手が足りないなら社内外でボランティアを募る等やり様だろう。

    社外の人間からコード提供を受けながらしばらく経ってからの

    https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-adzuki/4493/softwareserial/26854#26854

    ダメでしたので、そのままアップさせていただいてます。

    なんてふざけた回答はあり得んだろ。問題解決できなければスレッドを継続して問題解決への協力を求めるところだろうに。

    コード提供者を蔑ろにしてる自覚があれば「ご理解ください」なんて言葉は出てくる筈はない。

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    豊洲で直接伺ったときはそこまで具体的な話ではなかったので、個別対処した過去の案件と思ってました。本スレではFujitaさんががじぇるねの連絡先を投稿されていますので、それでOKと思います。過去も消失問題はRulzで報告されており、気づき次第対応しています。
    japan.renesasrulz.com/.../thread
    japan.renesasrulz.com/.../thread

    SoftwareSerialの改善の余地について改善策あれば、もちろん対応します。ESP8266との通信もできており、影響は軽微と判断しアップしました。このときは実際にユーザがいて、要件を満足したのでよかったのですが、それでは足りない電子工作案件あれば、時間をかけて対処したいと思ってます。

    Fujitaさんが、RL78関連のGRボードを使用する上で問題となる点あれば、こちらでも検討しますよ。SDは問題が私のSDだけなのでちょっと優先は落としてます。
    がじぇるねのコンテストやイベントでもユーザ要望には可能な限り対応していますが、多くはセンサーモジュール用のサンプルプログラムや基本的なライブラリの使用方法についてのお問合せです。作りたいものがあれば可能な限り、RL78/RX/RZそれぞれの特色で支援するようにしてます。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to Okamiya Yuuki
    トンチンカンなリプライをありがとうございます。
    運営側としてコード提供に対するリスペクトが微塵もないことは理解しました。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    fujitaさん、digitalWriteの不具合修正コードありがとうございます。chobichanさんの方でも確認いただいたので、次版に適用しようと思いますが、問題あれば言ってください。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • fujita nozomu
    fujita nozomu over 4 years ago in reply to Okamiya Yuuki

    > chobichanさんの方でも確認いただいたので、次版に適用しようと思いますが、問題あれば言ってください。

    SoftwareSerial はどこだかのユーザのところでは動作してるので公開する、SD カードの件では問題の現象が確認できたのが手許の一枚だけなので公開するというのも同根と思いますが、ソフトウェアを不特定多数の方々を対象に公開するということに対して、特定個人のところで確認できたから次版に適用しようというのは安易すぎやしませんか。

    今回 pinMode() に以下の変更を行っています。

    • ポート・モード・レジスタを変更するタイミングを
      • プルアップ抵抗オプション・レジスタ
      • ポート入力モード・レジスタ
      • ポート・レジスタ
      • ポート出力モード・レジスタ
      の変更の後に修正
    • HIGH出力に設定された出力モードのピンを INPUT か INPUT_TTL に変更する場合 INPUT_PULLUP か INPUT_TTL_PULLUP にすり替える(プルアップ付き入力モードに設定する)
    • 入力に設定されたピンを出力に変更する場合、プルアップ抵抗オプションレジスタの設定をポート・レジスタに反映する

    以上の変更により pinMode() と digitalWrite() の挙動が ATmega の載った Arduino のそれに近くなったと思いますが、これが GR-KURUMI 等のそれとして適正な変更かは議論があると思います。従来の pinMode() を使用してポート・レジスタの値を直接セットした後に pinMode(pin, OUTPUT); 等として出力ピンから最初から HIGH 出力をさせていたスケッチがあれば期待した動作となりません。そうしたい場合には pinMode(pin, INPUT_PULLUP); pinMode(pin, OUTPUT); とするか digitalWrite(pin, HIGH); pinMode(pin, OUTPUT); とする等変更が必要となります。pinMode() は基本的な関数なので影響はそれなりにある可能性は考えられます。

    ライブラリ等を含むソフトウェアの公開に当たっては

    • 現行の安定版に加え新版は暫くテスト版という扱いで公開する
    • 正確に記述した変更履歴を公開する

    等の対策はよくあることと思いますが、がじぇるねは

    • 十分にテストがされてるとはいえない新版が公開され旧版は同時に消される
    • 変更履歴は碌に書かれない

    ということが平気で行われているので混乱は避けられない気がします。

    web コンパイラのファイルが消えましたという報告があれば

    japan.renesasrulz.com/.../thread

    結局ユーザからの連絡があったかなかったに関わらずなんらかのリアクションを返す、

    拡張コネクタでのアナログ入力がうまくできずピンマップに間違いがあったとわかれば

    https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-sakura/4706/analogread

    ピンマップを修正するだけではなくて

    http://gadget.renesas.com/ja/reference/sakura/index.html

    修正したことを該当のフォーラムで報告するのは当たり前のことと思うんですけどね、そういうの含めて情報公開に消極的ですね。

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    アドバイスありがとうございます。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Reply
  • Okamiya Yuuki
    Okamiya Yuuki over 4 years ago in reply to fujita nozomu
    アドバイスありがとうございます。
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Children
No Data
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2022 Renesas Electronics Corporation. All rights reserved.