problema SDuFAT arduino mega 2560

Buongiorno, sto provando a far funzionare il modulo microSD della libelium
http://www.cooking-hacks.com/index.php/microsd-2gb-module-for-arduino.html

ho scaricato la libreria indicata per arduino mega e ho seguito le indicazioni per il collegamento.
Il problema è però in fase di compilazione: mi da i seguenti errori:

In file included from C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:34,
                 from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:52: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:53: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:54: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:129: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:146: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:147: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/mmc.h:163: error: 'byte' does not name a type
In file included from C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:35,
                 from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:8: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:9: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:10: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:11: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:19: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:22: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:24: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:27: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:34: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:35: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:36: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:40: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:41: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:48: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:49: error: 'byte' does not name a type
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:60: error: 'byte' was not declared in this scope
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/microfat.h:60: error: 'buffer' was not declared in this scope
In file included from SD_uFAT_basic.pde:122:
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:117: error: 'byte' has not been declared
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:120: error: 'byte' has not been declared
C:\Users\Gio\Documents\Arduino\libraries\SDuFAT/SDuFAT.h:127: error: 'byte' has not been declared

La versione di Arduino è la 1.0.5

Vedo l'estensione .pde nei messaggi di errore. Significa che quel software è stato scritto per la vecchia versione dell'IDE, la 002x.
In teoria basterebbe aprire i file della lib e cercare #include "WProgram.h" e sostituirli con #include "Arduino.h"
Poi però va visto se la lib o lo sketch necessitano di altre modifiche.

ok, ho fatto le sostituzioni che mi hai detto!

ora in compilazione mi da questo errore:

C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp: In member function 'int SDuFAT::cat(const char*)':
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp:273: error: 'BYTE' was not declared in this scope
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp: In member function 'int SDuFAT::append(const char*)':
C:\Users\Gio\Documents\Arduino\libraries\SDuFATmod\SDuFAT.cpp:447: error: 'BYTE' was not declared in this scope

Allora la lib non è compatibile con l'IDE 1.0 e richiede ulteriori modifiche.
Non puoi usare altre lib, ad esempio la SD ufficiale o altre per gestire la uSD?

Considerando che nella documentazione (http://www.cooking-hacks.com/skin/frontend/default/cooking/pdf/arduino_mega_Sd.pdf) si cita l'IDE 0.15 e che nel sito c'è scritto "Library developed by David Cuartielles (Arduino team)", ti consiglio di scaricarti l'IDE 1.0.5 e utilizzare la libreria SD ufficiale, che presumo sia più aggiornata della SDuFAT.

OK ho scaricato l'IDE 1.0.5 e se faccio il test con arduino UNO funziona bene!!!

Se però collego il modulo all'arduino MEGA non funziona.
Ho seguito le note su SD - Arduino Reference

help please...

Hai letto questo relativamente al tuo prodotto?
http://www.cooking-hacks.com/skin/frontend/default/cooking/pdf/arduino_mega_Sd.pdf

Perchè l'Arduino Mega ha la distribuzione dei pin diversa e quel modulo non funzionerà.
Sulla UNO il bus SPI è mappato sui pin 11, 12 e 13, più il 10 o il 4 come Slave Select.
Sulla MEGA sono i pin 50, 51 e 52. Mentre lo SS è sul pin 53.
Quindi ti devi armare di cavetti flessibili e rifare i collegamenti.

Cerca i pin siglati MISO, MOSI e SCKL (sono in blu) --> Pinout Diagram - Megatopic - Arduino Forum

P.S. Se il modulo si connette tramite l'ICSP non hai problemi su nessuna scheda (compresa la DUE e la Leonardo) eccetto per il pin SS che dovrai cambiare ogni volta.

Ho trovato il problema:
sulla guida SD - Arduino Reference si dice di collegare il modulo SD così:
PIN CORRECTION (da arduino UNO a Mega)
11>50
12>51
13>52
4 OR 10>53

INVECE ho trovato qui:
http://forum.arduino.cc/index.php?topic=165170.0
oppure qui:

The Arduino SPI pins are:
SPI Uno Mega
SS 10 53
MOSI 11 51
MISO 12 50
SCK 13 52

così funziona!!!