2015年11月28日土曜日

Dynabook S38 に Win10 クリーンインストール

Dynabook tab S38 に Win10 をクリーンインストールした.

この場合,多くのデバイスドライバは自動インストールされないんだけど,東芝のサイトに Win8.1/10 ドライバは公開されていない.なので,いろんな機種のドライバを寄せ集めてデバイスを全部認識させてみる.
# 先に書いとくけど Win8.1 のファイルを使うので,Win8.1 を消す前に作業が必要

その前に,デバイスマネージャで不明なデバイスを右クリック→ドライバーソフトウェアの更新→ドライバーソフトウェアの最新版を自動検索します をとりあえずすべての不明なデバイスでやってみる (これで認識するものあるので).

この状態で画像くらいに数が減った.デバイス名としては
ISP Camera Device (は中途半端に認識してるっぽい)
Microsoft ACPI-Compliant System
intel imaging signal processor 2400
Intel(R) Atom(TM) Processor I2C Controller driver
あたりだけど,まぁなんのデバイスのことかはわからない.動かしてみて明らかに使えないデバイスは,カメラ,GPS あたりだけど.

ここで他社タブレットのドライバを拝借してくるw ライセンス的に微妙なのと,PC が壊れても知らないので以下自己責任でどうぞ.
(1) レノボ からドライバを取ってきて実行すると,c:\DRIVERS 以下にドライバが解凍される.
(2) HP Stream 8 からドライバ検索して Broadcom GPS Driver (ファイル名: sp72184.exe) を取ってきて実行すると,c:\SWSetup 以下にドライバが解凍される.あとあと楽なので,c:\DRIVERS の下に移動させる.
(3) Win8.1 の \windows ディレクトリ以下からファイル検索で以下のファイルを探して,c:\DRIVERS 以下にコピーする.
mt9m114.sys, MT9M114_CIFDHA0.cpf, mt9m114.inf, ov5693.inf, ov5693.sys, OV5693_CJAD542.cpf
(4) デバイスマネージャで不明なデバイスを右クリック→ドライバーソフトウェアの更新→コンピュータを参照してドライバーソフトウェアを更新します→c:\DRIVERS を指定して次へ
たまに署名が云々で警告食らうけど,気にしたら負けなのでそのままインストール.
(5) 新たに不明なデバイスが生まれることがあるけど,「ドライバーソフトウェアの最新版を自動検索」か「コンピュータを参照してドライバーソフトウェアを更新」かどっちかで消えるはず

これですべてのデバイスドライバが認識できたヽ(´ー`)ノ
Win10 にして個人的に一番嬉しいのは,Bluetooth テザリングの子機としてスマフォに接続できるようになったので,外に持ち出して使えるヽ(´ー`)ノ

2015年11月24日火曜日

人柱なモノ

Win10 が無料アップグレードでもクリーンインストールできるようになったので,Dynabook S38 に Win10 をクリーンインストールしようとやってみたら,
・内蔵 MicroSD カードスロットからはブートしない→USB ドライブが必要
・セットアップ中はタッチパネルは認識しない→USB キーボード (+マウス) が必要
で一瞬で詰んだ orz

仕方がないので USB-OTG + USB Hub を探してみたら,いいのがあった.
OTG MicroUSB対応 充電ポート付 4ポートUSBハブ DN-12851
これのいいところは,AC アダプタで充電しながら USB Hub が使える可能性があること.大抵の「給電できる USB-OTG ケーブル」は USB 機器に給電はできるけど本体の充電はできない.
まぁ商品説明にもある通り,実際に充電できるかどうかは賭けだけど,切り替えスイッチがついてるから期待できるし,たとえ充電できなくても Hub としては使えるからいいや,とポチッとな.

で今日届いたので試してみた.結果は…

賭けに 月券 禾リ ヽ(´ー`)ノ

見事,本体に充電しながら,Hub に挿したマウスを認識した.
ちなみにスイッチ位置は 1 でいけた.謎なスイッチはここの記事のような抵抗値を切り替えているんだろうと予想していたが,ハブ本体からリレー音がしていたので,もうちょっと高級なことをしているみたい.
これで今週末は S38 にも Win10 入れられる.

ちなみに,Zenfone5 でも試してみたけど,こちらはどのスイッチ位置でも充電と USB Hub 機能は両立しなかった.ざんねん.

2015年11月8日日曜日

(・∀・)デムパ!! が足りない時の対応

自分ではわりと活用している Waypoint Navi,先日の奈良ニュルで問題点が発覚した.
Google ナビはルート探索が終わった後なら,電波が途切れてもそのままルート案内してくれるが (地図データもある程度キャッシュしてるみたい),WpNavi はウェイポイント (WP) 毎にルート探索が発生するので,電波がない地点を WP に設定していると,Google ナビのルート探索で止まってしまいその後ナビが続かなかった.

自力でナビするのは道路データがないと無理だし諦めたヽ(´ー`)ノ
ここのように,ルートの曲率からラリーのコ・ドライバーのような音声案内をするというのはなかなか面白い案だけど,高架の側道に降りる的な微妙な Y 字路の案内は無理なので,実用性は謎.

なので,電波がない状態の非常モードと割りきって音声案内はきっぱりと諦めて,
(1) WP に到達した時点でデータ通信が切れている場合,Google ナビは起動せす,現在地と事前設定したルートの線,それと運が良ければ地図,を表示するだけにする
(2) データ通信が復活したら,自動で Google ナビを開始する
というようにしてみた.これだけでも無いより大分マシだし,路肩に車を止めてスマフォを操作せずとも乗りきれる (はず).

