2012年5月31日木曜日

グラフツクール

OBDのPID3、FuelSystemStatusの値が変な値で来ると、
ハードのエライ人を問い詰めていたら、
ビットで来ることを理解してなかったでござるの巻

軽く心のなかで2時間くらい土下座しつつ、
ソフト屋さんとしては、複合状態でもないのに、
ビットでくるとかはあんまり思わなかったりする。
というその場しのぎの言い訳をしつつ、修正。

ついでに放置していた、構造体を整理。
排気音とかO2センサーとか使わなさそうなのは削除。

UDP確認ツールを横画面に変更。


あとは、時系列で見られるように履歴のグラフ化を着手。
すげぇ面倒くさい。

WifiデータはCAN同様、必ず一定時間で来るわけではないので、
タイマーでリサンプリングして、
構造体データの配列に変換。

でもそのままだと描画クラスまで持って行けない。
(C言語は配列をそのまま渡せない)

NSMutableArray渡すのも、
メンバアクセスにオーバーヘッドがかかりすぎて好きじゃない。
折角固定配列で組んでるのに、IOメソッド通すとか意味が不明すぎる。

メインループで配列を持って、Viewクラスから見られるように、
小細工をする。成功。なるほどこういうもんか。理解。

とりあえず1Hzで600点のデータをバッファリング。10分間。
それをレンダリング。

描画に当然負荷がかかるだろうと考えて、
画面のContextを部分コピーとか、
色々考えてたんだけど、普通に1Hzで全データ更新しても、
それほど重くない。

CGImageRefでCurrentContect書いていくのは、
それほど負荷じゃないのか。なるほど。理解。

とりあえずデータ管理側は組み終わり、
仮画面に点描だけしてみる。さくさく。


最近仕事でも遊びでもグラフしか組んでない。
グラフ面倒だから嫌いなんだけどな。

2012年5月29日火曜日

開けゴマ

「タイツかニーソックスか、それが問題よね」霧島レイ

OpenLoopとCloseLoopは大体わかったので、
進角のピークホールドを、「総合」「Open」「Close」で持つようにする。
進角・近くで都合6表示。

というのはさっきテストドライブしてきたら、
OpenLoopとCloseLoopで、制御値がかなり違うと感じたので。

さてさてどういう感じになることやら。

i need fuel

燃料計のセンダー抵抗の値(整備解説書より)

Float PositionResistance (ohms)Height (mm)
F11 - 1382.9
HALF52 - 58 154.2
LOW114.4 - 120.4 215.5
E 130 - 132 222.8

燃料量と抵抗値で見ると、
Fから半分、半分からEの係数2倍とすれば、
大体線形と言えなくもない。

ただ可変抵抗なので、抵抗値と液面高さで見るべきで、
そちらだと指数的なグラフになる。


抵抗と液面高さで近似曲線作って、
タンク容量に係数入れて補正するにしても、


燃料タンクって四角じゃないから
(実車の容量計測だと結束バンド分も測る)
係数も出しにくい。

どうせ4点しかデータがないので、
燃料量と抵抗値で直線補間するか。

面倒くさい。


MR. FUSIONの時代早くこないですかね。

歌詞調整

思い出したかのように、
連想配列に追加。

ObjectiveCで「這いよる」とか書く人もなかなか居まい。





かおてぃっくふぃーどばっく(ENC Lv8)

ハードのエライ人に、ODBの取得項目を増やしてもらう。

PID3のFuelSystemStatus

何が取れるかというと、燃調のフィードバック制御補正をしているかどうか。
実際には理由付きで冷間時とか、スロットルオフ時の減速とか、
そういう理由のフラグになっている。

折角とってもらったので、UIを書く。
昔TPMSの時に模写した

半分マウス手書きのダサい、エンジンブループリントを、

微妙に線が震えてるところがダサス


すべてパスで書きなおす。

んで、マスクレイヤー化して、色が変えられるようにする。

【エンジン停止時】

【冷間時(OpenLoop)】



【通常時(CloseLoop)】


【燃料カット時(OpenLoop)】




TAMAやらQBやらが飛び出すサーモスタットを
端に追いやったり、文字の位置調整をしたりして、
多少のゴチャゴチャを改善したが、
基本ゴチャゴチャしてても、
何故か実車だと見やすいから良しする。

