-
Notifications
You must be signed in to change notification settings - Fork 13.3k
I2C: put inline helpers in IRAM for slave ISRs #6898
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Did you want me to close the other pull request #6894 The 'inline' attribute on some of the routines seemed to override the 'ICACHE_RAM_ATTR' attribute, and some of the slave ISR routines were ending up in Flash, or were split; part was in Flash, part in IRAM. This caused exceptions when I2C slave events happened during OTA download. |
@Tech-TX yes please, let's keep this one. |
…alley up into the master section [issue 6875]
Latest commit added devyte's comment about not inlining reply(), removed the inline attribute from 2 public functions in the slave side, and moved twi_scl_valley() out of the middle of the slave code and into the master area, as it's a master-only function. |
As only one person has seen this error so far, would you mind waiting until Sunday evening or later to merge it? I'd like to run every test against it that I can think of, since the changes touched nearly every lowest-level function. I've eyeballed all of the changes 3 ways, but I'm the eternal pessimist. |
heavily modified to insure that the 'inline helpers' are truly inline (they are, verified in the dump)