RZ1Basic

RZ1Action v0.5.8 公開

Rz1bicon04

RZ1Basic v0.5.8を公開しました。

すごく目玉な機能が着いたというわけではありませんが、REALbasic 2009 Release 2が出たこともあって、久々にバージョンアップですhappy01

RZ1Basicはここからダウンロードできます。

【更新内容】

  • (New) DIM a,b,c,...といった、1文に複数の変数を宣言ができなかったんですが、やっと対応させましたsweat01
    Rz1basicdebugscreensnapz003
  • (New) ファイルの「比較」の機能を付けました。が、重いし、比較結果がいまいちちゃんと動いてないので、ほとんど約にたちませんsweat01
    Rz1basicdebugscreensnapz001
  • (Fix) ゼロ点設定ウインドウで、画像がうまく変更できない不具合を修正した。
  • (Fix) ゼロ点設定ウインドウで、編集ボタンが修正した。
  • (Other) REALbasic 2009 Release 2でビルドした。

更新内容をメモってた、ファイルが見つからず、以上しか思い出せませんでした。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.7 公開

Rz1bicon04

RZ1Basic v0.5.7を公開しました。

この前ブログで書きましたが、大改造を予定していた、というか、大改造したんですが、処理速度に不満がある部分があって、また元に戻しましたwobblydown今回はサーボモーターの回転方向の設定変更の機能が主な更新内容です。その他は、目に見えない部分(内部)で、あれこれ改良加えてます。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • サーボモーターの回転方向の変更:サーボモーターは、角度が大きくなると右回りするのが正回転(DIR=1)で、角度が大きくなると左回りするのが逆回転(DIR=0)となっていますが、その回転方向を逆に設定することができます。今回、直接モーターにアクセスして、その設定を変更する機能を設けました。
    oneコントローラーウインドウの図のアイコンをクリックする。
    Rz1basicdebugscreensnapz013
    two回転方向を変更したい「Motor#」を選択する。
    three「読込み」ボタンをクリックする。正回転(Forward)の場合、チェックが付き、モーター番号の数値が青色になります。逆回転(Reverse)の場合、チェックは付かず、番号は赤色になります。読込みに失敗した場合は、もう一度「読込み」ボタンをクリックしてみて下さい。
    fourチェックをオン/オフして「書込み」ボタンをクリックする。うまく書き込めれば、チェックと文字の色が対応します。正しく書き込めたか心配ならば、もう一度「読込み」ボタンをクリックして下さい。
    Parallels_desktopscreensnapz080
     
  • ターミナルのフォントをHexエディタと同じにした。
  • ターミナルのフォントサイズを編集メニューまたは右クリックで変更できるようにした。
  • その他、内部的な改良をいろいろ

| | コメント (0) | トラックバック (0)

RZ1Basicは、最新版のビデオドライバーで

Windows版に関する問題なんですが、RZ1Basicで、ファイルを開く際に落ちてしまうという報告を2件ほど、受けてます。

私の環境では落ちないので、原因が全然つかめなかったのですが、ヒロビさんから、メールを頂きまして、ビデオドライバーを最新版に更新したら、落ちなくなったそうですshine

ただし、新しいドライバーが必ずしも、この問題を解決する方法とは言い切れませんし、もしかすると逆効果ということも、あるかもしれませんので、ビデオドライバーの更新は、自己責任で行って頂けますようお願い致します。

なお、私はウインドウズのことは詳しくないので、この件に関して、ヒロビさんが、ブログ記事にして頂きましたので、そちらの記事を是非参考にして下さい。>RZ1Basicのトラブルシューティング(ファイルが開けない場合)


 

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.6 公開

Rz1bicon04

RZ1Basic v0.5.6を公開しました。

ここんところバージョンアップの記事ばかりですねsweat01ちょっと大改造を予定していて、コンパイルの不具合の修正があったことと、コンパイルエラーチェックを強化したこともあり、コンパイルまわりをいじったので、一旦、公開しておきます。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • ラベルリストのラベル名のソートを許可:「ALT」キーを押したまま、リストヘッダーの「ラベル」と書かれたバーをクリックすると、ソート可能になります。もう一度、同じ様にクリックすると、ソートオフになります。※ソートしたことによる動作の不具合が起きるかもしれませんのでご注意下さい(非公式対応)。
    Parallels_desktopscreensnapz073

  • テキスト読上げ機能(英語文のみ):せっかくスピーチマネージャに対応させているので、エディタにある文章を読み上げられるようにしました。右クリックし、コンテクストメニューの「選択範囲読み上げ」で、選択した文章を読み上げます。
  • モーター回転範囲の初期設定値を変更:これまでの「初期設定」を、「安全範囲」に変更。「初期設定」の値は、既存のテンプレートプログラムでだいたいCautionエラーが出ない程度の値にしてあります。あと「最大範囲」は、すべて0〜190に設定されます。
    Parallels_desktopscreensnapz072

  • コンパイルエラーチェックを強化:※今回以下に書いたように、いろいろ対応させたんですが、まだまだエラーチェックしてないコマンドや内容もあります。
    • AD, AIMOTORIN, BYTEIN, IN, MOTORIN, PEEK, RCIN, ROMPEEK, SONAR, STATE, ACCEL, ACTION,  AIMOTEROFF, BYTEOUT, CONT, DELAY, ERX, ETX, FPWM, LOCATE, MOTOROFF, OUT, POKE, PULSE, ROMPOKE, SERVO, SPEED, TEMPO, TOGGLE などのコマンドにおいて、使用できる引数の型、引数の範囲のエラーを検出するようにした。
    • INKEY,MININ,FASTSERVO,PLAY,SOUNDなどの2000系のコマンドを使用した場合のエラーを検出するようにした。
  • 定数を使えるコマンドで、定数の両側がカッコの場合[例えば、A=AD(定数)]に、コンパイルが通らない不具合を修正。
  • シミュレーションのLEDオン/オフで、姿勢が変化する不具合を修正。
  • シミュレーションの音声認識で、起動時音声オフだった場合、オンにするようにした。

| | コメント (0) | トラックバック (0)

音声が出ない場合

RZ1Basicで、一度スピークマネージャーが起動した後で、別にファイルを開くと、音声がオフになっている不具合があるようです。もし、音声が出ない場合は、「ソースコード」隣のメニューから音声を選んで下さい。

Rz1basicscreensnapz020

| | コメント (0) | トラックバック (0)

とりあえず、RZ1Basic シミュレーション用設定の書き方

RZ1Basic シミュレーション用設定の書き方として、ムービーを撮りましたので、とりあえず、マニュアルができるまで、これを参考にして下さいhappy01

ひとつのモーションに設定を加えてシミュレーションさせるのに8分くらい掛かってますsweat01
ここにアップロードしてみました。少し目が回ってしまうかもしれませんが、我慢して最後まで見て下さい。
---------------------------------

---------------------------------

コツ

  • goto/gosubのジャンプ先へは、ALTキーを押したままダブルクリックでジャンプします。ジャンプ先から戻る時は、検索フィールドの横のボタンで戻れます。
  • 「BODY SETTING」のウインドウのスライダーや、エディットフィールドの数値はマウスのホィールで動きます。
  • MOVEデータを選択すると、3D画像がそのポーズをとります。FOOTGROUNDIGNのタグもあわせて選択すると、位置や角度も動きます。
  • タグは次にくるMOVEデータに反映されるので、基本的にMOVEの前の行に書く
  • standard_poseなどの他と共有しているルーチンは、standard_poseの中に書くのではなく、それらのルーチンを呼んでいるgotoまたはgosubの前に書く。
    ※同じstandard_poseでも、立っている時のstandard_poseもあれば、寝転がっている時に呼ばれるstandard_poseもあるからである。
  • ぐるりと一周するような場合は、360度を指定すると、0度にリセットされる。
    ※例えば、358度の次の姿勢が10度or370度だった場合、370度を指定すれば、358度から370度へ回転してくれますが、10度にすると358度から10度に逆回転してしまうかもしれないので、強制的に358度を360度にして、ゼロにリセットさせるとよい。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.5 公開

Rz1bicon04

RZ1Basic v0.5.5を公開しました。

今週末に、今回公開した機能の他に目玉の機能も付けて、公開するつもりでいたんですが、ゼロ点設定の編集で、重大な不具合がありましたので、急遽公開ですsign03

RZ1Basicはここからダウンロードできます。

【更新内容】

  • ゼロ点設定の編集で、重大な不具合を修正(旧バージョンでは、ボタンを動かした時、ボタンの番号が変わってしまう不具合が生じますので、このバージョンをお使い下さい)
  • RoboZak奮戦記」のtakuoさんのロボザックの写真を提供して頂いたので、ゼロ点設定のデフォルト画像に設定した。takuoさん、ご協力ありがとうございました。※下記の操作が必要です。
  • タッチセンサーのシミュレーションに対応
    音声認識モジュールや加速度センサーの時と同じように、
    '<--ROBOZAK TOUCH SENSOR AD2-->
    のようにプログラムに書くことで、環境設定で設定してなくてもオンになります。タッチは、ロボットの3D画像をクリックするとタッチしたことになります。
    Parallels_desktopscreensnapz067
  • LEDのシミュレーションに対応
    Parallels_desktopscreensnapz068
  • 検索フィールドの文字を消すボタンを用意した
    Parallels_desktopscreensnapz069
  • 検索結果、および、コンパイル時のエラーの件数を表示するようにした
    Parallels_desktopscreensnapz070 Parallels_desktopscreensnapz071

新しいゼロ点設定のデフォルト画像:3つ目の画像をカスタマイズしていなければ、図の様な画像が表示されます。カスタマイズしてなければ、前バージョンの設定が残っているため前のままの位置で、ボタンがズレているかと思いますので、one編集モードにして、two「ALT」キーを押しながら、キャンセルボタンをクリックすると、正しく並びます。
Parallels_desktopscreensnapz066

| | コメント (2) | トラックバック (0)

RZ1Basic v0.5.4 公開

Rz1bicon04

RZ1Basic v0.5.4を公開しました。

今回も派手ではないんですが、結構頑張りましたよsign03

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 加速度センサーのシミュレーションに対応
  • 音声認識のシミュレーションに対応
  • 4種類のコメントコマンドを設定した
  • シミュレーションでERXコマンドの不具合を修正
  • コンパイル時のエラー表示の順を変更

詳細は、別途書く予定でいますが、とりあえず、簡単に書いておきます。

環境設定で、加速度センサー/音声認識を設定できます。
Parallels_desktopscreensnapz064

が、以下の4種類のコメントコマンドを作ったので、必要なコマンドをプログラムに書き込んでおけば、環境設定で設定してなくても、その設定でシミュレーションします。

Parallels_desktopscreensnapz065

音声認識を設定していると、音声認識のルーチンに入ると以下の様なウインドウが出ます。

Parallels_desktopscreensnapz063

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.3 公開

Rz1bicon04

RZ1Basic v0.5.3を公開しました。

見た目、ほとんど変わってないように見えますが、中身を大改造しました。

大半の人は1種類の設定でいいんだと思うので、逆に使いにくくなってしまっているかもしれませんが、複数のロボットを使っていらっしゃる方の為に、ロボットを4種類まで設定できるようにしました。プログラミングされる方ならなんとなくイメージできるかと思いますが、こういった改造は、プログラム全体に関わる書換えになってしまうので、ちょ〜大変でしたsweat01

RZ1Basicはここからダウンロードできます。

【更新内容】

  • ロボットを4種類まで設定できるようにした。
    「環境設定」:個別設定項目のポップアップメニューでロボットごとに、それぞれの設定ができます。
    Rz1basicscreensnapz018
    ロボットの名称はポップアップメニューの一番下の「ロボット名を編集」で変更できます。私はこんな感じにしました。
    Rz1basicscreensnapz019
    「コントローラーツールウインドウ」:開くの隣のボタンで、使っているロボットを選択しておくsign01
    Parallels_desktopscreensnapz059
    「エディットウインドウ」:ここでもロボットの種類を変更できます。アイコンをクリックするとゼロ点設定ウインドウが開きます。
    Parallels_desktopscreensnapz058
  • シミュレーションで、ERXに送信できるようにした。ボタンをクリックするとその数値が送信できます。数値は32個までしか表示されていないのですが、下の「32-63」のボタンをクリックすると、32-63になります。ボタンを何回か押すことで、0-255までの数値を送信できます。
    Parallels_desktopscreensnapz060
  • GYROSENSEのデコンパイルができない不具合を修正した。

| | コメント (8) | トラックバック (0)

RZ1Basic v0.5.2r3 公開

Rz1bicon04

RZ1Basic v0.5.2r3を公開しました。

新しい機能のこともあったので、v0.5.3として公開しようと思ったのですが、その機能がまだ完成しそうにないので、v0.5.2r3として、ゼロ点設定用ポーズの問題点を修正したものを公開しました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 「環境設定」で、ゼロ点設定用ポーズの不具合を修正

なお、v0.5.3用のために環境設定のインターフェイスを作り替えていたので、「ヘルプタグ」と、「スナップショット」の項目は、「その他」に入ってます。

| | コメント (3) | トラックバック (0)

RZ1Basic v0.5.2も

「ゼロ点設定用ポーズ」に関する問題点がやっとわかりましたcoldsweats01環境設定で「OK」をクリックしても、v0.5.2で、ゼロ点設定用ポーズを保存するルーチンをコールしていませんでした(ちょ〜汗)

ということで、「ゼロ点設定用ポーズ」が100以外の角度を持ち、DIRが基本のものと異なる場合は、うまくポーズをとらないということになります。

とりあえず、ロボザック基本16関節、拡張20関節ともに、上記条件には引っかかりませんので、大丈夫だと思いますけど、兎に角、できるだけ早くv0.5.3を公開する予定でいます。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.9から0.5.1を使われてた方へ

※重要

RZ1Basic v0.5.2で、ゼロ点設定に関して、機能アップしたんですが、その関連で、環境設定ファイルの仕様を変更しました。これに伴い、v0.4.9で対応した「ゼロ点設定ポーズ」の設定データが、v0.5.2xを使うと、正しくない値になってしまっている可能性があります。

そのまま、ゼロ点設定を行おうとすると、とんでもないポーズをとってしまう可能性がありますので、以下の操作を行って、「ゼロ点設定ポーズ」の値を修正して下さい。

oneファイルメニューから「環境設定」を選択(マックの方は、アプリケーションメニュー)。
two左のリストから「ゼロ点設定」を選択。
three「初期化」のボタンをクリック。
four「OK」ボタンをクリックしてウインドウを閉じる。

以上の操作で、環境設定ファイルが復旧すると思います。
なお、この不具合に対応するため、早急にv0.5.3を作るように致します。

| | コメント (0) | トラックバック (0)

RZ1Basic RC無線コントローラー 3Dシミュレーション(2)

この前、Macwinさんのプログラムを使って、シミュレーションのデモをしましたが、今回は、最新のRZ1Basic v0.5.2r2を使って、体を傾けたり、回転したり、ラジバンダリーしたりしてみましたhappy01如何でしょうsign02

以前、マイティマウスについて書いたことがありますが、画面のPanとかTiltは、3D画面上でマウスホイールを回すとできますよ!360度回せるホイールの付いたマウスを使ってない方(Windowsの方は殆どそうかな?)は、OptまたはALTキーを押したままホイールを回して下さい。
----------------------------
   
----------------------------

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.2r2 公開

Rz1bicon04

RZ1Basic v0.5.2r2を公開しました。
先日公開したばかりなのに申し訳ありませんsign01

少しExcuseですcoldsweats01

先日対応させた体の回転のシミュレーションなんですが、ある特定の動きに対して、うまく動くようにしたハズだった動きが、最初、Angle、Positionの順で指定させてたのを、後でPosition、Angleの順に変更させたことで、その動きが、うまく動かなくなっていましたsweat01チェックしてたんですが、ある特定の動きだったので、見落としてしまいましたsweat01

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 体の回転のシミュレーションの修正

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.2 公開

Rz1bicon04

RZ1Basic v0.5.2を公開しました。
今回は、ちょ〜頑張りましたよscissorsすげ〜頭使いましたcoldsweats01新しい機能も多いので、別途、新しい機能の使い方を書かないとダメかな。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • RC無線で、ヘルプタグを編集をできるようにした。
  • RC無線で、キー割り付けを変更できるようにした。
    ●Opt/ALTキーを押したまま、ボタンをクリックすると以下のようなダイアログが表示されます。ここでキーの名称および、キー割り付けを設定できます。
    Parallels_desktopscreensnapz056
  • ゼロ点設定、初期化の機能を修正した。
  • ゼロ点設定、キャンセルの機能を修正した。
  • ゼロ点設定で、ロボザック基本型と拡張型の設定画面を用意した。
    Parallels_desktopscreensnapz049 基本形
    Parallels_desktopscreensnapz048 拡張型
  • ゼロ点設定で、カスタマイズ画像を使えるようにした。
    カスタマイズ方法は別途書きます。
    Parallels_desktopscreensnapz055 カスタマイズ
  • 3D画像で体を回転させるようなポーズにも対応した。
    Rz1basicdebugscreensnapz009
  • 3D画像で位置/回転/MOVEデータ編集用ウインドウを付けた。使い方は別途書きます。が、3D画像の右したのボタンで表示させることができます。なお、ウインドウを開いた時は、状態を読込みますが、自動で読込まない仕様にしたので、画像を変えた時は、右上の「取得」ボタンで取得して下さい。
    Parallels_desktopscreensnapz043
    Parallels_desktopscreensnapz044
  • シミュレーション再生で、ステップ再生できるようにした。
    シミュレーション再生中、停止させると、左側に下矢印の付いた小アイコンが表示されます。これをクリックすると、次のステップをひとつ行った後、停止します。行ごとに動きを確認したい場合に有効かと思います。
    Parallels_desktopscreensnapz047
  • シミュレーション再生で、体を回転させる様なモーションに対応した。 これが大変だったsweat01sweat01これに関しても、コツがあったりするので、別途解説したいと思います
    -----------------------------
        -----------------------------

