[riot-commits] [RIOT-OS/RIOT] 142c28: kinetis_common: Refactor GPIO implementation

Peter Kietzmann peter.kietzmann at haw-hamburg.de
Thu Oct 29 08:29:11 CET 2015


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 142c28094ebe43371a0a880d5741b3a465461a31
      https://github.com/RIOT-OS/RIOT/commit/142c28094ebe43371a0a880d5741b3a465461a31
  Author: Joakim NohlgÄrd <joakim.nohlgard at eistec.se>
  Date:   2015-10-28 (Wed, 28 Oct 2015)

  Changed paths:
    M boards/frdm-k64f/include/board.h
    M boards/frdm-k64f/include/periph_conf.h
    M boards/mulle/include/board.h
    M boards/mulle/include/periph_conf.h
    M boards/pba-d-01-kw2x/include/board.h
    M boards/pba-d-01-kw2x/include/periph_conf.h
    M cpu/k60/include/cpu_conf.h
    M cpu/k60/vector.c
    M cpu/k64f/include/cpu_conf.h
    M cpu/kinetis_common/gpio.c
    M cpu/kinetis_common/include/periph_cpu.h
    M cpu/kw2x/cpu.c
    M cpu/kw2x/include/cpu_conf.h

  Log Message:
  -----------
  kinetis_common: Refactor GPIO implementation

This is a rewrite of the Kinetis GPIO driver which follows the
refactored API in [1]. Pins are specified using the GPIO_PIN(PORT_x, y)
macro, e.g. GPIO_PIN(PORT_E, 25) for the PTE25 pin.

The interrupt pin handling is now implemented as a linked list, this
is more memory efficient, but with a minor variation in interrupt
latency depending on in what order the pins were initialized at
runtime.

Because the linked list entries are taken from a shared pool, there is
also the possibility of running out of available configuration slots,
define the preprocessor macro GPIO_INT_POOL_SIZE in periph_conf.h if
you need more than 16 pins configured for interrupts in the same
application.

[1]: https://github.com/RIOT-OS/RIOT/pull/3095


  Commit: 6fcea29bdcf5dca564784971150bba3dc967de17
      https://github.com/RIOT-OS/RIOT/commit/6fcea29bdcf5dca564784971150bba3dc967de17
  Author: Peter Kietzmann <peter.kietzmann at haw-hamburg.de>
  Date:   2015-10-29 (Thu, 29 Oct 2015)

  Changed paths:
    M boards/frdm-k64f/include/board.h
    M boards/frdm-k64f/include/periph_conf.h
    M boards/mulle/include/board.h
    M boards/mulle/include/periph_conf.h
    M boards/pba-d-01-kw2x/include/board.h
    M boards/pba-d-01-kw2x/include/periph_conf.h
    M cpu/k60/include/cpu_conf.h
    M cpu/k60/vector.c
    M cpu/k64f/include/cpu_conf.h
    M cpu/kinetis_common/gpio.c
    M cpu/kinetis_common/include/periph_cpu.h
    M cpu/kw2x/cpu.c
    M cpu/kw2x/include/cpu_conf.h

  Log Message:
  -----------
  Merge pull request #4042 from gebart/pr/kinetis-gpio-periph-refactor

kinetis_common: Refactor GPIO implementation


Compare: https://github.com/RIOT-OS/RIOT/compare/8b378d660f59...6fcea29bdcf5


More information about the commits mailing list