Coder Social home page Coder Social logo

Comments (4)

lexus2k avatar lexus2k commented on August 16, 2024

Mostly ssd1306 is C-style library and I don't think that __has_include is supported by all compilers.
Regarding your fix: TWI is not supported for all AVR controllers as well as AVR SPI. This will break other platforms.
I agree with other your proposals.

from ssd1306.

PaulStoffregen avatar PaulStoffregen commented on August 16, 2024

The __has_include check is written to first check whether the compiler supports __has_include.

#if !defined __has_include || __has_include(<Wire1.h>)

The #include <Wire1.h> is skipped only when the compiler both supports __has_include and when __has_include indicates no Wire1.h file exists.

from ssd1306.

PaulStoffregen avatar PaulStoffregen commented on August 16, 2024

As the code #else case is written today, all platforms (not matched by the specific cases) without TWI using are already broken, because CONFIG_TWI_I2C_AVAILABLE is always defined. Checking only for __AVR__ shouldn't break anything that isn't already broken, but it would indeed leave unknown AVR platforms without TWI broken.

Maybe a better test would look something like this?

    #if defined(__AVR__) && defined(TWBR) && defined(TWCR)
        #define CONFIG_AVR_SPI_AVAILABLE
    #endif

from ssd1306.

PaulStoffregen avatar PaulStoffregen commented on August 16, 2024

If it would help, I can arrange to send you a free Teensy 4.0 and Teensy 4.1 for software testing.

from ssd1306.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.