| | コメント (1) | トラックバック (0)

RZ1Basic RC無線コントローラー 3Dシミュレーション

RZ1Basic v0.5.1をリリースしましたscissors
Macwinさんが、とても素敵なプログラムを書かれててheart04そのプログラムで、RZ1BasicのRC無線コントローラー機能を使った3Dシミュレーションのデモンストレーション動画を作ろうと、ここんところ、シミュレーション関連の手直しや、IF文の中のIF文対応とかをやってきました。

シミュレーションの為に、足の着地をプログラム中に書込まないといけないんですが、MacwinさんのこのRC無線用のプログラムの新しいバージョンが公開されたら、また、足の着地を書込まないといけないので、RZ1Basicのシミュレーションにも対応して頂けるとありがたいんですけどねhappy01

----------------------------
   

----------------------------
※参考:Macwinさんのプログラムのプロポ送信機スティック位置とコード

 

| | コメント (0) | トラックバック (0)

RZ1Basic v0.5.1 公開

Rz1bicon04

RZ1Basic v0.5.1を公開しました。
気になる部分をあれこれありましたので修正しました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • シミュレーション
    • 引数を2つ持つ変数/コンスタントを使えるコマンドで、変数/コンスタントを使った場合、落ちてしまう不具合を修正
    • 足の設置変更時のアップデートを修正
  • 書類を開いた際に、モーターの名称および回転方向の設定が反映されなかった不具合を修正した。
  • ゼロ点設定で、roboBASICをお手本として作ってあった部分で、roboBASICのバグと思われる部分を修正した。
  • 環境設定で、編集の為にリスト内の数値をダブルクリックすると、リストがスクロールしてしまって、数値が変更できない不具合を修正した(Windows版)。
    Parallels_desktopscreensnapz042

| | コメント (0) | トラックバック (1)

RZ1Basic v0.5.0 公開

Rz1bicon04

RZ1Basic v0.5.0を公開しました。

前回のリリースから、あまり経っていませんが、roboBASICv2.72で、IF文に関して仕様が変わった為、それに対応しましたpaper

RZ1Basicはここからダウンロードできます。

【更新内容】

  • IF文の中のIF文(roboBASICv2.72で使えるようになった機能)
    • コンパイル(対応)
    • シミュレーション(対応)
    • デコンパイル(非対応):オブジェクトコードは、IFもELSEIFも同じコードの為、IF文の中のIFなのか、ELSEIFなのかの判断を付ける方法が判らなくて対応は困難ですsweat01
  • ACCELコマンド(2000系コマンドですが対応)
    • コンパイル(対応)
    • シミュレーション(無視)
    • デコンパイル(対応)
  • BEEPコマンド(2000系コマンドですが対応)
    • コンパイル(対応)
    • シミュレーション(対応)
    • デコンパイル(対応)
  • スナップリスト:RZ1Snaplistを組み込みました。ドラッグ&ドロップ、または、ダブルクリックでコード編集フィールドにソースコードをコピーできます。
    Parallels_desktopscreensnapz032
  • 未保存書類をチェック/コンパイル/転送した場合のテンポラリーファイルの保存の不具合を修正

| | コメント (6) | トラックバック (0)

IF文の中のIF文

roboBASIC v2.5の頃は、下記のような、IF文の中にIF文を書くことができなかったんですが、いつの間にやら、v2.72では、それが可能になったんですねsweat01

one入れ子あり

IF A=0 THEN
 IF B=1 THEN
         MUSIC "C"
   
ENDIF
ENDIF

使えないもんだと思い込んでいるので、全然気が付きませんでしたが、ヒロビさんのブログ記事を見て知りましたsweat01

RZ1BasicもroboBASICと同じ仕様にしているので、同じように、IF文の中にIF文を書けるようにはしてませんsweat01最初からIF文の入れ子ができるようになっていれば良かったのに、今からじゃ、入れ子ありで動くように直すのすっげ〜〜大変だぁbearingdownRZ1Basic v0.5.0で対応しましたpaper

と言ってるだけじゃ、あれなので、簡単ですが、IF文の入れ子ありを入れ子なしに書き換える場合の例を書いておきます。

oneの入れ子なし

IF A=0 AND B=1 THEN
   
MUSIC "C"
ENDIF

two入れ子あり

IF A=0 THEN
    IF B=1 THEN
        MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    MUSIC "E"
ENDIF

twoの入れ子なしの1

IF A=0 AND B=1 THEN
    MUSIC "C"
ELSEIF A=0 AND C=2 THEN
    MUSIC "D"
ENDIF
IF A=0 THEN
    MUSIC "E"
ENDIF

twoの入れ子なしの2

HOGE:
    IF
B=1 THEN
       
MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    RETURN

IF
A=0 THEN
    GOSUB HOGE
    MUSIC "E"
ENDIF

| | コメント (2) | トラックバック (0)

RZ1Basic v0.49 公開

Rz1bicon04

RZ1Basic v0.4.9を公開しました。

ここんところゼロ点設定に関して、ブログを書いていますが、ゼロ点関連とリモコン・ラジコン関連の修正・機能追加など、今回はかなり盛り沢山ですhappy01

RZ1Basicはここからダウンロードできます。なお、10/27でサーバーが廃止になってしまってたようで、ダウンロード先を変更しました。もしダウンロードができない不具合などがありましたら、ご連絡下さい。

【更新内容】

  • 環境設定のモーター情報で、内蔵EEPROMに基本姿勢を書込めるようにした(参照)。
    Parallels_desktopscreensnapz028
  • 環境設定にゼロ点設定の項目を設け、ゼロ点設定ポーズの角度を設定できるようにした。ゼロ点設定で、読込みボタンをクリックした時の、ゼロ点のポーズをここで設定できます。
    Parallels_desktopscreensnapz029
  • ゼロ点設定で、股関節ヨー軸を装着している場合の問題点を修正した(※私はヨー軸を装着していないため直っているかは確かでない)。なお、roboBASICv2.72で出ているゼロ点設定の書込みができない不具合はRZ1Basicでは、もともと出ていませんので、ヨー軸ありの方、なしの方、ともにご利用して頂けると思います。
    Parallels_desktopscreensnapz027
  • コマンドテストのメモリーリードで、10進数以外に、2、8、16進数を扱えるようにした。
    Parallels_desktopscreensnapz031
  • Internal EEPROM writeの値が間違っていた不具合を修正した。
    Parallels_desktopscreensnapz030
  • ラジコンコントローラーで、キーボードに寄る操作の不具合を修正した(Windows版)。
    Parallels_desktopscreensnapz026
  • 赤外線リモコンの設定変更(右クリック)で、IDを変更できるようにした。
    Parallels_desktopscreensnapz025

| | コメント (0) | トラックバック (0)

ラジコン用シミュレーション

ロボザックのラジコン用のコントローラー機能をRZ1Basicに付けました。
これにより、プログラムのシミュレーションや、有線でロボザックと繋げて、無線コントローラー用のプログラムのチェックができるようになりました。

使い方の例を簡単に示しておきます。

one今回は「無線タッチサウンド微調整A.bas」のプログラムを使ってみました。これをRZ1Basicで開きます。
Finderscreensnapz011
twoコントローラーの表示は、以下のボタンをクリックします。
Rz1basicdebugscreensnapz005
以下のウインドウが開きます。1、7、4、....と数値が書かれているボタンをクリックすると、その操作をしたことになります。シミュレーション画像でシミュレーションする場合は、「Sim」を、有線でロボザックと繋いで動かす場合は、「COM」を選択して下さい。今回は、「Sim」を選んで下さい。
Rz1basicscreensnapz009
threeシミュレーションを開始する前に、ポートの設定をします。以下の図のボタンをクリックして下さい。
Rz1basicdebugscreensnapz006

ADポートの1、2、3のチェックボックスにチェックを入れて、255にしておきます。
Rz1basicdebugscreensnapz004

fourあとはシミュレーションボタンをクリックすればOKです。
Rz1basicdebugscreensnapz007

●その他:コントローラーは、ボタンをクリックするだけの操作方法だけでなく、キーボードに割り当ててみました。コントローラーをフロントにして、キーをクリックして下さい。なお、キーの場合は左右同時にも対応させてあります。
Omnigraffle_proscreensnapz005 Omnigraffle_proscreensnapz004

| | コメント (8) | トラックバック (0)

RZ1Basic v0.48 公開

Rz1bicon04

RZ1Basic v0.4.8を公開しました。

v0.47では、お騒がせしました。Windowsにおいて、ファイルの保存時の不具合とドラッグ&ドロップに関する問題があり、

  • 環境設定の保存時に落ちてしまう不具合
  • コンパイルしたオブジェクトファイルが保存できない不具合(これはv0.46からあった可能性あります)。
  • エディットフィールドに画像ファイルをドラッグ&ドロップができない不具合

があることがわかりました。

ファイルの保存関連は、なんとか修正できましたが、エディットフィールドに画像ファイルをドラッグ&ドロップができない問題は、どうしようもなく、Windows版に関しては、シミュレーション画像以外のエディットフィールド以外のエリアにドロップした場合、エディットフィールドにプログラムが書込まれる仕組みにしました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 環境設定の保存時に落ちてしまう不具合を修正(Windows版)
  • オフジェクとファイルの作成や転送ができない不具合を修正(Windows版)
  • プログラム編集フィールドにスナップショットをドラッグ&ドロップできない問題点を回避(Windows版)
  • ラジコン用シミュレーションまたは直結コントロール機能を追加
    この機能に関しては、別に書きます。
    Rz1basicscreensnapz009

| | コメント (0) | トラックバック (0)

RZ1Basic v0.47 Windows版

RZ1Basic v0.47 Windows版
まともに動かないようですね?

| | コメント (0) | トラックバック (0)

画像がポーズのデータベース3

先日話題にしていた、ロボザック画像をポーズ/モーションのデータベースとして利用できるようにする機能を、RZ1Action v0.4.9/RZ1Basic v0.4.7で正式に対応し公開しました。

「お辞儀」と「羽ばたき」の2つの画像を付けましたが、これらの画像をダウンロードして、シムレーション画像上にドラッグ&ドロップするか、コード編集フィールドにドラッグ&ドロップすると、画像のコメントに組み込まれたポーズやモーションデータを読込みます。

が、Windows版で、コード編集フィールドにドラッグ&ドロップした場合、ドロップされたことが認識されない不具合がありました。あれこれ修復を試みましたが、今のところなぜうまく動かないか判りません。ここんところ私のParallelsがまともに動かないので、そのせいもあるかもしれません。アプリケーションの方はすでにアップロードしてしまっているので、いちおう使い方など書いておきます。いちおうマック版はまともに動きます。

Bow_pose_2

Wing_move_2

●ショットの取り方
RZ1Basicの場合:画像に組み込みたい部分を選択して、「カメラ」アイコンをクリック
Rz1basicscreensnapz008

RZ1Actionの場合:画像に組み込みたい部分を選択して、「カメラ」アイコンをクリック
Rz1actionscreensnapz001

ウインドウが表示されます。
ファイル名を入力し、「OK」をクリックして下さい。
なお、ここで、

  • 画像に文字を入れられます。
  • ソースコードは最初に選択しておかなくてもここで書込めます。

Rz1basicscreensnapz007

画像は、ピクチャーフォルダのRZ1Snapというフォルダの中に保存されます。

マックの場合:

Finderscreensnapz010

Windowsの場合:

Parallels_desktopscreensnapz020

| | コメント (0) | トラックバック (0)

RZ1Basic v0.47 公開

Rz1bicon04

RZ1Basic v0.4.7を公開しました。

同時に更新したRZ1Actionと合わせてご利用下さい。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • ポーズ/モーションを画像としてデータベース的に利用できる機能を追加
    RZ1Actionにも追加した機能です。この機能に関してはこちらを見て下さい
    Rz1basicscreensnapz007
  • リミット制限に引っかかったエラーを「注意」扱いにした。
    コンパイルした時、問題点があった場合、以下の図のように、赤丸のストップマークと、黄色三角の注意マークとして2種類の表示をするようにしました。注意マークの場合はエラーとして扱われず、例えば、プログラムの転送も可能になります。
    Rz1basicscreensnapz006

| | コメント (0) | トラックバック (0)

プログラムの作成、転送、削除について

デアゴのROBOZAKのページのお助け掲示板の「コントローラーの情報について(全般)」のスレッドで、「プログラムの削除」に関しての話があったので、改めて、「プログラムの作成、転送、削除」について調べてみました。

roboBASICには、プログラムの作成、転送、削除に関して、以下の図のようなボタンがあります。

Parallels_desktopscreensnapz011xx

それぞれのボタンには次のような機能になります。

  1. プログラムの作成:ROBOBASIC言語で書かれたソースコードを、コンパイルしてオブジェクトコードを作ります。
  2. プログラムの転送:オブジェクトコードをMR-C3024の外付けメモリーに転送します。注意点は、この機能は転送しか行わないということです。
  3. 作成転送:プログラムのソースコードをコンパイルし、作られたオブジェクトコードをMR-C3024へ転送します。つまり、1と2を合わせて行います。
  4. プログラムの削除:MR-C3024に転送されているプログラムを削除します。実際には「END」とだけ書かれた「無題」というプログラム名のコードを作成転送しています。従って、メモリーの中をゼロや255で埋めるというのではありません。

oneプログラムの作成とファイルとして保存されるオブジェクトコードとメモリー(パソコン)内のオブジェクトコード
この操作により、ソースコードがコンパイルされて、オブジェクトコードが(メモリー内に)作られ、さらに、作られたオブジェクトコードは、Objという拡張子を持ったファイルとして保存されます。注意点は、以前「オブジェクト"ファイル"が壊れる現象」で書きましたが、オブジェクトコードが32Kバイトを超えると、オブジェクトファイルが壊れます。ただ、メモリー内に作られたオブジェクトコードは壊れてないことと、プログラムの転送で転送されるオブジェクトコードは、ファイルからのデータでなく、メモリー内のデータが転送される様なので、大きな問題にはならないことが判りました。

twoプログラムの削除とMR-C3024のメモリー内
あるプログラムを転送してあるMR-C3024のメモリー内の値を最初から160バイト分を以下に示しました。
Miscreensnapz001
この状態で、「プログラムの削除」すると、以下のようになります。
Miscreensnapz002

プログラムの削除とは、MR-C3024のメモリー内をゼロまたはFFで埋めるという訳でなく、「END」とだけ書かれた「無題」というプログラム名のソースコードで作られたオブジェクトコードが転送されるのと同じになります。

そのオブジェクトコードは、プログラム名、日時、サイズの16バイトのヘッダーと、ENDのオブジェクトコード3バイトと、プログラムの終了コードの3バイトの計22バイトになります。

実際の転送では、128バイトごと転送されますので、22バイト目以降128バイト目までゼロで埋められた状態になります。

128バイト目以降は、前に転送されていたオブジェクトコードが途中から残っている形になっています。プログラムの削除を行うと、削除後、「メモリークリア完了」とメッセージがでますが、クリアされているのは、最初の部分だけです。
Parallels_desktopscreensnapz018

threeプログラムの削除後のプログラムの転送
「プログラムの転送」は、その名の通り、オブジェクトコードを転送します。注意点は、(パソコンの)メモリー内にあるオブジェクトコードを転送するだけで、新たにオブジェクトコードを作りません

さて、ここで、プログラムを削除した後、プログラムを転送しようと、このボタンをクリックしても、(パソコンの)メモリー内にあるオブジェクトコードは、プログラムの削除際に作られた時のオブジェクトコードなので、つまり、また、もう一回、削除しているのと同じことになります。プログラムの削除後は、新たにオブジェクトコードを作成してから転送する必要がありますので、注意が必要です。

fourプログラムの削除後の作成転送の挙動
プログラムの削除後は、上記で書いたように、新たにオブジェクトコードを生成する必要があります。「作成転送」のボタンは、オブジェクトコードを作成した後、オブジェクトコードの転送を行います。

これを実際にやってみると、以下の様な表示になります。
Parallels_desktopscreensnapz008

プログラムの名前が、「無題」でないのに、オブジェクトコードのサイズが「22バイト」のハズがないのに、まるで、削除の為のコードが転送されるように思えます。グラフの動きから、削除されてから、新たなコードが転送されているようにも見えます。

さて、実際、どんなデータが送られているのか、ラインモニターで見てみたところ、表示だけが「無題」の「22バイト」となっているだけで、削除の為のコードも転送されることなく、普通に(正常に)オブジェクトコードが転送されていることが判りました。

fiveプログラムは上書きでpaper
ロボザック?号にはプログラムを「削除」してから「作成転送」すると書いてあるそうなんですが、普通は、いちいち削除する必要はありませんので、転送の際は、「作成転送」のみ行えば大丈夫です。

------------------------

さて、ということで、プログラムの作成、転送、削除の挙動の解析は以上ですが、この解析をしていて、RZ1Basicの「プログラムの削除」に重大なバグを発見してしまいましたsweat01基本プログラムの削除はする必要がないので、常に上書きで使うようにして下さい。次バージョンアップで修正します。

| | コメント (0) | トラックバック (0)

制限の勧め

またまた、ダイエット(食事制限)の話sign02
では、ないですよhappy01paper

先日公開したRZ1Basic/RZ1Actionでサーボモーターの回転範囲のLimit(制限)の機能を付けました。
Rz1basicdebugscreensnapz002

「サーボモーターから煙がsweat01」なんて話もよく聞きますが、これまで使っていたテンプレートプログラムを最新のRZ1Basicでコンパイルしてみるとわかると思いますが、Limitに引っかかるモーションが沢山あります。

実際、個体差があると思いますので、各自で実際にロボットの関節を曲げて何度まで動かすことができるか調べて、設定してやる必要はあると思いますが、兎に角、まず間違いなくサーボモータに負荷をかけてしまっているモーションが何個かあるはずです。

RZ1Basicでは、環境設定であらかじめ設定しておけば、コンパイル時にチェックしてくれるようになりましたが、roboBASICをお使いの方は、そうはいきません。サーボモーターを長持ちさせる為にも、roboBASICをお使いの方は、'$LIMITコマンドを、プログラムごとに書き加えておくことをお勧めします。

'$LIMITコマンドの書き方は、以前、ROBOBASIC講座で'$LIMITについて書いたので、参考にして下さい。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.6 公開

Rz1bicon04

RZ1Basic v0.4.6を公開しました。

今回は環境設定関連の機能アップが中心で、派手ではありませんが、役立つ機能アップだと思います。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 環境設定日本語表示
  • モーター名設定
  • スタンダードポーズ設定
  • モーター回転範囲設定(Limit設定)
  • ヘルプタグ設定
  • 頭部モーター初期角度廃止
  • 頭部モーターリバース廃止
  • 3D画像スタンダードポーズボタン
  • マック版において、ファイル名が変になる場合がある不具合を修正

《モーター情報》
Rz1basicdebugscreensnapz001
頭部モーター、股関節ヨー軸モーターの設定、モーターの名称、スタンダードポーズの設定ができます。なお頭部モーターのゼロ角度やリバースは廃止しました。スタンダードポーズ設定の角度、回転方向の設定のリバースで行って下さい。

  • モーターの名称:ヘルプタグなどで表示されるモーターの名称で、頭部モーター、股関節ヨー軸モーターを使っている場合は、そのモーターに名前を書いておくといいかと思います。
  • スタンダードポーズの設定:3D画像の下のボタンに「S」のボタンがあります、それをクリックした場合、ここでの値のポーズをとります。

《モーター回転範囲》
Rz1basicdebugscreensnapz002
この設定は、RZ1Action v0.4.8で対応させたものと同じモーターの可動範囲を設定します。RZ1Basicではプログラム中に$LIMITと同じ役割を示すので、$LIMITを記述していなくても、MOVEコマンドで、ここで設定した範囲外の角度を指定している場合、コンパイルエラーが出ます。初期値は少しシビアな値になっているので、これまでのプログラムをコンパイルすると「1234行目 Motor #3 Limit angle error.... 」といったエラーが、沢山出るかもしれません。このような場合は、Min/Maxの値を緩めるか、エラーの出た角度を修正して、各自のロボットに合わせて下さい。

《ヘルプタグ》
Rz1basicdebugscreensnapz003
MOVEコマンドにカーソルを合わせた時に表示されるヘルプタグに関する設定です。

  • ポジションX,Y:カーソルからの相対的なヘルプタグの表示位置です。近くのMOVE値がヘルプタグに隠れて見れない不便さがありますので、ここで調節して下さい。
  • モーター名:モーター名の表示/非表示を設定します。ここで表示されるモーター名は、上記、モーター情報で設定したモーター名称が表示されます。
  • モーター回転範囲:Limit値の表示/非表示を設定します。
  • 反対側モーター角度:MOVE G24コマンドの場合の機能で、反対側の対応モーターの値が幾つなのかを表示/非表示を設定します。MOVE G24コマンドは、長くて対応するモーターの値が幾つなのか確認しにくいので、役立つかと思います。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.5 公開

Rz1bicon04

RZ1Basic v0.4.5を公開しました。

ロボザック83号も届き、股関節のヨー軸のDIRの扱いがわかりましたので、それに対応させたバージョンです。その他、しょーもないバグをいくつか見つけましたので、その修正を行っています。それにしてもDIR対応すごいややこしかったぁ〜sweat01ここんところyukiさんにかなりいろいろ教えて頂いてます。感謝感謝です。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • シミュレーション画像の股関節ヨー軸に対応した。
  • DIRの詳細設定などを設けた。
    Rz1basicscreensnapz054_2
  • IFの後がタブの場合、コンパイルエラーがでる不具合を修正した。例えば、「無線足裏光.bas」に、こんな場合があります。
    Rz1basicscreensnapz053
  • 頭部の回転をオフにしても、シミュレーション画像の頭部が動いてしまう不具合を修正した。

DIRの設定に関して
これまでのDIR設定(股関節ヨー軸なし)は
DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0
でしたが、股関節ヨー軸ありのDIR設定、例えば、「赤外線20関節.bas」では、
DIR G6A,1,0,0,1,1,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,0,0
になっています。この2つの設定の違いは、4番と22番がそれぞれ逆になっていることです。シミュレーション画像のDIR設定は、デフォルトがヨー軸なしになっていますので、ヨー軸ありの設定に簡単に変更できるような機能を付けました。シミュレーション画像の下の「D」のボタンをクリックして、「ロボザック股関節ヨー軸装着用」を選べばいいようにしました。
Rz1basicscreensnapz055

ここで、少し知っておいて頂きたいことがあります。シミュレーションの動きが、どうも思ったように動いてくれなくて、このことに気がつくまで、頭の中、こんがらがりましたsweat01

「D」のボタンで、DIRの詳細設定ができるようにしました。これを選択すると、現在の設定の状況と、その変更ができます。

  • 「デフォルト(roboBASIC)」を選択した時
    Rz1basicscreensnapz056
  • 「ロボザック股関節ヨー軸装着用」を選択した時
    Rz1basicdebugscreensnapz006

DIRにチェクが入っているモータが「1」、入ってないのが「0」になります。さらに、このモータの回転方向は、「デフォルト(roboBASIC)」を基準とした方向になっていますので、例えばヨー軸を付けたことにより、4番と22番のDIRの1と0だけが変わったのではなく、モータの取り付け向きも変わっているため、そのような場合の為に、「Reverse」という設定も設けました。以前、頭の回転に対応させた時に、Reverseの設定を設けましたが、それを個々のモータで設定できるようにしたという訳です。

シミュレーションを動かしてみる
「赤外線20関節.bas」のシミュレーションを行ってみた。

DIRの設定はあらかじめやっておく(上記)

oneシミュレーション開始ボタンをクリック
Rz1basicscreensnapz058

twoたぶん途中で止まるので、ADの値を適当な値にセット
Rz1basicscreensnapz057
以下のような値にすれば、A=REMOCON(1)の方へ進むようになる
Rz1basicdebugscreensnapz004x

fourあとは、以下のムービーのように動かせますhappy01

------------------------
   
------------------------

| | コメント (6) | トラックバック (0)

RZ1Basic v0.4.4 公開

Rz1bicon04

RZ1Basic v0.4.4を公開します。

RZ1Basicはここからダウンロードできます。

【更新内容】

MOVEPOS/POSコマンドには、すでに対応済みだったんですが、その使い方が、実際には、コマンドリファレンスやroboBASICで表示されるヘルプタグに書いてある使い方とは異なっていたため、その異なった使い方でもコンパイルが通るようにしました。

MOVEPOS/POSコマンドの使い方に関しては、別に書きます。。。

ちなみにリファレンスに書かれているように使うと、エラーがでます。
Parallels_desktopscreensnapz121

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.3 公開

Rz1bicon04

RZ1Basic v0.4.3を公開します。

先日RZ1PeekとRZ1Terminalで付けた機能と、コンパイル時のエラーチェック機能の更新を行いました。※コンパイルエンジンに手を加えていますので、ご注意下さい。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 未定義の変数、定数などの記述があった場合、エラーを返すようにした。
    Rz1basicscreensnapz043
  • SRAMのメモリアドレスを指定できるようにした。取得データのポップアップメニューで、「SRAM ADDRESS」を選択後、アドレスの所にデータを取得したいアドレスを入力して下さい。
    Parallels_desktopscreensnapz111
  • ターミナル機能において、7200, 460800, 921600bpsの通信速度の設定値を設けた。
    Parallels_desktopscreensnapz077
  • ターミナル機能において、RBT-001のユーティリティで、リクエストデータをリストアップしておけるようにした。
    Parallels_desktopscreensnapz078

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.2 公開

Rz1bicon04

RZ1Basic v0.4.2を公開しました。といっても、ブログの方、書くのが遅れてしまいまして、ソフトをアップロードしたのは、今日のAM0:30くらいです。

