Skip to content

Working with ESP8266 based boards #9

@Inq720

Description

@Inq720

I found your library from this (https://www.best-microcontroller-projects.com/bmp280.html) article and have found it to be perfect for my needs. However, it did not work on my chosen micro controller as-is. Some of the dependencies must be different when using ESP8266 based micro controllers. For my use, I have made the following changes that seem to be working for me. Since these changes are to one of you base classes, I don't know if there are any ramifications that should be noted.

`WirePlus::WirePlus()
{
Wire.begin(); // I2C as Master

#ifdef ESP8266
// DEC - TODO: I've added this as PORTC, TWBR were undefined
// when using on ESP8266 board. Arduino.cc pages state
// that PORTC has to do with analog pins. Why would this
// digital port library need to change these? Need to
// figure this out.
Wire.setClock(400000L);
#else
bitSet(PORTC, 4); // deactivate internal pull-ups for twi
bitSet(PORTC, 5); // as per note from atmega8 manual pg167
// switch to 400KHz I2C - eheheh
TWBR = ((F_CPU / 400000L) - 16) / 2; // see twi_init in Wire/utility/twi.c
#endif // ESP8266

};
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions