Hatena::Groupwindowsmobile-dev

WindowsMobileのはなし

 | 

2010-06-29

T-01B/IS02の地磁気センサをアプリから使う!

| 01:20 | T-01B/IS02の地磁気センサをアプリから使う! - WindowsMobileのはなし を含むブックマーク はてなブックマーク - T-01B/IS02の地磁気センサをアプリから使う! - WindowsMobileのはなし

T-01B/IS02には地磁気センサが搭載されています。すごいですね!

さてこいつはもちろんStream Interface Driverとして実装されていて、CreateFile関数ドライバをオープンしてIOControlするといろいろできたりします。

が、めんどうですよね。これをラッピングしたDLLとしてGeocon.dllというのがシステムにあります。こいつを叩いてやるとアプリケーションから地磁気センサの値を取得することができます。

C++で使うとこんな感じ。

extern "C"
{
    // XYZそれぞれ値を返す関数用の構造体
    struct XyzData
    {
        int x;
        int y;
        int z;
    };
    // 地磁気センサの初期化
    int TSGeomagnetStart();
    // 地磁気センサの後片付け。必ず最後に呼ぶこと!!
    void TSGeomagnetStop();
    // 現在の方角を取得(0~359)
    int TSGeomagnetGetDirection(int*);
    // 傾きを取得? よくわからない
    int TSGeomagnetGetInclination(struct XyzData*);
    // 地磁気の強度を取得? よくわからない
    int TSGeomagnetGetIntensity(int*);
    // 端末のXYZ方向それぞれのなにか値を取得するみたい
    int TSGeomagnetGetXyzdata(struct XyzData*);
}

あとはてきとーに呼ぶとそれらしい値がもらえます。便利ですね。あとキャリブレート系のAPIもあるようですが面倒なので見ていません。

.libがほしい人はどうにかして手に入れてください。ダイナミックリンクすれば別にそんなのもいらないですが。

あと、コード中のコメントにも書いてありますが、必ず終了処理を行ってください。終了処理をせずにアプリケーションを終了した場合、次回呼び出す際に端末が再起動します!

LaquishaLaquisha2011/08/21 07:38Hey, that post leaevs me feeling foolish. Kudos to you!

jrfvqeljrfvqel2011/08/22 23:53G6IasQ <a href="http://ncvahhcccooz.com/">ncvahhcccooz</a>

sowrhitsowrhit2011/08/24 02:09KjlkUF , [url=http://mfadzioatgxf.com/]mfadzioatgxf[/url], [link=http://hbupxxvqdywn.com/]hbupxxvqdywn[/link], http://zvfxshndagfd.com/

iqrsumthiqrsumth2011/08/31 19:48cKLOnT , [url=http://ngssfvboriyd.com/]ngssfvboriyd[/url], [link=http://akodzdnufdwj.com/]akodzdnufdwj[/link], http://axgtkigkclds.com/

HamzaHamza2012/08/20 20:43Cool! That's a clever way of lkoonig at it!

qmwyqkipyqmwyqkipy2012/08/21 17:29w9OBKH <a href="http://nflrmufwjprb.com/">nflrmufwjprb</a>

mbmnqzmbmnqz2012/08/23 00:07UddLdI , [url=http://fipenjdoapfn.com/]fipenjdoapfn[/url], [link=http://vqvpcvuyjygh.com/]vqvpcvuyjygh[/link], http://pudndpxlhexi.com/

ZaneleZanele2015/08/13 02:00Hey, that's the grettesa! So with ll this brain power AWHFY?

 |