yukiさんから、赤外線リモコンの値の不具合と、ウインドウクローズ時の不具合報告を頂きまして、修正に取り組んでいます。今回のバージョンアップでは、赤外線リモコンに関しての、不具合を2つ修正しました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 赤外線リモコンで、第2変数以降(COM#2 (0x0141)よりあと)に設定した場合、データが正常に送れない不具合を修正しました。
    Rz1basicscreensnapz019


  • 赤外線リモコンのFボタンが23に、とGボタンが32となっている不具合を修正。Fを32、Gを23に修正しました(Overall Tempate Program_novoltageのコメントが間違っているんですね)。
    Rz1basicscreensnapz020

※Windows版において、「最近使った項目」で開いたプログラムを、ウインドウ右上の「X」のボタンで、クローズするとエラーが出る場合があるようです。私の環境(Windows XP Pro SP2)では、そのような不具合はでないのですが、SP3で、この症状がでるかもしれません。私の環境では、この不具合が出ないので、修正できたのか確認ができていません。この件に関して、同様の不具合がでる環境の方、いらっしゃいましたら、起動チェック、ご協力頂ければと思います。よろしくお願い致します。

| | コメント (0) | トラックバック (0)

「RZ1BASIC」がすごい。

夢現工房さんの7/26のブログで、RZ1Basicの紹介してもらえましたhappy01paper

しかも、”すごい”って書いてもらえて
純粋に嬉しいですnotesupありがとうございます。

Safariscreensnapz012

書かれてあるように、なんのしがらみも無く、好き勝手にやっているのに、メーカさん等の寛大な心で見過ごして、自由にやらさせて頂けているおかげでもありますhappy02

私、今まで、作ってたソフトの中で、「訴訟を起こすぞsign01」と言われたソフトが3つありましてsweat01ソフトを作るのも気楽じゃありません。RZ1シリーズのソフトも、止めろ!と言われるんじゃないかと、ビクビクしてましたけど、半年くらい前に、Hitecさんの方からも、内容は書けませんが、メールを頂いてますので、とりあえず安心してやりたい放題やらさせて頂いています。

バグや、使い難いところ、まだまだ沢山あると思いますが、みなさんの、ご意見、ご感想、起動報告、アイディアなど取り入れて、少しでも良いものになっていけばと思ってますので、これからも何かありましたら気軽にお声かけよろしくお願い致します。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.4.1 公開

Rz1bicon04

RZ1Basic v0.4.1を公開しました。

先日「週刊『My Robot』のBluetoothを繋げてみる計画(11)」で書いた機能を付けてみました。

RZ1Basicはここからダウンロードできます。

【更新内容】

  • 通信時のレスポンスを改良
  • プログラムのダウンロード(MR-C3024へ転送)において、通信速度を変更しないまま転送する機能を設けた。

《通信速度を変更しないままプログラムを転送する方法》

プログラムの転送または消去において、普段、9600bpsの通信速度が15200bpsになります。無線モジュールを使ってオーディオプラグで繋いでいる場合、通信速度の変更に合わせて、無線モジュールの通信速度も115200bpsに変更しなければ通信ができません。
しかし、その通信速度の変更に対応できない無線モジュールもあります。例えば、RBT-001とか、ZIG-100B(たぶん無理)とかです。。。というか、BlueSMiRFのように変更できる様なモジュールの方が特殊なのかな???

そのようなモジュールを使っている場合でも、無線でプログラムを転送できるような機能を設けました。

  1. 通信方式の設定(図)を表示
  2. 「無線モジュールを使用」という項目を選択

Parallels_desktopscreensnapz034_2

この設定により、通信速度を変えることなくプログラムが転送されるようになります。

が、しかしsign01

  • 通信速度が遅いため、転送にすごい時間がかかります。
  • フロー制御をしていない為???なのか、途中で転送失敗してしまう場合が非常に多いです。

ので、転送失敗によって何が起こるかわかりませんので、十分注意の上、自己責任で行って下さい。

※プログラムの転送に失敗すると
MR-C3204の電源を入れると、自動でプログラムが起動されるため、プログラムが暴走してしまい、その後、通信エラーが起き、何もできなくなってしまうかもしれません。

※暴走したMR-C3204を止める

  1. (無線のままではまず無理なので、)PCとMR-C3204を直結する(通信設定直すのを忘れないように)
  2. MR-C3024の電源を入れたら、すぐプログラム停止ボタンをクリックする
  3. (うまく停止したようならば、)プログラムを転送する

※暴走を止めやすくするための対策
暴走を止めるため、MR-C3024のスイッチをオンにしてから、プログラムが始まり、暴走するまでの時間稼ぎができる可能性の高いプログラムにしておくとよい。その為に、プログラムの先頭を以下のように書き換えておくとよいかもしれません。FILL文の数値はメモリーの足りる限り、(GOTO AUTO, ACTION文を使わなければ、)いくつでもいいのですが、なんせ9600bpsの通信は遅くて時間がかかりすぎるのもありますので、いちおう500としておきました。

GOTO AUTO
FILL 255,10000

FILL 255,500

にする

| | コメント (0) | トラックバック (0)

週刊『My Robot』のBluetoothを繋げてみる計画(9)

前回の「週刊『My Robot』のBluetoothを繋げてみる計画(8)」で繋げた方法で、RZ1BasicまたはRZ1Terminalのターミナル機能を用いて、いくつかRBT-001の設定を行ってみました。なお、Binary Terminalを使う場合は、yonekenさんのページを参考にして見て下さい。

oneFT232RLのドライバーのインストール

もし、FT232RLを使っているのであれば、VCPのドライバD2XXのドライバが必要になります。が、ver 2.04.06のCommentの所に「Combined driver model (D2XX and VCP).  」と書いてありますので、どちらかのページの、ver 2.04.06をダウンロードしておけば、大丈夫だったと思います。

twoターミナル機能を起動と接続

RZ1Terminalは、起動すると、RZ1Basicの場合は、起動後、コントローラーメニューの中の「ターミナル」を選択すると、図の様なウインドウが表示されます。
Parallels_desktopscreensnapz032_2

マックの場合は、ポップアップメニューの中から「usbserial-A4004VPB」を選択し、ウインドウズの場合は、デバイスマネージャーでFT232RLのCOMポート番号を確認し、その番号を選択し、「接続」ボタンをクリックして下さい。

threeRBT-001用コマンドユーティリティの使い方

「RBT-001」のボタンをクリックすると、図の様なウインドウが表示されます。
Rz1terminalscreensnapz004

上の図をクリックして、大きな図で以下を確認して見て下さい。

  • 「リクエスト」ボタンをクリックすると、その左のフィールドに書かれたコードが送信されます。フィールドの数値は16進数として扱われます。スペースは無視されます。
  • 「Opecode」:リクエスト内容
  • 「Data length」:Packet Dataのフィールドに書かれた内容のバイト数が16進数で表示されます。その右のカッコ内の数値が実際に必要なサイズになります。カッコの下、および、Noteに書式がありますので参考にして下さい。
  • チェックサムなどの値は、Packet Dataに入力された内容を元に、自動で計算されます。
  • 受送信された内容は、右のリストボックスに表示されていきます。
    • REQ: 送信したコマンド
    • CFM: 受送信結果の確認/受信データ
    • IND: 受信データ
  • リストの内容をクリックすると、そのデータの解読結果が表示されます。

four実際にやってみる
(図が小さいのでクリックして、図を大きくして確認して下さい)

「RBT-001」の名前を得る

  • ローカルの名前を取得する「GAP_REAL_LOCAL_NAME」を選択します。
    Parallels_desktopscreensnapz019
  • カッコの中はゼロなので、パケットデータを空欄にして、「リクエスト」をクリックします。
  • 右のリストに返ってきた結果をクリックします(Win版の戻りが悪かったですsweat01上手くいかない場合は、何度かクリックしてみて下さい)。図のパケッドデータのところで、名前が「I-Droid01」であることが確認できます。
    Parallels_desktopscreensnapz020

「RBT-001」の名前を変更してみる

  • アスキーデータを16進数で入力しなくてはいけないので、ターミナルウインドウにある「2/10/16」というボタンをクリックして下さい。ここで、「ASCII」ボタンの欄に、変更する名前を入力し、「ASCII」ボタンをクリックして下さい。HEXの欄に、16進数が表示されます。
    Finderscreensnapz012
  • コマンドユーティリティのウインドウに戻って、ポップアップメニューから、「GAP_WRITE_LOCAL_NAME」を選択し、図の様に、パケットデータの欄に、先ほどの16進数を書込みます。いちおう必要か必要でないか判らないけど、その後に00を書き加えておきます。
    Parallels_desktopscreensnapz022
  • すると、データレングスが0x000Cとなりました(名前の長さによって変わる)ので、図の様に、最初に0Cと書き加えます。これで、NameLength 1byte +DeviceName ?=0x0Cとなり、パケットデータ設定完了です。「リクエスト」ボタンをクリックして名前を変更してみて下さい。
    Parallels_desktopscreensnapz023
  • 変更されたかの確認は、先ほどの名前の取得をもう一度やってみればOKです。

Bluetoothのアドレスを取得する

  • RBT-001のアドレスを確認してみると以下の様になっていました。
    Parallels_desktopscreensnapz026
  • まずローカルのアドレスを取得してみます。「GAP_READ_LOCAL_BDA」を選択します。「BDA」とは、Bluetooth Device Addressの略です。データレングスはゼロなので、パケットデータ欄を空欄にして、リクエストしてみると以下の結果になりました。
    Parallels_desktopscreensnapz025
  • ※BDAの値は、0017A00057B6の反対の並びになっています。
  • 次に、その他、周りのBluetoothを探してみましょう!「GAP_INQUIRY」を選択します。
  • データレングスは3になっています。とりあえず、図の様に入力して、「リクエスト」ボタンをクリックして見て下さい。
    Parallels_desktopscreensnapz029
  • もし周りにBluetoothデバイスがあるならば、以下のような感じでデータが返ってきます。INDが3つあります。3つのBluetoothがリモートとしてアクセス可能な状況で、その3つのアドレスを取得することができました。BDAの値の並びは逆並びなので、リクエストでBDAが必要な場合は、逆並びで入力する必要があるということになります。
    Parallels_desktopscreensnapz031

ということで、今回はここまでにしておきます。

関係ないけど
leccaの新しい曲がiTunesにアップされたとOffcialページで見たので、iTunesストアを見てみました。「新作シングル」にleccaの曲はあったのですが、それより、青山テルマの「何度も」と、中村 中の「風立ちぬ」のジャケットが似てて。。。これって意図して作られたものなの?
Itunesscreensnapz001


週刊『My Robot』のBluetoothを繋げてみる計画(1) (8)、(9)、(10)

| | コメント (5) | トラックバック (0)

RZ1Basic v0.4.0 公開

Rz1bicon04

RZ1Basic v0.4.0を公開しました。

なんだかんだ忙しくてなかなかブログが書けてませんが、また少しだけターミナル関連で更新です。

RZ1Basicはここからダウンロードできます。

【更新内容】

ターミナル機能において:

  • BlueSMiRF用のコマンドユーティリティを付けました。

Rz1terminalscreensnapz001

| | コメント (0) | トラックバック (0)

RZ1Basic v0.3.9 公開

Rz1bicon04

RZ1Basic v0.3.9を公開しました。

ひえ〜〜大変だったぁ〜sweat01

先週末に、「週刊『My Robot』のBluetoothを繋げてみる計画(8)」を中途半端な所まで書いて、続きが中々書けなくなってました。

Binary Terminalを使った方法は、yonekenさんが説明されておられるので、私が書くことも無いかと思い、半ば書きかけでやめて、

RZ1Basicに、RBT-001のコマンドの為の機能を作ってました。。。

まだ、考えている機能全部完成していないのですが、なんせ、RBT-001のコマンド、160個くらいありまして、やってもやっても、まだまだあるよ〜〜って感じで、すげ〜大変でした。

一応、受信結果の表示の方は全部作りました。送信コマンドの方は、Binary Terminalよりは、少しは使いやすくなってるとは思いますが、まだ手入力しなければいけない部分が多くて、面倒です。けど、もっともっと使いやすく改良しようと思ってます。

RZ1Basicはここからダウンロードできます。

【更新内容】

ターミナル機能において:

  • 「接続」ボタンをクリックしても1回で接続しない不具合を修正した。
  • RBT-001のコマンドの為のユーティリティ機能を追加しました(下図)。

Rz1basicdebugscreensnapz002

この使い方は、「週刊『My Robot』のBluetoothを繋げてみる計画(9)」で書く予定でいますので、お楽しみにhappy01

いちおう、(9)を書く前に使ってみたい方の為に。。。
RZ1Basicの「ターミナル」を選んで、ウインドウの下の方に、図のボタンがあるので、それをクリックして下さい。
Rz1basicscreensnapz003

| | コメント (0) | トラックバック (0)

RZ1Basic v0.3.8 公開

Rz1bicon04

RZ1Basic v0.3.8を公開しました。

コンパイル結果に不具合がありました。実際、何事もなく動いているかもしれませんが、正しいコンパイル結果とは言えませんので、できる限り、このバージョン以降のものをお使い頂けるようお願い致します。テストして確認はしましたが、コンパイルエンジン部分の修正なので、この部分の修正によって、新たに別のバグを含んでしまっているかもしれませんので、そのような場合は、早急にお知らせ頂けますようお願い致します。

RZ1Basicはここからダウンロードできます。

《更新内容》

  • 股関節のヨー軸(回旋)に対応しました。
    Rz1basicscreensnapz002_2
    環境設定から、「Hip Yaw Motor」のチェックボックスをONにして下さい。なお、モーターは右股関節回旋が5番、左股関節回旋が23番になります。※既存のテンプレートファイルには、すでに5番、23番に数値が入っているMOVEデータが存在します。従って、例えば、そのままシミュレーションをすると、変な動きになってしまう場合がありますので、ご注意下さい。
     
  • あるコマンド(戻り値をもつ関数コマンド)において、コンパイル結果に0x00が余分に含んでしまう不具合を修正しました。
    この不具合は、もしかすると、v0.2.3で、ビット演算子に対応させた時に含んでしまったバグかもしれませんが、ロボザック公式ページのマスターズ掲示板の「バッテリー電圧について」の書込みの中で、加藤さんが、roboBASICとRZ1Basicのコンパイル結果を詳しく分析されてて、不具合を教えて頂きました。加藤さんに感謝感謝ですhappy01
    この問題点に関する詳細は、そちらのページをご覧下さい。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.3.7 公開

Rz1bicon04

RZ1Basic v0.3.7を公開しました。

RZ1Basicはここからダウンロードできます。

《更新内容》

  • ターミナル機能で、
    • バイナリー(16進数)を扱えるようにした。
    • 接続していないのに「切断」と表示される不具合を修正した。

今回は、新しいエディットフィールド股関節の回旋機能も目標だったのですが、エディットフィールドはまだまだ無理そうだし、股関節の回旋の方は、回旋機能をオンにすると、とんでもない動きになってしまうことが発覚sweat01sweat01RZ1Actionでも、同様の不具合がありました(って、コード同じだから当たり前かぁ)。股関節の回旋は、RZ1Actionで使っている3D画像をそのまま利用して回旋させているので、画像的に、モーターの並びが、0,1,2,3,5,4または18,19,20,21,23,22と順番通りでない並びなんですよねぇ〜。。その性でむちゃくちゃややこしいプログラミングになってしまっているので、まだ不具合箇所を見つけられず、直せてませんsweat01今日も頑張ったのですが、すぐには直りそうにもないので、昨日書いた、ターミナルのバイナリー対応のみの更新です。

《ターミナルの使い方》

oneターミナルの基本的な使い方は、以前、ターミナルに対応した時の記事を参考にして下さい。
twoバイナリーの送信は、16進数で書いて送信します。Hexと書かれたエディットフィールドに

  • 0x4A
  • &h4A
  • 4A

いづれかで書いて下さい。スペースは無視されますので、入れても入れなくても構いません。入力したら、「Hex送信」ボタンをクリックして下さい。
Rz1basicdebugscreensnapz001

threeバイナリーの値はテキストエディターで文字として表示されない値もあります。ウインドウ右下の「Hex」のボタンをクリックすると、16進数表示になります。

Rz1basicdebugscreensnapz002

※昨日のブログと同じ図ですが、いちおうもう一度載せておきます。

| | コメント (0) | トラックバック (0)

続々・これを使おうか考えてます...

これを使おうか考えてます...」のエディタエンジン(Custom EditField)ですが、インライン入力ができないのですが、日本語の入力もできるように改良してもらえました。

あまり日本語を入力する時は、少ないと思いますが、Windowsの場合、変換フィールドが、エディタのいちばん上に表示されてしまうので、入力位置が下の方だと、結構使いづらいかもしれません。
Wp1

とりあえず、Alexさんに、なんとかならないかお願いはしておきました。

このエンジンを使って、ROBOBASICのシンタックスに対応させたテストエディタの第2弾を作ってみました。

テストエディタ(Mac版、Win版)

また前回と同様に、ソフトウエアのご利用は、あくまでも個人の責任においてご利用下さい(※拡張子が.appとなっている方がMac用、.exeとなっている方がWin用です)。起動テストして頂ければと思います。いろいろ意見お聞かせ願います。


続・これを使おうか考えてます...
これを使おうか考えてます.

| | コメント (2) | トラックバック (0)

続・これを使おうか考えてます...

これを使おうか考えてます...」のエディタエンジン(Custom EditField)ですが、作者と コンタクトしてみました。で、日本語の表示する方法があることがわかりましたが、私の環境では日本語を使えるようにすると、文字を入力すると落ちてしまいます。う まく動く様になればいいんだけど。。あと、Windowsの場合、選択した時のハイライトが暗すぎて字が読めなくなる件も伝えたんですが、うまく伝わって ないかもsweat01

話は違いますが、今日、72号、73号が届きました。
音声認識って、9種類の決められた言葉だけで、自分でカスタマイズできる訳じゃないんですね???あと、これETX/ERXポートに繋ぐんじゃんsign01このポート、この音声認識の為に使うにはもったいない。

50号以降のパーツで、今の所、役立っているものは、足の強化ブラケットと、スタンドと、加速度センサーだけだぁ。。。ここんところ全然ワクワクしない。。。なんだかなぁ〜〜って感じ。

これまた話は違うんですけど、

さっき、「あいくるしい」の再放送がやってた。
その中の、おじいちゃんの台詞に、こんなのがあった。

「人は、愛することを止めたら、人間じゃなくなる。怪物になる。だから、どんなに愛されなくても、愛することを止めてはいけないんだ。」って。

一瞬、「怪物」って?と思ったけど、先日の秋葉原の事件を思い出して、納得しました。。。

| | コメント (3) | トラックバック (0)

これを使おうか考えてます...

RZ1Basicのエディタですが、シンタックスの色付けで、変な挙動を示すので、それをなんとかごまかしている状態なんですが、ひとつエディタのエンジンを見つけました。

このエンジンは結構高機能で行番号も表示されられますし、オートコンプリート(文字の候補を表示してくれる)、折りたたみもできます(今回ダウンロードできるようにしたものは折りたたみに対応させていません)。

このエンジンを使って、ROBOBASICのシンタックスに対応させたエディタを作ってみました。

テストエディタ(Mac版、Win版)

RZ1Basicのエディタで、このエンジンを使うか迷ってます。もしご興味のある方は、ご意見聞かせて頂ければと思います。なお例のごとくですが、ソフトウエアのご利用は、あくまでも個人の責任においてご利用下さい。(※拡張子が.appとなっている方がMac用、.exeとなっている方がWin用です)

現行のものより良い所は沢山ありますが、とりあえず、私の気になったところは以下かな。。

  • 日本語が使えない。日本語部分だけの文字化け程度ならまだいいんだけど、それ以外の文字まで変になる。コメントを英語などで書かなくてはいけなくなる。
  • 選択した時のハイライトが、Mac版はいいんだけど、Win版はコンパネの画面で設定を変えないと見にくい。
  • スクロールが、Win版は快適なんだけど、Mac版はもたつく。

Editortest_for_robobasicscreensnapz

| | コメント (2) | トラックバック (0)

RZ1Basic v0.3.6 公開

Rz1bicon04

RZ1Basic v0.3.6を公開しました。

RZ1Basicはここからダウンロードできます。

《更新内容》

  1. ヘッドの回転の反転
  2. ラベル名の読み上げ機能
  3. プログラム転送中に切断した後、RZ1Basicを再起動させなくてはいけなかった不具合を修正した

oneヘッドの回転の反転

環境設定で、「Reverse」にチェックを入れることによって、ヘッド用のサーボのシミュレーション画像上での回転方向を反転します。

Parallels_desktopscreensnapz032

twoラベル名の読み上げ機能

72号で、音声認識モジュールが来るようです。
そこで、以前ブログでも書いていましたが、スピーチ機能をテスト的に付けてみました。

1、ソースコードと書かれている右のポップアップメニューから、「Load Voice data」を選択して下さい。

Parallels_desktopscreensnapz031

2、もう一度、ポップアップメニューをクリックすると、読込まれた音声データが表示されますので、どれかお好みの音声を選択して下さい。
Rz1basicdebugscreensnapz013

3、ラベル名をクリックすると、読み上げます。
Parallels_desktopscreensnapz033



| | コメント (0) | トラックバック (0)

RZ1Basic v0.3.5 公開

Rz1bicon04

RZ1Basic v0.3.5を公開しました。

今回の主な更新は、RZ1Actionでも対応させた、シミュレーション画像のヘッドの回転です。

RZ1Basicはここからダウンロードできます。

更新内容

  • シリアルのデータの受送信を改良(※もしかすると改悪になっているコマンドが出るかもしれません)
  • ファームバージョンv2.7で機能することを確認
  • シミュレーション画面で、ヘッドの回転に対応(※環境設定で設定後、すでに開いているウインドウは開き直す必要があります)
  • シミュレーション画面で、マウスのホイールを回してモータを動かせるようになした
    左右方向はOption (ALT)キーを押しながらホイールを回転
    Parallels_desktopscreensnapz024
  • シミュレーション画像のポーズをMOVEデータとして書込むボタンを追加
    Parallels_desktopscreensnapz025
  • ゼロ点設定で、前回、書込んだ値を呼び出す機能を追加
    Parallels_desktopscreensnapz029

《チュートリアル》

one環境設定で、ヘッドのモータを17番に設定
Parallels_desktopscreensnapz026
Parallels_desktopscreensnapz027

two新規ファイルを作って、以下のサンプルコードを書く
Parallels_desktopscreensnapz030

threeコードを書込んだら、シミュレーションボタンをクリック
Parallels_desktopscreensnapz028

以上!

サンプルコードは以下

DIM i As Byte
SPEED
 5
GOSUB STDUP
GOSUB kojima
END

'================================================
STDUP:
MOVE G6A, 10076, 14593, 100, 100
MOVE G6D, 10076, 14593, 100, 100
MOVE G6B, 1003080, 100, 100, 100
MOVE G6C, 1003080, 100, 100, 100
WAIT
RETURN

この後、以下のサイトにあるぷちさんの書かれたコードをペースト
http://blog.livedoor.jp/robop/archives/51149110.html

※足の接地を書き加える

  1. BigMotionとSPEED 8の間(最初の方です)
    'kojima son nano kankeine- 2008/04/29 No.17 kubi furi + BigMotion

    '<--FOOTGROUNDING RIGHT-->

    SPEED
     8
  2. 'opapi jyunbiとSPEED 8の間(最後の方です)
    'opapi jyunbi

    '<--FOOTGROUNDING LEFT-->

    SPEED
     8

追記:このチュートリアルで紹介したサンプルコードは、実際に動かすことを目的としている訳ではありません。

| | コメント (5) | トラックバック (0)

RZ1Basic v0.3.4 公開

Rz1bicon04

RZ1Basic v0.3.4を公開しました。

今回は、SimROBOTのファイルを開けるようにしたことと、BlueSMiRFを使っている場合の操作性の向上などです。

RZ1Basicはここからダウンロードできます。

更新内容

  1. BlueSMiRFのチェックが保存されない不具合を修正
  2. 自動的に切断しない機能を追加(下図)
    一度接続されると、処理が終わっても接続したままになります。操作ごとに接続のためのタイムロスがなくなり、スムースになります。
    切断する場合は、Rz1basicscreensnapz003をクリックして下さい。
    Finderscreensnapz010
  3. 特にBlueSMiRFで接続している場合(普通に接続している場合も含めて)、ゼロ点設定の読み込みが途中で止まってしまうような状況を、できる限り回避するようにした。
  4. プログラムのアップロード(BlueSMiRFで接続している場合も含めて)が、途中で止まってしまうような状況を、できる限り回避するようにした。
  5. ポート情報のヘルプタグで、設定されているポート名を表示するようにしました。
    Rz1basicdebugscreensnapz012
  6. 「ファイル」>「開く」で、SimROBOTのsrmファイルを選択して開くと、roboBASICの形式に変換して開けるようになりました。

| | コメント (2) | トラックバック (0)

BlueSMiRF関連(オーディオプラグに繋ぐには6)

今日はなんだか沢山ブログを書いてますねぇsweat01けど、カレンダー通りのお仕事なので、ゴールデンウィークでお休みで、沢山な訳ではないのですよ。。。

さて、前回、完成したBlueSMiRFモジュールを使って、以下のソフトで無線通信でできることとできないことを試してみましたので、まとめておきますpaper早速、SimROBOTでも試しましたよscissors


roboBASIC

  • コントローラー情報...
  • プレイ/ストップ/リセット... 
  • Catch & Play(ヒューマノイド)...
  • オブジェクトコード転送...不可
  • 削除...不可 
  • ゼロ点設定...不可
  • モーターコントロールパネル...不可

roboRemocon

  • PCコントロール...
  • Download(オブジェクトコード転送)...不可

SimROBOT

  • PCコントロール...
  • Catch & Play(ヒューマノイド)...
  • Download(オブジェクトコード転送)...不可

RZ1Action

  • Catch & Play(ヒューマノイド)...

RZ1Basic

  • コントローラー情報...
  • プレイ/ストップ/リセット...
  • オブジェクトコード転送...
  • 削除...
  • Catch & Play(ヒューマノイド)...
  • PCコントロール...
  • ETX/ERXのPCコントロール...
  • AD値、変数値などの値の取得...
  • ターミナル...
  • ゼロ点設定...不可

ゼロ点設定が、私のロボットでは、roboBASICも、RZ1Basicも、途中で止まってしまいます。RZ1Basicでデバグしたところ、4番目のモーターのデータを取得の際です。原因究明中です。

モーターコントロールパネル(roboBASIC)は、途中で変なことが起こって回線が途切れて、roboBASICがハングアップします。

オブジェクトコードの転送は、途中Baudrateの変更に対応したRZ1Basicのみ可能で、その他、roboBASIC, roboRemocon, SimROBOTは当然、不可です。削除も結局、空のオブジェクトコードを転送しているので、Baudrate変更に対応していなければ不可


ついでに、RZ1Basicで、ポート設定する時に、BlueSMiRFにチェックを入れるんですが、これがv0.3.3では保存できていませんでした。従って、v0.3.3では、毎回、起動した際、最初に、ポート設定を開いて、BlueSMiRFにチェックを入れる必要があります(オブジェクトコードの転送をしないのであれば、このチェックは必要ありません)。直しましたので、次のバージョンからは平気です。

| | コメント (8) | トラックバック (0)

RZ1Basic v0.3.3 公開

Rz1bicon04

RZ1Basic v0.3.3を公開しました。

久しぶりのバージョンアップですnote
今回は、新機能が3つsign03

RZ1Basicはここからダウンロードできます。

  1. 簡単なターミナル機能を付けました。
  2. GamePadの機能で、ETX/ERX接続に対応しました。
  3. BlueSMiRFを使ったオーディオプラグ接続に対応しました。
  4. 「行へ移動」で、マイナス値を入力した場合の不具合を修正

oneターミナル機能の使い方
Bluetoothを使うようになって、ターミナルがないと不便に感じまして、簡易的なターミナル機能を付けました。

  1. コントローラーメニューのターミナルを選択
    Parallels_desktopscreensnapz008
  2. ポート、ボーレートなどを選択し、「接続」ボタンをクリック
  3. ボタンの名称が「切断」に変わったら、接続完了です。

以下の図は、BlueSMiRFに接続し、コマンドモードに入って、BlueSMiRFの各種設定状況を表示させたものです!
Parallels_desktopscreensnapz009

twoETX/ERX接続でGamePad機能の使い方

  1. GamePadのアイコンをクリック。
  2. USB接続したPSコントローラなど、コントローラとして利用したい「入力装置」、および、「設定」を選択。※入力装置の設定の編集があらかじめ必要になります。編集がまだの方は、こちらを参考()にして下さい。
    Rz1basicdebugscreensnapz011
  3. 操作のメニュの中から、ETX/ERXポートを選択
    Parallels_desktopscreensnapz010
  4. 「Port設定」のボタンをクリックし、ETX/ERX接続するポートとボーレートを設定し、「設定」ボタンをクリックして、閉じる。※例えば、夢現工房さんのGameConのプログラムの場合は、ETX/ERXを19200bpsで呼んでいるので、19200bpsを選択して下さい。パソコンとETX/ERX接続する方法には、以前書いた「買ったBluetoothを繋げてみました」、「ETX, ERX, LCDポートと繋げよう!(2)」あたりを参考にして下さい。
    Finderscreensnapz007
  5. 「開始」ボタンをクリックすると以下のウインドウが表示されます。
    Screensnapz033
    • 左下のの丸が、点減するならうまく接続し、プログラムが実行状態です。暗い緑色になって点減しない場合は、接続がうまくいってないか、プログラムが止まっているかもしれません。なお、この点減はETXの呼び出しに伴って点減しますので、ETXの呼び出し頻度が少ないと、暗くなってしまって接続されていないように見えてしまうかもしれません。
    • もし点減してなかったとしても、左下のの丸をクリックすることで、点減が開始するかもしれません。
    • 「ON」のボタンをクリックすると、ETX/ERXに出入りしている値が表示されます。

threeオーディオプラグに接続したBlueSMiRFと繋げる
BlueSMiRFなど、無線でPCと、MR-C3024のオーディオプラグを接続している場合、プログラムを転送する場合、通信速度が、途中で変更される為、BlueSMiRFにおいて、プログラムの転送にも対応した。

BlueSMiRFを使う場合、ポート選択で、BlueSMiRFにチェックを入れて下さい(図)

Finderscreensnapz006

このことに関しては、BlueSMiRF関連(オーディオプラグに繋ぐには3)として、別口でまとめてみたいと思います。

| | コメント (20) | トラックバック (0)

RZ1Basic v0.3.2 公開

Rz1bicon04

RZ1Basic v0.3.2を公開しました。

v0.2.9で、この辺の不具合チェックしたハズなのに、ちょ〜ダサイbearing まぢバグってます。昨日、ETX,ERXデータを取得できるボードを作ったので、試してみて、はじめて不具合に気がつきました。申し訳ありません。ETX, ERXコマンドを使う場合、ちゃんとコンパイルできていませんので、この最新バージョンをお使い頂けますようお願いします

あと、以前書いた「無線化したいんだけど...」に、Robockさんから、ZigBeeを使った無線環境で、オブジェクトファイルの転送の際、RZ1Basicでも、roboBASICでも転送が上手くいかないというコメントがあったのですが、115200bpsに変更させないで、9600bpsのままにしたら、ま、当たり前にも思いますが、転送できませんでした。転送開始時にスレーブ側のZigBeeのポート速度をコントロールできる機能をRZ1Basicに組み込まなくてはいけないことになるかな?って、そんなことできるのかなぁ??

更新内容

  • ETX, ERXコマンドのコンパイルの不具合を修正

RZ1Basicはここからダウンロードできます。

| | コメント (15) | トラックバック (0)

RZ1Basic v0.3.1 公開

Rz1bicon04

RZ1Basic v0.3.1を公開しました。

エラーを起こす不具合が3つほど見つかりましたので、v0.3.0を公開したばかりですが、こちらを使って頂けますようお願いします。

RZ1Basicはここからダウンロードできます。

更新内容

  1. ロボザックのスタートボタンと、シミュレーションのスタートボタンのアイコンが同じだったため、間違えてクリックしないように、シミュレーションスタートのアイコンを変更した。
  2. シミュレーション再生で、CONST名が例の用に一部を含む名称を用いていた場合にエラーが出る不具合を修正した。
    (例:kRとkRR)
  3. 「'」の後に、「"」があった場合、コンパイルエラーを起こす場合がある不具合を修正した。
  4. Windows版において、シミュレーション再生で、スタックオーバーフローなどのエラーが出るような場合、エラーメッセージが出続けて落ちる不具合を修正した(ヒロビさん、不具合報告ありがとうございました)
  5. Music編集ウインドウのインターフェイスを見栄えを良くした。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.3.0 公開

Rz1bicon04

RZ1Basic v0.3.0を公開しました。

Windowsバージョンで、ゲームパッド編集がうまいことできなかったので、それを修正し公開しました。あと、AD値以外の変数値、INなどのデータが取得できるようになりました。

RZ1Basicはここからダウンロードできます。

更新内容

  1. ゲームパッド編集において、(Windows版で)上手く動いていなかった部分があった為、以下の点について修正した
    • ちらつきを修正
    • 左のリストで、日本語を入力できない不具合を修正
      Parallels_desktopscreensnapz006
    • 8ビット以上の直接値の場合に対応
      最大値が255以上の場合は「直接(8bit)」を選択して下さい。
      Parallels_desktopscreensnapz008
    • 保存のボタンを付けた
      Parallels_desktopscreensnapz007
  2. FOOTGROUNDING書込みのボタンを付けた
    シミュレーション再生の足の接地のコマンドを、以下の図のボタンをクリックすることで、ソースコードの選択位置に書込むことができます。
    Rz1basicdebugscreensnapz008
  3. シミュレーション再生で、
    • LCDのFORMATの桁数に対応した
    • IN, OUT, BYTEIN, BYTEOUT, MOTORIN, SERVO,ROMPEEK, ROMPOKEに対応した
    • AD, INの値の設定に対応した
  4. ADデータの取得以外、IN, BYTEIN, 変数値の取得に対応した。LCDを持ってなくても結構便利にデバグできるようになりました。

《シミュレーション再生におけるポート値の設定》

  1. ポート値の設定の為のボタンをクリックすると、
    Rz1basicdebugscreensnapz002
  2. 以下の図のようなダイアログが表示されます。
    Rz1basicdebugscreensnapz001
  3. 例えば60号のCDにあるプログラムでは、IN(33)を使っているので、このダイアログで33番のチェックボックスをON/OFFすることで、その値を設定できます。
  4. ポート番号32から39は、ADの0から7にも対応します。0から5のチェックボックスにチェックを入れることで、ADポートとして扱えます。
  5. ポート番号39番以上の場合は、ダイアログ下の方のエディットフィールドにポート番号を入力して下さい。6個まで、設定できます。ハイテックにあるOverall Template Programでは、52番のポートを使っています。
    • 39以上なので、6個のうちのどれかのフィールドに52と入力することで、それがIN/OUTの52番となります。
    • GOSUB robot_voltageのコメントを外して、シミュレーションをスタート。
    • AD(6)の値が147以下になるとOUTが実行されるので、AD(6)のスライダーを147以下にしてみます。
    • 52番と記入したチェックボックスがオン/オフすると思います。
      Rz1basicdebugscreensnapz003

《コントローラーから値を取得する》
これまでのバージョンではケーブルでつないだ状態でロボザックを起動させて、ADポートの値を取得することができていましたが、今回、その他に、変数の値、INの値、BYTEINの値も取得できるようになりました。変数の値が取得できるようになったので、デバグの為にLCDが無くてはとお考えになっていた方にも、有効に使える様になったかと思います。

  1. メニューのコントローラーの中の「コントローラのデータ読込み」を選択
    Rz1basicscreensnapz005
  2. 「取得データ」のメニューから取得したい項目を選択(SRAM 0x0140のようになっているのが、変数の格納アドレスです。ソースコードで宣言した順になっているので、もし2番目に宣言した変数の値を取得する場合は、SRAM 0x0141を選択して下さい)なおBYTEで宣言されている必要があります。
    Finderscreensnapz006

 

| | コメント (0) | トラックバック (0)

RZ1Basic v0.2.9 公開

Rz1bicon04

RZ1Basic v0.2.9を公開しました。

ブログもなかなか更新できず、プログラミングに集中してました。やっとシミュレーション再生機能を付けることができましたscissors あと、バグをヒロビさんに報告頂きましたので、その修正をしました。

RZ1Basicはここからダウンロードできます。

更新内容

  • Music編集ウインドウを閉じると、ハングアップしてしまう不具合を修正
  • Windows版において、コンテクストメニューが全然働いていなかった不具合を修正
  • ERXコマンドのコンパイル時の不具合を修正
  • MOVE24の行を選択した場合の不具合を修正
  • ファイルを開いた時、プログレスバーのちらつきを抑制(Windows版)
  • ファイルを保存した時、ファイル名が変になる不具合がある修正(Mac版)
  • シミュレーション再生機能を追加
    それに伴い、
    • IRRemoconの設定仕様変更
    • ゲームパッド設定仕様変更

《シミュレーション再生》
シミュレーション再生に対応しました。

始める前に

足の接地のコマンドをあらかじめ書込んでおく必要があります。
赤外線リモコンの設定は大したことないので簡単ですが、ゲームパッドを使う場合は、PSコントローラのデータの取得、ETX、ERXで書いたことを理解できてないと設定が難しいかもしれません。


赤外線リモコンの場合

  1. 赤外線リモコンのボタンをクリック
    Rz1basicdebugscreensnapz003
  2. 右クリックで、SIM REMOCON(n)を選択
    Rz1basicdebugscreensnapz004
  3. シミュレーション開始ボタンをクリック
    Rz1basicdebugscreensnapz005
  4. デモムービーです
    ※一時停止すると
    • 停止したところのソースが表示されます
    • 変数の値がソースの下のリストに表示されます
    ※ソースを書き換えた場合は、「■」の停止ボタンをクリックした後に、再生する必要があります。

ゲームパッドの場合

USBのPSコントローラーや、普通のPSコントローラーとパソコンを繋げるコネクタなど、インプットデバイスで、機体をコントロールできるようにしましたが、この機能を使ってシミュレーションすることができます。

今回は夢現工房さんのダウンロードのページにある「Template Plogram For GameCon(Version1.09 20070515)」を使っってみました。

  1. ゲームパッドの使い方の説明に従い、ゲームパッドの設定画面を表示、私の場合は以下の図の様に設定しました。
    あたりをよ〜く理解できていないと設定を作るのは難しいかも知れません。
    Rz1basicdebugscreensnapz006
  2. 設定が済んだら、シミュレーションにチェックを入れて、ゲームパッドコントロールをオン(開始)にします。
    Rz1basicdebugscreensnapz007
  3. シミュレーション開始ボタンをクリックします。※このプログラムはフリーの時(ボタンを押していない時)が、&hFFなので、先にゲームパッドコントロールをオンにしておかないと、ゼロとしてデータを受け取るので、勝手にロボットが動いてしまいます。
    Rz1basicdebugscreensnapz005
  4. デモムービーです。

   

Lcdのデータも表示されますので、デバグにご利用頂けるかもしれません。
Rz1basicdebugscreensnapz002

| | コメント (1) | トラックバック (1)

RZ1Basic v0.2.8 公開

Rz1bicon04

RZ1Basic v0.2.8を公開しました。

今回のメインの更新はコマンドリファレンスを新しくしました。高度な検索機能を付けた訳ではないのですが、勉強のためにSQLを使ってみました。

最新版のRZ1Basicはここからダウンロードできます。

更新内容

  • コマンドリファレンスを新しくした
    Rz1basicdebugscreensnapz001
  • 「行の移動」機能追加した
    Parallels_desktopscreensnapz002

    Parallels_desktopscreensnapz003
  • コントローラのウインドウに最小化とクローズのボタンを付けた
  • 「戻る/進む」で行がズレる不具合を修正した

《コマンドリファレンスについて》
Parallels_desktopscreensnapz004 これまでと同じくコマンドリファレンスの表示ボタンをクリックすれば、上の図で示しいたようなウインドウが開きます。データベースファイルは、

  • マイドキュメント(Windows)または書類(Macintosh)の中のMicono Utilitiesの中のRZ1の中のExplanationの中の 「ROBOBASIC_COMMAND.rsd」というファイルです。

「新規/編集/保存/削除」を行うとこのファイルが書き換えられます。オリジナルのデータに戻したい場合は、このファイルを捨ててから、もういちどコマンドリファレンスを開いて下さい。

以上です。

| | コメント (2) | トラックバック (0)

RZ1Basic v0.2.7 公開

Rz1bicon04

RZ1Basic v0.2.7を公開しました。

今回のバージョンでは、前々から付けたかった条件コンパイルの機能を付けましたgood

最新版のRZ1Basicはここからダウンロードできます。

更新内容

  1. DIR, INIT, GYROSET, GYRODIR, GYROSENSE, POS, GETMOTORSET, ZEROにおいてもMOVEと同じように、モーター番号と名称を表示するようにした。Rz1basicdebugscreensnapz001

  2. ON...GOTOのラベル名の番号を表示するようにした。
    Rz1basicdebugscreensnapz002
  3. ON...GOTOのラベル名をOption(またはALT)+ダブルクリックで、ジャンプ先を表示できるようにした。
  4. シミュレーション画像の足の接地切換えのコマンドに対応
  5. 条件コンパイル機能を追加

《足の接地切換えコマンドについて》
シミュレーション画像の足の接地の切換えを行うコマンド

  • '<--FOOTGROUNDING RIGHT-->
  • '<--FOOTGROUNDING LEFT-->
  • '<--FOOTGROUNDING FREE-->

の3種類に対応しました。
これは、RZ1Actionと同じコマンドです。現バージョンのRZ1Basicでは、RZ1Actionのようにコードの再生に対応していませんので、上のコードが書かれている行にカーソルがあるか、選択されると、足の接地が切換えることくらいしかできません。ゆくゆくはRZ1Basicにも再生機能を付ける予定でいます。

《条件コンパイルについて》
条件付きコンパイルができるような仕組みを付けました。現バージョンでは関係演算子は使えないので簡単な条件しか作れませんが、デバグ時にコードを書いたり消したりするのが面倒な方は、お役立て頂ければと思います。

但し、この条件付きコンパイルの機能はroboBASICにはない機能です。ソースコードは、RZ1Basicだけで使えればいいという訳ではないので、ちょっとややこしい仕組みになっていますので、以下の例を参考にしてやってみて下さい

条件コンパイルのステートメントは、

  • '#IF
  • '#ELSEIF
  • '#ELSE
  • '#ENDIF

になります。どれも「'」を付けてコメントとしてます。

one

CONST STACKCHECK=1
....
....

'#IF STACKCHECK
'    sp=PEEK(&h04D5)
'    IF sp<&h0D02 OR sp>&h0E00 THEN
'        MUSIC "G"
'        END
'    ENDIF
'#ENDIF

  • STACKCHECKをCONSTで定義しますが、定義する場合は、条件コンパイルの文章が出てくる前に定義しておく必要があります。
  • STACKCHECK=0とするか、STACKCHECKそのものを定義しなければ、この部分はコンパイルされることはありません。
  • '#IFと'#ENDIFで挟まれた部分は、コメントにしておかないとroboBASICでコンパイルする場合、STACKCHECKの状態に関わらずコンパイルされてしまいますので、コメントにしておくのが無難だと思います。RZ1Basicのみでしかコンパイルしないというなら、コメントは外しても構いません。

two

'CONST SPEEDTEST01=1
CONST SPEEDTEST04=1
....
....
'#IF SPEEDTEST01
'    SPEED 1
'#ELSEIF SPEEDTEST04
'    SPEED 4
'#ELSE
    SPEED 7
'#ENDIF

  • SPEEDTEST01はコメントになっているので、'#ELSEIFのSPEEDTEST04の部分がコンパイルされます。'#ELSEIFの中も、例oneと同じ理由でコメントにしておいた方が無難だと思います。
  • '#ELSEを使う場合、'#ELSEの中は、どの条件にも関係ないという意味でしょうからコメントは外しておいて構わない(roboBASICでコンパイルする場合でも影響がない)ということになると思います。

その他:

  • 現バージョンでは、以下のような条件コンパイル文を入れ子(条件コンパイル文の中に条件コンパイル文を書く)にすることはできませんのでご注意下さい。

'#IF HOGEHOGE
    '#IF IREKO1
       'PRINT FORMAT(A,HEX,2)
    '#ELSEIF IREKO2
        '.....
        '.....
    '#ENDIF
'#ELSE
    ......
    ......
'#ENDIF

以上です。


| | コメント (10) | トラックバック (0)

RZ1Basic v0.2.6 公開

Rz1bicon04

RZ1Basic v0.2.6を公開しました。

ファイルを開いた時のシンタックスのカラーリングの高速化、コマンドリファレンスの充実化、コンパイル時のエラーチェックの充実化あたりをやっていたのですが、対応できていないコマンドを見つけましたので、早急に更新しました。

更新内容

  • ジャイロ関連のコマンド(GYRODIR,GYROSET,GYROSENSE)に対応
    ※対応済みのつもりでしたsweat01
  • AIMOTOR関連のコマンドの不具合を修正
    ※AIMOTERとスペルミスしていたため、認識されていませんでしたsweat01
  • ゲームパッドを一度起動させると、その後、RZ1Basicを終了させるまでデバイスを占有していたのを、起動させてない時は解放するようにした

RZ1Basicはここからダウンロードできます。

《余談》

●ファイルを開いた時のシンタックスのカラーリングの高速化の為に、正規表現を使ってみました(使ってなかったのかsign02と言われそうsweat01)。土日を使ってやってみたのですが、全然速くなりませんでしたbearingむしろ正規表現を使わない方が早かったimpactやっぱ律速は色付けそのものかなぁ。。

●コマンドリファレンスを読んでしたら、"NOT"というのを見つけました。roboBASICで使ってみたのですが、コンパイルエラーが出てしまいます。NOTの書式お分かりになられる方いらっしゃいましたら教えて頂きますでしょうか?

●コマンドリファレンスをSQL系のデータベース化をして、もう少しまともにしようかと思っています。正規表現も、SQLも、っていうか、文字文字したの、っていうか、スクリプトっぽいプログラミングはどうも拒否反応しちゃって、自分で組んだ方がマシと思って避けてきましたsweat01けど、正規表現は今回だいぶマスターしたし、SQLも、こんなことでもなきゃ勉強しませんですからね。いい機会と思ってがんばろ〜

●これこそ余談ですが、iPodの空きがなくなってきた。
Itunesscreensnapz007
そろそろ買い替えなくてはいけないのだが、携帯も壊れそうでメール送信する時やネットに繋げるたびにハングアップしてしまうので、いつまでもつやらという感じだし、今月はRZ1Basicとか作っているコンパイラが期限切れるので更新にお金が掛かるしsweat01優先順位をよく考えてお金を使わなくてはsign01

今まで買ったiPodは9台。
iPodのモデル一覧)

  1. iPod (Scroll wheel) (5 GB) 白
  2. iPod (Click Wheel) (20 GB) 白
  3. iPod shuffle (512 MB) 白
  4. iPod mini (2nd generation) (4 GB) 緑
  5. iPod mini (2nd generation) (4 GB) 青
  6. iPod nano (2nd generation) (8 GB)  赤
  7. iPod (5th generation) (60 GB) 白
  8. iPod nano (3rd generation) (4 GB) シルバー
  9. iPod nano (3rd generation) (8 GB) シルバー

今、使っているのは、第5世代の60GB iPodで、音楽は10000曲程度にとどめているんですが、仕事のデータも、趣味のデータも、兎に角すべてのデータをiPodに入れて持ち歩いています(落としたらとんでもないことになるsweat01)。やっぱ、次、買う記念すべき?10台目のメインのiPodはiPod classic 160GBのシルバーになるんでしょうけど、iPodに合わせて、携帯とか、DSとか、PSPとか、全部白で揃えてきたのに、白のiPodがなくなってしまって残念ですdown

みなさんはiPod持ってますかsign02iPod持っている人、好きで〜すheart02sweat01

| | コメント (0) | トラックバック (0)

RZ1Basic v0.2.5 公開

Rz1bicon04

RZ1Basic v0.2.5を公開しました。

先日、あれこれほざいていましたが、遅い原因を特定して、だいぶ最適化できたので、殆どストレスなして編集できるようになったと思います。ただ私自身がそんなに悪いコンピュータ環境でないので、遅いマシンを使っているとやっぱり付加が大きいくあまり改善されていなかもしれません。

更新内容

  1. コードエディタ編集速度に関して、大きなファイルで処理速度がかなり低下してしまう問題点を大幅に解消、ほぼストレスなしで編集可能になった
  2. その他、エディタに関する不具合修正
  3. 有線によるGame Padコントロール機能追加(下記)
  4. その他、細々したこと

