Skip to content

Conversation

@cmaglie
Copy link
Member

@cmaglie cmaglie commented Sep 8, 2017

Built on top of @joverbee's patch #201

  • Fix some errors handling ISR list during re-attach/detach
  • put interrupt mask instead of interrupt number inside ISRlist, this allows to save a bit shift inside the loop in EIC_Handler

@joverbee I see that you added a case to allow passing NULL as a callback:

9a49ce2#diff-2d6f462f44c0386e70bfb9e3ba804d5bR87

may you explain better what's the purpose of this?

joverbee and others added 6 commits September 5, 2017 14:12
Change the way ISRs are stored. Store now in a list on a ‘first come
first served basis’, the first interrupt that gets attached will be
served first. This improves the speed of the ISR calling from about 6us
to 2us for a single interrupt on extint14

See arduino#200
This should save some cycles inside ISR Handler.
@ArduinoBot
Copy link

✅ Build completed.

⬇️ Build URL: http://downloads.arduino.cc/PR/samd/package_samd-b166_index.json

ℹ️ To test this build:

  1. Open the Preferences of the Arduino IDE.
  2. Add the Build URL above in the Additional Boards Manager URLs field, and click OK.
  3. Open the Boards Manager (menu Tools->Board->Board Manager...)
  4. Install Arduino SAMD core - Pull Request Improve interrupt handling response time #261
  5. Select one of the boards under SAMD Pull Request Improve interrupt handling response time #261 in Tools->Board menu
  6. Compile/Upload as usual

@joverbee
Copy link
Contributor

joverbee commented Sep 8, 2017 via email

@cmaglie cmaglie merged commit 812d3e9 into arduino:master Sep 14, 2017
@cmaglie cmaglie deleted the isr-updates branch September 14, 2017 08:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants