2011/01/31

テストツール

UDPの構造体変更をまにょまにょしながら、
Windowsの送信ツールの画面を修正。


「ちゃんとネットワーク周りの修正やってますよ的な」
オーラを放ちつつ、


MusicLayerのViewコントローラー変更とかしてたりする。

曲情報関連は、各種スキンのSubLayerとして持ってたんだけど、
メモリが勿体無いのと、
SubLayerにしなくてもカスタマイズする方法を思いついたので。

UDPデータ (Rev1.6)

タイヤ空気圧は、最小が0.1だけどkgm/cm2でなく、
kpaだともう少し細かく取れている。

ってことは0.01kgmまで取ってるのかもということで、
Byte→unsigned short。

kpaで換算してるかもだけど、どちらにしろByteだと足りない。


そいえば電池残量があったなーということで、
1バイトずつ足しておく。

充電電池でないから、SOC(充電%)でなく、
電圧でくるんだろうか。

まぁByteで足りるからいいや。

- - - - - - 
Byte[8]            ID                     //ただし[7]は\0固定

- - - - - - 
unsigned short  エンジン回転数   //LSB=1rpm
unsigned short  車速           //LSB=0.01km/h  
Byte               スロットル開度    //LSB=1%    
Byte               燃料                 //LSB=1%  
Byte               空燃比              //LSB=0.1%  
Byte               電圧                 //LSB=0.1V
- - - - - - 
unsigned short  吸気圧              //LSB=0.1Kpa  (絶対圧)
unsigned short  吸気温度     //LSB=0.1℃
unsigned short  水温        //LSB=0.1℃
unsigned short  排気温度     //LSB=1℃
- - - - - - 
unsigned short  室温        //LSB=0.1℃
unsigned short  外気温       //LSB=0.1℃
unsigned short  O2センサー        //LSB=0.1V
unsigned short  方位        //LSB=0.1 磁北=0 東=90
- - - - - - 
Byte               緯度DDD                 //NMEA Format
Byte               緯度MM                   //NMEA Format
short              緯度.MMMM             //【N】MSB=0/【S】MSB=1
Byte               経度DD                   //NMEA Format
Byte               経度MM                  //NMEA Format
short              経度MMMM             //【E】MSB=0/【W】MSB=1
- - - - - - 
unsigned int     車速パルス       //LSB=1パルス(64パルス計算) 
- - - - - - 
unsigned short  タイヤ空気圧(FR)       //LSB=0.1Kgm/cm2
unsigned short  タイヤ空気圧(FL)       //LSB=0.1Kgm/cm2
unsigned short  タイヤ空気圧(RR)      //LSB=0.1Kgm/cm2
unsigned short  タイヤ空気圧(RL)      //LSB=0.1Kgm/cm2
- - - - - - 
Byte               タイヤ空気温度(FR)       //LSB=1℃
Byte               タイヤ空気温度(FL)       //LSB=1℃
Byte               タイヤ空気温度(RR)       //LSB=1℃
Byte               タイヤ空気温度(RL)       //LSB=1℃
Byte               TPMS電池残量(FR)       //0(空)-3(満)  <<<NEW
Byte               TPMS電池残量(FL)       //0(空)-3(満)  <<<NEW
Byte               TPMS電池残量(RR)       //0(空)-3(満)  <<<NEW
Byte               TPMS電池残量(RL)       //0(空)-3(満)  <<<NEW
- - - - - - 
Byte               ステータスBit        ///+0(LSB)  ライト
                                     ///+1         GPS捕捉
                                     ///+2         後退信号
                                     ///+3         サイドブレーキ 
                                     ///+4         可変バルブタイミング
unsigned short  Reserved 燃圧     //LSB=1Kpa  (絶対圧) (取得不可)
unsigned short Reserved 油圧     //LSB=1Kpa  (絶対圧) (取得不可)
unsigned short  Reserved 油温  //LSB=0.1℃  (取得不可)
-----------------------------------------------------------------

2011/01/30

InterfaceBuilderさん


 XCode4はInterfaceBuilderが統合されてるんだった。
紐付けが右ドラッグするだけ。楽々。

そ、そう、これを待っていたのよ。

UDPの受信ツールを作り替えるのが、
面倒臭かったわけじゃないんだからねっ!

とりあえず今日のところは、
IBOutlet繋げるだけなんだからねっ!

送信ツールはVC++.netだった。あっちも直さないと。

UDPデータ (Rev1.5)

追記:今見るといろいろずれてれぅ




- - - - - - 
Byte[8]            ID                           //ただし[7]は\0固定