最新版のダウンロードは、いつものところです

Game Padコントロール機能について
インプットデバイスを使って有線でロボザックを操作する為の機能です。USBのゲームパッドや、PSを持っているならUSB to PS/PS2を使ってPSコントローラをパソコンへ繋げたり、兎に角、インプットデバイスならマウスだって、キーボードだって利用できます。


【設定編】
oneゲームパッドを繋いで、RZ1Basicを起動し、ゲームパッドのアイコンをクリック
Rz1basicdebugscreensnapz019
下の図のダイアログが表示されます。
twoまず設定を編集しなくてはいけません。「編集」ボタンをクリックして下さい。
Rz1basicdebugscreensnapz020
「Game Pad Editor」というタイトルのウインドウが開きます。
three次に設定したいデバイスを入力装置のポップアップメニューから選択します。Rz1basicdebugscreensnapz021
その装置のボタンなどの一覧が表示されます。
four試しにゲームパッドのボタンをいろいろ押してみましょう!一覧の「値」の所の数値が変わりましたでしょうかsign02お好みによってボタンの名称は、ボタン名(要素名)をクリックして、編集できます。
five目的のボタンに意味付けをします。左のリストからそのボタンを選択し、「+」ボタンをクリックして下さい。その際に、ゲームパッドの方のボタンを押した状態でクリックすると少し操作の手間が省けるかもしれません。
Rz1basicdebugscreensnapz022
右側のリストにそのボタンが登録されます。
six右側のリストをクリックすると通信の際のデータを編集できます。

  1. 値 :ボタンを押したときの値です。アナログの場合は、右のチェックボックスにチェックを入れて範囲を設定できます。
  2. 変数:変数とは、ボタンを押された時、ロボザックのプログラムの何番目の変数にデータを送るのかを設定します。
  3. 番号:2で設定した変数にいくつを入れるかを設定します。

設定が済んだら、「セット」ボタンをクリックするのを忘れないで下さい。
Rz1basicdebugscreensnapz023

sevenPSのコントローラで設定してみた「例」です。
Rz1basicdebugscreensnapz025
eight保存名(上の図の例:PS Ctl test01)を入れて、ファイルメニューの「保存」で保存してウインドウを閉じます。
Rz1basicdebugscreensnapz026
nine再編集したい場合は、再度このウインドウを開いて、デバイスを選択後、右上のポップアップメニューから保存した名称を選択してから編集し、再度保存して下さい。また、別ファイルとして保存したい場合は、名前を変えて(上の図の例:PS Ctl test01をPS Ctl test02とかする)、保存すればOKです。

【プログラム編】
例えば「RoboNova-1 GamePad Template Plogram」などで利用する場合にどんなコードを書けばいいかを、ちょ〜〜簡略化して書いてみました。

oneゲームパッドからのデータを第一変数(この場合RR)で送ることにしました。

twoボタンが押されていなければRRは0です。ボタンが押されるとRRに値がセットされますので、それをPSDTにセットして、RRを0に戻しておきます。

※ボタンを同時に何個か押すと、それらのボタンで設定した番号の合計値が送られます。

DIM RR AS BYTE
DIM PSDT AS BYTE
RR
=0
MAIN:
PSDT
=0
IF RR<>0 THEN
    PSDT
=RR
    RR
=0
ENDIF
ON PSDT GOTO MAIN,key1,key2,key3,key4,key5,......
GOTO MAIN

【操作編】
oneロボザックをプログラムを送るときと同じようにケーブルで接続
プログラムを転送し、ゲームパッドのボタンをクリック
Rz1basicdebugscreensnapz019_2
two入力装置と、設定を選択し、「開始」をクリックします。
ロボザックの操作ができる状態になります。
Rz1basicdebugscreensnapz027

threeこの機能が起動中は、「ゲームパッド」のボタンが少し黒くなっています。
「停止」する場合は、もう一度、この「ゲームパッド」のボタンをクリックして下さい。
Rz1basicdebugscreensnapz017

 

| | コメント (2) | トラックバック (0)

独り言

●今週末は土日とも仕事、今月は土日仕事が2回あってお疲れモードwobbly明日からの1週間持つのでしょうかsweat01

●ブログも書きかけばかりだし、ソフトも作りかけだし、ここんとこブログ書いてないし。。。


Rz1basicdebugscreensnapz015 ●パソではゲームをやらないのでGame Padは持ってないなぁとなにげに思っていたのですが、ふと、Connectix Game Stationが出た時(10年ほど前かな?)に、Gravis Game Padを買ったことを思い出し、がらくた箱の中から探し出し、繋げてみました。

というか、USBのPSコントローラーとか、USB to PS/PS2というのが、今は1000円程度で売っているんですねcoldsweats01

ま、兎に角、これを使ってロボザックを動かせるようにと、試しに、Imput Deviceのプログラミングをしてみた。ん〜Mac版もWin版もImput Device対応なものができそうだ!ということで、先日、有線でGame Padでコントロールできる機能を付けました(図)。まだ公開はしてません。

というのは、パッドの設定と、実際にデータを取ってくる処理までは出来上がってはいるんだけど、いざパッドのボタンをあれこれ押してみると、得られたデータをどう判断して、どう処理していいのかが難しいんですね〜〜〜sweat01もう少し検討が必要なんですわsweat01sweat01

●RZ1Basicのコードエディタが遅いよね。。。

コードが長いとまぢ使い物にならないdespair

Game Pad対応のため、
夢現工房さんのページから、
RoboNova-1のGamePad用Template Plogram
「Template Plogram For GameCon(Version1.09 20070515).bas」

をダウンロードしてみた。

うわぁ〜、5000行近くある...

遅いのは、何の処理に一番時間が掛かっているんだろう。。。

コードを編集すると動く処理

  • シンタックスの色付け
  • ラベルのリストアップ
  • Undoの為のバックアップ

を調べてみた。

シンタックスの色付けはほとんど影響ないみたいだ。ラベルのリストアップ、やっぱコードが長いと遅くはなるが、改良して、コードが長くてもだいぶストレスなしでリストアップできるようになった。

兎に角、時間が掛かっていたのはアンドゥの為のバックアップだったsign03

文字だけのバックアップならストレスにはならない...
時間が掛かっているのは色付けされたデータのバックアップだwobbly

シンタックスの色付けも一緒にバックアップ取らなくてはいけない理由があるのだ。
Windows版のエディットフィールドの色付けにバグがありそれを回避するためなんです。

そのバグは、カーソルのある行の文字列には色は付けられるのだか、もしそうでない行に色を付けようとすると、その行へスクロールしてしまうのだangry何行もの色付けをしようものなら、画面がちらついて見てられなくなってしまうのだ。

これはキーボードから、文字を入力したり、削除したりしている段階では、カーソルのある部分での処理なので、問題にはならないのだが、そうでない処理、ファイルを開いたり、ペーストしたり、アンドゥした際、その内容に色を付けることができないことを意味している。。。

RZ1Basicで、ファイルを開いた時、最初にカラーリングしているのは、この色付けの不具合を回避するため、バックグランドで色を付けてから開いているのである。アンドゥのバックアップの為に、文字だけでなく、色のデータもバックアップするのは、この不具合を回避するため、必要な処理なのである。。。

もっといい処理方法はないのだろうか!?考え中。。。

長いファイルを開くのにも時間がかかるし、処理も時間がかかるし、デバグに時間がかかる。。。

| | コメント (2) | トラックバック (0)

RZ1Basic v0.2.4 公開

Rz1bicon04

RZ1Basic v0.2.4を公開しました。

今回は、全体的に細々した更新内容が多いです。コンパイル関連でもメジャーなコマンドではないのですが、その辺りを対応/修正していますので、できるだけ新しいバージョンを使って頂けますようお願い致します。

更新内容

  1. 文字列内に予約語がある場合の不具合を修正
  2. Actionコマンドに対応
  3. '$LIMITコマンドに対応
  4. REMARKコマンドに対応
  5. Resultフィールドをダブルクリックした場合、「戻る/進む」のリストに追加されるようにした。
    Parallels_desktopscreensnapz048
  6. IR Remoconウインドウで、第一変数以外の変数へもデータを送ることがきるようにした。
    Parallels_desktopscreensnapz047
  7. コントローラのウインドウにRemocon表示のボタンを設けた。
  8. 同意画面を同意の上、次回からは表示させなくする機能を追加した。

といったところでしょうか。
なお、RZ1Basicはここからダウンロードできます。

| | コメント (5) | トラックバック (0)

RZ1Basic v0.2.3日本語Win版

Rz1bicon04


RZ1Basic v0.2.3を17日に公開したのですが、日本語版のWindows版だけ、インストーラを作り間違えてしまったようで、インストールされるのがv0.2.2のものを作ってしまったようです。何のお問い合わせもないので、誰もダウンロードしていないんだと思いますが、18日11時頃に、日本語版のWindows版のインストーラを作り直してたものをアップロードしました。

私のところは、古いファイルがキャッシュに入ってしまっているせいか、現在まだ新しくアップロードしたファイルをダウンロードできなのですが、今回アップロードしたものは、インストーラのトップ画面のトップに、「RZ1Basic v0.2.3 日本語インストーラ」と表示するようにしましたので、それでご確認下さい。

| | コメント (4) | トラックバック (0)

RZ1Basic v0.2.3 公開

Rz1bicon04

RZ1Basic v0.2.3を公開しました。

バージョンアップの頻度が高いですが、今回も結構いろいろ機能を付けました。私的には、やっとビット演算の式に対応させられたので嬉しいです。これでコマンドに関してはほぼ網羅したと思いますscissors 更新内容は1つの修正と、6種類の新機能です。新しい機能が沢山ありますので、以下の更新内容の説明をお読みの上、ダウンロードして、お使い下さい。 最新版のダウンロードは、いつものところです

更新内容

  1. [修正] Windows版で、シミュレーション画像上でマウスのホイールをまわすと、ソースエディタもスクロールしてしまう不具合を修正。
  2. [新機能] ビット演算式に対応
    A=B.3のような、ビット計算のコンパイルに対応しました。
  3. [新機能] GOTO AUTO, FILL, 文字列にシンタックスカラーを付けた。
  4. [新機能] GOTO, GOSUBのある行をOption(またはALT)キーを押したままダブルクリックで、GOTO, GOSUBのジャンプ先へ移動できます。

    Parallels_desktopscreensnapz042
     
  5. [新機能] 「戻る/進む」ボタン:上記の操作やラベルリストをクリックして、ジャンプ先を表示させると、このボタンが使えるようになります。
  6. Parallels_desktopscreensnapz041

  7. [新機能] ソースエディタおよびオブジェクト表示のフォントおよびフォントサイズを設定(変更)および、ソースエディタのシンタックスの色を設定(変更)できるようになった。(ダプルクリックで色の変更ができます。)

    Rz1basicscreensnapz013
    Macintosh版は、メニューRZ1Basicの環境設定を選択して下さい。

    Parallels_desktopscreensnapz046
    Windows版は、ファイルメニューの環境設定を選択して下さい。

    Parallels_desktopscreensnapz045_4

    シンタックスなどの色は、変更したい項目をダブルクリックすると変更できます。


  8. [新機能] 赤外線リモコンのインターフェイスを付けました。第一変数を用いた起動テストができるようになります。
    Parallels_desktopscreensnapz044
    コントローラの「IR Remocon」を選択
    IR Remoconの画像が表示されます。図のリモコンのボタンをクリックすることで、先日書いた第一変数によりコントロールができます。
    Parallels_desktopscreensnapz043

| | コメント (0) | トラックバック (0)

RZ1Basic v0.2.2 公開

Rz1bicon04

RZ1Basic v0.2.2を公開しました。
※更新の頻度が高くて申し訳ありませんsweat01

今回も結構いろいろ手を加えました。もう少し手を加えたい部分があったのですが、PRINT文かPRINT FORMATに不具合があると報告を頂きまして、早々に修正してアップロードすることになりました。

更新内容

  • PRINT文関連の不具合を修正
    • [修正]:PRINT文のクォーテーション内に演算記号(+, =, &, %など)がある場合に、それらの前後にスペースが入ってしまう不具合を修正
    • [修正]:PRINT FORMAT文が、すべてPRINT文のルーチンの方へ分岐していた不具合を修正
    • [修正]:デコンパイルにおいて、PRINT文のルーチンを作り忘れていたため作成
  • 3次元シミュレーション画像
    • [修正]:カーソルがある行にMOVEコデータがあった場合、そのポーズになるが、その追従性が非常に悪かった不具合を修正。MOVE G6A〜Dの様な場合は、複数行選択して下さい(図1)。
    • [変更]:カメラ位置をマウスのホイールで動かす仕様にした。Mighty Mouseだと上下左右ぐるぐるできます(WindowsでMighty Mouseを使える様にするドライバもあるよ。知り合いの会社なので宣伝に貢献paper)。縦方向しか動かないホイールの場合は、Option (またはALT) キーを押した状態でホイールを動かして下さい。
    • [新機能]:DIRの設定を選択できるようにした。
  • コードエディタ
    • [新機能]:MOVEデータの各値にマウスのポインタを合わせるとモーターの番号を表示するようにした。いちいち何番目か数える手間が省けるので便利だと思います(図2)。
    • [新機能]:MOVEデータなど、数値をダブルクリックすると、その数値が選択されますね。その状態で、Option (またはALT)キーを押したままマウスのホイールを回すと、その数値が変わります。もしMOVEデータの上でこれを行えば、シミュレーション画像も変更された数値に伴ってポーズを変えますので、ポーズ作成に便利だと思います(図3)。
  • インストーラー(Macintosh版)
    • [新機能]:Macintosh版は、インストーラを作ってなかったので作りました。

