2013年2月12日火曜日

地磁気センサ


GPS関係を設計中。GPSの方位だと心もとないので地磁気センサー搭載を相談。
地磁気センサーは入手性と値段考えると、HMC5883Lかねー。

構造体は方位の場所は開けてあった。
まぁLSB=1degでも十分なんだが。LSB 0.1degで取ってあった。
実際どの程度の分解能でるのかは不明。

typedef struct udpdata_t{
    Byte sid[8];                 
    //----------------------------
    unsigned short rpm;         
    unsigned short speed;        
    Byte eg_status;              
    Byte volt;                    
    Byte eg_load; // RESERVED
    Byte timingadvance;          
    //----------------------------
    Byte vacpress; // RESERVED
    Byte vactemp;                
    Byte watertemp;            
    Byte fuel; // RESERVED
    short innertemp;
    short outertemp;
    //-----------------------------
    Byte _r2;  // RESERVED
    Byte _r3;  // RESERVED
    Byte _r4;  // RESERVED
    Byte _r5;  // RESERVED
    Byte sw_c;
    Byte sw_c_lp;
    unsigned short direction;  <<<ココ
    //----------------------------
    Byte lati_dd;                
    Byte lati_mm;                
    unsigned short lati_mmmm;    
    Byte longi_dd;               
    Byte longi_mm;               
    unsigned short longi_mmmm;   
    //----------------------------
    unsigned int pluse;          
    //----------------------------
    unsigned short  Tire_press_FR;  // RESERVED
    unsigned short  Tire_press_FL;  // RESERVED
    unsigned short  Tire_press_RR;  // RESERVED
    unsigned short  Tire_press_RL;  // RESERVED
    Byte Tire_temp_FR;  // RESERVED
    Byte Tire_temp_FL;  // RESERVED
    Byte Tire_temp_RR;  // RESERVED
    Byte Tire_temp_RL;  // RESERVED
    Byte TPMS_Batt_FR;  // RESERVED
    Byte TPMS_Batt_FL;  // RESERVED
    Byte TPMS_Batt_RR;  // RESERVED
    Byte TPMS_Batt_RL;  // RESERVED
    //----------------------------
    Byte flag;                   
    Byte gps;                    
    Byte sw_a;                   
    Byte sw_a_lp;                
    Byte sw_b;                   
    Byte sw_b_lp;                
    Byte sw_ab;                  
    Byte sw_ab_lp;               
    //----------------------------
    unsigned short oilpress;     
    unsigned short oiltemp;      
    
}udpdata;

歌詞打ったり改装したり

手を付けてない歌詞ファイルを埋めつつ、新曲導入。
ゆかり王国は、中の人の写真にするか、キャラにするか迷う所。

琴浦ランカさん。なんとなく、複数壁紙を対応してみたが、





もう動画再生しろよって、気がしてこなくもない。


MPMediaPlayerとAVAudioPlayerとAVPlayerが
なんとなく意味わかってきた気がするんで、
色々悪いこともできなくもないけど、
少し現行のタグ仕様整理しようかなー。

とか思いつつ少佐
既に曲ですらないのだが、気がついたらタグ打ってた。




洞爺湖もそうだがいい声だよなぁ飛田さん


2013年2月10日日曜日

BTキーボード第2号

MPMusicPlayerでオーディオを制御してると、
iPhone/iPodのMusicサービスを使うので、
他アプリと再生はシームレスにできるんだけど、
制御が結構面倒くさい。

特に曲変更前後再生時間が正確じゃないのと、
1曲リピート時に曲変更メソッドが来ないのが面倒。
あと外部からリモコンで弄られた場合。

AVAudioPlayerを使うと、リモコンの制御に対して
FirstResponderになれるので制御しやすいんだけど、
コード書きなおそうか迷いマイマイ。


設計を色々考えていたら、
Amazon先生から急に出荷のお知らせ。

メーカー在庫欠品してた、CenturyのBTリモコンiRemote Shutter
バッファローのと同じく、HIDでつながる。

1ボタンでロック解除できるな。よろしい。


CR2025電池x2なので、あまりに電池減るようなら有線電源に。
1個はステアリモコンのミュートスイッチ(12V)に繋ぐのも面白い。




2013年2月9日土曜日

僕と契約して、カーナビを買ってよ!

なんか追加されてる。
これはドラムの人直撃コースだな。

サンプルを見つけてきた。


これは冒険者ロール失敗するな。



2013年2月8日金曜日

続:OoM

