Skip to content

Add support for STM32 which is using TwoWire.h  #8

@TylerBird

Description

@TylerBird

Subject of the issue

Since version 1.0.2 define options for the I2C_BUFFER_LENGTH_RX and _TX are added, this is now causing in a problem for my use of this library in combination with the STM32.

In file included from lib\24LC64/24LC64.h:5,
                 from src\main.h:5,
                 from src\main.cpp:1:
.pio\libdeps\disco_l072cz_lrwan1\SparkFun External EEPROM Arduino Library\src/SparkFun_External_EEPROM.h:59:19: error: This platform doesn't have a wire buffer size defined. Please contribute to this library! 
   59 | #pragma GCC error "This platform doesn't have a wire buffer size defined. Please contribute to this library!"
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Your workbench

  • STM32
  • LoRa ST (EU868)
  • Wired via I2C
  • Power Supply is 3V3
  • I'm using PlatformIO

Steps to reproduce

It would be nice if there is either the possibility to define this in your own code via a general define which has to be added even without a specifically selected controller, or by supporting the STM32 also.
Currently I also use the Wire.h so in my Code the BUFFER_LENGTH is defined.

Possible changes:

#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) || defined(STM32)

or:

#elif defined(STM32)

#define I2C_BUFFER_LENGTH_RX BUFFER_LENGTH //BUFFER_LENGTH is defined in Wire.h
#define I2C_BUFFER_LENGTH_TX BUFFER_LENGTH

Expected behavior

Not running into the else part and getting the pragma GCC error

Actual behavior

Running into the else part for defining the I2C_BUFFER_LENGTH_RX and _TX.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions