Arduino due
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
Your answer didn't solve any problem. Did you read all the posts or just the last one?
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
I've gone through all the posts, and I don't understand what the problem is. If you were to plug the shield into the Due, the 2x3 header on the bottom of the shield would match up with the SPI header. That's how you need to wire MISO, SCK and MOSI.
You also need to connect pins 10, 9, and 4 to the matching pins on the shield.
You also need to connect SDA1 and SCL1 to the matching pins on the shield.
You also need to connect pins 10, 9, and 4 to the matching pins on the shield.
You also need to connect SDA1 and SCL1 to the matching pins on the shield.
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
I don't have an SPI header on my 2.8" TFT LCD shield v1.1 (older one?).
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
Oh, you have one of the older shields! That's completely different! It's not a SPI device.
You need to wire the following pins:
4, 6, 7, 8, 9, 10, 11, 13
A0, A1, A2, A3
In the library file Adafruit_TFTLCD.h, make sure that line 20 is uncommented:
You need to wire the following pins:
4, 6, 7, 8, 9, 10, 11, 13
A0, A1, A2, A3
In the library file Adafruit_TFTLCD.h, make sure that line 20 is uncommented:
Code: Select all
#define USE_ADAFRUIT_SHIELD_PINOUT 1
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
The TFTLCD example works fine. I am now testing the Touchscreen. I renewed all the libraries I can think of. The veryfing of tftpaint_shield gives quite a numbers of errors. I hope it is just an library problem:
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
In file included from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/pins_arduino.h:20:0,
from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:6:
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp: In member function 'TSPoint TouchScreen::getPoint()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:57:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xp_port = digitalPinToPort(_xp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:58:21: note: in expansion of macro 'digitalPinToPort'
uint8_t yp_port = digitalPinToPort(_yp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:59:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xm_port = digitalPinToPort(_xm);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:60:21: note: in expansion of macro 'digitalPinToPort'
uint8_t ym_port = digitalPinToPort(_ym);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:73:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:74:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) &= ~ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:82:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) |= xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:83:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xm_port) &= ~xm_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:98:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:102:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) |= yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:121:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:125:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) |= ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:129:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
In file included from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/pins_arduino.h:20:0,
from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:6:
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp: In member function 'TSPoint TouchScreen::getPoint()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:57:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xp_port = digitalPinToPort(_xp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:58:21: note: in expansion of macro 'digitalPinToPort'
uint8_t yp_port = digitalPinToPort(_yp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:59:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xm_port = digitalPinToPort(_xm);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:60:21: note: in expansion of macro 'digitalPinToPort'
uint8_t ym_port = digitalPinToPort(_ym);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:73:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:74:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) &= ~ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:82:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) |= xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:83:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xm_port) &= ~xm_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:98:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:102:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) |= yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:121:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:125:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) |= ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:129:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
try this version of the TouchScreen library:
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
It din't compile(see below). Also the the SD-example gives compiling errors. It seems Touchscreen and SD needs SPI. I read an article that they were working on it. So there are two possibilities. 1) Wait for a solution; how long? weeks, month? 2) Bye a lcd that works with the due with touchscreen and SD? Any suggestions?
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
In file included from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/pins_arduino.h:20:0,
from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:6:
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp: In member function 'TSPoint TouchScreen::getPoint()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:57:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xp_port = digitalPinToPort(_xp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:58:21: note: in expansion of macro 'digitalPinToPort'
uint8_t yp_port = digitalPinToPort(_yp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:59:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xm_port = digitalPinToPort(_xm);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:60:21: note: in expansion of macro 'digitalPinToPort'
uint8_t ym_port = digitalPinToPort(_ym);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:73:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:74:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) &= ~ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:82:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) |= xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:83:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xm_port) &= ~xm_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:98:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:102:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) |= yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:121:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:125:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) |= ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:129:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
In file included from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/pins_arduino.h:20:0,
from C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:6:
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp: In member function 'TSPoint TouchScreen::getPoint()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:57:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xp_port = digitalPinToPort(_xp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:58:21: note: in expansion of macro 'digitalPinToPort'
uint8_t yp_port = digitalPinToPort(_yp);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:59:21: note: in expansion of macro 'digitalPinToPort'
uint8_t xm_port = digitalPinToPort(_xm);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:62:65: error: invalid conversion from 'Pio*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) ( g_APinDescription[P].pPort )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:60:21: note: in expansion of macro 'digitalPinToPort'
uint8_t ym_port = digitalPinToPort(_ym);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:73:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:74:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) &= ~ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:82:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) |= xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:83:4: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xm_port) &= ~xm_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:98:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:102:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) |= yp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:121:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(xp_port) &= ~xp_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:125:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(ym_port) |= ym_pin;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\hardware\arduino\sam\variants\arduino_due_x/variant.h:65:44: error: base operand of '->' is not a pointer
#define portOutputRegister(port) ( &(port->PIO_ODSR) )
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\TouchScreen\TouchScreen.cpp:129:5: note: in expansion of macro 'portOutputRegister'
*portOutputRegister(yp_port) &= ~yp_pin;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
Did you remove the other TouchScreen library? It looks like it's still finding the old one.
I tested the library I sent you with my Due and it compiles and runs on the old TFT LCD shield.
I tested the library I sent you with my Due and it compiles and runs on the old TFT LCD shield.
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
Yes, but there is something strange in the Zip. I have also the folder _MACOSX with more or less the same content?
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
Replace the files in your touchscreen folder with these
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
Thanks, it works. Do you have the same magical trick for the SD?
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
I think all you have to do is go into the SD Library and edit the file utility/Sd2Card.h. Set it to use Software SPI instead of SPI LIB:
Code: Select all
/**
* USE_SPI_LIB: if set, use the SPI library bundled with Arduino IDE, otherwise
* run with a standalone driver for AVR.
*/
//#define USE_SPI_LIB
#define SOFTWARE_SPI
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
There are no examples using SD2Card.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: Arduino due
The examples use SD. Sd2Card is a part of the SD library.
- PaulvZ
- Posts: 41
- Joined: Sun Nov 30, 2014 4:25 pm
Re: Arduino due
Yes, I know. When compiling 'Cardinfo', modified 9 Apr 2012 by Tom Igoe I get the following errors:
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In function 'uint8_t spiRec()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:58:7: error: 'cli' was not declared in this scope
cli();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:60:38: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_MOSI_PIN, HIGH);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:71:37: error: 'fastDigitalRead' was not declared in this scope
if (fastDigitalRead(SPI_MISO_PIN)) data |= 1;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:76:7: error: 'sei' was not declared in this scope
sei();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In function 'void spiSend(uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:83:7: error: 'cli' was not declared in this scope
cli();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:85:38: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_SCK_PIN, LOW);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:99:36: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_SCK_PIN, LOW);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:101:7: error: 'sei' was not declared in this scope
sei();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectHigh()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:163:3: error: 'SPI' was not declared in this scope
SPI.endTransaction();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectLow()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:169:3: error: 'SPI' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:169:24: error: 'settings' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::init(uint8_t, uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:267:3: error: 'SPI' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:267:24: error: 'settings' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::setSckRate(uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:14: error: 'settings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:57: error: 'SPI_MODE0' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:66: error: 'SPISettings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
Arduino: 1.5.8 (Windows Vista), Board: "Arduino Due (Programming Port)"
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In function 'uint8_t spiRec()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:58:7: error: 'cli' was not declared in this scope
cli();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:60:38: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_MOSI_PIN, HIGH);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:71:37: error: 'fastDigitalRead' was not declared in this scope
if (fastDigitalRead(SPI_MISO_PIN)) data |= 1;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:76:7: error: 'sei' was not declared in this scope
sei();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In function 'void spiSend(uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:83:7: error: 'cli' was not declared in this scope
cli();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:85:38: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_SCK_PIN, LOW);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:99:36: error: 'fastDigitalWrite' was not declared in this scope
fastDigitalWrite(SPI_SCK_PIN, LOW);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:101:7: error: 'sei' was not declared in this scope
sei();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectHigh()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:163:3: error: 'SPI' was not declared in this scope
SPI.endTransaction();
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'void Sd2Card::chipSelectLow()':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:169:3: error: 'SPI' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:169:24: error: 'settings' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::init(uint8_t, uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:267:3: error: 'SPI' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:267:24: error: 'settings' was not declared in this scope
SPI.beginTransaction(settings);
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp: In member function 'uint8_t Sd2Card::setSckRate(uint8_t)':
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:14: error: 'settings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:57: error: 'SPI_MODE0' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
C:\Users\Paul\Arduino\Arduino 2\arduino-1.5.8\libraries\SD\src\utility\Sd2Card.cpp:510:66: error: 'SPISettings' was not declared in this scope
case 0: settings = SPISettings(25000000, MSBFIRST, SPI_MODE0); break;
^
Fout bij compileren.
Dit rapport zou meer informatie hebben met
"Toon uitgebreide uitvoer gedurende compilatie"
ingeschakeld in Bestand > Voorkeuren.
Please be positive and constructive with your questions and comments.