Probleme mit TFT_HX8357_Due-master

Hallo,

Ich habe mir die TFT_HX8357_Due-master von Github besorgt und möchte sie natürlich auch auf nem Due laufen lassen...

IDE Version ist 1.8.1

Das Beispiel TFT_draw_JPEG gibt folgenden Fehler:

reference to'SD' is ambiguous

Arduino: 1.8.1 (Windows 10), Board: "Arduino Due (Programming Port)"

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:53:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:62:3: error: 'SdVolume' does not name a type

   SdVolume volume;

   ^

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:70:33: error: 'SD_CHIP_SELECT_PIN' was not declared in this scope

   boolean begin(uint8_t csPin = SD_CHIP_SELECT_PIN);

                                 ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:0:

C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:86:2: error: reference to 'File' is ambiguous

  File g_pInFileSd;

  ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatLib.h:27:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/SdFat.h:33,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:35:

C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/FatLib/ArduinoFiles.h:122:7: note: candidates are: class File

 class File : public FatFile, public Stream {

       ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:53:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:28:7: note:                 class SDLib::File

 class File : public Stream {

       ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:0:

C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:86:2: error: 'File' does not name a type

  File g_pInFileSd;

  ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:0:

C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:139:20: error: reference to 'File' is ambiguous

  int decodeSdFile (File g_pInFile);

                    ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/FatLib/FatLib.h:27:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/SdFat.h:33,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:35:

C:\Users\CurrentUser\Documents\Arduino\libraries\SdFat-master\src/FatLib/ArduinoFiles.h:122:7: note: candidates are: class File

 class File : public FatFile, public Stream {

       ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:53:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:28:7: note:                 class SDLib::File

 class File : public Stream {

       ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:0:

C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:139:20: error: 'File' has not been declared

  int decodeSdFile (File g_pInFile);

                    ^

C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino: In function 'void setup()':

TFT_draw_JPEG:62: error: reference to 'SD' is ambiguous

   if (!SD.begin(SD_CS, SPI_DIV3_SPEED)) { // <<<<<<<<<<<<< On Due use SPI_DIV3_SPEED

        ^

C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:36:9: note: candidates are: SdFat SD

   SdFat SD;                    // Permit SD function call compatibility with no sketch changes :-)

         ^

In file included from C:\Users\CurrentUser\Documents\Arduino\libraries\JPEGDecoder-master\src/JPEGDecoder.h:53:0,

                 from C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino:41:

C:\Program Files (x86)\Arduino\libraries\SD\src/SD.h:108:16: note:                 SDLib::SDClass SDLib::SD

 extern SDClass SD;

                ^

C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master\examples\TFT_draw_JPEG\TFT_draw_JPEG.ino: In function 'void drawJpeg(char*)':

TFT_draw_JPEG:80: error: 'class JPEGDecoder' has no member named 'decode'

   JpegDec.decode(filename, 0);

           ^

TFT_draw_JPEG:95: error: cannot convert 'uint16_t* {aka short unsigned int*}' to 'uint8* {aka unsigned char*}' in assignment

     pImg = JpegDec.pImage ;   // Decode a MCU (Minimum Coding Unit, typically a 8x8 or 16x16 pixel block)

          ^

Mehrere Bibliotheken wurden für "TFT_HX8357_Due.h" gefunden
 Benutzt: C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master
 Nicht benutzt: C:\Users\CurrentUser\Documents\Arduino\libraries\TFT_HX8357_Due-master_alt
exit status 1
reference to 'SD' is ambiguous

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Wenn nichtmal die Beispiele laufen, wie soll dann was anderes gehen?

Hi

reference to'SD' is ambiguous

"Die Referenz ist mehrdeutig"
Denke, Du bindest irgendwie eine Lib für eine SD-Karte ein und die TFT-Lib will 'irgend was Anderes'.

SO hast Du auch kein SdVolume, da eine SD-Karte nun Mal keinen Krach macht und somit kein Volumen benötigt.
Denke, wenn Du das Zeug einbindest, Welches die Entwickler ebenfalls eingebunden (und ggf. auch verlinkt) haben, wird auch das Beispiel zur Lib klappen.

... reiner Hüft-Schuss ...

MfG

postmaster-ino:
SO hast Du auch kein SdVolume, da eine SD-Karte nun Mal keinen Krach macht und somit kein Volumen benötigt.

... reiner Hüft-Schuss ...

Eher ein Schuss in die Hüfte --> Hüfte kaputt: SDVolume ist eine Bezeichnung fürs Dateisystem. Die zugehörige Headerdatei in SdFat ist als deprecated gekennzeichnet und hat einen #define error.

Gruß Tommy

Hi

Jesses :confused: - SO kann man natürlich Volume auch sehen - ambiguous war mir irgendwie nicht eindeutig genug :wink:

... humpele dann Mal weiter ...

MfG