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)
mercoledì 20 febbraio 2013
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
Gli angoli sono anche definiti come
alfa = yaw (imbardata) in giallo
beta = roll (rollio) in rosso
gamma = pitch (beccheggio) in viola
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>
----------------------------------------------------
![]() |
| Angoli di Eulero (Wikipedia) |
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
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
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
(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
Iscriviti a:
Post (Atom)
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...
-
Aggiornamento questo e' la risposta degli sviluppatori First of all, almost all operating systems on both mobile and laptop/desktop n...
-
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...
















