olinuxino (3)


Olinuxino custom Android image for 272×480 touchscreen LCD

Recently i was talking about my new Olinuxino delevopment board by Olimex and related developments with it. Well, nothing to say, the board does its job flawlessly both in Andoid and Linux enviroments, the only problem i faced concern the touchscreen LCD i got together with the board, and this is what I’m going to fix and explain today 🙂

Olimex ships some different types of GPIO LCD displays in sizes and features and since the manufacturer provides TOTALLY Opensouce hardware and software is not always easy find the correct image for the specified hardware configuration (despite this Olimex provides one of the best repository and resources i’ve never seen for this kind of projects, don’t get me wrong (: ). This turned out in a lack of Android updates for my lcd resolution display, which led to a series of UI and system bugs that the producer were never managed to solve.
After a long research on the web I finally found out that the only solution was to fix the bugs by myself, fortunately Olimex (as i said before) provided a good repository for kernels and drivers that really helped me to compile my own fresh and customized Android image 🙂

The image I’m going to share with you provides the last Android supported version (4.0.4 actually) and some patches:

  • fixed the touch screen inverted x-axis
  • fixed touchscreen calibration issue
  • fixed UI issue (reverted back from “tablet” to “phone” view)
  • now the “enter” physic key acts like the “back” software button (absolutely more comfortable!)
  • general stability

Here the direct download link to the image:

[scbutton link=”/docs/272x480AndroidOlinuxinoA13.img” target=”blank” variation=”red” size=”large” align=”center”]Download Image[/scbutton]




OLinuXino – Development Boards

L’ultimo arrivato a casa InsideCode a far compagnia alla coppia di Arduino UNO e Arduino DUE è una fiammante OlinuXino A13 wifi board della casa Bulgara Olimex.

Questa Board supporta, oltre alla programmazione diretta Bare Metal (no OS), varie distribuzioni di linux come Ubuntu, Fedora e Debian ed il sistema operativo Android, dotata di cpu Cortex A8 da 1ghz, scheda grafica integrata, wifi, vga, 4 usb host, 1 otg usb, audio in/out e 50 GPIO ed il supporto per display LCD touchscreen, è senza alcun dubbio la rivale numero 1 dei Raspberry lovers 😀

Progetti in cui sto utilizzando questa scheda: SaGa project – BomberMan

A breve pubblicherò delle immagini Android modificate e compilate appositamente per questa scheda.

WP_20130802_001WP_20130802_006

Di seguito le caratteristiche dal sito ufficiale:

  • A13 Cortex A8 processor at 1GHz, 3D Mali400 GPU
  • 512 MB RAM (2 x 256Mbit x 8)
  • 6-16VDC input power supply, noise immune design
  • 4GB NAND flash
  • 3 + 1 USB hosts, 3 available for users 1 for WIFI RTL8188CU 802.11n 150Mbit module on-board
  • 1 USB OTG which can power the board
  • Battery option and connector
  • Android OS ready to use in the NAND memory
  • SD-card connector for booting optional Linux image
  • VGA video output
  • LCD signals available on connector so you still can use LCD if you diasble VGA/HDMI
  • Audio Output
  • Microphone Input
  • 4 Mount holes
  • RTC PCF8536 on board for real time clock and alarms
  • 5 Keys on board for android navigation
  • UEXT connector for connecting addtional UEXT modules like Zigbee, Bluetooth, Relays, etc
  • GPIO connector with 68/74 pins and these signals:
    • 17 for adding another NAND flash;
    • 22 for connecting LCDs;
    • 20+4 including 8 GPIOs which can be input, output, interrupt sources;
    • 3x I2C;
    • 2x UARTs;
    • SDIO2 for connecting SD cards and modules;
    • 5 system pins: +5V, +3.3V, GND, RESET, NMI
  • Dimensions: 120 x 120 mm (4.7×4.7”)
  • Optional low-cost 7″ LCD with touchscreen

Futuri progetti ed applicazioni? Rimanete collegati! 😉




Sapienza Games (SaGa) – BomberMan on the go!

Piazza la bomba e corri!

startScreen

SaGa è un progetto svolto nell’ambito di un corso che ho seguito presso l’università La Sapienza di Roma; l’obiettivo è quello di sviluppare un videogioco interamente in Java, a partire dai menù, la grafica, i suoni, fino ai dettagli più minuziosi del gameplay, corredato da relazione e documentazione dettagliata del codice (javadoc).

La mia scelta è caduta inevitabilmente su BomberMan, un grande classico nato nel 1983 in Giappone. Una scelta coraggiosa senza dubbio, due settimane e mezzo circa per scrivere, relazionare, commentare, correggere e testare 75 classi java, facendo sì che il tutto lavori in perfetta armonia con interfaccia grafica ed effetti sonori.

Il Gioco

Il giocatore deve guidare Bomberman attraverso il suo sforzo di superare gli infiniti livelli del labirinto sotterraneo e risalire in superficie al fine di diventare umano. Per riuscirci il giocatore dovrà completare due obiettivi in ogni livello: distruggere

Bomberman - l'originale tutti i nemici, e trovare l’uscita del livello, che sarà accessibile solamente una volta che tutti i nemici saranno sconfitti, solamente piazzando bombe. Oltre a questo, ogni piano contiene Power-Ups (potenziamenti) che possono migliorare le abilità di Bomberman, come la sua probabilità di sopravvivenza.

I potenziamenti possono essere raccolti per aumentare sia il numero di bombe che è possibile piazzare allo stesso momento, sia il raggio d’azione delle esplosioni, sia il numero di vite di Bomberman; sia aggiungere nuove abilità, come quella di poter passare oltre le bombe o calciarle vie.

Il SaGa remake

Il mio remake non si discosta molto dall’originale, ad eccezione per la generazione dei livelli ed alcuni power-ups (c’è stato veramente da divertirsi!), in questa versione sono stati implementati 5 diversi tipi di nemici. di seguito alcuni screenshots (clicca per ingrandire):

Schermata 2013-08-16 alle 16.05.34Schermata 2013-08-16 alle 16.11.51Schermata 2013-08-16 alle 16.12.06Schermata 2013-08-16 alle 16.13.22

WORA – multipiattaforma

Il gioco è stato progettato usando la libreria “PlayN” di Google, pertanto il progetto è completamente WORA (write once, run everywhere), ovvero può essere eseguito sulle maggiori piattaforme (Pc, Mac, Linux, Android, iOS, Html5) senza modificare una riga di codice.

BomberMan eseguito sulla piattaforma di sviluppo Olinuxino (Android e linux):

WP_20130802_006WP_20130802_003

 

Dove e quando?

Il gioco sarà presto disponibile per le seguenti piattaforme:

Android, Pc, Mac, Linux

Siti Html5 non appena avrò risolto piccoli problemi di compilazione.