martedì 8 maggio 2018

Acer Travelmate 518TX

Mi e' stato chiesto di ridare vita ad un Acer Travelmate 518TX, una macchina del 1999 (che all'epoca costava in configurazione base 6.000.000 di lire) con P2 a 400 MHz ed una sheda di rete 3Com su PCMCIA
Fino ad adesso con Linux avevo sempre risolto i problemi ma con questo portatile sono sorti un po' di problemi. Primo vincolo: l'utente finale e' una persona a cui non posso dare una Debian netinstall e dirgli di risolversi i problemi. Si tratta di un utente che ha bisogno di un Window Manager decente e deve avere l'utlizzo di un browser un minimo moderno


La macchina, data l'eta', ha ovviamente la batteria esaurita ma anche la batteria del BIOS scarica. Con Win98 tutto funziona tranne il fatto che al momento di settare ora e data nel BIOS questo si pianta...cio' e' ovviamente un problema nel momento di utilizzare Linux (particolarmente permaloso quando vedi gli inode con data nel futuro). Ho provato a smontare gli sportelli per vedere se era facile sostituire la batteria ma questa, come l'HD, sono nascosti in punti non raggiungibili dalle botole....su internet non si trovano informazioni su come si smonta...probabilmente sono entrambi nascosti sotto la tastiera ma non ci sono ganci visibili...prima di rompere qualcosa ho rimandato la sostituzione)

La ram installata era di 128 Mb ma e' stata portata a 192 Mb (il massimo installabile e' 256 Mb secondo la scheda tecnica) con un disco da 6Gb



Ho provato diverse distribuzioni gia' confezionate ma i problemi sono

1) Le immagini di installazione sono ormai piu' di 700 Mb quindi non entrano in un CD. Il Bios della macchina non permette l'avvio da USB Drive

2) I requisiti di memoria RAM sono oramai quasi tutti sopra i 256 MB

3) Alcune distro, nonostante usino pacchetti i386, usano un kernel con PAE, funzionalita' non suppportata dalla macchina


Alla fine, visto che Win98 installato funziona in modo decente (specialmente con i 64 Mb Ram aggiuntivi), ho consigliato di usarlo come macchina da scrivere (il pacchetto Office 2000 e' installato e funzionante) piuttosto che rischiare di avere un computer aggiornato ma non utilizzabile

venerdì 4 maggio 2018

Suse 6.0

Un tuffo nel passato ... mi e' stata prestata una distribuzione Suse Linux 6.0 (indicativamente 1998) ed ho voluto vedere se mi ricordavo come si installava un Linux negli anni 90


Pur avendo un hardware del periodo ho preferito usare una macchina virtuale. Primo dettaglio: il sistema riconosce solo dischi PATA, per questo motivo la macchina virtuale deve avere un disco virtuale non SATA (come di default)

L'installazione non e' grafica ma in generale non crea troppi problemi

Ho montato il sistema di default. Installazione di LILO (!). Al riavvio qualcosa che avevo dimenticato. Bisogna configurare il server X con xf86config ...ricordandomi i mal di testa con questo comando ho abbandonato immediatamente

Intersezione superficie topografica con piani con qgSurf

Un plugin di QGis che non conoscevo ma che puo' tornare utile per verificare la correttezza delle faglie disegnate su una carta geologica.

Questo plugin, presi un modello digitale del terreno e un piano, calcola la linea di intersezione tra le due superfici...una regola della V tecnologica



Per tentativi puo' essere anche stimata la pendenza del piano di faglia ove sia riesca a mappare il contatto in campagna

giovedì 3 maggio 2018

Stereoscopio interattivo con QGis2ThreeJS

Circa 3 anni fa avevo provato il plugin di QGis Qgis2ThreeJS per fare DEM stereoscopici da usare Google CardBoard ma poi avevo lasciato li' la cosa perche' non riuscivo ad avere l'interazione per girare il modello. Adesso ho trovato la soluzione ed e' molto piu' banale di quanto potessi immaginare...un mouse bluetooth. Basta accoppiare il mouse al telefono, inserire il telefono in un CardBoard o DayDream e si puo' visualizzare il modello da piu' punti di vista

Per fare il progetto QGis si deve utilizzare il plugin nel ramo sperimentale

https://github.com/minorua/Qgis2threejs/tree/exp_stereo

e si deve selezione il template 3DViewer.html


Si seleziona poi il modo di controllare il modello


e questo il risultato finale (ovviamente da inserire nel visore)


mercoledì 2 maggio 2018

DEM da stereo orto foto con Photoscan

Un tentativo di ricostruzione di DEM partendo da una coppia di ortofoto riprese da aereo (immagini della mia zona di tesi su un volo del 1973) utilizzando Photoscan
Le foto in originale erano su supporto analogico e sono state scannerizzate alla massima risoluzione disponibile dallo scanner (formato circa 5000x5000 pixels)






Questo il risultato. Considerando che si tratta di due sole immagini e' veramente notevole





Anaglifo (tasto 9 su Photoscan)

venerdì 27 aprile 2018

DayDream Emulator Controller

Ho trovato ad un prezzo stranamente basso (30 euro) un visore Daydream e il controller collegato ed ho voluto provarlo
Solo dopo ho scoperto che non e' necessario avere Daydream per poterci sviluppare.
Avendo un telefono di riserva (non necessariamente supportato da Daydream) si puo' installare un emulatore di controller che si collega al telefono principale sia via Bluetooth che via WiFi



L'emulazione del controller funziona anche con il package Unity mediante una connessione USB

Peraltro sto sperimentando molti problemi con il controller fisico (quello grigio all'estrema destra) che e' molto carino ma ha difficolta' a rimanere collegato al telefono. In un caso estremo sono dovuto andare in Impostazioni/App/Servizi Google VR/Spazio di archiviazione/Cancella Dati. Questa operazione resetta le impostazioni di Google VR



Daydream Controller in Unity

Un semplice esempio di script da aggiungere al Player per muovere la Camera di Unity con il DayDream Controller





public class move_player : MonoBehaviour {


    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        Quaternion ori;

        ori = GvrController.Orientation;
        if (ori.eulerAngles.z > 20 && ori.eulerAngles.z < 90) {
            Debug.Log ("Roll Left ");
        }

        if (ori.eulerAngles.z > 270 && ori.eulerAngles.z < 340) {
            Debug.Log ("Roll Right");
        }

        if (ori.eulerAngles.x > 20 && ori.eulerAngles.x < 90) {
            Debug.Log ("Drop");
            var rot = transform.rotation;
            rot.z -= Time.deltaTime * 1;
            transform.rotation = rot;
        }

        if (ori.eulerAngles.x > 270 && ori.eulerAngles.x < 340) {
            Debug.Log ("Climb");
            var rot = transform.rotation;
            rot.z += Time.deltaTime * 1;
            transform.rotation = rot;

        }





        Debug.Log ("X : " + ori.eulerAngles.x.ToString("#.0")); //pitch
        Debug.Log ("Y : " + ori.eulerAngles.y.ToString("#.0")); // yaw
        Debug.Log ("Z : " + ori.eulerAngles.z.ToString("#.0")); // roll



        if (GvrController.IsTouching) {
            Vector2 touchPos = GvrController.TouchPos;
            Debug.Log ("Toccato " + touchPos.x.ToString ("#.00"));

            var x = touchPos.x * Time.deltaTime * 5.0f;
            var y = touchPos.y * Time.deltaTime * 5.0f;
            if (touchPos.x < 0.5f)
                x *= -1.0f;
            else
                x *= +1.0f;
            
            if (touchPos.y < 0.5f)
                y *= -1.0f;
            else
                y *= +1.0f;

            transform.Translate (x, y, 0.0f);
        }
        
    }
}

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...