2015年11月1日日曜日

Google V8 搭載 (2015年度版)

メイン PC を Win10 にするついでに,開発ツールを Visual Studio Community 2015 (Express ではない,ほぼフルスペックの VS がタダで使える.いい時代だなぁ(゜ーÅ)ほろり) を入れたら,3年前の Google V8 ソースコードがコンパイルできなかったので,最新版を VSD for GPS に組み込むことにした.
こんだけ期間が開くと API がガラッと変わって,昔やってた AviUtl のプラグイン DLL に V8 を組み込む手法なんかも変えないといけなかったので,再び調べてみた.

サンプルとかでよく見る V8 の実行の流れは以下のようになっていて,
あるクラス::ある関数(){
  Isolate 作成
  Isolate スコープの中 {
    Handle スコープの中 {
      Context 作成
      Cotext スコープの中 {
        JavaScript 初期化 (スクリプトコンパイル等)
        // ↑ここまで初期化処理
        // ↓ここから繰り返しの処理
        JavaScript 実行
      }
    }
  }
}
AviUtl のプラグイン DLL では,初期化処理と JavaScript 実行処理は関数を分けて,それぞれの関数処理が終わるごとに AviUtl に制御を返さないといけない.かと言って単純にそれらを分けてしまうと,初期化関数を抜けた時に Handle スコープを抜ける = Context も破棄されるため,別関数で JavaScript 実行することができない.

なので以下のようにする.
あるクラス::Compile(){
  Isolate 作成→メンバ変数に保存
  Isolate スコープの中 {
    Handle スコープの中 {
      Context 作成→メンバ変数に保存
      Cotext スコープの中 {
        JavaScript 初期化 (スクリプトコンパイル等)
      }
    }
  }
}

あるクラス::Run(){
  メンバ変数に保存した Isolate スコープの中 {
    Handle スコープの中 {
      メンバ変数に保存した Cotext スコープの中 {
        JavaScript 実行
      }
    }
  }
}
要は Isolate と Context はメンバ変数に保存してやれば良い.ただし Context::New は Local<> なので (そのままでは Handle スコープを抜けると破棄されるため) Persistent<> に変換してやる必要がある.(そして Run() 内でメンバ変数の Context を参照するときは,また Local<> に変換する.)
Context 内のグローバルオブジェクトとか,HandleScope を抜けるとどうなるか心配だったが,この方法なら破棄されないみたい.

というわけで hello.cc をちょっと改造して上記のことを実現したソースは以下のとおり.Compile メソッドで生成した JavaScript function の hoge() を,Run メソッドで呼ぶことができている.昔やってた,HandleScope を new で生成するというやばい方法は使わなくて済んだ.
// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "include/libplatform/libplatform.h"
#include "include/v8.h"

using namespace v8;

class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
public:
    virtual void* Allocate(size_t length) {
        void* data = AllocateUninitialized(length);
        return data == NULL ? data : memset(data, 0, length);
    }
    virtual void* AllocateUninitialized(size_t length) { return malloc(length); }
    virtual void Free(void* data, size_t) { free(data); }
};

class CScript {
    
    Platform* m_Platform;
    ArrayBufferAllocator m_Allocator;
    Isolate::CreateParams m_CreateParams;
    Isolate* m_Isolate;
    v8::Persistent<v8::Context> *m_Context;
    
  public:
    CScript( char *path ){
        // Initialize V8.
        V8::InitializeICU();
        V8::InitializeExternalStartupData( "." );
        m_Platform = platform::CreateDefaultPlatform();
        V8::InitializePlatform(m_Platform);
        V8::Initialize();
        m_CreateParams.array_buffer_allocator = &m_Allocator;
    }
    
    ~CScript(){
        m_Isolate->Dispose();
        V8::Dispose();
        V8::ShutdownPlatform();
        delete m_Platform;
    }
    
    void Compile( void ){
        // Create a new Isolate and make it the current one.
        m_Isolate = Isolate::New(m_CreateParams);
        {
            Isolate::Scope isolate_scope(m_Isolate);
            
            // Create a stack-allocated handle scope.
            HandleScope handle_scope(m_Isolate);
            
            // Create a new context.
            Local<Context> context = Context::New(m_Isolate);
            m_Context = new Persistent<v8::Context>( m_Isolate, context );
            
            // Enter the context for compiling and running the hello world script.
            Context::Scope context_scope(context);
            
            // Create a string containing the JavaScript source code.
            Local<String> source =
                String::NewFromUtf8(m_Isolate, "function hoge(){ return 'hoge!!!'; }",
                    NewStringType::kNormal).ToLocalChecked();
            
            // Compile the source code.
            Local<Script> script = Script::Compile(context, source).ToLocalChecked();
            Local<Value> result = script->Run(context).ToLocalChecked();
        }
    }
    
    void Run( void ){
        Isolate::Scope isolate_scope(m_Isolate);
        
        // Create a stack-allocated handle scope.
        HandleScope handle_scope(m_Isolate);
        
        // Create a new context.
        Local<Context> context = Local<Context>::New( m_Isolate, *m_Context);
        
        // Enter the context for compiling and running the hello world script.
        Context::Scope context_scope(context);
        
        Local<Function> hFunction = Local<Function>::Cast( context->Global()->Get( String::NewFromUtf8( m_Isolate, "hoge" )));
        if( hFunction->IsUndefined()){
            int a=0;
        }
        
        Local<Value> result = hFunction->Call( context->Global(), 0, NULL);
        // Run the script to get the result.
        
        // Convert the result to an UTF8 string and print it.
        String::Utf8Value utf8(result);
        printf("%s\n", *utf8);
    }
};