- - - - - - 
unsigned short  エンジン回転数    //LSB=1rpm
unsigned short  車速         //LSB=0.01km/h  
Byte               スロットル開度         //LSB=1%    
Byte               燃料                        //LSB=1%  
Byte               空燃比                     //LSB=0.1%  
Byte               電圧                        //LSB=0.1V
- - - - - - 
unsigned short  吸気圧                    //LSB=0.1Kpa  (絶対圧)
unsigned short  吸気温度      //LSB=0.1℃
unsigned short  水温         //LSB=0.1℃

unsigned short  排気温度      //LSB=1℃
- - - - - - 
unsigned short  室温         //LSB=0.1℃
unsigned short  外気温        //LSB=0.1℃
unsigned short  O2センサー             //LSB=0.1V
unsigned short  方位        //LSB=0.1 磁北=0 東=90

- - - - - - 
Byte               緯度DDD                 //NMEA Format
Byte               緯度MM                   //NMEA Format
short              緯度.MMMM             //【N】MSB=0/【S】MSB=1
Byte               経度DD                   //NMEA Format
Byte               経度MM                  //NMEA Format
short              経度MMMM             //【E】MSB=0/【W】MSB=1
- - - - - - 
unsigned int     車速パルス        //LSB=1パルス(64パルス計算) 
- - - - - - 
Byte               タイヤ空気圧(FR)          //LSB=0.1Kgm/cm2  <<<NEW
Byte               タイヤ空気圧(FL)          //LSB=0.1Kgm/cm2  <<<NEW
Byte               タイヤ空気圧(RR)          //LSB=0.1Kgm/cm2  <<<NEW
Byte               タイヤ空気圧(RL)          //LSB=0.1Kgm/cm2  <<<NEW

Byte               タイヤ空気温度(FR)       //LSB=1℃  <<<NEW

Byte               タイヤ空気温度(FL)       //LSB=1℃  <<<NEW

Byte               タイヤ空気温度(RR)       //LSB=1℃  <<<NEW

Byte               タイヤ空気温度(RL)       //LSB=1℃  <<<NEW
- - - - - - 
Byte               ステータスBit        ///+0(LSB)  ライト
                                 ///+1         GPS捕捉
                                    ///+2         後退信号
                 ///+3         サイドブレーキ 
                                                   ///+4         可変バルブタイミング
unsigned short  Reserved 燃圧                       //LSB=1Kpa  (絶対圧) (取得不可)
unsigned short Reserved 油圧                       //LSB=1Kpa  (絶対圧) (取得不可)
unsigned short  Reserved 油温           //LSB=0.1℃  (取得不可)
-----------------------------------------------------------------
緯度経度が順番がくしゃくしゃだった。反省はしていない。

車速パルスは、電源投入時からの積算値を貰おうか。
そうすると、パケット取りこぼしても、走行距離が正しく取れる。

うちの妹の無線LANがこんなに繋がらないわけがない

引越しした妹様から、「無線LANがブツブツ切れる」との連絡を受けて、出張。

------------------------------------------------------------
・SSIDが取れたり取れなかったりする。
  →離れた部屋のiPhoneで取れてるのに、
   目の前のThinkPad(ダイバシティアンテナ)で取れない。

・別の無線LAN機器のデバイスを有効にすると、別のが切れたりする。

・ARPテーブルを見ると、繋がったことがあるのに、
  ARPテーブルに(ルーターのログ上では)一度も書かれていない。

・一定時間経つとPingすら通らなくなる。

・光接続なのに、有線LANでもやたら遅い。

・11g対応機器なのに、AOSSでも手動でも11aにされる機器がある。
------------------------------------------------------------
これはルーターが逝ってると判断し、適当な無線LANルーターを買ってくる。
「実効速度300Mbps!」とか、ああ最近は11n対応が当たり前なのね。



新しいルーターを電源投入。SSIDとパスワードを入力するといきなり無線で繋がる。


ブラウザーでWebを見ようとすると、
インターネット接続の設定へリダイレクトされる。
へー偉いな、最近のルーターは。



速度も光接続レベルで出てるので、やはりルーターで問題なかったようだ。


NTTは原因判別出来ずに投げたらしいけど。
まぁNTTの代理業者レベルの素人では無理かな、このレベルになると。

昔、実家に来たときに【TRACEROUTE】コマンドすら知らなかったしなぁ。


以上にて出張修理完了。

工賃は東京ばな奈ナリ。ばな奈うまうま。

2011/01/29

ナンシーより緊急連絡

友人様から痛車用のロゴ依頼がきたので、サクサク作る。

元絵が小さすぎてボンネットには解像度が足りないので、

フォトショップでベクタートレース。




最近フォトショップでパスを書くお仕事がやたら多い。

2011/01/28

Xcode4 Beta Preview6

にしたら、iOS4.21の実機デバッグが通るようになった。なんだこれ。

2011/01/27

色々調整

 あえて散らばせておいた、
ジェスチャーコマンドのコールバック処理を、
やっぱりメインビューコントローラーへ集める。

やはり複数指スワイプと、ピンチインは誤認識しやすい。
この辺りはもうちょっと調整をするかな。


音楽レイヤー周辺を少し整理して、
曲戻しジェスチャも実装。

その分音楽レイヤー格納ができなくなるので、
それは三本指タップでいいかな。

 コールバックで取れない、停止状態はリピートと同じ方法で解決。
 適当にオーバーレイで画面作ったけど、なんかこれはこれでいい感じに。




 昨日作った中の人表示が、長いキャラ名でフォント縮小された場合に、
 間が開いてしまう。

 気づいてしまったらしょうがない。
 なんでこんなことをわざわざしているんだと、疑問に思うまもなく修正する。

初春8


http://www.spring8.or.jp/ja/news_publications/events/open_sp811/



今年は4/30かー。
これってゴールデンウィークじゃなイカ。
混みそうだ。


だがしかし行く。




 イベント抜粋】



 加速器見学ツアー 見学
SPring-8の主要設備である放射光発生装置(加速器)を、研究者の説明を聞きながら電子の流れに沿って見学するツアーです。


 加速されたい!




 SPring-8実験ホール1周ウォーキングツアー 見学
放射光を使って最先端の研究を行っている「蓄積リング棟実験ホール」を一周するウォーキングツアーです。

蓄積されたい!






兵庫方面ってついでに寄れる名所って何があるんだろう。
神戸?瀬戸大橋?
少し足を伸ばして、桃太郎ランド?

2011/01/26

普通の人には要らない機能


ほら、アーティスト名キャラ名と中の人を併記すると、
  横に長くなるじゃないですか(誰に聞いているのか)

でも中の人の名前がないと、寂しいことってあるでしょう。
(中の人だけでプレイリストとか作った場合)

とりあえずキャラ名だけで、iTunesで登録して、
キャラ名がひとり分だった時だけ、
連想配列で中の人の名前を引っ張ってきて、
 上下に併記する機能を付けてみる。


 

 歌詞ファイルの統一表記を決めたので、
 余計なことをしてみたくなった例。

2011/01/25

iTunes経由のファイル同期

諸事情により1週間以上Mac開発を放っておいたわけですが、
そろそろ重い腰を上げないと。


テレメトリ機能は
全力で放置して
曲情報レイヤの改造しよっと。


歌詞情報をどうしたもんかと思うんですが、
iPodライブラリアクセスだと、

・一度純正アプリで再生しないと歌詞情報が展開されない


というどうしようもない仕様があるのです。

MPMediaItem経由でなく、AVなんちゃらで取ればいいんだけど、
めんどくさいし、どうせ文字情報以外のタグも突っ込むので、

曲名と同名のファイルがあった場合は、
歌詞情報ファイルとして読み込む

ってことにしよう。


iTunesでファイルが同期できるようにinfo.plistに設定をすると、
同期可能なアプリが接続されると、以下のような画面がでます。


指定したファイルは、iPodのDocument配下にコピーされる。


ファイル名をどーしようかな。
拡張子txtってのもなんか微妙だけど。変な拡張子にしても中身テキストだし。


同じ曲名で、歌ってるアーティストが違う場合はどーするか。

毎回
「曲名-アーティスト名.txt」とかするのも嫌だし、
「曲名」で見つからなかった場合だけ、「+アーティスト」で再検索でいいか。


適当にファイル作って、CATextLayerを死ぬほどならべても死なないかテストしてみよう。

2011/01/23

そうだ京都へ行こう

前回といっても、昨年5月。
突発SG買いに行くぜいぇーい@京都ツアーから半年ちょっと。
トマト欠乏症により、突如思いつきで行ってまいりました。ミレニアムシティ京都。


前回は11時に家を出るという無茶をしたんですが、
今回は朝一から行ったの、でずいぶん余裕がありました。

まぁ思いついてから30分で出発したんですが。


随員として友人を1名拉致して出発。

今回はまず、いつかは行きたいと思っていた伏見稲荷大社へ。

  入り口                 千本鳥居の起点

  有名な小さい鳥居が続くところ  ちょっといい感じの中間点

    
  入り口から25分、     四ッ辻の下の展望台から京都景観
   四ッ辻。
   まだ全行程の1/4なのか...。


