2012/06/14

mbedで相手のMACアドレスを指定する

mbedのBlueUsbで接続デバイスのMACアドレスを指定する方法.
TestShell.cppのConnectDevices()を以下のように書き換える.

void ConnectDevices()
    {
        BTDevice* devs[8];
        int count = gHCI->GetDevices(devs,8);
        for (int i = 0; i < count; i++)
        {
            printfBytes("DEVICE CLASS",devs[i]->_info.dev_class,3);
            if (devs[i]->_handle == 0)
            {  
                BD_ADDR* bd = &devs[i]->_info.bdaddr;
                if(bd->addr[5]== 0x## && bd->addr[4]== 0x## && bd->addr[3]== 0x## && bd->addr[2]== 0x## && bd->addr[1]== 0x## && bd->addr[0]== 0x##);
                else continue;

                printf("Connecting to ");
                printf(bd);
                printf("\n");
                gHCI->CreateConnection(bd);
            }
        }
    }

太字部分を追加.
bd->addr[5]を先頭アドレスとして##に接続したいデバイスのMACアドレスを入力する.

これでbluetoothが飛び交う環境でも目的のデバイスに接続できるようになる.

2012/05/13

2足⇔4足

適当に書いた.干渉,重量もろもろは気にしない落書き.
2足⇔4足ロボット.
ROBO-ONE Lightの規定に収めたいが.手の長さがおもいっきり違反.
現状だと基準点から肩のピッチ軸まで35mm程度に収めないとならない.
軸配置を見直した方が良いのかも (-_-;)

以下,予定仕様
  • 1kg以下
  • サーボRS303
  • 各足5軸以下
  • 平行リンク
  • ロール軸は長穴リンク
  • バネによる自重補償
  • マイコンmbed

2011/08/07

AVR studio5 memo

AVR studio5 を入れてみました.
いくつか詰まった事があるのでそのメモ.

1. 環境が日本語にならない
 Visual Studio 2010 Shell (Isolated)-JPN 日本語版 を先にインストールすると日本語化出来ます。後から日本語版を入れてしまった場合は、「プログラムの変更と削除」を使って英語版のVisual Studio 2010 Shell (Isolated)-ENU を削除すればOKです。Visual Studio 2010 Shell (Isolated)-ENU を削除後に日本語版を入れても正常に動作します。
AVR wikiより


2. AVR studio4 で作ったファイルが読めない
ファイル>>Import>>AVR studio4 project で変換する.

3.AVR GCC に何も表示されない
User Boards から使いたいマイコンをチマチマ探す.
もしくは
http://ain.txt-nifty.com/storage/2011/06/avr-studio-5.html
参照

4. HEXファイルが作られない
プロジェクト>>~のプロパティ>>Build>>.hexにチェック
テキストエディタの範囲を思いっきり下に広げれば出てきます.

5. 最適化の設定どこいった
プロジェクト>>~のプロパティ>>Toolchain>>AVR/GNU C Compiler>>Optimization>>Optimization Level
ただし,デフォルトが-O1なので気にしなくてもよさそう.

7. 日本語のコメントに赤線が・・・
害は無い(と思う).
どなたか解決方法を教えてください.

エラーが詳細に表示されるようになったので
だいぶ扱いやすくはなりました.
後はショートカット使って,一発で書き込みが 出来るといいのだけど.

2010/05/10

いつの間に5月!?アレ三分の一終わってる


とりあえず新機体『Porter』の配線作業が終了。
残るはプログラム(Motion)だけです。
現在質量989g

2010/03/20

大会前夜?


ROBO-ONE lightに出ます。
戦闘力は500mlペットボトルが倒せるくらい。
勝てないよ~。

2010/03/05

基板出来たヨ



写真の通りです。
さらに加速度センサと圧電スピーカを載せますが
xmegaのプログラム動作後にしようと思います。
ヒューズビットは読めたのでなんとかなるかな。

2010/02/08

勉学中にピカッと

気付いたのですが、
ATmega128の0番シリアルは
ISPライタとピンが共通ですね。

何か対策しないとシリアルが2本使えない。

対策案
��.スイッチで切り替える
単純。
秋月の2回路入りスイッチでOK。
でも書き込むたびにスイッチいじるのは面倒だな。
��.シリアルは1本であきらめる
簡単。
サーボの制御周期はPWMの時と同じかさらに遅くなる。
性能が勿体無い。
��.ロジックICでうにゃうにゃ
面倒だし、思いつかないし、多分不可能。
��.マイコンを変える
ATmegaの上位にATxmegaというのがあるらしい。
内部クロックだけで32MHz。
シリアル×5、SPI×2、12bitA/D、暗号エンジン(?)等々。
素晴らしいっすね、ハイ。
共立で買える模様。
時間的には1。
興味的には4。
さてどうしようかな。
後、
明日はテスト。
こんなこと考えてる場合ではありません。