lexus2k / ssd1306

Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pgmspace.h issue since 1.8.3

Polohpi opened this issue · comments

Describe the bug
used in a sketch compiled for cortex M0 chips. Cant compile code. Works with 1.8.2.

Expected behavior
Code cant compile for AMD cortex m0.

Please complete the following information:

  • library version 1.8.3
  • LCD display type : oled 128 64
  • Debian
  • seeeduino xiao
  • arduino ide

Additional context
libraries/ssd1306/src/ssd1306_hal/arduino/io.h:45:14: fatal error: api/deprecated-avr-comp/avr/pgmspace.h: No such file or directory
#include <api/deprecated-avr-comp/avr/pgmspace.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Erreur de compilation pour la carte Seeeduino XIAO

Hi,

please try to comment out the lines in src/ssd1306_hal/arduino/io.h source code:

    #include <avr/pgmspace.h>
    #include <avr/interrupt.h>
    //#elif defined(ARDUINO_ARCH_SAMD)
    //#include <api/deprecated-avr-comp/avr/pgmspace.h>
    //#include <api/deprecated-avr-comp/avr/interrupt.h>
    #else
    #include <avr/pgmspace.h>
    #include <avr/interrupt.h>
    #endif

Let me know what it gives you.

By the way, what's is the version of board support package for SAMD controllers?

By the way, what's is the version of board support package for SAMD controllers?

1.8.2

Hi,

please try to comment out the lines in src/ssd1306_hal/arduino/io.h source code:

    #include <avr/pgmspace.h>
    #include <avr/interrupt.h>
    //#elif defined(ARDUINO_ARCH_SAMD)
    //#include <api/deprecated-avr-comp/avr/pgmspace.h>
    //#include <api/deprecated-avr-comp/avr/interrupt.h>
    #else
    #include <avr/pgmspace.h>
    #include <avr/interrupt.h>
    #endif

Let me know what it gives you.

It did work ! thanks. What was the problem with those lines ?

Board support package version is not the same thing as Arduino IDE version. Arduino IDE has built-in manager as you know, where you can install support packages for different hardware. Those packages are supported by numerous teams.

Since a developers work on different versions of board support packages, some source files for the same SAMD board may have different location. Probably, you use some old version of the board support packages, because the file <avr/pgmspace.h> was moved to new location in newer releases <api/deprecated-avr-comp/avr/pgmspace.h>.