BareConductive / mpr121

Bare Conductive MPR121 Arduino Library
MIT License
83 stars 39 forks source link

Adapt to esp8266 #6

Open baruch opened 7 years ago

baruch commented 7 years ago

On the ESP8266 Arduino framework the constructor causes a crash, a simple workaround is to eliminate the need for it. The patches I created are an option for that.

I have to admit I didn't fully test the error handling, it's mainly a basis for consideration.

stefandz commented 7 years ago

Hi - thanks for this. We don't actually have an ESP8266 platform to test this with - are you using a particular board / setup that we could duplicate? I agree that using a ctor probably isn't that smart and that the alternative overload method you use is neater (although code as written won't work due to address assignment at line 108 of MPR121.cpp - but I can easily fix that). I don't understand the inversion of the NOT_INITED_BIT though - since it sits in a packed byte of active-high error flags - inverting it seems counterintuitive.

stefandz commented 7 years ago

Hi @baruch did you see the last comment on this?

stefandz commented 6 years ago

Hi again

I can't accept this pull request without being able to test at this end - if you're able to describe your test setup so that I can duplicate and test at this end I can work on approving the request - otherwise, sadly, I shall have to close this PR without merging.

Please let me know how you want to proceed.

euphi commented 6 years ago

Just for information: I started to experiment with this library on ESP8266 in February and never had problems with the constructor?!

stefandz commented 6 years ago

Thanks for this, @euphi - in your opinion does the library work on the ESP8266 platform?

euphi commented 6 years ago

I wanted to say "yes, no problems", however, when thinking about this, I remember two strange issues:

For an example, see the (quite complex) project https://github.com/euphi/ESP-Touch/tree/Display_WS2812 :

Note: The ESP-Touch project now uses my fork of MPR121 (see PR #8), but the sources are unchanged. During development I used the original library, the fork is only for platformio and travis-ci integration.