Has anyone got the above working?
I wrote a quick program which tested and worked on the 1280 then switched to the 1284p. The program is running because it sends serial data back to the IDE and flashes an LED.
I am using a type B GCLD as per Arduino Playground - GLCDks0108
I am using the chip pin outs as per the file ks0108_Sanguino.h ie:
#define glcdCSEL1 24 // CS1 Bit // swap pin assignments with CSEL2 if left/right image is reversed
#define glcdCSEL2 25 // CS2 Bit
#define glcdRW 26 // R/W Bit
#define glcdDI 27 // D/I Bit
#define glcdEN 28 // EN Bit
#if NBR_CHIP_SELECT_PINS > 2
#define glcdCSEL3 29 // third chip select if needed
#endif
#define glcdData0Pin 0
#define glcdData1Pin 1
#define glcdData2Pin 2
#define glcdData3Pin 3
#define glcdData4Pin 4
#define glcdData5Pin 5
#define glcdData6Pin 6
#define glcdData7Pin 7
I have changed the file "arduino_io.h"
#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__)
// Sanguino or other ATmega664/1284 controller
#define digitalPinToPortReg(P) \
(((P) >= 0 && (P) <= 7) ? &PORTB : \
(((P) >= 8 && (P) <= 15) ? &PORTD : \
(((P) >= 16 && (P) <= 23) ? &PORTC : &PORTA)))
#define digitalPinToBit(P) \
(((P) >= 0 && (P) <= 23) ? (P%8) : (7-(P%8)) )
//#error "ATmega664 has not been tested"
#else
#error "Arduino pin mapping not defined for this board"
#endif
Changing the above file stopped the compiler falling out with the error "Arduino pin mapping not defined for this board" and sets the definitions above as per 644p which is included (the 1284p in pin compatible).
Now I suspect it is not working as I am missing something which calls the file "ks0108_Sanguino.h" when it detects a 644p (which it isn't because I'm using a 1284p) but as yet I have not been able to trace it.