Feature #594

Revise periphAL

Added by Thomas Schöpping about 5 years ago. Updated over 4 years ago.

Status:ResolvedStart date:2019-03-14
Priority:NormalDue date:2019-05-31
Assignee:Thomas Schöpping% Done:


Category:-Estimated time:8.00 hours
Target version:-


The periphery abstraction layer (periphAL) should be revised and optimized:

  • All enum should be replaced by a combination of #define and optimal fundamental types (e.g. typedef uint16_t apalExitStatus_t) for best code efficiency.
  • apalGpioActive_t should be extended by two further states: APAL_GPIO_ACTIVE_NONE and APAL_GPIO_ACTIVE_ANY
  • apalGpioEdge_t documentation s´must clearly state that values refer to physical (not logical!) signal edges.
  • apalGpioMeta_t needs to be updated accordingly (i.e. two bits for the apalGpioActive_t member).
  • The edge member of apalGpioMeta_t can also apply to output signals, so wherever this struct is used, comments must be updated accordingly (right now the definitions in all module.c files state it as "interrupt edge", which just one of many ways how the edge information can be interpreted).


#1 Updated by Thomas Schöpping over 4 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100
  • Estimated time changed from 4.00 to 8.00

The structure of periphAL was heavily revised.
In addition to the requested enhancements, the interface header is now a fixed component of AMiRo-LLD, thus it is not required that the using OS implements this header.

Also available in: Atom PDF