以上くらいかな。あと、とりあえず、既知の不具合もありましてsweat01最近付けた機能に関連しても

  • Macintosh版:オブジェクトコード表示にしても、シミュレーション画像が消えてくれないsweat01
  • Windows版:シミュレーション画像上で、ホイールを動かしているのに、コードエディタがスクロールしてしまうsweat01

などがあります。コンパイラの方が原因となっている内容のようで、どうにか回避策はないかと考えています。

Fig.1:選択された行が、シミュレーション画像に反映します。

Rz1basicscreensnapz001


Fig. 2:MOVEデータの上にポインタを持ってくると、モータ番号が表示されます。
Rz1basicscreensnapz003

Fig.3:数値が選択されている状態で、Option(またはALT)キーを押しながらマウスのホイールを回すことで、数値を変えられます。

Rz1basicscreensnapz004

 

| | コメント (0) | トラックバック (0)

RZ1Basic v0.2.1 公開

Rz1bicon04

RZ1Basic v0.2.1を公開しました。

※すいません、14日AM2時頃書いたのですが、Windows版の方アップロードするの忘れてましたsweat01いまアップロードしました。

結構いろいろ手を加えましたし、重大な不具合を修正していますので、必ず、こちらのバージョンを使って頂けるようよろしくお願い致します。


更新内容

  • 数値が255の時の不具合を修正( 重大
  • ソースエディタで、ラベルに関して、リストボックスに一覧表示することにした。
    サブルーチンクリックで表示できるので、より快適になりました。
  • ロボザックの3Dモデルを表示するようにした。
    MOVEコマンドのある行を選択すると、そのポーズになります。

ダウンロードはこちらからできます

Parallels_desktopscreensnapz040_3

| | コメント (0) | トラックバック (0)

通信ができないエラーの場合

ちょっとTipsを

タイムオーバー(エラーコード:-4)、転送エラー(エラーコード:-5)など、通信ができなくなってしまうエラーが出てしまうようになった場合の原因として

  • プログラム転送中にエラーになった
  • ハングアップしてしまうようなプログラムを転送した

ことも考えられます。
MR-C3024は、スイッチを入れると、転送されてあるプログラミングがスタートしてしまうので、プログラムが変になっていると致命傷になってしまう場合があります。

Parallels_desktopscreensnapz031_2 このような場合、少し荒てですが、スイッチオンと同時に、「プログラムの停止」ボタンを何度かクリックしてみて下さい。いっぱつでうまくいくとは限りませんので、何度か試してみて下さい。そうすることで、暴走する前に、プログラムが止まり、次からは転送できるようになるかもしれませんよ。

転送エラーは、プログラムの暴走だけが原因ではないと思いますので、とろあえず、ひとつの手段として、紹介しましたが、ここ で書いた、《テストコード》ですが、スイッチを入れて、すぐにプログラムを止めるコードを入れておいた方が安全ではないかということを考えて作ってみたコードです(まだリモコン/赤外線センサを繋いでないので試していませんけどsweat01)。いかがでしょうかねsign02

| | コメント (0) | トラックバック (0)

RZ1Basic v0.2.0 公開

Rz1bicon04

RZ1Basic v0.2.0を公開しました。

更新の頻度が高くて申し訳ありません。
重大な不具合がまた見つかりました。旧バージョンをお使いの方は、必ず、こちらを使って頂けるようよろしくお願い致します。

更新内容
●ソースコードで、if文、for文の条件式、代入式で、128以上の数値を用いていた場合、正しくないオブジェクトコードを生成する不具合を修正

ダウンロードはこちらからできます

| | コメント (0) | トラックバック (0)

RZ1Basic v0.19 公開

Rz1bicon04

RZ1Basic v0.1.9を公開しました。

重大な不具合を見つけてしまいましたので、予定していたところまで新しくなっていませんが、新しいバージョンをアップしました。

更新内容

CONST(定数)を使っている場合、コンパイルエラーがでる不具合を修正しました。

●ADポート取得に関して

  1. 折れ線グラフ、ヒストグラム、データ一覧を、データ取得中でも表示できるようにした(ムービー)
  2. 取得したデータをExcelのファイルとして保存できるようにした。
    (データ一覧表示で、「Excelで保存」)

●ソースエディタで、ソースをHTMLとしてコピーできるようにした。

  • ソースコードを選択
  • 右クリックし「HTMLでコピー」を選択
  • ブログのHTML編集へコピー
  • ページとかで利用する為に付けました。さっそく利用してみました->

Rz1basicscreensnapz008

ADポート値取得中のムービー

------------

   

------------

| | コメント (0) | トラックバック (0)

RZ1ActionとRZ1BasicのCatch&Play機能

お受験も終わりましたねhappy01。そろそろロボザック作りを再開したいです。まだ30号までしか作ってないので、私はまだ使ってない機能なんですが、「Catch&Play機能(キャプチャー機能)」が、RZ1Actionにも、RZ1Basicにも、それらしき機能が付けてありますので、宣伝?紹介?しておきます。

Catch&Play機能というのは、ロボザックユーザーさんだと、oneプログラミング・シミュレータでポーズを決める。twoそのポーズをロボットに転送する。three実際にロボットの手足を動かして微調整する。fourその微調整したポーズをキャプチャーする。といった、一連の手順で、モーションを作って行く機能ってこと(かな)。

Parallels_desktopscreensnapz025ロボザックの冊子を全然見てないので、もう使い方は書いてあるのでしょうか?roboBASICでは、「コントローラー」メニューの「ヒューマノイド モーターコントロール」(図)で、Catch&Play機能を使うことができますね。ハイテックのページに「Catch&Play機能を利用したモーション制作」として、その説明があります。
 
 
【RZ1Action】は、ロボザックの3Dシミュレーションソフトで、かつ、Catch&Play機能を持っています。従って、3D画像と実ロボットとで、データをやりとりしながらポーズを決めていくのに便利だと思います。RZ1Actionのダウンロードページに書いてありますが、ここにも同じことを書いておきます。
Parallels_desktopscreensnapz027

RZ1Actionで作ったポーズをロボットへ送る
oneRZ1Actionでポーズを作る。
twoモータがオンになっている必要があります。もしオフの場合は、のボタンをクリックする前に、一度、のボタンをクリックして、モータをオンにしておいて下さい。
threeのボタンをクリックします。各モータのデータがロボットに送られ、ロボットがポーズをとります。※モータが動きます。指など挟んだりして怪我をしないよう注意して下さい。

《ライブモード》のボタンを「Option (ALT) 」+ クリックすると、のボタンの縁取りが変わり「ライブモード」になります。「ライブモード」状態では、RZ1Action右側の各モータの角度を設定するスライダーを動かしたりすると、ロボットにデータが送られます。※モータが動きます。指など挟んだりして怪我をしないよう注意して下さい。

ロボットのポーズを、RZ1Actionに読込む
oneロボットのモータを手で動かす場合は、モータがオフになっていないと動きません。無理矢理動かさないで、黄色のボタンをクリックして、モータをオフにしてから、モータを動かして下さい
twoのボタンをクリックします。ロボットのモータの状態を読込んで、RZ1Actionの3D画像に反映されます。
three「MOVE」のグループを選択し、書込みボタンをクリックすると、エディタのカーソルのある位置に、MOVEデータが書込まれます。
Parallels_desktopscreensnapz026

《ライブモード》のボタンを「Option (ALT) 」+ クリックすると、のボタンの縁取りが変わり「書込みモード」になります。「書込みモード」状態では、ロボットから読込んだ角度をエディタに直接、書き出します。
 
 
 
【RZ1Basic】には、現バージョンでは、3Dシミュレーションをともなった、Catch&Playはできませんが、roboBASICのようにダイアログを開けなくても、プログラミングをしながら右クリックでCatch&Playができるようになってます。

Parallels_desktopscreensnapz028

MOVE値をロボットへ送る
zeroモータがオフの場合、右クリックして、「サーボをオン」を選択
oneMOVEの行を選択
two右クリックして、メニューから「カーソル行のMOVEコマンドの値を...」を選択

ロボットのポーズを読込む
zeroモータがオンの場合、右クリックして、「サーボをオフ」を選択
oneロボットを目的のポーズにする
two右クリックして、メニューから「G24サーボの...貼付ける」や「G6xサーボの...貼付ける」の項目から、目的のものを選択すると、エディタにロボットから読込んだ角度が書き込まれます。
 
=================
いつ公開できるかはっきりしたことは言えませんが、次バージョン予定を簡単に書き留めておきます。

RZ1Action
●エディタを色付き(シンタックスに色が付くようにする)

RZ1Basic
●Windows版で特になんですが、エディタがひたすら遅いので、修正予定です。
●多用はしないと思うけど、オブジェクトの表示で使っているHEX表示を編集可能なHEXフィールドに改良予定
●ADポート取得で、得られたデータをExcelに吐き出せるようにする

ちょこちょことバグを見つけていますので、見つけたバグ次のバージョンで直しますが、私が気がついていないバグも多々あると思いますので、何か気がついたことがありましたら教えて下さい。

| | コメント (0) | トラックバック (0)

MIDIファイルからMUSICコマンド(3)

RZ1Basic v0.1.7で新しく付けたMIDIファイルを読込んで、roboBASICのMUSICコマンドにする機能ですが、簡単に手作りしたファイルなど単純なMIDIデータなら問題はないと思うのですが、ちゃんと作られているMIDIデータを読込むと、何がなんやらわからない曲になって、いまいち気に食わなかったので、もう少し改良し、RZ1Basic v0.1.8として公開しました。

Parallels_desktopscreensnapz020oneひとつは、トラックごとにデータを抽出していたのですが、さらに、選択したトラックの中のチャンネルごとに抽出するようにしました。これによって、主旋律だけピックアップできる可能性が高くなりました。なお、トラックを変更した際、音データがあるはずのトラックなのに、何も表示されなかった場合は、「CH」を別の番号にしてみて下さい。

Parallels_desktopscreensnapz024

two2つ目は、音の長さ「1」を全音符とすると、使えるのは8分音符までになってしまうので、曲によっては上手いこと変換できなかったので、1〜9の音の長さの設定は、音の長さの「比」なんで、音の長さ「8」をMIDIデータの何分音符に対応させるかを設定できるようにしました。「※音の長さ0の音符がいくつかふくまれています...」という赤文字のメッセージが出た場合、このポップアップメニューで音符の対応を変えてみて下さい。なお、これを変更させると連動してBMP (TEMPO)も変更されます。

| | コメント (2) | トラックバック (0)

RZ1Basic v0.1.8 公開

Rz1bicon04RZ1Basic v0.1.8を公開しました。

●MUSIC編集のスタンダードMIDIファイル(SMF)読み込みに関連して、
 1)トラックのチャンネル単位で読込むようにしました。
 2)音の長さの割り付けを変更できるようにしました。
●「ADポート読込み」で、シリアル未接続の状態で読み込みを開始すると、終了できなくなる不具合を修正しました。

ダウンロードはこちらからできます

| | コメント (0) | トラックバック (0)

MIDIファイルからMUSICコマンド(2)

は〜い、RZ1Basic v0.1.7で、MIDIファイルからMUSICコマンドとして読込めるようにしました!

簡単に使い方です!
 
Rz1basicscreensnapz005
1)MUSIC編集のウインドウを開きます。
2)左上の「Import SMF」というボタンをクリックし、MIDIファイルを選択して下さい。

Rz1basicscreensnapz006
3)MIDIデータを読込んで、図のようなダイアログが表示されます。
4)トラックが複数ある場合は、目的のトラックをポップアップの中から選択して下さい。
5)「OK」ボタンをクリックすると、MUSICデータとBPMが反映されます。

単音しか鳴らすことができないので、データが和音だったりした場合は、和音の中の一番最後に記録されていたもの音がピックアップされる仕組みになってます。一般のMIDIファイルに和音や複数トラックを使ってないことはないので、なかなか思ったようにならないかもしれません。

私は「Studio ftn Score Editor」というのをダウンロードして、このソフトで楽譜を書いて、MIDIで書き出して、それを読込んでいます。
Parallels_desktopscreensnapz015_2
 
いちおう「Studio ftn Score Editor」の使った場合の手順を簡単に書いておきます。
1)「Studio ftn Score Editor」を起動
2)五線譜の上でクリックすると音符が書込まれます。音符の種類は右クリックして変更できます。
Parallels_desktopscreensnapz014
 
3)どうせ単音しか鳴らせないので、CH=1のところだけに、以下の感じに楽譜を書いて、左下の再生ボタンで確認する。
Finderscreensnapz007

Parallels_desktopscreensnapz017
4)保存は、MIDIファイルとして保存しなくてはRZ1Basicで読めないので、保存の際は、図のように、SMF format 0か、SMF format 1を選択してMIDIファイルとして保存して下さい。トラックをひとつしか使わないので、SMF format 0で問題ないです。

5)あとは、上で書いた手順で、MIDIファイルをRZ1Basicで読込めばOKです。


| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.7 公開

Rz1bicon04RZ1Basic v0.1.7を公開しました。

更新内容
●ファームv2.6で動作確認(v2.5でも使えます)(図:ファームウエアver)
●MUSIC編集で、MIDIファイルを読込めるようにした(図:Import SMF)
●MUSIC編集で、TEMPOを設定できるようにした(図)BPMの値も表示されます。
●音符を独自仕様で「0」を使えるようにした。
※これらMUSIC編集に関しては別口に書きます。

ダウンロードはこちらから
Finderscreensnapz006
 

| | コメント (0) | トラックバック (1)

MIDIファイルからMUSICコマンド(1)

いまCMで流れてますが、「週刊My Music Studio」(デアゴスティーニ)というのが創刊されましたね。音楽は基本的に好きで、こんなのとか、音楽関係のソフトをいくつか作ったりしてます。今は聞くことしかしてませんが、こんな私も高校まではバンド組んでて、打ち込みを習得したいなぁと思いつつ、中々機会が作れずやったことがありませんでした。なんで定期購読申し込んでしまいました。

さて、音楽と言えば、ロボザックは、roboBASICに"MUSIC"というコマンドがあって、「ビロリロリン〜」と音を出すことができますよね。roboBASICのコマンドリファレンスに使い方が書いてありますし、そ〜んな難しくはないと思うのですが、ちっとは便利になるかと思い、RZ1Basicでは、キーボードをクリックしてメロディーを作れるようにしてあります(図)。

Rz1basicscreensnapz004

Screensnapz0031)RZ1Basicを起動して、「コントローラー」ウインドウのいちばん左のボタンをクリックして下さい。
2)新規ウインドウが開きますので、その右の方にあるキーボードの絵柄のボタンをクリックすると上の図のようなMUSIC編集ウインドウが開きます。Rz1basicscreensnapz003
3)エディットフィールドにすでに入力されているので、それを消してから、キーボードをクリックして、メロディーを作って下さい。右の方にある「再生」のボタンをクリックして、メロディーを確認することができます。※現在まだ、速度の値は、TEMPOのコマンドに対応してません。
4)オッケーならば、「適応」のボタンをクリックすれば、「新規ウインドウ」にMUSICコマンドが書込まれます!

ビジュアル的に作れますので、少しは便利になると思いますが、どうでしょう?

と、今日は、このキーボードによるMUSICコマンドの作り方の話なんですが、タイトルにありますように、「週刊My Music Studio」も購読し始めたし、MIDIファイルのフォーマットを勉強中!!
で、MIDIデータを読込む部分まで作れましたので、これをroboBASICのMUSICコマンドに変換できるような機能を組み込もうと思ってます。MIDIファイルはネット上にいっぱいあるし、MIDIファイル作成ソフトもフリーでいろいろあるようですし、もっと楽してMUSICコマンドを作成できるのではないかと思ってます。完成したら「MIDIファイルからMUSICコマンド(2)」としてお知らせします。

メモ:
Standard MIDI File (SMF) Format
詳説MIDI規格
SMFファイルフォーマット解説
SMF (Standard MIDI Files) の構造 <--ここ解りやすい

| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.6 公開

Rz1bicon04RZ1Basic v0.1.6を公開しました。

RZ1Basicも久々にバージョンアップしましたので、簡単に説明します。Robozak-1/Robonova-1の制御用のベーシック言語(ROBOBASIC言語)対応の統合開発環境ソフトウエアです。私は基本的にマックを使っていますので、roboBASICに変わるものが必要で作り始めたソフトウエアです。Mac OS XはLeopard, Tiger、Windowsは Vista, XPで動作確認しております。なお、MR-C3024のファームは、v2.5で起動テストしています。

今回の更新内容は、昨日話題にした、ADポートの値を取得する方法がありましたが、これをもう少し分りやすいインターフェースで取得できるようにしました。今回はWindows版のスクリーンショットで簡単に説明します。

1)ロボザックをプログラムを転送する時と同じく、ケーブルでつないでマイコンの電源を入れます。
2)メニューの「コントローラー」の中の「ADポート読込み」を選択するとダイアログが表示されます。Parallels_desktopscreensnapz012

3)調べたいADポート番号を選択
4)インターバルを入力します。あまり短いインターバルにしてもその速度で読み取れないかもしれませんのでほどほどにしておいた方がよいかと思います。
5)何回か読み取ってた後、自動的に読み取りを終了させる場合は、必要に応じて「自動停止」で、その回数を入力して下さい。
6)「取得開始」ボタンをクリックすると、読み取りが開始されます。
7)真ん中の欄に表示されているのが、ポートの値です。
8)「ストップ」ボタンをクリックすると読み取りを終了します。
9)ストップすると、読み取ったデータをグラフや一覧で表示できます(図)。右下のポップアップメニューで選択して下さい。
 
たぶん簡単にできると思います。
Finderscreensnapz004

ただ何があるかわからないので、やるときは、自己責任においてよろしくお願い致します。

ダウンロードはこちらから

| | コメント (0) | トラックバック (0)

ADポートの値を取得してみる

ここんところ、avalonさんの「ロボットのいる生活」とか、takuoさんの「RoboZak奮戦記」とかで、アナログポートの値の取得が流行っているみたい。例えば、「データ送信(EXT)にチャレンジ」で書かれているようなケーブルを作らなきゃなんないのかな??私はどうもハードウエアは苦手だし、作るのも面倒なんで、MR-C3024の通信コマンドで、ADポートの値を得るコマンドがあるので、RZ1Basicで、真似っこしてみました。

1)普通にロボザックにプログラムを転送するときのようにケーブルをつないで、RZ1Basicを立ち上げます。
Rz1basicdebugscreensnapz001
2)メニューの「コントローラー」の中に「コマンドテスト」という項目がありますので、選択して下さい(※図の「ADポート読込み」という項目は今作成中の機能なので公開中のRZ1Basicにはありません)。

Rz1basicdebugscreensnapz003
3)コマンドテストのダイアログが開きますので、「Data」の隣のポップアップメニューから、「AD IN = No 00」と書かれてある項目を選択して下さい。

 
Rz1basicdebugscreensnapz002
4)「E2 No 00」と入力されたかと思います。0xE2はADポートの値を取得するという意味、NoはADポートの番号、0x00はおまじないみないなものになります。
5)例えば距離センサを3番に接続したとしたら、「E2 03 00」として下さい。

Rz1basicdebugscreensnapz004
6)あとは、「Send Data」のボタンをクリック
7)すると、「Result」のフィールドに結果が返ってきます。例えば「E203AA」となってたとしたら、最後の「AA」の部分が値です。
8)「AA」は16進数ですから、図の様にHexの所に「AA」と入力して、三角形をクリックすると10進法の数値がDecの所に計算されます。
Rz1basicscreensnapz002

ケーブルを作る必要がないので、もしご興味のあるかたは試してみて下さいね!!ただ何があるかわからないので、やるときは、自己責任においてよろしくお願い致します。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.5 公開

Rz1bicon04RZ1Basic v0.1.5を公開しました。

Windows版をお使いの方は、旧バージョンにおいて、インストーラに関しての不具合を修正していますので、旧バージョンをお使い頂いていた方はこちらをお読み下さい。

Mac版、Win版共通の更新内容
●Musicエディタにおいて、キーボードをクリックした際のオクターブデータの不具合を修正
●保存前にチェック・コンパイルなどをした場合の保存に関して、修正

Win版における更新内容
●インストーラの不具合を修正(重要)
●最新のコンパイラ(REALbasic 2007 release4)で作成
●コードエディタにおけるアンドゥに対応

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1ソフトのWindows版のインストーラー

ヒロビさんの9/24のブログ「RZ1シリーズのバージョンアップインストール」で、私のRZ1ソフトのバージョンアップインストールおよび「プログラムの追加と削除」における削除に問題があることがわかり、RZ1Action, RZ1Basic, RZ1Disguiseのインストーラを修正したものをアップロードしました。なお、ただインストーラを修正しただけでなく、いくつかのバージョンアップも父君ていますので、別口で書きますので、更新内容に関しては、そちらを参考にして下さい。

なお、旧バージョンまでのインストーラをお使いの方は、「プログラムの追加と削除」から、RZ1Action, RZ1Basic, RZ1Disguiseが、複数個登録されてしまっていたり、削除ボタンでアンインストールしても、リストから消去されません。

ヒロビさんに、メールで教えて頂けたのですが、「窓の手」というソフトウエアが
http://www.forest.impress.co.jp/lib/sys/wincust/customize
から、ダウンロードできます。これを使うとリストから消去されなくなってしまっているソフトを整理することができます。この窓の手の使い方に関しては、窓の手のマニュアルをご覧下さい。

Finderscreensnapz002

| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.4 公開

Rz1bicon04RZ1Basic v0.1.4を公開しました。

コードエディタまわりを進めてますが、先日公開したv0.1.2のWindows版のエディタがかなりボロボロでまともに使えない状態でした(汗)。今回の更新内容は以下の通りです。

Mac版における更新内容
●ファイルを開いた時、テキストスタイリング(コマンドの色付け)が、完全でない状態を修正
●アンドゥ時のテキストスタイリング方法を修正(時間がかかります:改良予定)

Win版における更新内容
●(注意)(バタバタするので)アンドゥ機能を一時停止しました。うまく動くように模索中です(汗)

Mac版&Win版共通の更新内容
●カット、コピー、ペースト時のテキストスタイリング方法を修正(無駄なアップデートを修正)
●マーカーリストの作成方法を改良

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.2 公開

Rz1bicon04RZ1Basic v0.1.2を公開しました。

しばらく、コードエディタまわり、コンパイルまわりの強化を中心に開発を進めて行こうと思っていますので、見た目や機能の大きな変更はないと思います。今回の更新内容は以下の通りです。

1、コンパイル関連
●MOVE文の数値にエラーがある場合を認識するようにした
●エラーリストをダブルクリックした際、行にとぶだけだとカーソルが見にくいため、その行を選択するようにした
2、コードエディタ関連
●マーカーリスト作成に時間が取られていたため、軽くした。
●カラーリング処理の付加を少し軽くした。

ダウンロード

| | コメント (0) | トラックバック (1)

RZ1Basic v0.1.1 公開

Rz1bicon04RZ1Basic v0.1.1を公開しました。

ハイテックのダウンロードサイトにいくつかのテンプレートファイルがありますが、RZ1Basicで、このテンプレートのような長いソースコードでもちゃんとコンパイルできるようにと、RZBasic v1.0からやっていますが、今回の更新で細々した部分の修正も含め、まずちゃんとコンパイルできるようになりました。
ただし、ハイテックにあるテンプレートファイルをコンパイルする場合は、RZ1Basic, roboBASICを使う使わないは関係なく、

ハイテックにあったテンプレートについて(1)
ハイテックにあったテンプレートについて(2)

をよく読んでやってみて下さい。

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.1.0 公開

Rz1bicon04RZ1Basic v0.1.0を公開しました。

外付けEEPROM出荷時プログラム解析」をやったことを切っ掛けに、いろいろ不具合や対応させたい部分が出てきたので、RZ1Basicの更新に時間をさいています。

ということで、今回の更新内容は、主に、コンパイル部分と、逆コンパイル部分です。これまでは、とりあえず短めのコードで動くようにと「ROBONOVA-I サンプルモーションデータ」程度でテストしていたのですが、そろそろ長〜〜いデータもコンパイルできるようにと、ハイテックさんのダウンロードのページから、「モーションテンプレートファイル(盆踊り)」、「モーションテンプレートファイル(太極拳)」、「Overall Template Program」の長めのプログラムをダウンロードして、コンパイル、逆コンパイルできるようにと頑張ってます。でもここ何日間ず〜っと根詰めてバイナリとにらめっこしてたら目がまわってきましたので、少し頭を休めさせるのもかねて、まだ未対応なコマンドもあるため長いコードに対応しきれてないのですが、重大な不具合もありましたので以下の点を修正したv0.1.0を公開しました。

逆コンパイルの方は、実際には、みなさんが使うことはないんだと思いますが、殆ど問題なく解読できるようになってますが、問題なのはコンパイルの方です。全然気がついてなかったのですが、IF文、FOR...NEXT文、この基本的なコマンドが、全然ダメでした(汗)ので、そこんところ修正しました。あと長いテンプレートで、ON...GOTOが使われているのですが、対応しました。で、テンプレート内には、「OUT」というコマンドが入っていたんですが、これがまだ未対応なため、ハイテックにあるテンプレートは実際にはまだ使えない状態です。確か、呼び出し(GOSUBが)コメントアウトされている部分なので、消去してコンパイルすれば大丈夫かもしれませんが試してはいません。週末は連休になるので、頭を整理させながら、週明けには長〜〜いソースコードもコンパイルできるようなバージョンが公開できれば嬉しいんです。

1、コンパイル関連
●FOR文の不具合を修正(重要)
●IF文の不具合を修正(重要)
●ON ... GOTO文に対応
など

2、 逆コンパイル関連
●MUSICコマンド対応
●MOTOR G24, MOTOROFF G24に対応
など

3、テストコマンド送信ウインドウ
Rz1basicscreensnapz002コマンド送信テスト用のウインドウも表示(機能)できるようにしましたが、これに関しては説明書なしで使うのはまず無理ですよね(汗)
コマンドやメモリーマップに関しては、私自身はまだまとめてないので、私も参考にさせて頂いているROBONOVA情報局Wikiの、「メモリーマップ解析」、「通信コマンド情報」、「BASIC解析コード」を参考に、入力して見て下さい。ま、書込みに関しては危険なので、読込みにとどめておいた方がいいかもしれませんけど、兎に角、自己責任においてお使い下さい。

ダウンロード

| | コメント (0) | トラックバック (0)

インストーラーを付けました

RZ1Disguiseに関しては、昨日ブログで書きましたが、Windows版のRZ1Action, RZ1Basic, RZ1Disguiseにインストーラを付けました。ちなみに、それぞれのソフトは、バージョンアップした訳でないので、これまでお使いの方は、次のバージョンまで、そのままご利用頂いていても大丈夫です。

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.9 公開

Rz1bicon04_2
RZ1Basicの新しいバージョンを更新しました。

更新内容:
1、Windows版で、起動時にエラーが起こる場合がある不具合を修正しました。
2、書類をドラッグ&ドロップで起動させた場合にエラーが起きる不具合を修正しました。
3、objファイルをドラッグ&ドロップで起動できるようにしました。

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.8 公開

Rz1bicon04_2

更新内容:
1、最近使った項目の機能を追加
2、保存できない不具合の修正
3、書類ファイルをドラッグ&ドロップしても開かない不具合などを修正

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.7 公開

1finderscreensnapz001機能的には、変わっていませんが、ちょ〜適当な英語版で、英語版を作っただけです。
で、図は、Windows Vistaで動かしたものです。いちおう起動するようです。

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.5 公開

0micono_rz1basicscreensnapz009今回のバージョンアップの主な更新点は、ゼロ点補正、プログラムの読み込みとデコンパイル、検索機能の追加です。

新しく追加した機能の簡単な
ゼロ点設定
ゼロ点設定のボタンをクリックすると、 上のスクリーンショットで示したダイアログが表示されます。基本的な使い方は1、読込みボタンをクリック。2、データがコントローラーから読込まれ、書き込み、挿入、初期値などのボタンが使えるようになる。3、各サーボのゼロ点を合わせる、4、書き込みボタンでコントローラーに記録する。

プログラム読込みとデコンパイル0droppedimage14
roboBasicにはない機能かな?このボタンをクリックすると、コントローラーに転送されているプログラムを読込んで表示します。ただ、殆どのみなさんにとって、オブジェクトコードを見れたってなんも面白くないと思いますので、デコンパイルの機能をつけました。オブジェクトコードからソースコードに変換する機能です。この機能もたぶんroboBasicには付いていない機能だと思います。コントローラーからプログラムを読込むと、図のような16進数の並んだものが表示されますので、右上の「ソースコード/オブジェクトコード」のポップアップメニュで「ソースコード」を選択して下さい。読込んだオブジェクトコードからソースコードをデコンパイルします。また、普段編集しているソースコードで、このポップアップメニューでソースコードからオブジェクトコードに変えると、編集中のソースのオブジェクトコードがみれますので、これも合わせて使ってみて下さい。ま、プログラム転送とデコードの機能は、大事なソースコードを無くしてしまったけど、ボードの方に残っているから吸い出したいとか使ってみて下さい。

検索機能
一般にある検索機能と同じ感覚でお使いください。
コンボボックスに検索したいワードを入力すると、ソースコードの下のリストに結果の一覧が表示されます。リストの項目をダブルクリックすれば、引っかかったところのソースコードが表示されます。あと、虫眼鏡マークをクリックすれば、検索/置換のダイアログが表示されますので、置換を行いたい場合、もしくは複数のウインドウを開いてて、開いてるソースコード全部に対して検索を行いたい場合にお使いください。なおボタンを用意してないのですが、マックな人は、コマンド+「G」、ウインドウズな人はコントロール+「G」で、次を検索になります。

その他
●コメント/アンコメント
●コンテクストメニュー
右クリックで、操作できる項目を用意しました。現在、カーソル行のMOVEコマンドに合わせてサーボを動かしたり、サーボの状態を読込んで、ソースコードに貼付ける機能などがあります。

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.4 公開

Rz1basicw1今回のバージョンアップで、プログラムの転送に対応しましたよ〜!!!(祝)あとUniversal Binary版も作ってみました。マックでROBOZAKをコントロールする計画も、順調に着々と進んでます!!!けど〜上の画像はウインドウズ版(;^_^A アセアセ・・・目的のマック版のスクリーンショットは、文章の一番最後に付けておきました。

あと、アイコンも付けて、ボタン類も配置し、少しは見た目もカッコ良くなってきました (^^)
次は、ゼロ点補正の部分に取りかかろうと思ってます。

既知の不具合
●ウインドウズ版の音楽編集で、再生させても変な音になる.
●ウインドウズ版でソースの色付けの祭に、画面がちらつく.
●プログラムの転送後、エラーになるかも(転送はできている模様)
未知の不具合
●いろいろあるかも
対応の未対応
●IF文で、IF 比較 THEN 式1 ELSE 式2 のようにIF〜ELSEまでを一行でかけない.
●ビット式 A.1
アイコン
Rz1bicon04Mac OS X版

ボタンの説明
Adroppedimage5_2新規、開く
Adroppedimage6プログラムの削除、リセット、実行、停止
Adroppedimage7コントローラーの情報、シリアルポートの選択
Adroppedimage8保存、カット、コピー、ペースト、検索
Adroppedimage9ソースコードのチェック、ビルド、ビルド&転送
Adroppedimage10音楽データ編集、コマンド一覧

マックで動かした時のスクリーンショット
Rz1basicscreensnapz008

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.3 公開

Rz1basicinfo1とりあえず、Parallelsと自作の電源で、うまく動くことが確認できたので、今日はRZ1Basicの開発を少し進めました。
● コントローラの情報の一部分の情報
● プログラムの実行、停止、リセット
に関して、実際に機能することを確認、v0.03としてアップロードしました。

Rz1basicmusic
その他、
● MUSICコマンドのオブジェクト作成に対応
● そのMUSICの為の編集
● コマンド一覧
の機能も新しい機能です。MUSIC編集機能を付けたため、QuickTimeがインストールされている必要があります。ま、マックの場合はインストール済みですけどね。Droppedimage201

現時点ではプログラムの転送はまだ完成していませんので、まだまだ使い物にならないソフトウエアですが、長い目で見てやって下さい。

以下をクリックしてダウンロードできます。なお、今回はWindows版に関してはまったく起動させていませんのであしからず。

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.2 公開

v0.02で、roboBASICのファイルのオブジェクトファイルに対応しました。
MacintoshでRoboZak/Robonovaを動かしたいということで頑張ってます。まだまだ見た目も内容もほとんど何もできませんが、開発に協力頂ければと思います。

RZ1Basicダウンロード(Mac版&Win版)
※Windows版はWindows XPで起動をチェックしていますが、大して力を入れていません。現バージョンでは、コードに色をつける際、Windows版は画面がちらつくことを確認しています。あ

使い方は
1、RZ1Basicを起動
2、ファイルメニューの開くで、roboBasicの.basまたはroboScriptの.rsfファイルを選択
3、コンパイルメニューのオブジェクトコード作成を選択
以上で、ファイルと同一フォルダに.objファイルができあがります。
あと、マイコンボードは届いたのであるのですが、ケーブルも電池もないためオブジェクトの転送など通信部分はまだ未知なのですが、「オブジェクトコード送信」のボタンをクリックすると転送が開始するように作ってあります。想像のみで作った部分なので、マイコンボードを壊すかもしれませんし、なんの反応もしないかもしれませんが、もし勇気のある方はお試しください。

大体のコマンドに対応させたつもりですが(MUSICはまだかな)、こう書くとエラーになるとか、あ〜書くと変なオフジェクトファイルになるとか、なんでもいいのでいろいろ情報を頂ければと思ってます。

☆\( ^ ^)/〜〃。.:*:・’°☆バイバイ!

(これを使用したことで何が起きるか解りません。高価なマイコンボードを壊してしまうかもしれませんのでご注意いただし、各自の責任においてご利用ください)

ダウンロード

| | コメント (0) | トラックバック (0)

RZ1Basic v0.0.1 公開

Droppedimage200RoboZakを定期購読しだしたころから作ってみようかなって思っていたんだけど、もうすぐ23号でしたっけ?マイコンボードもくるから、ぼちぼちとroboBASICに変わるもの、というかマックでRoboZak用のプログラミングみたいなことやれるようなものを作り出しました。

でもマイコンボードがまだ手元にないし、スクリプトのオブジェクトコードを生成できるようにしただけです(;^_^A アセアセ・・・

だって生成したオブジェクトコードのファイルがあっても、roboBASICとかroboScriptのソフトはオブジェクトファイルを転送できる機能はもってないみたいなんで、まだな〜んの役にも立たないソフトですね ( ̄Д ̄;;

ま、私としては、これだけでも、チョ〜(..)(^^)(^。^)(*^o^)(^O^)ウレシーーー!!
んですわ....

もしご興味のある方は、ダウンロードしてうまく動くか試してみて下さいね。
1、RZ1Basicを起動
2、ファイルメニューの開くで、スクリプトファイル(.rsf)を選択
3、コンパイルメニューのオブジェクトコード作成を選択
以上で、スクリプトファイルと同一フォルダに.objファイルができあがります。

☆\( ^ ^)/〜〃。.:*:・’°☆バイバイ!

| | コメント (0) | トラックバック (0)