diff --git a/Documentation/index.rst b/Documentation/index.rst index 0b9776bac14c2d25c5aa35fc7f44b394b3627e17..28fb426c638522d1b47f34bd88f17ababecfebf6 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -21,6 +21,7 @@ Last but not least, if you want to start hacking the lower-level firmware, the :caption: Pycardium pycardium/overview + pycardium/buttons pycardium/color pycardium/display pycardium/leds diff --git a/Documentation/pycardium/buttons.rst b/Documentation/pycardium/buttons.rst new file mode 100644 index 0000000000000000000000000000000000000000..6a734c4e4124248a5f516e875d0aa2a8b0d676fc --- /dev/null +++ b/Documentation/pycardium/buttons.rst @@ -0,0 +1,59 @@ +.. py:module:: buttons + +``buttons`` - Push Buttons +========================== +The :py:mod:`buttons` module allows you to use card10's push buttons as input +in your scripts. + +**Example**: + +.. code-block:: python + + import buttons + + print("Press bottom left or right button:") + + while True: + pressed = buttons.read( + buttons.BOTTOM_LEFT | buttons.BOTTOM_RIGHT + ) + + if pressed != 0: + break + + if pressed & buttons.BOTTOM_LEFT != 0: + print("Left button pressed!") + + if pressed & buttons.BOTTOM_RIGHT != 0: + print("Right button pressed!") + +.. py:function:: buttons.read(mask) + + Read button status. + + :param int mask: Mask of buttons to check. Create the mask by ORing + :py:data:`buttons.BOTTOM_LEFT`, :py:data:`buttons.BOTTOM_RIGHT`, + :py:data:`buttons.TOP_RIGHT`, and :py:data:`buttons.TOP_LEFT` (= + :py:data:`buttons.RESET`). + :returns: An integer with the bits for pressed buttons set. Use the same + costants as for the mask to check which buttons were pressed. + +.. py:data:: buttons.BOTTOM_LEFT + + Bottom left button. + +.. py:data:: buttons.BOTTOM_RIGHT + + Bottom right button. + +.. py:data:: buttons.TOP_RIGHT + + Top right button. + +.. py:data:: buttons.TOP_LEFT + + Top left button (Reset button). + +.. py:data:: buttons.RESET + + Top left button (Reset button).