Skip to content

PROD REQ

Dieter Niklaus edited this page Dec 1, 2017 · 1 revision

Button Product Requirements

  • debouncing based on 50 ms polling
  • different detections as injectable objects (allow multiple):
    • 4 different press duration detection
      • short press (debounce time (50 ms) .. 0.4s) -> action 1
      • medium press (0.4s ..1.2s) -> action 2
      • long press (1.2s .. 2.4s) -> action 3
      • very long press (> 2.4s) -> action 4
    • edge dependent detection
      • rising
      • falling
      • both
    • auto click as long as pressed
  • confurable
    • the button polarity is configurable
    • the input pin is configurable
  • rising and falling edge detection and pulse duration measurement as base functionality
  • involves
    • Timer framework (to support baremetal multi task programming)
    • OOP: Component interaction using IoC / dependency injection

Clone this wiki locally