Remove unnecessary thirdparty

Issue #86 resolved
daladim created an issue

Could you remove the SOftI2CMaster_ folder, which seems unnecessary anyway?

When building (at least for ESP8266 chips), the Arduino IDE wants to compile every file, even if they are not needed. When it reaches thirdparty libraries/SoftI2CMaster_/SoftI2CMaster.cpp, it complains about not finding <util/delay.h>. After I removed the whole SoftI2CMaster_ folder, everything works perfectly.

For future users who would like a working out-of-the-box experience, I guess you could remove this folder. (sorry for not making a pull request, I don't know how to user mercurial :-( )


Comments (11)

  1. daladim reporter

    (just to clarify, I am talking about the (deprecadted?) SoftI2CMaster_ folder, not the (useful) SoftI2CMaster one)

  2. Francisco Malpartida repo owner

    Sounds good the change. The problem with the second library is that it is more generic. But... In any case, the library was not supposed to support ESP architectures but it looks like there is a lot of traction around it.

  3. Francisco Malpartida repo owner

    Item should now compile correctly with conditional compilation statement for the AVR architecture.

  4. Francisco Malpartida repo owner

    For non-AVR architectures, it should now compile. @daladim please close issue once tested. I will push a new release at some point with this fix.

  5. daladim reporter

    Hmmm... I wrote this issue when testing with an older 1.3.5 release. I have just tried with the latest code, but other errors have appeared (due to other changes from then). I'll try to fix them an propose a fix

  6. Francisco Malpartida repo owner

    Updated to version 1.5.1. This should have this fixed. Could you try it out on your end. I have marked it as resolved but would like to close it.

  7. daladim reporter

    Sorry I don't get it... :-S

    When I browse (on, choosing the 1.5.1 release) to thirdparty libraries/SoftI2CMaster_/SoftI2CMaster.h, I see that it contains the #if defined (__AVR__) that you added on 0c02eff.

    However, when I go to Downloads and grab the file, this archive does not contain this #if defined (__AVR__). Thus I could not test your latest version (I am still sticking to the 1.3.5-based slight modification of mine) Is it expected? Am I making a mistake? Does this .zip contain actually something else than the 1.5.1 version?

  8. Francisco Malpartida repo owner

    No mistake on your end. I compressed the wrong version to publish in the download section. 1.5.1 should now be fixed with the correct contents. Thanks for trying it out.

  9. daladim reporter

    Thanks, I have just tried 1.5.1. For the same reasons as above (the Arduino IDE wants to compile every file even if they are not needed), TinyWireM should be compiled, and it wants to include missing <avr/interrupt.h> in the ESP8266 SDK. I have added conditional compilation for USI_TWI_Master.cpp and it works now. If you want to import the attached changes (I still don't know how to use Mercurial), I think this issue could be closed!

    Thanks for your work

  10. Log in to comment