メーター(値表示)でなくて、
インジケーター(ON/OFF)にしてるのが成功か。
あ、ピークホールドの位置変えるの忘れてた。


EngineLoadもどうしようか迷いマイマイ。

EngineLoadってエンジン負荷率って訳されるけど、
MassAirFlowにとエンジン回転数での線形データなので、
エンジン吸気充填率と訳すのが正しい気がするのだが。

計算式は基本は、

[MAF(g/s) * 60 / rpm]

理想空燃比を逆算すれば、大体の燃費もわかるんだけど、
燃費テーブルの他に、このEngineLoadもテーブル入れてそうなので、
まぁ燃費なんてどうでもいいよね。

点火タイミングと、今回の制御モード状況で、
大体わかるしね。

今日の霧島レイさん


Lv594→Lv638

レイは和歌山 県境メッセージを覚えた!
レイは奈良 県境メッセージを覚えた!









東海・北陸・関西・北陸コンプリート
折り返し直前。

北海道と沖縄は、
当然無料で入れてくれるんですよね?
ユピテルさんや。
6/28はまで待ちますが。



「♪エンシェントロード 私の〜」

天気も頗る良いので、ハードの人と出かける。
1000km以下の旅とか久々だ。

御在所SAで早めのご飯

三和の親子丼はウマい
なか卯なんて意味ない

東名阪から伊勢道、そして紀勢道へ
今回のターゲットは熊野古道(らへん)

この辺りはのどかですね

イメージBGM



運転してると取れない峡谷をパシャリ

そういえば「SD衛星ロストの1」が治ってた

海がミエルヨ

紀宝町のドライドッグ

長島IC以南はまだ出来てないけど、
前回よりは少し伸びてるかな?

海山から尾鷲北は前回の1週間後に開通

インターからの合流はT字路、左手が未開通区間

ほとんどトンネル区間ですが、
途中の端から見えた人用の吊り橋

尾鷲北からは再び下道。
鬼ヶ城の看板

この辺りは海が2色で綺麗だ。

獅子岩。
ハードの人曰く、季節によっては月を咥えるとか。へぇ。

通過後南からパシャリ。あ、こっちだとより獅子っぽい。

前回S2000はそのまま串本経由で半島一周でしたが、
今回はここから分岐で超山道。
レーダーは設定を変更。コケるから。




新宮から熊野川周辺は、昨年の台風12号の傷跡がまだ大きいです。
 木々や看板がまだなぎ倒され、民家も放棄されているところが多い。

福島もそうですが、被災地は目で見ると、
事の大きさがわかりますね。

直後に観光気分で行ってはいけないが、
ある程度復旧してから、対岸の火事と思わず、
自分にできることを見に行くというのなら良いのかもしれない。

一応仮に作った目的点。熊野本宮大社。熊野古道の起点であり終点。

道の対岸にはかつて社殿があった、跡地がある。
こちらは明治に洪水で失われたそうだ。
跡地にはコンクリート造りの日本一の鳥居。

さてでは参拝。

こちらが現在の大社

新しいとはいっても、檜皮葺で古い建物です。

門から奥は撮影禁止らしいので、本殿は外から。

敷地内にあった郵便ポスト。
八咫烏が神の使いらしい。
八咫烏おみくじとかあって、
ビニールのカラスついてたんだけど、
なんか醤油さしっぽくて。。。

道の駅でじゃばらドリンクを買ったり 
北山村でしかとれない柑橘系。
味は、ゆず+かぼす+ライム。

十津川の道の駅で、

こんにゃく(ゆず入り)を食べたり。
味噌塗らないこんにゃくは生まれて初めて食べた

滝を見たり、

谷汲の吊橋。ジャパン一の吊り橋らしい。


ヒィ






でもやはり気にかかったのは、
十津川でも被害が大きいということ。
被災からずっと工事中で、片側通行が多く

橋もかなりの数が仮設橋でした。

いたるところにがけ崩れのあとがあり、
 災害の大きさを物語っていました。
被災の直後は自衛隊や、重機を持った手助けが一番ですが、
復興には、何か役立てないかなと思います。