Pages: 1 [2] 3   Go Down
Author Topic: Max7456 + pal  (Read 2368 times)
0 Members and 1 Guest are viewing this topic.
Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bene, la mia soluzione:

Il problema era la tabella di default dei caratteri all'interno della eeprom del max7456 e la comunicazione spi.

Con la libreria che ho linkato nel primo post, mi comparivano tutti caratteri strani in pratica tutti gli idiomi cinesi della tabella di default.
Esempio: http://localhostr.com/files/6oQSQ5Y/2013-01-28%2017.27.49.jpg

Così ho pensato di caricare sulla rom del 7456 una nuova tabella dei caratteri.
L'unico tool che ha funzionato al 90% è stato questo: http://code.google.com/p/arducam-osd/wiki/minimosd

MinimOSD è un progetto che usa una board arduino+7456 usata per i droni e cose del genere... sfiziosa!

Per caricare la tabella ho dovuto prima caricare su un arduino2009 (NO optiboot, solo con bootloader della duemilanove) il loro firmware: http://localhostr.com/files/jhR5Uzk/Immagine.png
Poi ho creato una tababella dei caratteri ad hoc (nè la default nè quella del minimosd andavano bene): http://localhostr.com/files/vmy6Cse/myfinaltable.mcm
Così composta: http://localhostr.com/files/dlsLkCJ/capture.png
Poi l'ho dovuta caricare sempre con il tool di sopra (arduino funge da programmatore): http://localhostr.com/files/aVu82wa/Immagine.png

Fatto questo il più è fatto, ed ho usato la libreria per arduino: http://www.eng.uah.edu/~jdw/avr/MAX7456_lib_2011-12-18.tar.gz

Il grande problema (il famoso 10%) è che 8 volte su 10 carica male la tabella nell'eeprom: fa apparire un carattere a caso della tabella come carattere di default per il background. Credo che venga scritto (non volendo) il carattere X nella cella background.
Così ho pensato di eliminare tutti ( ihihi ) i caratteri, tenendo solo lo stretto necessario.
Credo che ci sia un bel problema nella comunicazione spi tra i due controller....

Tra l'altro le uniche differenze con la tabella di default è che i caratteri alfanumerici tradizionali sono traslati al centro della tabella... se li avessi avuti in testa (così come nella tabella di default) non apparivano sul video.
Credo che sia una questione di offeset/registri nella libreria...
Infatti questa libreria non funziona con questo workaround (guardate tutti i miei commenti in inglese quanto so belli e disperati): http://theboredengineers.com/2012/12/a-max7456-library-for-arduino/

Quindi... dopo molti tentativi di flashing, sono riuscito a caricare una tabella dei caratteri striminzita ma funzionante su tre max7456.

