- Create conditional define BOARD_MEGA_ADK and move it into avrpins.h, which seems like a most suitable place for such things;

- Added pin define for Pj2;
- Use newly created BOARD_MEGA_ADK #define for separating Mega ADK-specific code from the common code.
This commit is contained in:
Ilya Bakulin 2012-01-23 12:19:39 +04:00
parent 5daa359bd3
commit 79668d97ea
3 changed files with 10 additions and 3 deletions

5
Usb.h
View file

@ -49,9 +49,10 @@ 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
typedef MAX3421e<P53, Pe6> MAX3421E; // Arduino Mega ADK
typedef MAX3421e<P10, P9> MAX3421E; // Official Arduinos (UNO, Duemilanove, Mega, 2560
#endif
//Debug macros. In 1.0 it is possible to move strings to PROGMEM by defining USBTRACE (Serial.print(F(s)))

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

@ -86,10 +86,12 @@ MAX3421e< SS, INTR >::MAX3421e()
SS::Set();
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 ));