2010年12月15日水曜日

なんとなくの見た目

Arduinoが起動してて、コンパイルが済んでるとこんな感じ
Arduinoのファイルが無いとこうなる。やったなか?
右上のアイコンがカラーなら、押せて、それを押すと、Arduinoのテンポラリから読み込んだ、Hexを送る訳だ。隣に有る矢印は、ドラッグドロップされた、Hexを送るボタン。
色気はArduino IDEに合わせた。

かなり、フェイルセーフになった。私の性格上、「ファイルが有りません」なんてダイヤログは出さない。書込ボタンをOFFにしちゃうから・・押せない。
思ったより速い・・(うちの、core2の3GHzだけど)・・Arduinoのフォルダは、イベントごとに見に行ってる。コムポートも同じで、追加すれば認識する。
さすがに、Rs232Cから先に有る、MCUを頻繁に見に行くと、その道具の構造上、繋がってない可能性大だからエラーメッセージの嵐になるので、そこだけは、書込寸前に、一回、INFOを取るだけにする予定。
そのINFOとかから、つながってるMCUを判断して、一番最初に書いた、MCUの絵が出てきて、接続端子とかを表示する。(接続端子名は、私式の、ファイル名で指定すれば、絵に反映するようにする)ファイル名に、MCU名を記載すれば、ドラッグドロップと同時に絵と端子位置を表示する。
(それを見ながらブレッドボードに配線出来るようにするのだ)

ArduinoのBoards.txtは持ってくる事にした。

Arduino自体、私の、アプリケーションフォルダに有る、4個はちゃんと見つけてくれたから、どのArduinoを使うかで、その奥に有る、Boads.txtや、Avrdudeを見つける事になる。
Macのアプリケーションフォルダに入れて、Arduino-0021とか書き換えた程度なら、自動判別する、Arduinoと言う文字と、.appで拾ってるだけだから、わざとダメにしようと思えば、出来るが・・そうゆう人は、知らない・・好きにやって。

ArduinoのBoards.txtに、このアプリ用のコマンドを書き込めるようにしようと考えてる。

コマンドライン丸ごと書いて、シリアルポートと、BPSだけ埋めるタイプにすると思うから、うまくやると、全然違うブートーローダーも使えるようになるはずだ。
その気なら、ライターのコマンド全部書いちゃえば、ブートローダーじゃなくて、ISP に転送するような真似を出来るようにする予定。

ほとんど、Arduinoの書込機能を、外部に引きずり出したような構造で、違う言語で作ったファイルの転送に耐えるようになる訳だ。
同時に、Fastbootでも書けるし、USBasp Loaderに対応した。
このアプリに組み込む予定の、FastBootのネイティブローダーはとりあえず後回しになってる。

これで、Arduino IDEがサポートする全部のMCUと、FastBootがサポートする、全部がカバー出来、USBisp loaderを利用した、mega8-328pに対応出来るはずだ。
HIDasp仕様のブートローダーにも書き込めるはずだが、その部分は、ArduinoのBoard.txtにこっちのアプリ用に追記する感じにする。
たぶん・・Usbprobeが必要だろうから、それも自動起動するようにしたいが・・あれは、入って無いマシンも有るので・・(Xcode tools入れないと入らない)無かったらさすがにエラー出すようにするだろう。

私の自己流プログラムの癖で、エラールーチンが無いから・・(エラー出てから書くタイプ)・・落ちるときは落ちると思う。(このアプリがだから安心してね)

コードを書くって言う位大きめなのは、あと5ブロックくらい

ArduinoのBoards.txtを、全部メモリーに放り込んで、インデックスを引くルーチン
(ついでに、そのArduino内の、Avrdudeの存在確認する)

インデックスを引いて、書き込みたいMCUを選択させ、その内容を、記録するルーチン

どの時点で、作業内容を保存しようか迷ってるがそのルーチン

コンフィグレーション MacOS以外や、カスタムで、あらぬ処にある、Arduinoの位置指定とか、COM12に、Arduino UNOって名前付けたいとか・・そうゆうの。COMポートは、同時接続数16個にした。(同時に、16個の、USBシリアルを付ける人は居ないだろうが・・255個にしてもいいけど・・面倒だから・・)

文字列生成して、コマンドラインを作るルーチン、これは難しく無いだろう。

MCUの絵を表示して、指定のピンの位置に、RxとかTxとかの札を並べるルーチン。

ブートローダーが、INFOの時に出す、コマンドラインを解析して、グラフィカルなインフォメーションに切り替えるルーチン・


たぶん、これらよりも、まだ一杯作らないといけない、iconの方が大変かも・・ 

4 件のコメント:

  1. こんばんは(^-^*)
    これはこれはたいへんなアプリを書いていらっしゃるのですね。それもこんな短期間で!
    私はWindowsXPあたりからWindowsのGUIなんかがわからなくなってDOSアプリかunixコマンドしか書けなくなってしまいました。。。(T_T)
    RealBasicでしたっけ?ちょっとほしいかも・・・

    返信削除
  2. マックだけとかとかUNIXだけならm9800円しかしないですよ
    Realbasicって。Linuxのアプリケーションが出来ちゃうって凄いでしょ。次作は、Webアプリも出来るそうで・・私もアップデートに迷ってます。他の言語への、IF持ってるから、GUI負だけサクッとこれで作らせるってのも有りです。大人数でマルチプラットホームやるならJAVAだけど・・一人ならこれとかだと思う。速くは無いけど、ゲーム作るなら、3次元エンジン付きの、Darkbasicだよ。Cでも書けるし、私そっちも持ってます。ただしWIN専用

    返信削除
  3. コメントありがとうございます。
    今日RealSoftのサイトから体験版もってきました。暇を見てやってみます!あ、でもdarkbasicがcでも使えるなら、、、わたしはWinらしsくない独自UIとか装飾的な小細工とかも好きなので(邪道ですよね~??)興味をもってしまったじゃないですか!(笑)

    返信削除
  4. いわゆる最近当然の、3Dゲームエンジンなので面白いが、3Dモデリング能力とか必要ですよ。ムービーを流したまんまの板がクルクル回りながら飛んでったりできますが・・個人的には、日本風の光感ってかなり難しいですね、欧米的な、きっぱりスッキリなら、簡単みたいですが、ぼわぼわーーっと霞んだ感じは難しい。
    3Dのゲームキャラとか作れるから、それ動かしたくて買いました。暇だったら再挑戦しようと思ってます。ただまあWin版だけしか出来ないのが・・辛い。
     別の物は、Xbox用なら出せるとか有ったと思います。

     Darkbasicはその昔、3D演劇用アプリって考えてまして・・劇場とキャラクタを貸すから、スクリプトを足した、シナリオをRUNさせる物を作りたかったんですよ・・日本語で割と普通に書いたシナリオで動くようにしたかったんですね。
     俳優とか、小道具や、大道具も一応有るが、有名になっちゃったキャラとかは、出演交渉しないといけないと言う・・3D制作者と、シナリオライターのコラボが出来て、声優としての出演オーディションなり、出来るようなソフト考えてました。
     3Dは作れるんだけど、コーディングが・・やっぱりマンパワーですこうゆうのは。
     
     でもまあ、英語気にしなければ、海外の言語は一般的に安いですよ。日本語化すると何故か、倍以上する時代から、製造元に見捨てられて・・Realbasicとか、直販でも日本語ですから。
     ちなみに、OSXは、何処で買っても日本語使用になるし・・Winodwsも英語版で、日本語入力出来るので、たまにそっち入れます。バグ少ないし・・メニューが少しマシ。
     意訳、誤訳まで含んだバグだととっても痛い。
     某3Dソフトも、国内リセーラーが勝手に、日本語フォルダを作り互換性が無くなって、みんな英語版買ってるしーー大きなお世話になってる部分も有る。
     しかし、Arduinoの日本語化って遅いね。
     リソースが分離しててくれればやるんだけど、あれソースに書いて有るっぽい。XMLで外部リソースに置くのが、Mac流・・ちなみに、私の作ってるは、その辺手抜きで、コードにガンガン書いて有るが、MAC版は、自動でリソースに別れるから・・たぶん大丈夫だろうと思う。(コード内に書かなければ・Windowとかに書いて有るだけなら、リソースに勝手に別れるのがMAC風)

    返信削除