int main(int argc, char* argv[]) {
    
    CScript *scr = new CScript( argv[ 0 ]);
    scr->Compile();
    scr->Run();
    delete scr;
    
    return 0;
}

2015年10月26日月曜日

奈良ニュル

通称「奈良ニュル」と呼ばれる道を走ってきた.

奈良ニュルという単語はよく聞くけど,具体的にどの道かはっきり書いてある記事とかが少なくて,断片の情報から判断したルートがこれ.

湖畔の里つきがせ ~ 室生龍穴神社 の道をそう呼んでいるらしい.

湖畔の里つきがせからスタートして少し急カーブの山道が続くけど,それを抜けるとこんな感じの (逆光www),ストレートや緩いカーブがの道がずっと続き,(多分) 信号も 0 なので走ってて非常に楽しいヽ(´ー`)ノ.さすが「ニュル」を名乗っているだけのことはある.

終点の室生龍穴神社前.ここでトイレ休憩して折り返すもよし,そのまま南に突き抜けてプチ酷道ツアーw を楽しむもよし.

今回はそのプチ酷道ツアーを敢行して曽爾高原のすすきを見に行ってみたのだけど,途中の渋滞がひどかったので断念.南から比奈知ダムに寄ってから,伊賀コリドールロードの西セクションを通って帰宅.

今回のドライブは全行程において走りやすい道が多かった.奈良は田舎だけに走りやすい道が多くていいね.

2015年10月24日土曜日

JavaScript 電卓が最強すぎた

世間一般的に JavaScript 電卓というと,Web ブラウザのフォーム・ボタン・JavaScript の学習ネタとしてよく作られているけど,自分が目指しているのはそういう非実用的なものじゃなくて,要は「JavaScript 言語仕様を受け付ける電卓」.UNIX の bc コマンドのようなものと言えばイメージが伝わるかも.

というわけで HTA で書いてみた.実はテキストボックスに入力されたテキストを (キーが押されるたびに) JavaScript で eval() するだけなんで,「学習ネタの JavaScript 電卓」とは比べ物にならないほど簡単w 見た目もまず電卓には見えない.

なんだけど,意外にもこれが非常に使える.
キーボードでスピーディに入力できて = すら押す必要ないし,
入力や結果のコピペが簡単だし,
JavaScript の Math オブジェクトの関数がそのまま使えるし,
そもそも JavaScript が使えるのでループや function 組んで複雑な計算できるし.

あと個人的に欲しかった K(キロ) m(ミリ) Gi(ギビ=1024^3) 等の接頭辞を受け付けるようにしたり
printf() を実装して,例えばループで a[0] ~ a[127] の 128行の文字列を得られるようにしたりとか
仕事上よく使う機能を盛り込んで,「ぼくがかんがえたさいきょうのでんたく」になったヽ(´ー`)ノ

2015年9月21日月曜日

4台中 4台

の車がオープン 2シーターwww
という変態の集まりで雁ヶ原に行ってきた.

今回のお目当てその 1.9氏のおろして 1ヶ月のぴっかぴかの S660.市販車の実車を間近で見るのは初めてだけど,実車は写真よりかっこいい.これでもう少し軽ければ文句無しなんだけどなぁ.

エリと違ってw 流石に幌の作りもしっかりしていて,雨漏り対策も万全そうだった.
今回の目的その 2.¥2,440/本のタイヤ TR968 の性能はいかに? ということで,試してきた.

実は一般道でもアクセルをラフに踏むとスキール音が鳴るので,嫌な予感はしていたのだけど,びっくりするくらい全く食わないwww 10年モノのカッチカチの溝なし RE050 (エリ買った時のタイヤ) よりも食わない感じで,大カウンター大会でまともに走れん.きちんとドリフトコントロールができる人なら楽しめるのかもしれんけど,自分には制御しきれなかった(;´д⊂)

というわけでヘロヘロ動画.最近ガム型カメラ使ってなかったのでフロントフェンダーに貼り付けてみた.

1日走り終わったあとのタイヤ.ブロック飛びなんかはないけど,内側は 2/5くらい減った.食わないくせに減りは早いということで,全くいいとこ無し.

NS-2 のグリップは自分には絶妙に合ってただけに,TR968 のウンコタイヤっぷりには大いに失望した orz

2015年9月13日日曜日

ソロツー,ついでに笠取山分屯基地+ダム

今年も笠取山分屯基地の開放イベントに行ってきた.
と言っても展示物は毎年あまり変わらないので,青山高原までのソロツーのついでみたいなもんだけど.

今年の目玉 AH-1S.飛来してくるところが見れるのかと思ったら,すでに地上に駐機していた.残念.

ペラペラw


機関砲の動作デモをやっていた.
この後帰投するときに飛行展示やるみたいだったけど,目新しい展示は軍用ワンコの訓練デモやってたくらいでそれ以外は目新しい物がなく間が持たなかったので,早々に退散してソロツー再開.
以前から目をつけていた比奈知ダムに行ってみた.


この比奈知ダム,「地域に開かれたダム」を目指しているようで,ダム下にちょっとした公園があり (家族連れも何故か多かった),珍しく下側からダムに接近できる.

2015年8月23日日曜日

TK スポーツ訪問

5月の雁ヶ原以来ずっと続いているエンジンルームからの異音にトドメを指すべく,TK スポーツさんにおじゃましてきた.
さすが関西のロータス乗りのメッカ,工場内にあった 6台くらいのエリ・エクのほとんどがリアカウル外されていてホンダエンジンに換装中.噂には聞いていたけど VTEC 率高ぇwww

で,写真のようにウマで 4輪を浮かせた状態でアクセルを煽ると,幸いにも現象が再現出来たので割とあっさりと原因特定.原因は単なるエンジンマウントの取り付けボルト緩み.まぁ結果的に新たに交換する部品もなく安く済んでラッキー.

その後は社長さん・整備員さん・お客さんとクルマ談義や,大変興味深い車業界の裏話などw で楽しい時を過ごさせていただいた.

TK スポーツさん,ありがとうございました!

2015年8月14日金曜日

堕ちるところまで堕ちていく

タイヤのグレードがw

原因不明のサイドウォール裂けにもめげず,お遊びジムカ用の新たなアジアンタイヤを調達.
裂けたのは 1本だけなんだけど 1本だけ交換すると左右バランス的に気持ち悪いし,中古 NS-2 を探してみたけど新品 TR968 のほうが安かった.
どうせお遊びジムカ用のタイヤだし,(コンフォートではない) スポーツタイヤでみんカラで酷評 (ドリフトで剥がれたとか) されてなきゃいいや,ということで値段「のみ」で選んで TRIANGLE TR968 を get.値段は 215/45R17 が驚愕の ¥2,440/本 www もう送料とか工賃とかのほうが高いです…

スポーツ走行はまだなんでとりあえず一般道で走ってみた.グリップ感とか剛性感とか鈍感な自分には全く分からないが,とりあえずうるさいと評判のロードノイズは,エリだとエンジン・排気音のほうがはるかにうるさいので問題なかった.
グリップとかはそのうち雁ヶ原で試してみる予定.

---------------
以下自分用覚え書き:
項目単価数量税率小計
TRIANGLE TR968 215/45R172440214880
↑送料3880113880
タイヤ交換工賃,タイヤ廃棄代2466112466
合計11226

俺のコーキソグガソが火を噴くぜ!!

前買った社外ハードトップ,ウェザーストリップが汎用品で,エリの車体側にフィットしていないので雨漏りがひどい.特に B ピラーとの接点がひどい.
まぁここは自分のウェザーストリップの切り方を失敗したのが半分くらいだけど (ここは買ってから自分で切る必要がある),ここを立体的に切るのは素人には無理だし,失敗しなくても浮いてるとこあるのでどのみちアウト.

というわけでシリコンシーラントとコーキグガ買ってきた.
業務用サイズwww こんなに量いらんけどこっちのほうが安かったので.

車体側のウェザーストリップにシーラント剤がつかないように食品用ラップで覆い,その上にシーラント剤を盛る.更にその上をラップで覆い,ドアを閉めることで最適な形に成形される (はず).

食品用ラップはいろんな素材があるので一概には言えないけど,家にあったラップはシーラント剤の硬化後にくっつかないことを発見したので,シーラント剤表面を綺麗に整形するのに使える.

完成.車体側にシーラント剤は付いていないので,シーラントを切らずにハードトップを外すことができる.
雨漏りテストはまだやっていないけど,隙間は埋まったの問題無いと思う.

無の状態から成形したにしてはうまいこと行ったんではなかろうか.ヽ(´ー`)ノ

2015年7月5日日曜日

Windows タブレットの活用方法を考える

前買った Win タブ,案の定使い道がなくこのままでは放置プレイになりそうだったので色々使い道を考えてみる.

いろいろ情報収集してるうちに東芝の PC には「RZ スイート express」なる DLNA 視聴ソフトが入っていること発覚.幸い HDD レコーダも東芝製なので,タブレットで録画が見れるじゃん! と思ってやってみたら…

入ってないじゃん(;´д⊂)

今の今まで知らんかったけど,自分の買ったのは企業向けモデルだったようで,一般向けモデルにいろいろい入っているプリインアプリがことごとく省かれていた.OS が Win8.1 PRO だったからなんかおかしいとは思っていたのだが…

んーと思ってたら,DiXiM Digital TV plus がセールで 40% OFF になっていたのでポチッとな.
CPU が Atom なんで Full HD の再生できるかどうか心配だったけど,なんの問題もなかった.個人的に必須の 1.5倍再生もあるので,視聴時間短縮もできて○.これなら Win タブも有効活用できそうだヽ(´ー`)ノ
# ウィンドウ表示の縦横比がディスプレイの縦横比に固定されてしまうようで,2560x1080 のディスプレイの PC で使うと広大な横黒帯画面になってジャマ(;´д⊂)なところが,イケてない.

PS3 は今までほとんど DLNA + DTCP-IP 視聴機器として使ってきたけど,今度は PS3 の使い道がなくなってきたwww

2015年7月2日木曜日

データロガー 2号機プロジェクト完結

やっとこさ車が帰ってきて,ハンダ付け関係 (ノイズフィルタ) も全部終わったので車につないでログとってみた.

