投稿

2013の投稿を表示しています

LeapMotionのSDKが一般公開開始だぞ

イメージ
LeapMotion の出荷が7月22日に決定(もう延期は無いでしょう!)して、早く触ってみたくてウズウズしている方も多いでしょうね(笑) ところで、先ほどメールがやってきました。 Welcome to Our Community We're happy to let you know that the Developer Portal is now open. With a simple click, you’ll be a full member of the Leap Motion global developer community, with full access to our SDK. When you enter the Developer Portal, you can start by downloading the latest SDK. Next, take a few minutes to review our full API library, UX guidelines, knowledge base, tutorials, and more. 従来は法人などアプリ開発者に限定されていたDeveloperサイトへのアクセスが、私の様な一般人にも許可されるようになりましたので、早速訪問してみました。 ◆具体的な開発環境や実行環境の要件は以下の通り記載されてました。 Hardware requirements USB 2.0 or 3.0 port Supported operating systems Windows 7 and 8 Mac OS 10.6 and higher Ubuntu Linux 12.04 LTS and Ubuntu 13.04 Raring Ringtail Supported compilers and runtimes C++ on Windows: Visual Studio 2008, 2010, and 2012 C++ on Mac: Xcode 3.0+, clang 3.0+, and gcc Objective-C: Mac OS 10.7+, Xcode 4.2+ and clang 3.0+ C# for

Cygwin+Emacs Problem

イメージ
先般 Windows8(64bit)にCygwinをインストール しましたが、emacsでファイル一覧表示(C-x C-f Ret)が機能しません。 Doing vfork: resource temporarily unavailable とのメッセージが表示されます。 ググって見つけたブログの手順 で解決しましたので備忘録として。 ◆ash.exeを実行 ◆起動したターミナル上で /bin/rebaseall を実行 ◆Cygwinのsetup.exeを実行して libncurses を再インストール ◆解決しました。

久しぶりのPICマイコン

イメージ
長く触っていないうちにPICマイコンのプログラミング環境MPLABがメジャーバージョンアップされていました。 VISTAに入っている 旧環境 を使うのも面倒なので、Win8にXバージョンをセットアップしました。 ◆MPLABX IDE マイクロチップ社のサイト から所望のOSのインストーラをダウンロードしてきます。無償です。 Windows用の現バージョンは1.80でした。 インストーラを実行して、Nextを押していればインストールは完了します。 最後に表示されるウィンドウのチェックを入れたままにしておけば、 コンパイラのダウンロードページ が開きます。 ◆MPLAB XC 対象とするPICマイコンのCコンパイラをダウンロードします。無償です。 勿論、お仕事用ならPROやStandardの有償ライセンスを購入しましょう。 ※C++はPIC32のみ対応のようですね。 今回はPIC18が対象なのでXC8をダウンロード。現バージョンは1.12でした。 インストーラを実行して進めていくと、ライセンスキーを要求されますが、空白のままNextとします。 すると、フリーモードとするか、PROの評価モード(60日間のみPROとして機能する)とするか聞かれます。 お仕事でライセンス購入を予定しているなら勿論PROの評価版ですが・・・ お遊びモードの方はお好きなほうを。 ◆USBやLANを使用する場合は、必要に応じて無償の アプリケーションライブラリ もインストールしておきましょう。 ダウンロードしてきてインストーラを実行するだけです。 え?XC8サポートしてないの?8bit系チップを見捨てたのか? Cソースコードだから何とかなるかもと、とにかくインストール完了してReadmeを開いてみると、PIC16F、PIC18Fも対象って書いてある。ってことはXC8でビルドでしょ? 「やってみなくちゃ判らない・・・」 by 細野晴臣 「先週のRaspberryPiのデバドラはどうなった?」 by 誰かさん

DOT-DROPSのキャリーケース

イメージ
キャリーケースを買い替え。 小旅行や出張など手軽に使える機内持ち込みサイズでリサーチの結果、 DOT-DROPS のART-MODELを購入しました。 ◆機能面 1.ボディ材料 ポリカーボネイト100%で軽いのに丈夫です。 但し、ABS製やABS+PC製と違ってペコペコします。私は今まで布のソフトタイプを使っていたので、軽くて布より丈夫だからと全然気にならないですが。 2、キャスターとTSAキー 日ノ本錠前製 です。 キャリーケースのキー部品ですので、世界2位の経済大国になったにも関わらず安かろう悪かろうが幅を利かしている某国メーカー製で、旅先などでいきなり壊れられたら苦労しますものね~。 例え工場が某国にあったとしても、やっぱり日本メーカー製の方が安心です。 3.ハンドル 4段階の長さ調整が可能になってます。 今時は普通なのでしょうけど今まで持っていたのは無かったもので・・・ 4.ボディ内部 チャック付きの小ポケットが1つ、中ポケットが2つ、大ポケットが1つとノーマルですが、ポケットがやたらとあっても、何処に何を入れたか判らなくなっちゃいますしね(笑) ◆デザイン面 DOT-DROPSの特徴(パテント)となっているのが、ラベルを貼ってカスタマイズができるって事の様です。  3M社のScotchcal という耐久性に優れた7色のラベルが添付されていて、ペタペタお好きにデザインしてくださいってさ。 ◆価格が比較的リーズナブル 私はタイムセールで7980円で購入できちゃいましたが、ネットショップで小まめに探せば1万円弱でゲットできると思います。 さて、ドット絵考えてみよう~

RaspberryPiのデバイスドライバ(第1歩)

イメージ
以前、 RaspberryPi のGPIOレジスタを直接叩いてLEDを点灯 させてみましたが、ルート権限で実行させる必要があります。 そこで、まずはデバイスドライバのロード&アンロードを確認するだけのプログラムを試してみました。 ◆ VM上のEclipse を起動します。 ◆Eclipseが自動生成するMakefileでのビルドにチャレンジしましたがエラーが解決できなかった為、手入力したMakefileでビルドするように構成します。 Cプロジェクトの新規作成にて、Makefileプロジェクトの空のプロジェクト、他のツールチェインを選択します。 インクルードパスに Raspbian(Linux)のソース ツリーにあるIncludeディレクトリを追加 ※ビルドには無関係ですが、ソースコードの定義チェックなどが機能してくれるので定義しておきましょう。 ◆正常にビルド完了しました。 このEclipse(Ver3.8)では、printk()やmodule_init()、module_exit()でソースコードの構文解析でエラーがでてしまいますが、ビルドには支障はないようです。 ◆RaspberryPi上で動作確認します。 SCPで、main.koをRaspberryPiに転送。 SSHで、RaspberryPiにリモート接続。 insmodでmain.koをロードします。(特権ユーザーで) lsmodで、mainが正常にロードされた事が確認できました。 rmmodで、アンロード。 最後にdmesgで、ロード、アンロード時にKERN_ALARTに出力した文字列が残っているかチェックし、無事に実行された事が確認できました。 ---------------------------------- main.c #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> MODULE_DESCRIPTION("Hello driver"); MODULE_AUTHOR("777gunslinger"); MODUL

ARM用クロスコンパイラのビルド(Windows8+Cygwin)

イメージ
更新版はコチラへ ARM用のGCCを Windows8 上でビルドしてみたので備忘録として。 ◆ Cygwin のインストール setup.exeをダウンロードしてきて実行。 ドライブ直下が吉ですのでディフォルトのままで。 適当なフォルダを指定 通常のブロードバンド環境ならディフォルトでOK わざわざ海外サーバを選ぶ必要はないでしょ。 Devel以下を一括でインストールしてしまいます。 GCCのビルドには不要なものもインストールされてしまいますが、何が必須なのか良く分からないもので・・・ あとは「次へ」だけで無事にインストール完了 ◆関連ソースを入手 ① GCCコンパイラ ② binutils(アセンブラやリンカーなど) ③ Newlib(組み込み向け標準ライブラリ) GCC4.5以降は以下の演算ライブラリが必要らしいので入手。 ④ 任意精度計算ライブラリ(GMP) ⑤ 浮動小数点演算ライブラリ(MPFR) ⑥ 複素数演算ライブラリ(MPC) 今回入手したファイル(バージョン)は以下の通りです。 ダウンロードしたソースを展開します。(何処へ展開するかはご自由に) $ mkdir -p /usr/local/src/gnu $ cd /usr/local/src/gnu $ tar zxvf ~/Download/gcc-4.7.3.tar.gz  : $ tar vxvf ~/Download/gmp-5.1.2.tar.bz2 ◆ビルド $export LANG=C この定義が無いとエラーが発生しました。 $export TARGET=arm-eabi $export PREFIX=/usr/local/gnu ①binutilsのビルド $ mkdir -p ~/tools/build-binutils-2.23.2 $ cd ~/tools/build-binutils-2.23.2 $ /usr/local/src/gnu/build-binutils-2.23.2/configure --target=$TARGET --prefix=$PREFIX --enable-interwork --enable-multilib

Raspberry Pi のsleep時間測定

イメージ
RaspberryPiのGPIO出力波形にてsleep処理時間を測定してみました。 ◆sleep() while(1){     *(gpio_regs + 0x7) = (0x1 << portnum);     sleep(n);     *(gpio_regs + 0x0A) = (0x1 << portnum);     sleep(n); } n = 1 1秒から程遠い結果でした。原因は?? ◆usleep() while(1){     *(gpio_regs + 0x7) = (0x1 << portnum);     usleep(n);     *(gpio_regs + 0x0A) = (0x1 << portnum);     usleep(n); } n = 1 n = 10 n = 100 n = 1000 凡そ80μsecのディレイが発生するようです。 ------------------------------------------------------------------ 追加測定 ◆nanosleep() nano.tv_nsec = n; nano.tv_sec = 0; while(1){     *(gpio_regs + 0x7) = (0x1 << portnum);     nanosleep(&nano,NULL);     *(gpio_regs + 0x0A) = (0x1 << portnum);     nanosleep(&nano,NULL); } n=1~1000 n=10000 n=100000 nano.tv_nsec = 0; nano.tv_sec = 1; usleepと同様に約80usecのディレイが発生しています。 タイムスライスが約80usecって事かな? 勉強してみよう。

Raspberry Pi のGPIO信号波形

イメージ
RaspberryPiのGPIOにキャラクタLCDモジュールを接続します。 そこで、Cプログラムでインターフェイスタイミング信号を生成する為に、出力信号波形を観測してみました。 以前作成した LED点滅プログラム を以下の様にsleep関数をコメントアウトして観測 ※お安いPCオシロですので精度はあまり良くないですm(--)m while(1){     *(gpio_regs + 0x7) = (0x1 << portnum); //    sleep(1);     *(gpio_regs + 0x0A) = (0x1 << portnum); //    sleep(1); } CH1:電源電圧(テスターでの測定値は3.30Vでした) CH2:GPIO25(P22)

EclipseによるRasiberryPiのクロス環境

イメージ
DebianにインストールしたEclipse-cdt でRaspberryPiのクロス環境を試してみます。 ◆クロスコンパイラをgithubから落としてきます。 $git clone git://github.com/rspberrypi/tools.git ※ RaspberryPiのカーネルをビルド した時と同じですので、既にゲット済であれば不要です。 ◆HelloWorld ファイルメニューから新規プロジェクトを選択します。 Cプロジェクトを選択します。 プロジェクト名は適当に Hello World のプロジェクトを選択 ツールチェインはCrossGCCを選択 githubから落としてきたクロスコンパイラを指定します。 接頭部 arm-bcm2708-linux-gnueabi- パス ???/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin ビルド成功 RaspberryPiに実行ファイルを転送 正常に実行されました。