Go Down

Topic: library-probleem(pje) (Read 442 times) previous topic - next topic

diddp00

Ik ben (nog steeds) bezig alle functionaliteit van een 320x480 TFT-schermpje met een CTE32HR-controler werkend te krijgen.
Mijn vorige hindernis met bitmaps is via dit forum snel opgelost dus nu doe ik maar een nieuwe poging.
De laatste functie die ik werkend wil krijgen is het gebruik van de SD-kaart. De voorbeeldcode vroeg om een aantal extra libraries die ik allemaal keurig heb toegevoegd.
Nu wordt alles gevonden, maar krijg ik heel veel compileerfouten op de library UTFT_SdRaw en om te beginnen op SdFile.cpp.
Ik vermoed echter dat de fout niet in de library maar in mijn code zit. Ik kom er voor nu nog niet uit.
de code ziet er uit als volgt
Code: [Select]

/*Kopieer bijvoorbeeld het bestand "Arduino.raw" uit de
bibliotheek "UTFT_SdRaw" naar de SD-kaart
*/
 
# include <SPI.h>

// library voor werken met het display
# include <UTFT.h>

// uitgebreide bibliotheek voor het werken met de SD-kaart
# include <SdFat.h>

// bibliotheek voor weergave van afbeeldingen op het display vanaf de SD-kaart
# include <UTFT_SdRaw.h>

// pin ChipSelect naar welke de SD-kaart is
#define SD_CHIP_SELECT 53
 
// maak een object werken met SD-kaart
SdFat sd ;
 
// maak een object van klasse UTFT
// en geef de identifier van het weergavemodel en het aantal controlepennen
UTFT myGLCD ( CTE32HR, 38, 39 , 40 , 41 ) ;
 
// ingesloten lettertype-advertenties
extern  uint8_t BigFont [ ] ;
 
// maak een object voor het werken en weergeven van afbeeldingen op het display
UTFT_SdRaw myFiles ( & myGLCD ) ;
 
void setup ( )
{
  // initialiseer het display met de verticale ori├źntatie van
  myGLCD.InitLCD ( ) ;
  // wis het -scherm
  myGLCD.clrScr ( ) ;
  // selecteer het grote lettertype
  myGLCD.setFont ( BigFont ) ;
 
  // wachtend op de succesvolle initialisatie van de SD-kaart
  while  (!sd.begin ( SD_CHIP_SELECT ) )  {
    // de rode kleur van de "inkt" instelt voor het afdrukken en tekenen
    myGLCD.setColor(VGA_RED) ;
    // print de string in de opgegeven rij in positie
    myGLCD.print ( "SD-kaart is mislukt!" , CENTER, 100 ) ;
    delay ( 1000 ) ;
  }
 
  // stel de groene kleur "inkt" in voor afdrukken en tekenen
  myGLCD.setColor ( VGA_GREEN ) ;
  // print de string in de opgegeven rij in positie
  myGLCD. print ( "SD-kaart ge├»nitialiseerd" , CENTER, 100 ) ;
  // wacht 1 seconde
  delay ( 1000 ) ;
 
  // toon de afbeelding van de SD-kaart naar het scherm
  myFiles.load ( 0 , 0 , 480 , 320 , "Arduino.raw" ) ;
}
 
void loop ()
{
}


en de meldingen:

Code: [Select]

Arduino: 1.6.7 (Windows 10), Board:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Build-opties gewijzigd, alles wordt opnieuw gebuild
D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:27:57: error: 'void (* SdFile::dateTime_)(uint16_t*, uint16_t*)' is not a static data member of 'class SdFile'

 void (*SdFile::dateTime_)(uint16_t* date, uint16_t* time) = NULL;

                                                         ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:35:28: error: no 'uint8_t SdFile::addCluster()' member function declared in class 'SdFile'

 uint8_t SdFile::addCluster() {

                            ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:48:35: error: no 'uint8_t SdFile::addDirCluster()' member function declared in class 'SdFile'

 uint8_t SdFile::addDirCluster(void) {

                                   ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:63:44: error: no 'dir_t* SdFile::cacheDirEntry(uint8_t)' member function declared in class 'SdFile'

 dir_t* SdFile::cacheDirEntry(uint8_t action) {

                                            ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:76:27: error: no 'uint8_t SdFile::close()' member function declared in class 'SdFile'

 uint8_t SdFile::close(void) {

                           ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:93:71: error: no 'uint8_t SdFile::contiguousRange(uint32_t*, uint32_t*)' member function declared in class 'SdFile'

 uint8_t SdFile::contiguousRange(uint32_t* bgnBlock, uint32_t* endBlock) {

                                                                       ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:132:44: error: no 'uint8_t SdFile::createContiguous(SdFile*, const char*, uint32_t)' member function declared in class 'SdFile'

         const char* fileName, uint32_t size) {

                                            ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:160:36: error: no 'uint8_t SdFile::dirEntry(dir_t*)' member function declared in class 'SdFile'

 uint8_t SdFile::dirEntry(dir_t* dir) {

                                    ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:180:50: error: no 'void SdFile::dirName(const dir_t&, char*)' member function declared in class 'SdFile'

 void SdFile::dirName(const dir_t& dir, char* name) {

                                                  ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:203:46: error: no 'void SdFile::ls(uint8_t, uint8_t)' member function declared in class 'SdFile'

 void SdFile::ls(uint8_t flags, uint8_t indent) {

                                              ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:247:58: error: no 'uint8_t SdFile::make83Name(const char*, uint8_t*)' member function declared in class 'SdFile'

 uint8_t SdFile::make83Name(const char* str, uint8_t* name) {

                                                          ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:292:57: error: no 'uint8_t SdFile::makeDir(SdFile*, const char*)' member function declared in class 'SdFile'

 uint8_t SdFile::makeDir(SdFile* dir, const char* dirName) {

                                                         ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:392:74: error: no 'uint8_t SdFile::open(SdFile*, const char*, uint8_t)' member function declared in class 'SdFile'

 uint8_t SdFile::open(SdFile* dirFile, const char* fileName, uint8_t oflag) {

                                                                          ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:484:68: error: no 'uint8_t SdFile::open(SdFile*, uint16_t, uint8_t)' member function declared in class 'SdFile'

 uint8_t SdFile::open(SdFile* dirFile, uint16_t index, uint8_t oflag) {

                                                                    ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:510:64: error: no 'uint8_t SdFile::openCachedEntry(uint8_t, uint8_t)' member function declared in class 'SdFile'

 uint8_t SdFile::openCachedEntry(uint8_t dirIndex, uint8_t oflag) {

                                                                ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:558:26: error: 'uint8_t SdFile::openRoot' is not a static data member of 'class SdFile'

 uint8_t SdFile::openRoot(SdVolume* vol) {

                          ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:558:26: error: 'SdVolume' was not declared in this scope

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:558:36: error: 'vol' was not declared in this scope

 uint8_t SdFile::openRoot(SdVolume* vol) {

                                    ^

D:\Arduino\IDE\libraries\UTFT_SdRaw\src\SdFile.cpp:558:41: error: expected ',' or ';' before '{' token

 uint8_t SdFile::openRoot(SdVolume* vol) {

                                         ^

exit status 1
Fout bij compileren.

  Dit rapport zou meer informatie hebben met
  "Tijdens de compilatie uitgebreide uitvoer weergeven"
  ingeschakeld in Bestand > Voorkeuren.




Kan iemand mij wat verder helpen?

Jantje

Altijd eerst eens de voorbeelden van een bibliotheek compileren en uitproberen.
Dan weet je zeker dat het niet aan je code ligt.
Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

diddp00

Goeie tip, heel veel voorbeelden gecompileerd en uiteindelijk daarbij ook tegen wat problemen aangelopen het lijkt erop dat UTFT_SdRaw gecorrumpeerd was. weg gegooid en nieuwe versie opgehaald en nu compileert het goed. OP naar de volgende hindernis, maar we gaan er komen. Bedankt alweer.

Go Up