←うーん,大分マシになったとはいえ,やはりノイズが取り切れていない… ノイズフィルタ回路自体は 1号機と同じはずなんだけど,2号機の IO は 3.3V なんで (1号機は 5V),スレッショルドが変わったことでノイズを拾いやすくなったのかもしれない.

オシロ持ってないし,これ以上ハードで対策するのは自分には難しいし,まぁこの頻度ならソフト処理でなんとかなるでしょ,とやってみた.
←キタ━━━━(゚∀゚)━━━━ッ!!
やっとこさキレイなデータがとれたヽ(´ー`)ノ
というわけでデータロガー 2号機プロジェクトもめでたく完結.

鈴鹿南でプチプチ切れまくった Bluetooth,今日試した限り全然接続が切れなかった.もしかしてシガーライターソケットの接触不良で電源が落ちていただけなのかもしれないと思い始めた.
なので fonera は再びお蔵入りして,Bluetooth モジュール復活.こっちのほうがコンパクトだし,この大きさなら車体の見えないところに適当に貼り付けられそう.


GPS ロガーもなかった数年前ならいざしらず,OBD-II 等も普及してきた今更こんなデータロガー作って意味あるのかと思わないでもないけど,まぁこれの一番の目的は (磁気式の) ラップカウンターだし,車両情報の取得のほうがおまけみたいなもんw

2015年6月23日火曜日

Windows タブレット使えないすぎワラタ

dynabook Tab S38/M が送料込み¥14,800 で売ってたので,中華タブを除けばこのスペックでは底値だろうと思い反射的にポチッとな.した後で,「どう考えても使い道がないのに,なんでこんなもの買ったんだろう?」と自問自答しつつ,今日届いたので早速使ってみた.

使いにくうwwwww
デスクトップアプリをソフトキーボード・タッチパネルだけで使うのはもはや苦行以外の何物でもないw 試しにこの記事を dynabook Tab で書き始めてみたけど,1行でめげたヽ(´ー`)ノ

メトロアプリだけを使うなら操作性は普通のタブレットなんだけど,Android に比べてアプリが圧倒的に少ないし,肝心の google サービスのネイティブアプリもなく常用にも向かないので,Android があれば存在価値なし.

Windows タブレットは,キーボード (カバー) 付きの 10inch くらいのタブレットを買って,ノーパソスタイルでデスクトップアプリを使うしか存在意義がないね.したがって,特に物理キーボードレスの 10インチ未満の Win タブレットはゴミ以外の何物でもないと理解した.

というわけで久々の逆大ヒットwww
しかしこれどう活用したもんか.VirtualBox いれて Android でも動かそうかな.

-----
後日追記:
Android-x86 4.4r2 を Live モードで起動してみたけど,WiFi を認識せず何もできずに玉砕.

2015年6月14日日曜日

データロガー 2号機プロジェクト (3)

今週末は車がなく(;´д⊂)ハードのデバッグができないので,しかたがないのでソフトのデバッグ・機能充実を図る.

前回の鈴鹿南では,データロガーと Android の Bluetooth 接続がプチプチ切れて困ったのだけど,どの段階でコケているのか現場では全くわからなかった.
実はデータロガーと Android は単に車両情報を通信しているだけではなく,マイコン側で実行するプログラムを Android から送信したりしているので,接続確立・ファームウェア送信が完了するまではログを表示するようにしてみた.

また,接続が切れると今まではエラー画面を表示して停止していたので,復旧のためにはいちいちピットインしなければならなかったけど,今回はデータロガー・Android 両方にウォッチドッグ的な処理を入れて,通信がおかしくなったら自動的に再接続を行うようにしてみた.

