[riot-notifications] [RIOT-OS/RIOT] periph/gpio: new expandable GPIO API (#14602)

Marian Buschsieweke notifications at github.com
Wed Nov 11 17:26:14 CET 2020


I really would like to see this finally getting upstream. Maybe it is easiest to split this effort into some smaller PRs to get this less scary. How about this:

1. Addition of port access for peripheral GPIO ports, ideally as a `static inline` header only implementation for single CPU cycle access even without `LTO=1`
    - As this would be independent of the existing `periph_gpio` API, this could be added one platform at a time
    - This API will remain useful for high throughput bit-banging, even after a common high-level GPIO API for both external and peripheral GPIOs finally is upstream
    - And having a super fast low level alternative can be a good excuse for trading in some speed for convenience in the high level GPIO API
2. Once all platforms have the "`periph_gpio_ng`", we could replace `periph_gpio` with a common implementation on top of `periph_gpio_ng`
3. A port access API to peripheral GPIO extender
   - This could be done in parallel and fully independent of 1. / 2.
   - However, the function signatures should be the same, as ultimately we want a common high level GPIO API
4. Once parts 1. - 3. are upstream: A common high level GPIO API
   - This should be easier now, as `periph_gpio` is now a common platform independent implementation based on `periph_gpio_ng`. So only one place to modify.

Does this sound reasonable? I could help with reviewing and/or coding parts of this.


-- 
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/14602#issuecomment-725520696
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20201111/7b32934e/attachment-0001.htm>


More information about the notifications mailing list