[riot-notifications] [RIOT-OS/RIOT] Hartung/atmega pin change interrupt pseudomodules (#11122)

Robert Hartung notifications at github.com
Thu Mar 7 10:57:51 CET 2019


### Contribution description

This is pseudomodule-based version of pin change interrupts for the atmega common platform. Challenge was, that each bank of pin change interrupts (PCINT0, ..., PCINT3) mixes ports. Therefore some magic has to happen.

The memory consumption is: (1 byte (state) + 8 byte (mapping) + 8*6 (config)) per used bank. This means if a single PCINT is used on a pin we need 57 bytes of additional memory.

Additionally, each cpu needs an `atmega_pcint.h` for the specific PCINT mapping.

### Issues/PRs references

See also #7610, #8993, #9159. This is an follow up PR for #11114 
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/11122

-- Commit Summary --

  * cpu/atmega_common: pin change interrupt implementation.
  * fixup
  * fixup
  * fixup! removes context switch #ifdefs
  * cpu/atmega_common: first draft of pseudomodule-based version

-- File Changes --

    A cpu/atmega1284p/include/atmega_pcint.h (7)
    A cpu/atmega2560/include/atmega_pcint.h (6)
    M cpu/atmega_common/Makefile.include (3)
    M cpu/atmega_common/periph/gpio.c (210)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/11122.patch
https://github.com/RIOT-OS/RIOT/pull/11122.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/11122
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190307/407496cc/attachment-0001.html>


More information about the notifications mailing list