で,データロガー⇔Android 通信中におもむろにデータロガーをリセットしてみたのが上の画面.何回か TCP/IP 接続をリトライして,無事ファームウェア送信まで行って復帰できた.
いい感じヽ(´ー`)ノ

2015年6月9日火曜日

ARM ベース基板作成

CortexM3 基板用のベースボード作成中.
旧データロガー作成当時は PSP・Android と連携はしてなかったので,LED 表示を頑張ってて (配線も多い!),また長年に渡る増改築で RS-232C D-SUB コネクタが 2個とか意味のわからん状態になってるけど,新ロガーでは LED はバッサリと切り捨てて車両信号と UART のピンヘッダ,あとは電源関係のみ,と非常に簡素.
てか,今回の目的にこの CortexM3 基板は明らかにオーバースペックwww

で,ひとまず車速パルスだけ取り込めるようにして,とりあえず車につないでみた.
旧データロガーは FTO 時代の時に作って (もう 10年前の話...),FTO の時は車速パルスに酷いノイズが乗ってまとも計測できなかってので,ノイズフィルタ的な回路を組んでいた.
今回はめんどくさいので,そのまま信号をマイコンに突っ込んで行けるかどうか試してみる.

←その結果,ダメダメでした(;´д⊂)
あーやっぱノイズフィルタ回路組まなきゃダメか.スピードだけなら,ソフトのフィルタ処理でなんとかなる気がしないでもないけど,走行距離の計測は車速パルスの数を正確にカウントしなければならないので,うまいソフト処理が思いつかない.

何故か,まだ接続せずに浮いているタコメータ用のポートの方にクロストークでスピードパルスの信号が載って,しかもそっちの方が綺麗に車速がとれているというw 多分いい感じにノイズが減衰されてるんだろうな.

2015年6月3日水曜日

データロガー 2号機プロジェクト 復活

だいぶ前に買ったデザインウェーブマガジン付属の CortexM3 基板,おそらく AC 的な問題で SD カードにうまく書き込めなかったので,一気にやる気を無くして押入れに突っ込んだ.

そして 7年の時が流れたw

が,現データロガーの G センサーが壊れて,ARM 基板には G センサーが載っているので,データロガー 2号機プロジェクト復活.とりあえず SD カードにログ記録するのは諦めて,現データロガーと同じく,ARM⇔UART⇔WiFi⇔Android という経路で通信を行うことにした.

なのでまずは UART 通信できるところまで行かないと,printf デバッグも何もできない状態なのだが,ここでハマる.
STMicro のチップには Standard Peripheral Library なる C 言語のライブラリが用意されていて,それ自体は便利なんだろうけどドキュメントがなさすぎ.例えば UART 動かそうと思ったら GPIO の設定が必要で,GPIO 設定するためにはクロック供給の設定が必要とか,何重のトラップなんだよ.
もうちょっとサンプルとか充実してほしいなぁ.LED 1灯だけでデバッグする身にもなってくれw

とりあえず 1日がかりで,やっとこさ UART 通信ができるようになった.

2015年5月24日日曜日

Zenfone5 の Bluetooth がおかしい

去年の 11月くらいに Desire と GalaxyNote を売却してからはずっとサーキットには行ってなくて,今年の 4月にやっと行けたので気づかなかったんだけど,Zenfone5 と自作データロガーの Bluetooth 接続がプチプチ切れて,データロガーが使い物にならなかった.(;´д⊂)
Bluetooth モジュール自体が怪しいのでどっちが原因とは言いがたいけど,実は GPS ロガーのログを Bluetooth 経由でスマフォにダウンロードするアプリ (MtkUtility) でもプチプチ切れる (--# ので Zenfone5 の BT がおかしい,で確定かなぁ.

仕方がないので車載 Wi-Fi ルータ復活w データロガー本体 (ルネサス H8 16MHz) よりも Serial⇔Wi-Fi 機器 (MIPS 183MHz) のほうが豪華というわけのわからなさwww

と思ったら DealExtreme で神モジュール発見.Serial⇔Wi-Fi 変換モジュールがたったの ¥683!!! これは Bluetooth モジュールよりも遊べそう.

2015年5月23日土曜日

アジアンタイヤ ヤヴァイ

ミッション付近からのオイル漏れと,雁ヶ原行って以来のミッション付近からの異音修理のために,フヂエンさんに車預けてきた (のは GW 終わりの話).

オイル漏れの方はさくっとその場で直してもらった (さすが).エリでは使われていない,スピードメータケーブル取り出し口の O リングが劣化して,ミッションオイルが漏れていた模様.

異音の方は,自分では駆動系の異音かと思ったら,エンジンマウント周りが怪しいらしい.ということでエンジンマウントを交換したけど,まだ治りきっていないみたい.んー残念.

で,それよりもショッキングな連絡が.
「タイヤのリア内側のサイドウォールが裂けてます」
工エェェ(;゚Д゚)ェェエ工!?

どこかに当てたとか車体に接触したなんてことはなく,半年前に買って街乗りと雁が原に 2回行っただけ.たぶん今回の雁ヶ原でこうなったんだろうけど,知らずに高速で ぬあわkm/h とかで走ってたよ((((;゚д゚))))ガクガクブルブル
トレッド面剥離ならまだわからんでもないけど,何故にサイドウォールがこんな状態に? (一応空気圧管理はきっちりやっているつもりで,雁ヶ原に行く前も空気圧は問題なかった)

アジアンタイヤの安全性とか気にもしてなかったけど,これ見ちゃうとちょっと怖いなぁ.

2015年5月6日水曜日

プチ酷道ごっこ

GW シメは,ライトウェイトミッドシップ 2シータなマシンでプチ酷道ごっこw
針 TRS 近くの布目ダムを目指して,わざと山を突っ切るルートで行ってみた.エリだと,後ろがよく見えない中待避所まで鬼バックとか実行する根性は無いけど,この車なら離合も簡単.

というわけで,代車で借りている今がチャンスとばかりに酷道ごっこを楽しんでみようと.



と思ったけど,予想に反して走りやすい道が多かった.特にダム周辺の道は道幅も十分で車も信号も皆無なので,良いワインディンクロードなのては.

ダムはダムで意外とでかく,景色も綺麗だった.

この SMART,いわゆるロボタイズド MT で,このタイプの T/M の車には初めて乗った.マニュアルモードの反応は (トルコン AT 車に比べれば) 速く,トルコン AT の滑ってる感も無いので,トルコン AT 車ほどの拒否反応は感じなかった.

自分はトルコン AT は滅びたほうがいいと思ってる人だけど,これならまぁ足車としてなら有りかも.

2015年5月5日火曜日

二連続福井

5/1 に,おもむろに若狭湾に行ってみたくなったので,なにかいい道がないかと探してみたらありました「エンゼルライン」.

もともと有料道路だったのが無料開放されたみたいで,頂上からの見晴らしも良さそうということで Go.計画では福井入りしてからコンビニでなにか買って頂上でお昼を食う,というプランだったのだが,びっくりするくらいコンビニがないwww 福井の山をナメてはいけない.

道自体は砂埃が多かったが広くて走りやすかった.が頂上に行っても売店等も何もなく,GW なのに人も少ない (自分含めて車・バイク 3台).まぁそれだけ空いていて走りやすいということで.

結局頂上でお昼食いそびれてひもじい思いをしたので,この後琵琶湖パークウェイに行ってそこで食べた.
5/3 は毎年恒例になりつつある,いつものメンバーで雁ヶ原に Go!
今日のコースは超上級者向きで爽快感がない非常に練習しがいがあるコースw
鈴鹿南ではあまり実感できなかった LSD も,ジムカではアクセルターンっぽいことが大分やりやすくなった.

帰りにトランスミッション付近から異音がしてきたけど,さて今度はどこが壊れたのか…
(;´д⊂)

2015年5月4日月曜日

va_list を自前で構築する

C 言語で,可変引数の関数から (与えられた可変引数をそのまま渡して) vprintf を呼ぶのは簡単だけど,そうじゃない場合,例えば何か配列の値を使って vprintf を呼びたいような場合,無の状態から va_list を生成するのが標準の C の範疇では出来ないみたい.

しかたがないので,プラットフォーム依存になるだろうけど,Microsoft VisualC++ (x86) では以下のようにして出来た.
#include <stdio.h>
#include <stdarg.h>

int main( void ){
    va_list vargs;
    
    int args[] = {
        10,
        0, 0,  // double 用領域
    };
    
    *( double *)( &args[ 1 ]) = 1.5;
    
    va_start( vargs, args[ -1 ] );
    vprintf( "hoge %d %f\n", vargs );
    va_end( vargs );
    
    return 0;
}

---- 実行結果 ----
hoge 10 1.5

要は,va_list は普通は CPU のスタック領域に積まれた引数のアドレスを指しているけど,int args[] に無理やりスタックイメージと同じものを作って,va_list でそこを指すようにすれば良い.通常 va_start の第 2引数に渡すのは format 文字列,すなわち %d とかで使う数値が入っているアドレスの 4バイト前なので,ここでも 4バイト前を指すように args[ -1 ] を指定する.
double 型は 8バイトアライメントに配置しなくても良いみたい.
va_end が何をしてるかわからんけど,#define を見る限りなくてもいいみたい.

2015年4月25日土曜日

で,肝心の LSD はどうだったのかというと.

前回の続き.

その前に買ったモノについて言うと,現状手に入るローバー Eg 用で一番安かった Quaife の ヘリカル式 LSD を購入.多板クラッチ式は定期的にオーバーホールが必要? とか聞くので,そんなことできないので,ヘリカル式であるこれを選んだのもそれが理由の一つ.

で,LSD は車の性格が激変するとか聞いていたが,果たしてウン十万投資した効果が鈴鹿南で発揮されたのかどうかというと.

自分では↓以外,正直違いが感じられなかったwww
もともと LSD を入れようと思ったのは,鈴鹿南の最終コーナーで,イン側のタイヤが空転して前に進まないのを直したかったからなのだが,そこはさすがに直っていた.
じゃあそれがタイムに反映されたのか? というと,タイムはベストの 1秒落ち.
てか,初めて鈴鹿南走った時のタイムが未だに破れないってどういうことなのwww

あとは LSD のせいなのかどうなのかわからないけど,やたらアクセル ON でケツが振られるようになった (単にタイヤが終わっただけかも).

鈍感な自分には過ぎた買い物でした orz
あとは雁ヶ原で何か違いを体験できるか…

2015年4月23日木曜日

意外な車と遭遇

LSD 付けたので,テストがてら今シーズン最初で最後の鈴鹿南走ってきた.
で,パドックの左をふと見てみると,↓
ん? エリーゼ S3? と思ってよーく見ると,なんとトミーカイラ ZZ EV ではないか!!
開発テストか何かで持ち込んでいるらしい.
実は自分は ZZII が世界で一番美しい車だと思っているので (市販されなかったけど),そのデザインテイストを取り入れた ZZ EV も当然メチャメチャカッコイイ.
オープンカーの幌は嫌いとか書いたばっかりだが,こいつは幌すら無いので許すwww
あとで写真撮らせてもらおうと思ったら,「横に並べて写真とってもいいですか?」と予想外の申し出が.なんでも,エリと比べられることが多いけど,実際に横に並べて比べたのはこれが初めてだそうで.
モーターショーに並べるべき車とオフロード走行後のきったない車を並べるのは正直申し訳ない気もしたが,「こちらこそお願いします!」ということで,横に並べて写真取らせてもらった.
これ,エリパの LED テールに見えるけど,まさかねw

その時に色々お話を伺ったところ,
・ZZ ベースでガワ変えて EV 化したとかと思ってたら,ZZ との共通パーツはほとんど無いそうで.
・EV 車は音が静かなので,「スポーツカーとして音はどうしてるの?」と聞いたら,スピーカーで音を流すシステムを考えているそうで.(サウンドレーサー的なもの?)
・普通の展示会に持って行っても「トミーカイラってトミカですか?」とか聞かれて悲しいとか.
いろいろ開発の裏話とか聞けて楽しかった.

ついでに走行風景.
実際走っているのを聞くと,タイヤのロードノイズしかしない.

2015年4月12日日曜日

超インドア派流ドライブ動画

GPS ログを Google ストリートビューで再生してみたいと思った.

こんなん既存のツール・サービスがあるだろと思っていたが,なぜか意外と無い.
・Google Earth - 衛星写真を俯瞰視点にして再生出来るだけで,ストリートビューで再生できない
StreetWather - iPhone 持ってないし.
Google Maps Streetview Player - 惜しいことに,開始・終了地点が指定出来るだけで,GPS ログは再生できない.
Hyperlapse - 求めているものとはちょっと方向性が違うが,これはこれで面白い.
・すでに終了している Web サービス - 暇人トラベラーティアナ・クルーズ

といろいろ調べるうちに,Google Street View Image API なるものがあること発見.これを使えば,ストリートビューの画像を URL で取ってこれるので,VSD for GPS の google_maps スキンとほとんど同じ処理で実現できる.

というわけで,やってみた.

おおっ,スキンの範疇だけで組んだにしては意外とまとも.
ただ,VSD システムの仕様でストリートビュー画像の先読みが出来ないので,動画保存に超時間がかかる.(2fps ほど)
これは VSD システムのほうを要修正だな.

欲しい人はこちら→VSD for GPS

2015年3月28日土曜日

ついに ねんがんの ハードトップを てにいれたぞ!

長いことエリを乗ってきて今さら言うのも何だが,実は自分はオープンカーの見た目が嫌いw 特に幌を閉めた時の,B ピラーに当たる部分のラインが醜い.

自分は車の性能とともに見た目も重視するので,エリがタルガトップじゃなかったら買ってなかったと思う.とはいえ,やはりソフトトップではデザインが崩れていると思うので,やっぱハードトップが本来の姿だよなぁと,エリ購入時からずっとハードトップが欲しかったのだけど,最近期間限定でセールしていたので衝動買い.
MISSION ロータスエリーゼ ハードトップFRP製

というわけで装着してみた.
やっぱソフトトップよりハードトップのほうがカッコイイ!
塗装代までは工面できなかったので,カーボン柄シート貼ってごまかしてみるテストw

ちなみにソフトトップの場合はこれ.
ソフトトップはなんというかぺっちゃんこだけど,ハードトップはフロントウィンドウからなだらかにルーフにつながるラインがキレイ.

ちなみに物自体の出来はどうかというと,
◎安い.純正が確か 40万円くらいに対し,送料込み¥92,700
◎軽い.純正が確か 11kg くらいに対し,4.5kg (金具込み) (ちなみに幌も 4.5kg だった)
△遮音性は幌と変わらず
×ギシギシ音がひどくなった(;´д⊂)
 →取付金具の車体と触れる箇所にビニールテープを巻いたら,大分ましになった.
×ウェザーストリップに問題あり.窓を閉めた後は,ドアを開け閉めしないとウェザーストリップが定位置に収まらない.また隙間があったので,おそらく幌よりも雨漏りがひどいと思われる.
 →補修した
×取り付け方法が不安.取付金具が車体側の穴 (そこに差しこむだけ) に 8mm くらいしか噛んでいないので,衝撃で車体がねじれた時とかに,簡単に取れそう((((;゚д゚))))ガクガクブルブル
×8箇所あるボルト取付部のナット側が,8箇所全て FRP の樹脂が侵入していてまともにボルトが入らなかった.しかたがないのでタップで樹脂を取り除いたら問題なく取り付けできた.

正直,純正品レベルを期待するとガッカリしますwww
まぁ安いのだけが取り柄かなぁ.

2015年2月16日月曜日

再発防止委員会

先日修理した (つもりの) クーラント漏れ,やっぱり完治していなかった(;´д⊂)

なぜ,クーラントが漏れたのか? →(以下略)
とかなぜなぜ分析をするまでもなく修理が適当すぎたので,再発防止策としてエリパからラジエータホースを購入.

ホースの交換自体は大したこと無い作業のはずなんだけど,ホースを交換するためには前カウルを外さないといけない.これの工賃がバカにならないのと,カウル外しは基本的に面倒なだけで素人でも不可能な作業ではないはず,とこちらの記事とかサービスマニュアルとか見ながら,カウル DIY 外しに初チャレンジ.

難関と思われた※1 のボルトが 10mm ラチェットめがねレンチであっさりと外れたので,あれ,カウル外し余裕なんじゃね? と思ったらそうは問屋が卸さなかった.

※2 のボルト,おそらく本来はステーに溶接されていると思われるのだが,その溶接が外れていて,ロックナットともにボルトが回転しやがる(;´д⊂)しかもここスペースがなく,レンチ入れるのだけでも大変で,やっとこさボルトをラジオペンチで挟んでも,ロックナットが硬くてボルトともども回転とかもうね(;´д⊂)
ここのナット外すだけで 2時間格闘したwww

で,全部のボルト・ナットを外して後はカウルを持ち上げるだけ,の段階になった時には午後 4時を回っていた.日没までにホースを交換する自信がなかったので今日はタイムアップ.

--------------------------------
2日目.
ついにカウルが外れた.

最初,ボルトは全部外したはずなのにノーズバッジあたりがくっついているような気配で,まだボルトが残っているのかと思ったが,どうやら車体側に見える 2本の支えに貼ってあるゴムスポンジがカウルにも張り付いていたみたいだった.

クーラント漏れ箇所を確認.やはりドレンブラグ付近からだったようで安心.ラジエターからの漏れだったら目も当てられない.
前付けたホースバンドを外しただけでにじみ出てきた.

エリパのホース (約 ¥1.1万) 取り付け後.
ここしか交換しないので黒ホースが欲しかったのだが,在庫がないって言われたのでここだけ鮮やかな青www
まぁ見えないからいいけど.

----
以下自分用覚書:
スクリベット エーモン No.1952 Φ8.2