2012年01月29日

MPLAB Xでプロジェクト名の変更方法

昔、PIC16でまともなCコンパイラが無さそうでアセンブラで使用してた頃(ちょっとですが)、ATMEL AT20S2313+avr-gccという組み合わせに出会ってしまい、もうPICはやらないだろーなーと思って見向きもしてませんでした。
昨年、ふとしたきっかけでPIC24FJ64GB002を知り、開発環境も使いやすいしコンパイラ含めてフリーだしUSB OTGついてるしで一瞬で過去のPIC嫌いはなくなってしまい、それからはここ半年くらい、PIC24Fを活用しています。その後PIC24では命令セットも様変わりしただとかいろいろ情報を見聞きしました。

で、最近も、ADKネタや、MicrobridgeネタでPIC24Fをかなり使用しているんですが、ここで使用するのが純正のMPLAB Xという開発環境です。特にMacユーザーとして嬉しいのは、Macにも対応していることです。IDEはNetBeansベースです。

ただ、残念なことにベータ版の為か?、動きがおかしいと思うことがあります。一つは、titoi2さんに指摘され、僕も使えてないシミュレータ環境。対象デバイスによっては動くようですが。。あと、プロジェクト名の変更ができない。

前置きが長くなりました。この記事はプロジェクト名変更に関するものです。


既存のプロジェクトのディレクトリをまるごと別ディレクトリにコピーして、MPLAB Xから読み込んでリネームは、IDEの機能で出来そうに見えるのですが、実際に実行するとIDEごと落ちてしまうんですよねー。そこを解決する方法です。

手順は簡単です。直接projectのxmlファイルを触ります。必ずMPLAB XでProject Openする前にやりましょう。

まずはプロジェクトのルートに"*.X"フォルダがあると思います。ここを$PROJECT_FILE_DIRとします。
すると、$PROJECT_FILE_DIR/nbproject/project.xmlというのが見つかると思いますのでエディターで開きます。

で、nameタグでくくられている部分がプロジェクト名です。これをリネームして保存。

それだけです。

リネーム前にMPLAB Xで開いてしまうと、メカニズムは不明ですがプロジェクト名がキャッシュされるようで、以降project.xmlを変更しても反映されないことがあるので注意が必要です!

PICで楽しむネットワーク接続機器の自作
後閑 哲也
技術評論社
売り上げランキング: 116114


Microcontrollers: From Assembly Language to C Using the Pic24 Family
Bryan A. Jones Robert B. Reese J. W. Bruce
Charles River Media
売り上げランキング: 674096


posted by いしいっち at 04:48| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2012年01月27日

ALTERA DE0でAndroidから制御出来るラジコン作りました

DE0_Android.png

ALTERAのCyclonIIIボード DE0にモーターやBluetooth I/Fを繋いで、Android端末から制御できるラジコンを作ってみました。

DE0というか、ALTERA初挑戦かつFPGAも初心者なので、特にツールの使い方に時間を要しました。
でも感覚的にはWebPack ISEと変わんないような(詳しい方からすると、全然違うと怒られるかもしれませんが^^;)

NiosII/eを使用し、SOPC BuilderにてUART、JTAG UART、SDRAMコントローラを使用しています。あと、PWMや7セグ関連、その他ロジック等はVerilog-HDLにて実装し、AVALON SWITCH FABRIC(NiosIIの内部バス)に接続しています。

ハードの方は、元々は、Arduino用にFusion PCBにオーダーして作成したベースボード「Andy Shield」に、ドリルで穴あけしてDE0が乗っけられるようにしてみました。

ソフトウェアは、Arduino用ライブラリとして公開しております、MemoryMapLibをほぼそのまま使用しています。
https://github.com/yishii/Arduino_MemoryMapLib
Exampleとして用意していたスケッチを一部変更して使用しています(ArduinoのAPI群が無いので代替処理に)。

P1100955.JPG
こんなんです。
ちょっとゴツイけどかっこいいかも、と思っちゃいました!笑

P1100956.JPG

P1100957.JPG

動画もあります。こちらー。



またソースも公開したいですー。

QuartusIIのプロジェクトと全ソースは以下で公開しています。
https://github.com/yishii/Andy-FPGA
(★2013/5/11 改変)



FPGA ボードで学ぶ組込みシステム開発入門 〜Altera編〜
小林 優
技術評論社
売り上げランキング: 24112



posted by いしいっち at 09:26| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2012年01月01日

グアムでデータ通信SIMを使用する

年末年始休暇にグアム旅行に行かれている方もおられるかと思います。ちょっとその方々には間に合わないかもしれないですが、グアム滞在時にデータ通信をする為に現地SIMを購入する方法について、です。
実際に体験した記録を記載しています。数日滞在であれば以下の方法で良いと思いますが、日程等により適切なプラン等変わってくる可能性はあります。

準備物
・SIMロックフリー端末
私は、SamsungのAndroid端末 Nexus Sを使用しました。SIMロックフリーで、WiFiテザリングも出来ます。
トライした時のOSバージョンはAndroid 2.3.4 と 4.0です。ドコモ端末等でもGSM対応機なら出来るのではと思いますが、SIMロックは解除しておきましょう(ドコモの場合、最近の端末であれば、ドコモショップで3000円くらいでやってくれるらしいです)。

1. SIMの入手先
グアムでは、「docomo Pacific」という会社がデータ通信のSIMを扱っていましたので、ここの窓口に行きます。
http://www.docomopacific.com/
Store locationを見ていただくとわかりますがいくつかあるようです。巡回バスの赤いバスに乗り(1乗車 US$3、一日乗り放題 US$10)、Micronesia Mallで買いました。Micronesia Mallは、例えばDFS Galleriaあたりからだと10分くらいだと思います。

2. お店での注文(1)
お店の雰囲気はなんとなく日本のドコモショップにも見えなくもないですが、日本語での対応は期待できないようです。また日本のドコモショップ端末のサポートもしてないそうです。
さて、私が選択したのは、「GO! PREPAID "UNLIMITED LOCAL VOICE, SMS AND DATA"」というプリペイドのプランです。SIMは、日数×US$2.95で購入出来ます。
プラン詳細
http://www.docomopacific.com/services/wireless/category/go-prepaid-unlimited-local-voice-sms-and-data

3. お店での注文(2)
お店で端末を渡すと、アクティベーションからAPN設定等までまとめてやってくれます。ここでは端末の言語設定を英語にしておくだけでなく、ソフトウェアキーボードを標準のものにしておいたほうがスムースに事が運ぶと思います。そういう私は、ATOKにしていたため、店員さんにお手間をかけさせてしまいました。
SIMにペンで電話番号が記載されています。ローカル電話/SMSも無料のようです。設定が終わると端末を返してもらえます。既にその時点でデータ通信も電話も出来る状態になっているものと思います。

GUAMSIM_IMG_20120101_200453.jpg

GUAMSIM_IMG_20120101_200436.jpg

●使ってみた感想
データ通信はEDGE(GSM)で、そんなに速度は出ませんでした。100kbps〜250kbpsといったところだったと思います。従って、短文メインのメールやTwitter等は難なく出来ましたが、アプリのダウンロード等には時間がかかります。私は、WiFiテザリングで他の端末(ノートPCやiPhone4S等)の通信もさせてましたが、遅いですがちゃんと使えました。
現地SIMで非常に安価にデータ通信し放題が出来たので満足いたしました。
市内通話無料なので、現地でホテルやいろいろな施設とのやりとりをするのにも便利に使用できるのではと思います。料金のかかるエリアへの通話はやっていません(万一、主目的のデータ通信ができなくなったら困るのでトライしませんでした)。

Nexus Sは安いですしEDGEにも対応していたのでちょうど持っていたのが役立ちました。Android 4.0に正式対応してる格安端末としておすすめできるかと思います。


posted by いしいっち at 23:29| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする