venerdì 30 marzo 2012

Scaricare dati GPX da Garmin su Linux

Dovendo scaricare i dati (in formato GPX) dal Garmin 76CSx con interfaccia USB su Linux (Ubuntu)



la prima cosa da fare e' montare il modulo
modprobe garmin_gps
successivamente accendere il GPS

venerdì 23 marzo 2012

App full screen

Per evitare la scrittura del nome dell'applicazione nella parte alta dello schermo si puo' inserire nel Manifest.xml alla sezione application il comando

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"


mercoledì 14 marzo 2012

un metodo per trasportarei dati del programma (per esempio un database o della cartografia) insieme all'apk e' quello di inserire il file dentro la cartella assets del progetto Android. Nel codice seguente viene prima controllato tramite un list quali sono i file in assets e poi vengono copiati mediante uno stream nella SDCard dopo aver creato la directory

Il problema e' che questo tipo di soluzione non e' sempre ottimale perche' appesantisce l'apk e poi crea una duplicazione dello spazio disco perche' di fatto il file contenuto dentro assets viene copiato solo la prima volta sulla SD e poi diventa inutile
 
        //copy from assets to sd card
        AssetManager assetManager = getAssets();
        String[] files = null;
        try {
         files = assetManager.list("");
        } catch (IOException e){
         
        }
        for (String filename : files){
         InputStream in = null;
         OutputStream out = null;
         File osmdir = new File(Environment.getExternalStorageDirectory(),"osmdroid");
         if (!osmdir.exists()) osmdir.mkdirs();
         
         try {
          in = assetManager.open(filename);
          out = new FileOutputStream(Environment.getExternalStorageDirectory()+"/osmdroid/"+filename);
          byte[] buffer = new byte[1024];
          int read;
          while ((read=in.read(buffer))!=-1){
           out.write(buffer,0,read);
          }        
         } catch (IOException e){}
        }

Esperimenti di mappe

Ho fatto qualche primo esperimento con Osmdroid, una libreria Android che permette di gestire mappe offline in particolare quelle di OpenStreetMap

 
La procedura prevede l'importazione di due librerie nella Build Path e cambiare il Manifest ma per il resto e' piuttosto banale. I dati vanno inseriti nella SD card nella cartella osmdroid

Ritardo

alcune volte e' necessario ritardare l'esecuzione di un comando

Thread.sleep(tempo in millisecondi);

martedì 13 marzo 2012

Offline Maps

 Per sviluppare una applicazione di navigazione avevo bisogno di una basa cartografica gratuita e non legata alla connessione ad Internet. Il problema e' stato risolto mediante il software MOBAC (http://mobac.sourceforge.net/) che permette di scaricare in vari formati i dati relativi principalmente ad Openstreetmap vestiti in vario mod.
Puo'essere selezionato il numero di livelli di zoom da salvare (Zoom Levels, varia a seconda della fonte scelta), ed il provider delle informazioni 


MOBAC con sovrapposta una traccia GPX (in rosso) per riferimento   
. 
Scelta del provider delle mappe


Per una corretto utilizzo conviene in Layer Settings scegliere Recreate/Adjust Map Tiles sul formato PNG.

Scelta del formato di salvataggio dati
Uno dei passaggi finali e' scegliere da Atlas Content il formato in cui saranno salvati  i dati (per il mio utilizzo la soluzione e' Osmdroid Zip) dato che usero' la libreria java OsmDroid
Si termina con Create Atlas e....si aspetta

I dati vengono salvati nella subdir atlases nel formato scelto

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...