Giter Site home page Giter Site logo

kimushu / rubic-chrome Goto Github PK

View Code? Open in Web Editor NEW
13.0 4.0 4.0 1.19 MB

(Obsolete. Not maintained anymore) Prototyping tool for embedded-boards with Ruby language -> New version https://github.com/kimushu/rubic-vscode

License: MIT License

CoffeeScript 69.69% CSS 9.04% HTML 15.66% Makefile 4.98% Ruby 0.63%
mruby rubic peridot gr-citrus

rubic-chrome's Introduction

Rubic

Rubic(ルービック)は、Ruby言語を用いた組込みボードのプロトタイピング環境です。

スクリプト入力画面でプログラムを書いたら、接続しているボードを選択して[実行]ボタンを押すだけで、プログラムがボード上で走り出します。

本ソフトウェアは、Google Chrome™アプリとして提供され、Chromeの動作環境(Windows / Mac OS X / Linux / Chrome OS)であればどの環境でも使うことができます。

Rubic Introduction

機能

  • スケッチの編集/保存 (保存先はPCのローカルストレージ)
  • Rubyからmruby中間コードへのビルドおよび対応ボードへの転送

対応ボード (バージョン 0.9.0 時点)

仕組み

Rubicアプリ本体はCoffeeScriptから変換されたJavaScriptで構成されており、その内部には、emscriptenでビルドすることでJavaScriptに変換されたmrubyが同梱されています。

[実行]ボタンが押されると、同梱されたmrubyが起動してスケッチのRubyスクリプト(.rb)をmrubyの中間コードファイル(.mrb)に変換します。変換された中間コードファイルは接続した組込みボードに書き込まれ、ボードがリセットされてすぐに動き始めます。

更新履歴

  • 2016/10/18 : 0.9.1 Chrome バージョンアップに伴う不具合の緊急修正
  • 2016/10/09 : 0.9.0 ハードウェアカタログ追加、複数ファイル編集対応、UIの日本語化
  • 2016/05/14 : 0.2.2 GR-CITRUS 対応追加
  • 2015/12/10 : 0.2.0 Wakayama.rb ボード対応追加、出力ウィンドウ追加
  • 2015/04/19 : 0.1.0 初回リリース

今後の予定

  • (2016/11) 1.0.0 リリース予定。英語UI対応、ファームウェア書き換え機能の内蔵、PERIDOT向けファームウェアの追加等。
  • 多言語対応(JavaScript/Lua/micropython)
  • Chromeアプリ終了に伴うElectronへのプラットフォーム移行

