Alcune volte puo' essere comodo fare cut and paste nell'editor Nano. Il problema e' che la combinazione di tasti per attivare la modalita' di selezione e' quanto meno curiosa ed e' CTRL+SHIF+6 (e lo dice uno che in Turbo Pascal era abituato a CTRL+K B e CTRL+K K per aprire e chiudere i blocchi di selezione)
La selezione del testo si fa attraverso le frecce dopo aver iniziato la modalita' Selezione
Un altro aspetto curioso e' che si puo' fare strettamente Cut and Paste (con CTRL+K e CTRL+U) e non Copy and Paste
Per questo motivo se si vuole copiare una parte di codice in un altro posto si deve tagliare la parte selezionata, incollarla in posto e poi copiare di nuovo nella posizione desiderata
ps: esistono altri editor disponibili, peraltro alcuni con scorciatoie di tastiera simili a quelle di Borland che a sua volta rimandava a Wordstar (se non erro), come per esempio Joe ma non sono installati di default in Debian e si deve quindi convivere con Nano (come prima avevo convissuto con Vi)
mercoledì 20 aprile 2016
martedì 19 aprile 2016
DGPS con Ublox M8T e RTKLib a 5Hz e 10Hz
In caso di utilizzo di GPS Differenziale in modalita' dinamica puo' essere utile avere una frequenza di campionamento piu' veloce dello standard di una acquisizione al secondo, in particolar modo se il rover si muove rapidamente.
L'Ublox M8T permette questa funzionalita' almeno fino al valore di campionamento di 10Hz (piu' veloce non ho provato ma il file di configurazione permette di inserire il tempo di campionamento in millisecondi, il che fa pensare che si posssano inserire valori inferiori ai 100 millisecondi
L'unica accortezza, per permettere il campionamento piu' veloce, e' quello di modificare la velocita' della porta seriale (anche se si acquisisce via USB) modificando il valore standard di 9600 bps portandolo a 115200 bps. Si deve tenere anche conto che il file di configurazione di RTKLib, nonostante si chiami ubx_m8t_glo_raw_5hz.cmd non modifica la velocita' della porta per cui, cosi' come e', e' sostanzialmente inutile
-----------------------------------
# RTKNAVI options (2016/02/08 17:25:54, v.2.4.3 b8)
pos1-posmode =single # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static,8:ppp-fixed)
pos1-frequency =l1 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l5)
pos1-soltype =forward # (0:forward,1:backward,2:combined)
pos1-elmask =15 # (deg)
pos1-snrmask_r =off # (0:off,1:on)
pos1-snrmask_b =off # (0:off,1:on)
pos1-snrmask_L1 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0
pos1-dynamics =off # (0:off,1:on)
pos1-tidecorr =off # (0:off,1:on,2:otl)
pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:stec)
pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad,5:ztd)
pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1 =off # (0:off,1:on)
pos1-posopt2 =off # (0:off,1:on)
pos1-posopt3 =off # (0:off,1:on,2:precise)
pos1-posopt4 =off # (0:off,1:on)
pos1-posopt5 =off # (0:off,1:on)
pos1-posopt6 =off # (0:off,1:on)
pos1-exclsats = # (prn ...)
pos1-navsys =1 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:comp)
pos2-armode =continuous # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode =off # (0:off,1:on,2:autocal)
pos2-bdsarmode =off # (0:off,1:on)
pos2-arthres =3
pos2-arthres1 =0.9999
pos2-arthres2 =0.25
pos2-arthres3 =0.1
pos2-arthres4 =0.05
pos2-arlockcnt =0
pos2-arelmask =0 # (deg)
pos2-arminfix =10
pos2-armaxiter =1
pos2-elmaskhold =0 # (deg)
pos2-aroutcnt =5
pos2-maxage =30 # (s)
pos2-syncsol =off # (0:off,1:on)
pos2-slipthres =0.05 # (m)
pos2-rejionno =30 # (m)
pos2-rejgdop =30
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =llh # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =off # (0:off,1:on)
out-outopt =off # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =hms # (0:tow,1:hms)
out-timendec =3
out-degform =deg # (0:deg,1:dms)
out-fieldsep =
out-height =ellipsoidal # (0:ellipsoidal,1:geodetic)
out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic =all # (0:all,1:single)
out-nmeaintv1 =0 # (s)
out-nmeaintv2 =0 # (s)
out-outstat =off # (0:off,1:state,2:residual)
stats-eratio1 =100
stats-eratio2 =100
stats-errphase =0.003 # (m)
stats-errphaseel =0.003 # (m)
stats-errphasebl =0 # (m/10km)
stats-errdoppler =1 # (Hz)
stats-stdbias =30 # (m)
stats-stdiono =0.03 # (m)
stats-stdtrop =0.3 # (m)
stats-prnaccelh =10 # (m/s^2)
stats-prnaccelv =10 # (m/s^2)
stats-prnbias =0.0001 # (m)
stats-prniono =0.001 # (m)
stats-prntrop =0.0001 # (m)
stats-prnpos =0 # (m)
stats-clkstab =5e-12 # (s/s)
ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm)
ant1-pos1 =90 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =-6335367.6285 # (m|m)
ant1-anttype =
ant1-antdele =0 # (m)
ant1-antdeln =0 # (m)
ant1-antdelu =0 # (m)
ant2-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm)
ant2-pos1 =90 # (deg|m)
ant2-pos2 =0 # (deg|m)
ant2-pos3 =-6335367.6285 # (m|m)
ant2-anttype =
ant2-antdele =0 # (m)
ant2-antdeln =0 # (m)
ant2-antdelu =0 # (m)
misc-timeinterp =off # (0:off,1:on)
misc-sbasatsel =0 # (0:all)
misc-rnxopt1 =
misc-rnxopt2 =
misc-pppopt =
file-satantfile =
file-rcvantfile =
file-staposfile =
file-geoidfile =
file-ionofile =
file-dcbfile =
file-eopfile =
file-blqfile =
file-tempdir =/tmp
file-geexefile =
file-solstatfile =
file-tracefile =
file-cmdfile1 =ubx_m8t_glo_raw_10hz.cmd
#
inpstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =ttyACM0:115200:8:n:1:off
inpstr2-path =
inpstr3-path =
inpstr1-format =ubx # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr2-format =rtcm2 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr3-format =rtcm2 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr2-nmeareq =off # (0:off,1:latlon,2:single)
inpstr2-nmealat =0 # (deg)
inpstr2-nmealon =0 # (deg)
outstr1-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path =./ufast2.txt
outstr2-path =
outstr1-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
outstr2-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
logstr1-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr1-path =./ufast2.ubx
logstr2-path =
logstr3-path =
misc-svrcycle =10 # (ms)
misc-timeout =10000 # (ms)
misc-reconnect =10000 # (ms)
misc-nmeacycle =5000 # (ms)
misc-buffsize =32768 # (bytes)
misc-navmsgsel =all # (0:all,1:rover,2:base,3:corr)
misc-proxyaddr =
misc-fswapmargin =30 # (s)
-----------------------------------
File di configurazione per acquisizione raw a 10Hz. Nella prima riga evidenziata in giallo si imposta la velocita' della seriale, nella seconda il passo di campionamento (100 ms)
-----------------------------------
!UBX CFG-GNSS 0 32 32 1 3 16 16 0 0
!UBX CFG-GNSS 0 32 32 1 6 16 16 0 1
!UBX CFG-MSG 2 21 0 0 0 1 0 0
!UBX CFG-MSG 2 19 0 0 0 1 0 0
!UBX CFG-PRT 1 0 0 2256 115200 7 7 0
!UBX CFG-RATE 100 1 1
@
!UBX CFG-MSG 2 21 0 0 0 0 0 0
!UBX CFG-MSG 2 19 0 0 0 0 0 0
!UBX CFG-RATE 100 1 1
-----------------------------------
Rtkrcv, per il post processing, si deve essere sicuri di impostare il corretto valore del passo di campionamento
L'Ublox M8T permette questa funzionalita' almeno fino al valore di campionamento di 10Hz (piu' veloce non ho provato ma il file di configurazione permette di inserire il tempo di campionamento in millisecondi, il che fa pensare che si posssano inserire valori inferiori ai 100 millisecondi
L'unica accortezza, per permettere il campionamento piu' veloce, e' quello di modificare la velocita' della porta seriale (anche se si acquisisce via USB) modificando il valore standard di 9600 bps portandolo a 115200 bps. Si deve tenere anche conto che il file di configurazione di RTKLib, nonostante si chiami ubx_m8t_glo_raw_5hz.cmd non modifica la velocita' della porta per cui, cosi' come e', e' sostanzialmente inutile
-----------------------------------
# RTKNAVI options (2016/02/08 17:25:54, v.2.4.3 b8)
pos1-posmode =single # (0:single,1:dgps,2:kinematic,3:static,4:movingbase,5:fixed,6:ppp-kine,7:ppp-static,8:ppp-fixed)
pos1-frequency =l1 # (1:l1,2:l1+l2,3:l1+l2+l5,4:l1+l5)
pos1-soltype =forward # (0:forward,1:backward,2:combined)
pos1-elmask =15 # (deg)
pos1-snrmask_r =off # (0:off,1:on)
pos1-snrmask_b =off # (0:off,1:on)
pos1-snrmask_L1 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L2 =0,0,0,0,0,0,0,0,0
pos1-snrmask_L5 =0,0,0,0,0,0,0,0,0
pos1-dynamics =off # (0:off,1:on)
pos1-tidecorr =off # (0:off,1:on,2:otl)
pos1-ionoopt =brdc # (0:off,1:brdc,2:sbas,3:dual-freq,4:est-stec,5:ionex-tec,6:qzs-brdc,7:qzs-lex,8:stec)
pos1-tropopt =saas # (0:off,1:saas,2:sbas,3:est-ztd,4:est-ztdgrad,5:ztd)
pos1-sateph =brdc # (0:brdc,1:precise,2:brdc+sbas,3:brdc+ssrapc,4:brdc+ssrcom)
pos1-posopt1 =off # (0:off,1:on)
pos1-posopt2 =off # (0:off,1:on)
pos1-posopt3 =off # (0:off,1:on,2:precise)
pos1-posopt4 =off # (0:off,1:on)
pos1-posopt5 =off # (0:off,1:on)
pos1-posopt6 =off # (0:off,1:on)
pos1-exclsats = # (prn ...)
pos1-navsys =1 # (1:gps+2:sbas+4:glo+8:gal+16:qzs+32:comp)
pos2-armode =continuous # (0:off,1:continuous,2:instantaneous,3:fix-and-hold)
pos2-gloarmode =off # (0:off,1:on,2:autocal)
pos2-bdsarmode =off # (0:off,1:on)
pos2-arthres =3
pos2-arthres1 =0.9999
pos2-arthres2 =0.25
pos2-arthres3 =0.1
pos2-arthres4 =0.05
pos2-arlockcnt =0
pos2-arelmask =0 # (deg)
pos2-arminfix =10
pos2-armaxiter =1
pos2-elmaskhold =0 # (deg)
pos2-aroutcnt =5
pos2-maxage =30 # (s)
pos2-syncsol =off # (0:off,1:on)
pos2-slipthres =0.05 # (m)
pos2-rejionno =30 # (m)
pos2-rejgdop =30
pos2-niter =1
pos2-baselen =0 # (m)
pos2-basesig =0 # (m)
out-solformat =llh # (0:llh,1:xyz,2:enu,3:nmea)
out-outhead =off # (0:off,1:on)
out-outopt =off # (0:off,1:on)
out-timesys =gpst # (0:gpst,1:utc,2:jst)
out-timeform =hms # (0:tow,1:hms)
out-timendec =3
out-degform =deg # (0:deg,1:dms)
out-fieldsep =
out-height =ellipsoidal # (0:ellipsoidal,1:geodetic)
out-geoid =internal # (0:internal,1:egm96,2:egm08_2.5,3:egm08_1,4:gsi2000)
out-solstatic =all # (0:all,1:single)
out-nmeaintv1 =0 # (s)
out-nmeaintv2 =0 # (s)
out-outstat =off # (0:off,1:state,2:residual)
stats-eratio1 =100
stats-eratio2 =100
stats-errphase =0.003 # (m)
stats-errphaseel =0.003 # (m)
stats-errphasebl =0 # (m/10km)
stats-errdoppler =1 # (Hz)
stats-stdbias =30 # (m)
stats-stdiono =0.03 # (m)
stats-stdtrop =0.3 # (m)
stats-prnaccelh =10 # (m/s^2)
stats-prnaccelv =10 # (m/s^2)
stats-prnbias =0.0001 # (m)
stats-prniono =0.001 # (m)
stats-prntrop =0.0001 # (m)
stats-prnpos =0 # (m)
stats-clkstab =5e-12 # (s/s)
ant1-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm)
ant1-pos1 =90 # (deg|m)
ant1-pos2 =0 # (deg|m)
ant1-pos3 =-6335367.6285 # (m|m)
ant1-anttype =
ant1-antdele =0 # (m)
ant1-antdeln =0 # (m)
ant1-antdelu =0 # (m)
ant2-postype =llh # (0:llh,1:xyz,2:single,3:posfile,4:rinexhead,5:rtcm)
ant2-pos1 =90 # (deg|m)
ant2-pos2 =0 # (deg|m)
ant2-pos3 =-6335367.6285 # (m|m)
ant2-anttype =
ant2-antdele =0 # (m)
ant2-antdeln =0 # (m)
ant2-antdelu =0 # (m)
misc-timeinterp =off # (0:off,1:on)
misc-sbasatsel =0 # (0:all)
misc-rnxopt1 =
misc-rnxopt2 =
misc-pppopt =
file-satantfile =
file-rcvantfile =
file-staposfile =
file-geoidfile =
file-ionofile =
file-dcbfile =
file-eopfile =
file-blqfile =
file-tempdir =/tmp
file-geexefile =
file-solstatfile =
file-tracefile =
file-cmdfile1 =ubx_m8t_glo_raw_10hz.cmd
#
inpstr1-type =serial # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =ttyACM0:115200:8:n:1:off
inpstr2-path =
inpstr3-path =
inpstr1-format =ubx # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr2-format =rtcm2 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr3-format =rtcm2 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:gw10,9:javad,10:nvs,11:binex,12:rt17,15:sp3)
inpstr2-nmeareq =off # (0:off,1:latlon,2:single)
inpstr2-nmealat =0 # (deg)
inpstr2-nmealon =0 # (deg)
outstr1-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path =./ufast2.txt
outstr2-path =
outstr1-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
outstr2-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
logstr1-type =file # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr2-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr3-type =off # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
logstr1-path =./ufast2.ubx
logstr2-path =
logstr3-path =
misc-svrcycle =10 # (ms)
misc-timeout =10000 # (ms)
misc-reconnect =10000 # (ms)
misc-nmeacycle =5000 # (ms)
misc-buffsize =32768 # (bytes)
misc-navmsgsel =all # (0:all,1:rover,2:base,3:corr)
misc-proxyaddr =
misc-fswapmargin =30 # (s)
File di configurazione per acquisizione raw a 10Hz. Nella prima riga evidenziata in giallo si imposta la velocita' della seriale, nella seconda il passo di campionamento (100 ms)
-----------------------------------
!UBX CFG-GNSS 0 32 32 1 3 16 16 0 0
!UBX CFG-GNSS 0 32 32 1 6 16 16 0 1
!UBX CFG-MSG 2 21 0 0 0 1 0 0
!UBX CFG-MSG 2 19 0 0 0 1 0 0
!UBX CFG-PRT 1 0 0 2256 115200 7 7 0
!UBX CFG-RATE 100 1 1
@
!UBX CFG-MSG 2 21 0 0 0 0 0 0
!UBX CFG-MSG 2 19 0 0 0 0 0 0
!UBX CFG-RATE 100 1 1
-----------------------------------
Rtkrcv, per il post processing, si deve essere sicuri di impostare il corretto valore del passo di campionamento
Questi sono i risultati di due prove di DGPS con rover e stazione entrambi con Ublox M8T. Le condizioni di misure non erano ottimali data la presenza di palazzi ed ambiente urbano ma si ottiene comunque un fix piuttosto stabile
Prova a 5Hz |
Prova a 10Hz |
mercoledì 13 aprile 2016
Orange Pi Pc
Mi sono interessato a questo microcomputer basato su armhf H3 con 1Gb di Ram, piu' che altro per il costo di 22 euro compreso il case (una Raspberry costa piu' del doppio)
Si tratta di un dispositivo sostanzialmente molto simile a Raspberry Model B con tre porte USB + 1 MicroUsb OTG, microfono, infrarossi (una Raspberry agli steroidi)
La differenza principale risiede nel modo in cui creare la microSD con il sistema operativo (ho ovviamente scelto l'immagine di Debian 8 con XFCE (link per immagini di numerosi OS)
Dopo aver creato la SD c'e' un ulteriore passo da eseguire. Sul disco esiste una partizione in formato FAT denominata BOOT nella quale devono essere inseriti i file uImage_OPI-2 e si deve rinominare il file script.bin.OPI-PC_1080p60_hdmi in script.bin
Le impressioni di uso sono generalmente buone anche perche' si tratta di una Debian vera anche se ho riscontrato qualche problema nella compilazione con Eclipse. Sicuramente la scheda scalda come una stufetta anche dopo pochi minuti di accesione e l'accesso al disco (SDCard) e' molto lento (ma in questo caso potrebbe essere anche colpa del tipo di sdcard che ho usato per la prova, una SanDisk Ultra HC I)
Si tratta di un dispositivo sostanzialmente molto simile a Raspberry Model B con tre porte USB + 1 MicroUsb OTG, microfono, infrarossi (una Raspberry agli steroidi)
La differenza principale risiede nel modo in cui creare la microSD con il sistema operativo (ho ovviamente scelto l'immagine di Debian 8 con XFCE (link per immagini di numerosi OS)
Dopo aver creato la SD c'e' un ulteriore passo da eseguire. Sul disco esiste una partizione in formato FAT denominata BOOT nella quale devono essere inseriti i file uImage_OPI-2 e si deve rinominare il file script.bin.OPI-PC_1080p60_hdmi in script.bin
Le impressioni di uso sono generalmente buone anche perche' si tratta di una Debian vera anche se ho riscontrato qualche problema nella compilazione con Eclipse. Sicuramente la scheda scalda come una stufetta anche dopo pochi minuti di accesione e l'accesso al disco (SDCard) e' molto lento (ma in questo caso potrebbe essere anche colpa del tipo di sdcard che ho usato per la prova, una SanDisk Ultra HC I)
venerdì 8 aprile 2016
Unire file Rinex
Accade spesso di dover utilizzare dati di stazioni base GPS che sono distributi in file Rinex con i dati divisi per giorno o per fascia oraria. Ovviamente,come dice Murphy, la misura che noi stiamo effettuando andra' a cavallo tra due file ed e' quindi necessario trovare il sistema per unire due o piu' file Rinex. La soluzione risiede nel programma teqc compreso nel pacchetto RTKLib (anche se e' sviluppato esternamente alla libreria)
Per prima cosa se i file RINEX sono in formato compresso devono essere scompattati con crx2rnx
RTKLIB-rtklib_2.4.3\bin>crx2rnx.exe fipr098i.16d
poi si possono unire i vari Rinex per crearne uno di unione
RTKLIB-rtklib_2.4.3\bin>teqc.exe fipr098i.16o fipr098j.16o fipr098k.16o > unione.16o
si puo' procedere allo stesso modo per i file .nav e .gnav
Per prima cosa se i file RINEX sono in formato compresso devono essere scompattati con crx2rnx
RTKLIB-rtklib_2.4.3\bin>crx2rnx.exe fipr098i.16d
poi si possono unire i vari Rinex per crearne uno di unione
RTKLIB-rtklib_2.4.3\bin>teqc.exe fipr098i.16o fipr098j.16o fipr098k.16o > unione.16o
si puo' procedere allo stesso modo per i file .nav e .gnav
Ublox M8T : sensibilita' in DGPS con RTKLib
Premessa : come in qualunque caso conoscere la riposta aiuta nel risolvere una domanda. In un caso reale non conoscendo l'ora e l'entita' dello spostamento diventa difficile estrapolare i reali movimenti nascosti all'interno del rumore della misura
Ho voluto provare a vedere quale fosse il minimo spostamento che e' possibile registrare usando il modulo Ublox M8T in modalita' differenziale usando RTK-Lib in modalita' cinematica (usando come base sia una Ublox M8T che un Leica 1200)
(allargare le immagini per vedere il dettaglio)
Prova 1:
in questo caso il sensore e' stato spostato di 9 cm. Lo spostamento calcolato e' di circa 6.9 cm (76% dello spostamento reale)
Prova 2:
Lo spostamento reale e' stato di 8 cm. Lo spostamento calcolato e' di circa 6.2 cm (77% dello spostamento reale)
Prova 3:
Qui lo spostamento reale e' stato di 4 cm. Dopo l'elaborazione dei dati GPS lo spostamento e' calcolabile in 3.1 cm (77% dello spostamento reale)
Lo spostamento calcolato e' sempre sottostimato (circa 76-77%) ma si nota che e' possibile avere misure sostanzialmente affidabili fino ai 4 cm
Ho voluto provare a vedere quale fosse il minimo spostamento che e' possibile registrare usando il modulo Ublox M8T in modalita' differenziale usando RTK-Lib in modalita' cinematica (usando come base sia una Ublox M8T che un Leica 1200)
(allargare le immagini per vedere il dettaglio)
Prova 1:
in questo caso il sensore e' stato spostato di 9 cm. Lo spostamento calcolato e' di circa 6.9 cm (76% dello spostamento reale)
Prova 2:
Lo spostamento reale e' stato di 8 cm. Lo spostamento calcolato e' di circa 6.2 cm (77% dello spostamento reale)
Prova 3:
Qui lo spostamento reale e' stato di 4 cm. Dopo l'elaborazione dei dati GPS lo spostamento e' calcolabile in 3.1 cm (77% dello spostamento reale)
Lo spostamento calcolato e' sempre sottostimato (circa 76-77%) ma si nota che e' possibile avere misure sostanzialmente affidabili fino ai 4 cm
Red Hat Developer Program
RedHat ha iniziato un nuovo programma per sviluppatori per cui viene licenziata gratuitamente una copia di RHEL 7 (quale miglior occasione di tornare ad usare RedHat che non usavo dalla versione 7.2 agli inizi del 2000)
Ovviamente la licenza non permette di usare RedHat in server di produzione ma permette l'accesso alla documentazione
Ed ovviamente, essendo una distribuzione commerciale, non mi aspettavo nessun problema in fase di installazione...mi sbagliavo.
Ho scaricato la iso ed ho creato come al solito la chiavetta USB di avvio con dd, come fatto decine di volte. Il test dell'immagine era corretto ma in fase di installazione ho ricevuto l'errore
Error populating transaction
Arrivato a 10/10 l'installazione si e' bloccata con
Error populating transaction after 10 retrieves. Failure....No more mirrors to try
Sul blog di supporto indicano che questo errore e' generato da una immagine corrotta. Ho provato a scaricare di nuovo la iso, ho creato la penna USB sia sotto Mac e Linux con dd e Windows con Unetbootin, ho usato due diverse penne USB, ho collegato il pc via cavo o via WiFi ma sempre il solito errore
A questo punto, un po' sfrustrato, ho preso la solita immagine iso e la ho montata su VirtualBox....ovviamente nessun errore ed installazione perfetta
Sto ancora cercando di capire il motivo
Ovviamente la licenza non permette di usare RedHat in server di produzione ma permette l'accesso alla documentazione
Ed ovviamente, essendo una distribuzione commerciale, non mi aspettavo nessun problema in fase di installazione...mi sbagliavo.
Ho scaricato la iso ed ho creato come al solito la chiavetta USB di avvio con dd, come fatto decine di volte. Il test dell'immagine era corretto ma in fase di installazione ho ricevuto l'errore
Error populating transaction
Arrivato a 10/10 l'installazione si e' bloccata con
Error populating transaction after 10 retrieves. Failure....No more mirrors to try
Sul blog di supporto indicano che questo errore e' generato da una immagine corrotta. Ho provato a scaricare di nuovo la iso, ho creato la penna USB sia sotto Mac e Linux con dd e Windows con Unetbootin, ho usato due diverse penne USB, ho collegato il pc via cavo o via WiFi ma sempre il solito errore
A questo punto, un po' sfrustrato, ho preso la solita immagine iso e la ho montata su VirtualBox....ovviamente nessun errore ed installazione perfetta
giovedì 7 aprile 2016
Reset to factory default Ublox M8T
L'UBlox, come molti altri dispositivi complessi. e' dotato di una memoria non-volatile. Per questo motivo e' abbastanza semplice, provando e riprovando, mandarlo in uno stato non desiderato
Per riportare i settaggi ai valori di default si usi U-Center nella finestra Messages/UBX->CFG/Revert to default configuration. Non e' necessario, anzi e' sconsigliato, riflashare il firmware
Per vedere il firmware dell'Ublox da UCenter si va nella finestra Messages/UBX->MON->VER
Un altro interessante settaggio e' in UBX->CFG->RXM che permette di impostare la modalita' Power Save
Per riportare i settaggi ai valori di default si usi U-Center nella finestra Messages/UBX->CFG/Revert to default configuration. Non e' necessario, anzi e' sconsigliato, riflashare il firmware
Per vedere il firmware dell'Ublox da UCenter si va nella finestra Messages/UBX->MON->VER
Un altro interessante settaggio e' in UBX->CFG->RXM che permette di impostare la modalita' Power Save
Iscriviti a:
Post (Atom)
Ollama e Jetson Nano 4G
Ancora nel tentativo di utilizzare in modo serio la Jetson Nano ho provato ad usarla per Ollama seguendo le istruzioni da https://dev.to/aje...
-
In questo post viene indicato come creare uno scatterplot dinamico basato da dati ripresi da un file csv (nel dettaglio il file csv e' c...
-
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...
-
Questo post e' a seguito di quanto gia' visto nella precedente prova Lo scopo e' sempre il solito: creare un sistema che permet...