なんとなく見えてきた
・AndroidではBMP/JPG/PNGだろうが、
 Bitmapへ代入した時点でピクセル数でメモリを食う

 4.5MByteの地図は原寸ではjpgでも読めないし
 Scale1/4圧縮して読み込んでも、5枚読み込もうとすると、エラー

 だいたい5MByteが境界線

   MATと
   http://www.eclipse.org/mat/
   BIRTエンジンを入れておくと
 DDMSのHPROFで 
こんな感じでメモリ専有状態がわかって便利。

 便利というかXCodeでは普通に付いてるんだけど。

そーやって追っていくとBitmapでHeapを食いつぶしている。
エミュレーターのVMHEapを16から、Nexus7と同じ48にしてもダメ
これは、
・Androidは大きいHeapを使う場合は、

   AndroidManifextにLargeHeap=Trueを設定する必要があり。
らしい。

とりあえず2000x1000は読めるようになった。

調子にのって画像ファイルを大きくしてたら、実機でエラー

・Log猫さん「OpenGLは2048x2048以上はテクスチャに出来ないの。馬鹿なの?」
実機でしか起きないけど、Bitmapは2048x2048以上はダメっぽい。


大体絵の方は分かったけど、拡縮する場合は2048x2048はきっついなぁ。
ハイドライドみたいに、スワイプスクロールにするか、
タイルで並べて同期スクロールするか。

でもなんか境界線がUltimaOnlineのブリ東のサーバー境界みたいに、
ジェスチャ引っかかったり、画像ずれそう。

2013年2月6日水曜日

OoM

AndroidでデカイPNGを読み込むと、
Bitmapに読み込む時点でエラーになる。Out of Memoryって。

スケールダウンすればいいのは分かるんだけど、
画素数なのかメモリサイズなのかどっちなんだろう。

もう少し調べてみるか。面倒だけど。

2013年2月4日月曜日

緑の中の人は誰なんだ。。。

シフトレバーからAP1(前期型)-120〜130、
ツィーターのカバーからしてAP1-120かな。


2013年2月3日日曜日

続 々:やぁ、マイケル

Androidのdpi/dipの意味はわかったんだが、面倒くさい。
ActivityからViewにデータ渡すのも面倒くさい。
何もかもが面倒くさい。

よしとりあえず、第1段はこれにて放置。

ビビッドレッド・オペレーションでも見よう。


EDが変わったりして、キャラソンはBDに付くパターン
これは化物語と一緒か

ドラムの人に頑張ってもらおう

続:やぁ、マイケル

朝起きると、K.I.T.Tがバグってる件についてクライアントからクレームが。

bgmが止まらないのはエミュでも寝る間際に確認してた。だが寝た。

Androidバックグラウンドに行くと、Viewになんもこないからなー。
iPhoneはアプリに従属してるAudioセッションは勝手にサスペンドされる。
この辺りがオーディオ機器と、スマートフォン()の違いか。

ViewのOnDestroyにStop処理、
Viewをスタックからメンバ変数に移動して、
ActivityのBackのボタンでPause処理を引き回す。
めんどくさいなぁドロイド君は。
ついでにスイッチにDTMFでもつけておこう。

ちなみに画面はこんな感じで、例によってPhotoshop
この程度だと2Hくらいでかけるから楽でいいよね。

円とかキャラとか入ってくるとこんなもんじゃ済まないけど。


そいやレイアウトのあたりの問題だろうけど、
Nexus7だとメインの余白は兎も角、子供の重ねあわせもずれるな。
ドロイドさんめんどくせぇ。


やぁ、マイケル

ハードの偉い人の自作クルーズコントロールが急に来たので。

そろそろ仕事でも組まないといけないし。

自分が今どれくらい理解してるかの確認と、
完成までのMyコーディング速度ベンチマークも兼ねて、
Androidアプリ初組上げ。

リソース書きながら6時間くらいだからまーまーかな。
「スイッチ10種類のトグルオン・オフ」
「モード切り替え」
「14段階アクセルペダルっぽいインジケーター」
「ボイススキャナーっぽい奴(音も出るよ!」

クルーズコントロール本体はハードでガチガチに作ってるだろうから、
Android用にビューアーとしてソフトを作っておこうと思った。
メインビューの変数を弄ると、onDrawで勝手に反映されるようにしといた。


ちなみに参考資料


しかしAndroidは色々分からん。

やっぱりわかってなかったこと結構あるな。
ビューの絶対座標配置とかすごく面倒くさい。


おk、ブログの書き溜めと、アプリ作ってたらもう朝だ。寝よう。