不具合報告や要望について

  • 不具合のご報告や機能追加等のご要望は、GithubのIssuesページ (https://github.com/kimushu/rubic/issues) へ登録いただけますと幸いです。Issuesは日本語で記述して頂いて問題ありません。

ライセンス

Rubic本体のソースコードは、MIT Licenseで公開されています。

同梱された各ライブラリのライセンスについては、「左上のメニュー→このアプリの情報」から確認できます。

privacy-policy

Rubicは、各種対応ボードの最新ファームウェアを利用できるよう、インターネットに接続してカタログ情報の取得を行います。 この際、取得するボードの種類が送信されますが、ユーザの書いたスケッチのソースコードや、ユーザアカウントの情報を送信することはありません。

rubic-chrome's People

Contributors

kimushu avatar takjn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rubic-chrome's Issues

obsoleteなオブジェクトの使用状況確認

Chrome 52.x→54.0 にて、Obsolete とされていた FileError オブジェクトが削除された。
これに伴い、FileErrorの派生クラス定義で失敗するようになり、Loadingのまま遷移しない不具合となった。

不具合はFileErrorをDOMErrorやDOMExceptionに変更することで緊急修正したが、その横展開として
他に突然消滅するリスクの高い Obsolete なオブジェクトを使用していないか、確認が必要。

ハードウエアの構成で選べる回路が増えるイメージです。国内精密プロセス製造 EMSとオランダ、イタリアで製品が製造される予定です。

太陽誘電、国分寺 日立セミコン 三菱さんも興味があるようです。
伝導素子をフィルムにしてプリンティング技術で配線することで
驚くほど製造原価が安くできるそうです。

RUBYの挙動が改ざんされないようにROMにして接続します。
SJIS EUC-JP UTF8 常用漢字 辞書などもROMにして
接続します。Orgごとのプロダクトマネージャが独自に拡張してきます。

10GBイーサポートを10個つけてIDCにしようという人もいます。

1個辺りに得られるお金が15円でも経営できます。

fave fun anyway!!!JFLABO

実行時に転送に失敗することがある。

Rubic 0.9.0、ボード種別はCITRUS、ファームウェアのリビジョンは2.13(2016/10/1)で、実行時の転送に失敗することがあります。

ビルドに成功しました
main.mrb を転送しています...失敗しました

main.mrbのファイルサイズ は -g オプションを外した状態で9023 バイトです。同じファイルでRubic 0.2.4のときは、CITRUSからのエラーメッセージ(size is greater than 8192)が表示されました。
Rubic 0.9.0では、TimeoutErrorとなってしまうようです。

Chromeのログは以下の通りです。

window.js:1 Popup {message: "Failed to transfer 1", title: "Transfer failed"}module.exports.App._popupMessage @ window.js:1(anonymous function) @ window.js:5(anonymous function) @ window.js:8
window.js:3 Uncaught (in promise) TimeoutError {message: "timeout error", name: "TimeoutError"}

タイムアウトの時間を長くすることはできますでしょうか?

mrbcのデフォルトオプションが、0.2.xと異なる

0.2.4 : -g (原則固定、sketch.json直接編集で変更可能)
0.9.0 : なし (スケッチエディタで変更可能)

この影響により、mrb実行時エラーで行番号が表示されないなどの振る舞いの違いが出ている。

wakayama.rbボードへの対応

wakayama.rbボードへの対応を予定されているとのことですが、いつ頃を予定されてますか?
wakayama.rbボードを使った教育向けプロジェクトでぜひ、rubicをIDEとして使えたらいいなぁーと思いました。

「ファームウェアのダウンロードが必要です」とは

初めまして.GR-CITRUSの開発をRubicを使って行おうとしている者です.
GR-CITRUSファームウェアについてご質問があってissueを作成させていただきました.

RubicはファームウェアをGitHub上の最新版から自動的に取得すると認識しているのですが,
以下のような表示が出てきます

2016-10-24 14 54 50

この場合,ファームウェアをうまく取得できていないということなのでしょうか?
実際,ボードの情報を見てもファームウェアのリビジョンがハードウェア構成と噛み合っていない気がします.

2016-10-24 15 00 18

ご教授願えないでしょうか?
以上,よろしくお願いいたします.

RUBIC-Jプロジェクト 80million プロセッサ供給 マスプロダクション

https://github.com/JFLABO/rubyex
名前がかぶりそうでした。
実用フェーズに入っており量産体制が整備されてつつあります。
JIS規格適合水準で、ゴマ粒くらいの大きさにRubyROM
DRAM ストレージ128GB位を集積してUSBメモリ程度の
製品を供給する予定です。

・検査水準は日本語Rubyが適正に実行されること
・量産して普及させることを目的としています。

IDCエディションもあります。シリコンウエハ 円盤状に回路を形成して
2018年水準でビルが必要だった規模のデータセンター事業が1枚の円盤
に集積される計画です。もっとかすかな電力で壮大なことをやり遂げる

タイムアウト処理の追加

現行バージョンでは、多くの異常系パターンでRubicがModal spinの画面から返ってこなくなり、
アプリの再起動を余儀なくされます。タイムアウトして一旦UI操作可能な状態に戻るようにするなど、
改善が望まれます。

  • ボード接続失敗時
  • スケッチ実行失敗時
  • スケッチの停止

コンパイル時/転送時のエラーがUIに表示されない

issue #5 より。
転送時にボード側からエラーメッセージ(例:size is greater than xxx byte)を受信したとき、
それがUIに表示されず、見た目はただのタイムアウトに見える。
受信したメッセージを表示して転送エラーとすべき。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.