ssd1306 oled probleem [opgelost]

Hallo
Hier ben ik weer met een vraag

Ik heb een hier een oled display 128*64 van adafruit
en met de bijhorende library en alles werkte zoals het hoorde.
nu heb ik een tijdje geleden mn computer leeggemaakt (het was weer nodig , teveel rotzooi erop)
en nu heb ik een probleem met mn oled scherm ik krijg steeds foutmeldingen in de arduino IDE
als ik het voorbeeldprogramma van adafruit gebruik.
Ik gebruik arduino 1.5.7 maar met 1.0.6 het ik hetzelfde.

dit zijn de foutmeldingen :
Arduino: 1.5.7 (Windows 7), Board: "Arduino Uno"

Using library Wire in folder: C:\Users\Gert\Documents\Arduino\libraries\Wire (legacy)

Using library AdafruitGFXLibrarymaster in folder: C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster (legacy)

Using library Adafruit_SSD1306master in folder: C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master (legacy)

C:\Program Files (x86)\Arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\Gert\Documents\Arduino\libraries\Wire -IC:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster -IC:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master C:\Users\Gert\AppData\Local\Temp\build3446672282413115366.tmp\ssd1306_128x64_spi.cpp -o C:\Users\Gert\AppData\Local\Temp\build3446672282413115366.tmp\ssd1306_128x64_spi.cpp.o

ssd1306_128x64_spi.ino:37:46: error: variable 'logo16_glcd_bmp' must be const in order to be put into read-only section by means of 'attribute((progmem))'

ik heb steeds een probleem op regel 37:
static unsigned char PROGMEM logo16_glcd_bmp[] =

wat is hier verkeerd gegaan ?
Ik vind het maar raar omdat alles voorheen wel gewerkt heeft
waarschijnlijk is het weer iets heel stom/simpel maar ik zie het niet .

Groeten Gert

Arduino IDE 1.5.7 gebruikt een nieuwere versie van de compiler en die is strikter in zijn C/C++ taal vereisten.
Zoals de fout boodschap zegt moet const erbij.
Zo uit mijn hoofd denk ik dat
static unsigned char PROGMEM logo16_glcd_bmp[] =
moet worden
static const unsigned char PROGMEM logo16_glcd_bmp[] =

Je zegt dat het met 1.0.6 ook niet werkt. Welke fout krijg je daar?

Met vriendelijke groet
Jantje

Hallo Bedankt voor de snelle reactie

Ik heb static const unsigned char PROGMEM logo16_glcd_bmp[] = geprobeerd
en dan krijg ik een foutmelding

Arduino: 1.5.7 (Windows 7), Board: "Arduino Uno"

Build options changed, rebuilding all

C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:31:29: error: variable 'font' must be const in order to be put into read-only section by means of 'attribute((progmem))'
extern uint8_t PROGMEM font[];
^
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:31:29: error: conflicting declaration 'uint8_t font []'
In file included from C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:28:0:
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/glcdfont.c:13:28: error: 'font' has a previous declaration as 'const unsigned char font [1275]'
static const unsigned char font[] PROGMEM = {
^
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In constructor 'Adafruit_SSD1306::Adafruit_SSD1306(int8_t, int8_t, int8_t, int8_t, int8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:134:93: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX()'
Adafruit_SSD1306::Adafruit_SSD1306(int8_t SID, int8_t SCLK, int8_t DC, int8_t RST, int8_t CS) {
^
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:134:93: note: candidates are:
In file included from C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:25:0:
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17:3: note: Adafruit_GFX::Adafruit_GFX(int16_t, int16_t)
Adafruit_GFX(int16_t w, int16_t h); // Constructor
^
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17:3: note: candidate expects 2 arguments, 0 provided
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13:7: note: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
class Adafruit_GFX : public Print {
^
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13:7: note: candidate expects 1 argument, 0 provided
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In constructor 'Adafruit_SSD1306::Adafruit_SSD1306(int8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:143:48: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX()'
Adafruit_SSD1306::Adafruit_SSD1306(int8_t reset) {
^
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:143:48: note: candidates are:
In file included from C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:25:0:
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17:3: note: Adafruit_GFX::Adafruit_GFX(int16_t, int16_t)
Adafruit_GFX(int16_t w, int16_t h); // Constructor
^
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17:3: note: candidate expects 2 arguments, 0 provided
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13:7: note: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
class Adafruit_GFX : public Print {
^
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13:7: note: candidate expects 1 argument, 0 provided
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In member function 'void Adafruit_SSD1306::begin(uint8_t, uint8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:151:22: error: 'constructor' was not declared in this scope
constructor(128, 64);
^

bij IDE 1.0.6 krijg ik de melding :

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:31: error: conflicting declaration 'uint8_t font []'
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/glcdfont.c:13: error: 'font' has a previous declaration as 'const unsigned char font [1275]'
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In constructor 'Adafruit_SSD1306::Adafruit_SSD1306(int8_t, int8_t, int8_t, int8_t, int8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:134: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX()'
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17: note: candidates are: Adafruit_GFX::Adafruit_GFX(int16_t, int16_t)
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13: note: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In constructor 'Adafruit_SSD1306::Adafruit_SSD1306(int8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:143: error: no matching function for call to 'Adafruit_GFX::Adafruit_GFX()'
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:17: note: candidates are: Adafruit_GFX::Adafruit_GFX(int16_t, int16_t)
C:\Users\Gert\Documents\Arduino\libraries\AdafruitGFXLibrarymaster/Adafruit_GFX.h:13: note: Adafruit_GFX::Adafruit_GFX(const Adafruit_GFX&)
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp: In member function 'void Adafruit_SSD1306::begin(uint8_t, uint8_t)':
C:\Users\Gert\Documents\Arduino\libraries\Adafruit_SSD1306master\Adafruit_SSD1306.cpp:151: error: 'constructor' was not declared in this scope

Groeten Gert

Heeft iemand een idee wat hier mis mee is ?
ik kan er niet echt aan uit
voorlopig gebruik ik de u8g library daar heb ik geen problemen mee

Groeten Gert

je hebt een probleem van conflicterende libraries.
Daar de twee conficterende libraries alletwee van adafruit komen zou ik daar eens kijken. Ik weet dat ze een en ander herwerkt hebben en het zou mij niet verwonderen dat je oude en nieuwe versies van de libraries door elkaar gebruikt.
Met vriendelijke groet
Jantje

Inderdaad dat was het
Ik heb de ssd1306 en de gfx libraries er uit gedaan ,nieuwe libraries geinstalleerd en het werkt

Groeten Gert