Frequenza di aggiornamento MKRGPS

Buongiorno,
sto utilizzando la scheda MKR GPS con la libreria "mkrgps" (non l'ho ancora testata) e ho notato che avrei una frequenza di aggiornamento dei dati di 1Hz ma per i miei scopi avrei bisogno di una frequenza di 5Hz.
ho letto su vari forum su come poter variare tale frequenza ma tutti vanno a cambiare dei parametri della libreria per poter inviare messaggi a basso livello (di config) al gps in particolare mi riferisco a questo e all'ultimo post in questa discussione.
visto che non sono un programmatore e non saprei dove mettere le mani stavo pensando: non basta collegare la scheda a u-center e cambiare i vari parametri da li?
onestamente non capisco perchè starsi a scervellare per configurarlo da arduino, vario i parametri su u-center e nel codice di arduino gli faccio leggere più dati al secondo.
scusate la mia "ignoranza" e grazie a chi mi risponde!

Vero, ma se poi la libreria se lo riprogramma come vuole lei (acquisizione ad 1 Hz) ... o modifichi la libreria o non ne esci.

Guglielmo

EDIT: ... non solo, ma in quella discussione che hai indicato c'è una frase molto importante:

I haven't been able to get the sample rate higher than 5Hz, while technically the GPS is supposed to be capable of doing 10Hz. I'm not sure where the bottleneck is, but 3Hz is good enough for my use case, so I'll not be digging deeper right now.

si può trovare una soluzione?
avrei veramente molto bisogno di arrivare a 5Hz, seguendo la procedura che è indicata in questi forum oltre che a cambiare il baund rate non saprei dove altro mettere le mani :roll_eyes:

... c'è esattamnete la modifica da fare. Li è fatta con un periodo di 333 mSec (3 Hz), tu devi mettere 200 mSec (5 Hz) e sperare che ce le faccia (stando a quanto dice, fino a 5 Hz ci dovrebbe arrivare) :roll_eyes:

Guglielmo

quindi nel file gps.h devo cambiare:

private:
  void poll();
  void parseBuffer();
  void sendUbx(uint8_t cls, uint8_t id, uint8_t payload[], uint16_t length);

con

void sendUbx(uint8_t cls, uint8_t id, uint8_t payload[], uint16_t length);
private:
  void poll();
  void parseBuffer();

non ne capisco molto scusate!

edit:
come detto nel punto 2 della guida

:open_mouth: :open_mouth: :open_mouth: ... chi ha parlato della guida? Ti ho detto di fare riferimento al link che hai messo nella discussione sul forum di Arduino dove ci sono le due modifiche da fare.

Guglielmo

Si, la modifica 2 indicata sul forum dice che bisogna rendere pubblico sendUbx.
come ho mostrato sopra è corretto?

... direi di si.

Guglielmo

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.