Per concludere: è un workaround.... ;(
« Last Edit: February 23, 2013, 08:29:48 am by AnTrea » Logged

Arduino, MODs e DIY: blackstufflabs.com

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uno sketch funzionante, da notare osd.PALmode();

Code:
#include "MAX7456.h"
#include "floatToString.h"
MAX7456 osd;
#define MAX7456_SELECT 10

void setup()
{
  osd.begin(MAX7456_SELECT, true); // true means we're using the MAX7456 native character set
  // remove if you've done the ASCII character set load on your 7456
  Serial.begin(9600);

  osd.PALmode();

  osd.write_to_screen(" 0123456789",2);
  osd.write_to_screen(" ABCDEFGHILMNOPQRSTUVZXYKW",3);
  osd.write_to_screen(" abcdefghilmnopqrstuvzxykw",4);
  osd.write_to_screen("  .,+-*/%",5);
  osd.write_to_screen("    Autore:", 6);
  osd.write_to_screen("    Andrea Esposito", 7);
  osd.write_to_screen("    AnTrea  :)", 8);
  float x=5.25;

  char y[10];
  //itoa(x,y,10);
  floatToString(y,x,3);
  Serial.println("ciao");
  Serial.println(x);
  Serial.println(y);
  osd.write_to_screen(y, 10,10);


}


void loop()
{

}
Logged

Arduino, MODs e DIY: blackstufflabs.com

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao AnTrea,
mi sono preso anche io il modulino con il MAX7456, hai un contatto mp che avrei l'esigenza di chiederti alcune delucidazioni in merito ai tuoi post.
Logged

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao AnTrea,
mi sono preso anche io il modulino con il MAX7456, hai un contatto mp che avrei l'esigenza di chiederti alcune delucidazioni in merito ai tuoi post.

sotto la mia foto trovi tutti i contatti che ti servono smiley
Logged

Arduino, MODs e DIY: blackstufflabs.com

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
vagando su internet ho trovato uno sketch che evita di dover sostituire il firmware su arduino per poter caricare la nuova tabella.

http://code.google.com/p/rushduino-osd/downloads/detail?name=RushOSD_CP_v1_0.pde

Si carica lo sketch e poi si invia su seriale il file mcm, ci mette un pò 15/20 minuti.
Provato con la tabella di AnTrea e funziona.
Ho fatto la prova con arduino UNO, tutto ok
Con la mega invece, lo sketch per far funzionare la scheda con il MAX non funziona non si visualizza niente.
Non ho perso molto tempo ma sarebbe bello a questo punto fare delle prove per far funzionare la mega e magari predisporre una tabella completa e poi fare l'elenco delle funzioni ammesse dalla libreria.
Penso sarebbe un bel lavoro per facilitare le cose a tutti.
« Last Edit: February 23, 2013, 11:16:40 am by kikko_965 » Logged

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,
vagando su internet ho trovato uno sketch che evita di dover sostituire il firmware su arduino per poter caricare la nuova tabella.

http://code.google.com/p/rushduino-osd/downloads/detail?name=RushOSD_CP_v1_0.pde

Si carica lo sketch e poi si invia su seriale il file mcm, ci mette un pò 15/20 minuti.
Provato con la tabella di AnTrea e funziona.
Ho fatto la prova con arduino UNO, tutto ok
Con la mega invece, lo sketch per far funzionare la scheda con il MAX non funziona non si visualizza niente.
Non ho perso molto tempo ma sarebbe bello a questo punto fare delle prove per far funzionare la mega e magari predisporre una tabella completa.


Ottimo feedback!

Probabilmente non funziona perchè il pinout dell'spi sulla mega è diverso che sulla uno, dovresti cambiare le pedinatura all'interno dell'header file della libreria del max

Update, infatti:

MEGA

DATAOUT 51//MOSI
DATAIN 50//MISO
SPICLOCK  52//sck
SLAVESELECT 53//ss
« Last Edit: February 23, 2013, 11:19:23 am by AnTrea » Logged

Arduino, MODs e DIY: blackstufflabs.com

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Apri il file MAX7456.h e modifica queste righe:

DA
Code:
#define MAX7456_DATAOUT 11//MOSI
#define MAX7456_DATAIN  12//MISO
#define MAX7456_SCK  13//sck
#define MAX7456SELECT 10//ss

A:
Code:
#define MAX7456_DATAOUT 51//MOSI
#define MAX7456_DATAIN  50//MISO
#define MAX7456_SCK  52//sck
#define MAX7456SELECT 53//ss


Ovviamente cambia anche il wiring....
Logged

Arduino, MODs e DIY: blackstufflabs.com

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok grazie.

Come si fa a ricavare i comandi/sintassi supportati dalla libreria.
Logged

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Come si fa a ricavare i comandi/sintassi supportati dalla libreria.

basta interpretare i prototipi di funzione e/o leggere i commenti in testa ad ogni funzione...

...e usare il metodo "Troisi": http://youtu.be/1OtK7uKKYrs?t=2m43s
« Last Edit: February 24, 2013, 09:05:14 am by AnTrea » Logged

Arduino, MODs e DIY: blackstufflabs.com

0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5784
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oltre a Troisi puoi leggere  il file colorindex della libreria che almeno ti dice i nomi delle funzioni. Dopodiché il sito dell'autore che in genere spiega l'utilizzo
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sperando di fare cosa gradita ho predisposto un file da caricare sul MAX con i caratteri della tabella ASCII.
Non è completo  e precisissimo nella definizione, ma quasi e poi sempre meglio che niente.....


 

* ascii.mcm (160.01 KB - downloaded 9 times.)
Logged

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sperando di fare cosa gradita ho predisposto un file da caricare sul MAX con i caratteri della tabella ASCII.
Non è completo  e precisissimo nella definizione, ma quasi e poi sempre meglio che niente.....

Ho dato un occhio, ottimo.
Qui l'anteprima: http://localhostr.com/files/xRteurc/capture.png

Come funzionano con la libreria? tutto ok?
Logged

Arduino, MODs e DIY: blackstufflabs.com

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, non l'ho provata con i caratteri (speciali).
Ho solo provato con i caratteri normali, dovrei perdere un pò di tempo per modificare lo sketch e fare le prove con glia altri caratteri.
Potresti farlo tu, poi pubblichi lo sketc, hi hi hi
Logged

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 714
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao, non l'ho provata con i caratteri (speciali).
Ho solo provato con i caratteri normali, dovrei perdere un pò di tempo per modificare lo sketch e fare le prove con glia altri caratteri.
Potresti farlo tu, poi pubblichi lo sketc, hi hi hi

hai scritto e pubblicato una tabella dei caratteri senza provarla?  smiley-eek-blue
Logged

Arduino, MODs e DIY: blackstufflabs.com

Udine
Offline Offline
Full Member
***
Karma: 0
Posts: 128
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Certo, non volevo toglierti il gusto di provarla e farti prendere i meriti.
Logged

Pages: 1 [2] 3   Go Up
Jump to: