mercoledì 20 febbraio 2013

Emu84 Emulatore HP48GX

Ho voluto provare, avendo a disposizione l'originale, l'emulatore della calcolatrice HP48GX

Il programma si chiama Emu48 e, per quanto ne so, non ha una versione Linux
Una volta scaricato l'emulatore e' necessario reperire una ROM per l'emulatore da sito hpcalc.org (io ho usato questa) ed un file KML che corrisponde all'aspetto grafico dell'emulatore stesso (a questo indirizzo il KML per la 48GX)


fatto cio' si avvia l'emulatore e ci si trova davanti la schermata della figura precedente
Ovviamente trattandosi di un emulatore basato su una ROM estratta da una calcolatrice reale il comportamento sara' esattamente quello reale...l'unica differenza e' nel modo di caricare i dati (sarebbe stupido usare la porta seriale virtuale)

Sempre su hpcalc.org e' possibile scaricare programmi per tutta una serie di calcolatrici programmabili HP.
Una volta ottenuto il programma in formato binario (il file inizia con  un header del tipo HPHP48...) si puo' semplicemente trascinare il file sul diplay LCD dell'emulatore oppure da menu Edit/Load Object

Si vede apparire parte del codice del programma
A questo punto si clicca il pulsante alla estrema sinistra della terza fila dall'alto ('), poi doppio clic sul pulsante alpha e si inserisce il nome del programma (che sara' tra apici). Terminato si preme STO per salvarlo

Per recuperare il programma dalla memoria ed eseguirlo si preme poi il tasto VAR e si vede apparire nella riga del menu in basso al display il nome scelto (in questo caso e' MAND come Mandelbrot)



premuto il tasto funzione bianco sottostante il menu di interesse il programma viene messo in esecuzione


Lo stesso programma e' disponibile (Droid48) anche su Android (di una lentezza disarmante..piu' per colpa del telefono/Android  che dell'emulatore)


Frugando un po' ho trovato un emulatore per HP48 per Linux che si chiama X48
Si installa direttamente da pacchetto deb (non e' presente nei repository) e si deve inserire la rom nella directory .hp48

A differenza di Emu48, per caricare i programmi sull'emulatore si deve usare la porta seriale virtuale mediante il protocollo kermit come se fosse una calcolatrice fisica (un po' fastidioso)



martedì 19 febbraio 2013

Zoom estremo sull'insieme di Mandelbrot

Questa non e' ovviamente opera mia ma e' troppo bello per non pubblicarlo

Angoli di inclinazione in PhoneGap/HTML5

Sempre utilizzando PhoneGap e' possibile in modo molto semplice ottenere gli angoli di rotazione del dispositivo mobile nello spazio mediante la notazione di Eulero
Angoli di Eulero (Wikipedia)
Gli angoli sono anche definiti come
alfa = yaw (imbardata) in giallo
beta = roll (rollio) in rosso
gamma =  pitch (beccheggio) in viola

Fonte Wikipedia

il codice e' semplicemente autoesplicativo
----------------------------------------------------

<!DOCTYPE html>
<html>
  <head>
    <title>Angoli</title>

    <script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    
    window.addEventListener('deviceorientation', function(event) {

    var alpha = 360 - event.alpha;
    var beta = event.beta;
    var gamma = event.gamma;

    // Display Euler angles
    document.getElementById("alpha").innerHTML = "Alpha : " + alpha;
    document.getElementById("beta").innerHTML = "Beta  : " + beta;
    document.getElementById("gamma").innerHTML = "Gamma : " + gamma;

}, false);
    </script>
  </head>

  <body>
<p id="alpha">Alpha : </p><br>
<p id="beta" >Beta  : </p><br>
<p id="gamma">Gamma : </p><br>
    
  </body>
</html>


----------------------------------------------------

Chrome su Linux dietro ad un proxy server



Nella versione per Linux di Google Chrome non e' presente il menu di configurazione del proxy server. Al suo posto vi e' un messaggio che cerca di indirizzare l'utente alla soluzione

Se si usano Kde o Gnome in pratica vengono assunti i settaggi del Window Manager...ma cosa fare con Lxde???

La soluzione piu' semplice e valida per tutte le distribuzioni e' lanciare Chrome da linea di comando con il seguente parametro

google-chrome --proxy-server=http://mioproxy.com:8080/

Aldebaran, Giove e Luna

Con l'arrivo della nuova macchina digitale le foto sono un po' migliorate

In questa ripresa (18/2/2013 alle 22:21 da Firenze) si vede Aldebaran (a sinistra), la Lune (chiaramente al centro) e Giove (a destra) nella stessa porzione di cielo


Qui la simulazione in Stellarium


C4Droid

C4Droid e' la prima applicazione in assoluto che abbia acquistato (2.29 euro) e devo ammettere che ne vale la pena

L'applicazione permette di programmare all'interno di un terminale Android in C/C++ con Gcc come compilatore ed con alcune librerie di uso comune all'interno di Linux come SDL e Qt. In questo modo ci si svincola dall'impiego di Java e dalla macchina virtuale Dalvik per fare applicazione di livello piu' basso come e' possibile fare con l'NDK

Per mettere alla prova il compilatore ho preso il sorgente del post che permette di disegnare l'insieme di Mandelbrot




Il codice e' stato copiato ed incollato senza nessuna modifica, quindi compilato ed eseguito

Il risultato e' riportato nella immagine sottostante


Come si puo' osservare il risultato e' quello atteso. Il tempo di esecuzione, che su un pc attuale non e' quasi misurabile dato che il risultato e' quasi istantaneo, nel telefono Samsung GT-S5570i e' di circa 18 secondi

Con lo stesso compilatore si puo' usare Ncurses. Sempre prendendo a prestito da un precedente post si puo' ottenere


La cosa divertente e' che con questo compilatore si riesce a superare il controllo della latenza di Dalvik. In pratica di norma Android interrompe una applicazione se questa per circa 30 secondi non restituisce la possibilita' di interazione all'utente

L'immagine sottostante e' stata effettuata mediante un calcolo di circa 2 minuti e 25 secondi ed e' stata terminata senza nessuna segnalazione di anomalia da parte del sistema operativo





Un buon acquisto in fine dei conti anche se in fine dei conti si tratta di un giochino piu' che di uno strumento di produzione

venerdì 15 febbraio 2013

Riportare il firmware originale un Samsung Galaxy Next Turbo (GT-5570i)

Un po' scocciato dalle varie Rom custom ho deciso di riportare il telefono in oggetto al firmware originale
(la Optimus e' carina ma con tre launcher installati e non rimuovibili lascia ben poco spazio per altre applicazioni)

La procedura per ritornare al firmware originale e' il seguente

1) Scaricare l'ultimo firmware disponibile per il telefono (nel caso S5570IXILG1_S5570IITVLG2_ITV)

2) Scaricare il programma Odinatrix e inserire il file del firmware scompattato nella directory di Odinatrix (S5570IXILG1_S5570iITVLG2_S5570IXXLF3_HOME.tar.md5)

3) lanciare Odinatrix ed attendere il termine delle operazioni. Il risultato saranno 3 file (CSCxxx, MODEMxxx e PDAxxx) dentro la sottodirectory output

4) recuperare il file tassve_0623.pit

5) Mettere il telefono in Download Mode (ovvero accenderlo tenendo premuto il tasto Home+Volume Giu' e Accensione). Si deve confermare di voler procedere premendo il tasto Volume Su al primo menu

5) Collegare il telefono e lanciare il programma Odin 1.83 con le impostazioni della schermata nell'immagine


Il risultato e' il seguente

FigSpec FS-60CL

A lavoro mi hanno rifilato questo sensore iperspettrale cinese (pushbroom 400-1000 nm con larghezza di banda di 0.5 nm compatibile con DJI M...