Merge pull request #3 from kibab/kibab

Arduino Mega ADK support in USB Host Shield 2.0 library
This commit is contained in:
Oleg Mazurov 2012-01-23 05:24:33 -08:00
commit 4dcef5ef6d
3 changed files with 13 additions and 1 deletions

4
Usb.h
View file

@ -49,6 +49,8 @@ e-mail : support@circuitsathome.com
#ifdef BOARD_BLACK_WIDDOW
typedef MAX3421e<P6, P3> MAX3421E; // Black Widow
#elif defined(BOARD_MEGA_ADK)
typedef MAX3421e<P53, P54> MAX3421E; // Arduino Mega ADK
#else
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560
#endif
@ -272,4 +274,4 @@ inline uint8_t USB::setConf( uint8_t addr, uint8_t ep, uint8_t conf_value )
#endif // defined(USB_METHODS_INLINE)
#endif //_usb_h_
#endif //_usb_h_

View file

@ -20,6 +20,9 @@ e-mail : support@circuitsathome.com
#ifndef _avrpins_h_
#define _avrpins_h_
/* Uncomment the following if you have Arduino Mega ADK board with MAX3421e built-in */
//#define BOARD_MEGA_ADK
#include <avr/io.h>
#ifdef PORTA
@ -465,6 +468,7 @@ template<typename Tp_pin, typename Tc_bit>
#define P51 Pb2
#define P52 Pb1
#define P53 Pb0
#define P54 Pj2
#endif //"Mega" pin numbers

View file

@ -87,6 +87,12 @@ MAX3421e< SS, INTR >::MAX3421e()
spi::init();
INTR::SetDirRead();
#ifdef BOARD_MEGA_ADK
/* For Mega ADK, which has Max3421e on-board, set MAX_RESET to Output mode, and pull Reset to HIGH */
DDRJ |= 0x04;
PORTJ |= 0x04;
#endif
/* MAX3421E - full-duplex SPI, level interrupt */
regWr( rPINCTL,( bmFDUPSPI + bmINTLEVEL ));
};