Autore Topic: Accelerometro, Giroscopio e magnetometro  (Letto 130 volte)

Offline sheldon99

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    asus zen2
  • Sistema operativo:
    Windows 7
Accelerometro, Giroscopio e magnetometro
« il: 02 Aprile 2017, 10:00:56 CEST »
0
Buongiorno a tutti,

parto dicendo di non aver mai programmato in android e nonostante abbia cercato materiale su internet non sono riuscito a venire a capo del mio problema: nella mia app sfrutto tre sensori, ovvero accelerometro, giroscopio e magnetometro.
Ho già implementato il listener e registrato con una determinata "frequenza di campionamento". Il punto in cui mi sono bloccato è questo:
ho un istante X in cui prendo il primo campione dall'accelerometro e un istante Y in cui prendo il 40esimo .. ora dovrei prendere tutti i campioni di magnetometro e giroscopio compresi tra gli istanti X e Y dovendoci fare dei calcoli..

Non riesco a capire come inserire questo "intervallo" nel listener.. qualcuno saprebbe come aiutarmi??

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Accelerometro, Giroscopio e magnetometro
« Risposta #1 il: 04 Aprile 2017, 09:32:49 CEST »
0
Il SensorEvent passato nelle onSensorChanged ha un Timestamp.
Puoi usare quello per controllare i tempi.

Ciao

Offline sheldon99

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    asus zen2
  • Sistema operativo:
    Windows 7
Re:Accelerometro, Giroscopio e magnetometro
« Risposta #2 il: 04 Aprile 2017, 15:04:50 CEST »
0
Il SensorEvent passato nelle onSensorChanged ha un Timestamp.
Puoi usare quello per controllare i tempi.

Ciao

Ciao si ho esattamente fatto così, nella classe del listener ho implementato un metodo che mi salvasse i timestamps..
se posso vorrei farti un'altra domanda come confronto tra di loro i dati dei diversi listener (ne ho uno sensore ovviamente)? questo lavoro di confronto devo farlo nel sensormanager in cui registro i tre listener?
« Ultima modifica: 04 Aprile 2017, 16:22:23 CEST da sheldon99 »

Offline arlabs

  • Utente normale
  • ***
  • Post: 433
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Accelerometro, Giroscopio e magnetometro
« Risposta #3 il: 05 Aprile 2017, 10:01:19 CEST »
0
Prima di tutto non è obbligatorio far un listener per sensore.
Se fanno parte di una gestione unica dei dati puoi anche fare un listener unico (prendendo poi il tipo di segnale da event.sensor.getType()). In passato mi è capitato di farlo.

A prescindere da questo, se hai deciso di fare dei listener separati, dovrà esserci un coordinatore che conosce tutti i tipi di segnali e fa il lavoro che serve.
Quello poi puoi implementarlo in mille modi, se vuoi tenere disaccoppiate le classi, puoi registrare una callback dal listener al coordinatore... vedi tu.

Ciao.