名前は良くわからないけど、三ッ辻というあたりまではスロープ。
それ以降は階段で、上に行くほどキツイ階段になってきます。
子供連れや、年配の方は四ッ辻までにされると良いと思います。

甘酒や飴湯や軽食(おそば)などの茶屋もあります。

くっ、、、車で着ていなければ。


途中で見かけたお稲荷様。   鳥居は木造で、朽ち始めているのもあり、
どうしてこうなった。     定期的に間引いて取り替えられる模様。
                                                個人や法人で奉納出来るみたいです。
                                                鳥居の裏に名前が入れてもらえます。


そろそろ頂上の雰囲気




頂上と思ったら違うようです。剣石。
職人の神様です。これは参拝しておこう。


ちょうじょう!

Exifを見ると、47分くらい経過してますね。
冬ですが汗がしっとりと。



<お約束は忘れない>
下山の途中ので引いたおみくじェ...

おみくじって悪いと縛るのと、悪くないと縛るの、
どっちが正しいんでしょうね。

とりあえずおばちゃんが、
縛っとけっていうので縛って帰りました。

そのあと、「同じ場所でおみくじは2回引いたらダメ」
とか聞いたことがあるので、再挑戦はしなかったんですが。
下山して入り口におみくじがあったので、

ここは別の場所と言い聞かせて再度チャレンジ。


 大吉 incoming!

  
  これはおみくじ所の巫女さんのおかげかな!
  ありがとう巫女さん!

  (おばちゃんの存在を忘れている酷いヤツが此処に)

  

 伏見稲荷をあとにして、お次は
  定番清水寺
 子供の頃来てるはずなんですが、覚えてないですね。全く。

伏見稲荷と違って、金閣寺や清水寺は外人さんも多いですね。
まぁ三大名所をあげたら、どちらの必ず入るでしょうし。
 英米人さんも多かったんですが、「自分は〇〇の国の人間だ!」とか、
 「親子ともども奇声に近い声で騒いでいた」のはお隣りの国の方ですね。
 もう少し自己主張をしない文化を築いてください。



まぁそれはさておき、



 I,m FLYING!
  

   

   見上げるとちょっと凄い。よくこんなの作ったな。



 Hundred  JIZO!

   真ん中に居るのが組織のボス。




ここまでは素晴らしいと思いました。



だがしかし、清水寺は、観光地として、
あまりにも顧客受けを狙いすぎています。
  




清水の中間に、
こんな新興宗教みたいな怪しげな神社があるんですよ。なにこれ。
  
伏見稲荷大社の清楚な巫女さん達(当然黒髪)に対し、
なんか渋谷のセレクトショップの人がしぶしぶ巫女服着てる
って感じの巫女さん、いやバイト。態度も悪い。
  
まぁスルーしましたが、連れ合いの友人が「恋愛おみくじでで大吉」をゲット。
あえてここは良しとしましょう。彼に多幸あらんことを。





友人が観たことないらしいので金閣寺へ。
 「金閣寺ってなぁ、昭和25年に燃やされてもうて、
  今あるんは新しく建てられたもんなんやって。
   お釈迦様のお骨を祀った舎利殿の金閣は有名やさかい、
   金閣寺って呼ばれるようになったけど、
   ホンマは鹿苑寺っていうらしいわ」
  という解説をしようと思いましたが、雨が降ってきたのでそうそうに退散。






 場所を祇園へ移して都路里で休憩。
 本店が改装中で、少し離れた仮店舗で営業中でした。
相変わらずここの甘味は絶妙。
  団子とわらび餅の方は抹茶蜜黒蜜が選べました。
抹茶蜜を選びましたが、黒蜜の方があってたかも。


その後は、京極周辺をぶらぶらと、先斗町やら
楽器屋さんへ行ったり。






渋滞しそうな夕方を避けて、京都は夕食で。

トマトさんが入室されました。

  
煮込みハンバーグさんが入室されました。



相変わらず美味しい。この為だけに来たよ!

東洋亭に付いた頃には雨が相当激しくなってましたが、
帰路の天気を見る限り、雪にはならなそうなので、大丈夫かなと。




楽しい京都小旅行でした。また行こう。






 おまけ

今回は自分用におみやげ。
聖地JEUGIAでゲットした

VOXL字ケーブル。

カールコードはどこでも置いてあるけど、
L字で外側がナイロンメッシュなのは珍しい。しかもお安い。

自宅のSGさんは、ノイトリックジャックが側面に付いているので、
ストレートジャックだと、座り弾きで邪魔になるので。