2012-04-20 5 views
0

友人と私は加速度計からデータを読み込んで後で処理するアプリケーションを開発しています。私たちはBlackberry Playbook(Androidベース)で作業しています。ネイティブAPIから取得した加速度計のデータはより正確ですか?

可能な最も正確なデータが必要です。彼は、Playbookの加速度計から読み取った読みは、Java APIから得られた読みとりと比較すると、ネイティブC APIを使用するとより正確であると言います。おそらく、彼が各APIからデータを読み込んでいるレートによって、Cコードの読みがより正確であると思うようになったと思いました。読み込みレートが設定され、データが次のようにCに読み込まれ

:このような

/* 25000 microseconds = 25 miliseconds */ 
static const int ACCELEROMETER_RATE = 25000; 

sensor_set_rate(SENSOR_TYPE_ACCELEROMETER, ACCELEROMETER_RATE); 
sensor_set_skip_duplicates(SENSOR_TYPE_ACCELEROMETER, true); 

/* ...code ommited... */ 

/* gets the data */ 
sensor_event_get_xyz(event, &force_x, &force_y, &force_z); 

とJavaで:

mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_UI); 

/* ...code ommited... */ 

public void onSensorChanged(SensorEvent event) { 
    if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER) 
    return; 

mSensorX = event.values[0]; 
mSensorY = event.values[1]; 
mSensorZ = event.values[2]; 
} 

私はそのSensorManager.SENSOR_DELAY_UI`セットする前に読みました読書の速度は約20ミリ秒ですが、わかりません。

これらのコードはJavaのコードよりも正確なデータを取得することは意味がありますか?

+0

あなた(またはあなたの友人)が「より正確」を意味するのはどうですか?実際の価値をどのように知っていますか? – byrondrossos

+0

@byrondrossos彼が望むことによると、より正確なことは、装置が静止位置にあるとき、すなわち装置がテーブル上に横たわっているときにデータがあまり変化しないことを意味する。(x、y、z)加速度計は、いくつかのデバイスで起こるように、狂ったように変わるべきではありません。 – AntonioJunior

+0

センサーのジッタが問題になる場合は、ドライバがあなたのためにそれを行うことができない限り、それを自分で処理する必要があります。 Cコードでは、 'sensor_set_skip_duplicates'の呼び出しによって、Javaコードがアクセスできないものが変更される可能性があります。 – HonkyTonk

答えて

1

Blackberryの開発者は、おそらくJava実装でもcコードを含むライブラリを使用しています。

いいえ、cとjavaの両方がバイトコードに変換されるため、言語は何の役割も果たさないはずです。

+0

JavaバイナリはJVMで実行され、Cバイナリは実行されないので、CとJavaバイナリの間にはかなりの違いがあると言えます。 – HonkyTonk

+0

@honkytonk trueですが、ここでのポイントは、同じドライバとおそらくはシステムコールを使用していても、まったく同じリソースにアクセスできるということです(JVMがどれくらい深く埋もれているかわかりません)。JVMコードはjavaとにかく命令をバイトコードで処理することができます:) – byrondrossos

+0

Javaコードは、それが提供するものとどのようなインターフェースで動作するかに制限されています。たとえば、デバイスとインタフェースするネイティブグルーコードがジッタ処理に影響するメソッドを提供しない場合、JavaコードはCコードとは異なる信号を取得します。 JVMからネイティブへのブリッジは、常にJavaコードの可能性を制限します。 – HonkyTonk

関連する問題