diff --git a/docs/microbit_micropython_api.rst b/docs/microbit_micropython_api.rst index 19362fdac..228dc1fd7 100644 --- a/docs/microbit_micropython_api.rst +++ b/docs/microbit_micropython_api.rst @@ -149,18 +149,34 @@ Each of these pins are instances of the ``MicroBitPin`` class, which offers the # Only available for touch pins 0, 1, and 2. Returns boolean if the pin # is touched pin.is_touched() - # Only available for touch pins 0, 1, 2 and on micro:bit V2 also the logo. - # Sets the touch mode. Value can be either RESISTIVE or CAPACITIVE + # Only available for touch pins 0, 1, and 2. Returns boolean if the pin + # has been touched since the last time this method was called + pin.was_touched() + # Only available for touch pins 0, 1, and 2. Returns the running total of + # pin touches, and resets this counter to zero + pin.get_touches() + # Only available for touch pins 0, 1, and 2. Sets the touch mode. + # Value can be either RESISTIVE or CAPACITIVE pin.set_touch_mode(value) + # Only available for touch pins 0, 1, and 2. Re-calibrates the touch pin + # detection. + pin.touch_calibrate() Except in the case of the pins marked **V2**, which offers the following API: pin_logo:: - # returns boolean for logo touch pin + # returns a boolean for logo touch pin pin_logo.is_touched() + # returns a boolean if the logo was pressed since the last time + # this method was called + pin_logo.was_touched() + # returns the running total of touches, and resets this counter to zero + pin_logo.get_touches() # Sets the touch mode. Value can be either RESISTIVE or CAPACITIVE - pin.set_touch_mode(value) + pin_logo.set_touch_mode(value) + # Re-calibrates the touch pin detection. + pin.touch_calibrate() pin_speaker, as the above ``MicroBitPin`` class, but does not include ``pin.is_touched()``. diff --git a/docs/pin.rst b/docs/pin.rst index 3cf539d0d..ad4e73b6f 100644 --- a/docs/pin.rst +++ b/docs/pin.rst @@ -197,15 +197,36 @@ its own to that. .. py:class:: MicroBitTouchPin + .. py:method:: touch_calibrate() + + Re-calibrates the touch pin detection. + This is useful when a conductive object is connected to the pin to + be used as a touch sensor. + .. py:method:: is_touched() Return ``True`` if the pin is being touched with a finger, otherwise return ``False``. + .. py:method:: was_touched() + + Returns ``True`` or ``False`` to indicate if the pin was touched + since the device started or since the last time this method was called. + + .. py:method:: get_touches() + + Returns the number of times the pin was touched + since the device started or since the last time this method was called. + + .. py:method:: set_touch_mode(value) + .. note:: - The default touch mode for the pins on the edge connector is + The default touch mode for the pins on the edge connector is `resistive`. The default for the logo pin **V2** is `capacitive`. + Set the touch mode for the given pin. Value can be either ``CAPACITIVE`` + or ``RESISTIVE``. For example, ``pin0.set_touch_mode(pin0.CAPACITIVE)``. + **Resistive touch** This test is done by measuring how much resistance there is between the pin and ground. A low resistance gives a reading of ``True``. To get @@ -218,15 +239,6 @@ its own to that. `_ does not require you to make a ground connection as part of a circuit. - .. py:method:: set_touch_mode(value) - - .. note:: - The default touch mode for the pins on the edge connector is - `resistive`. The default for the logo pin **V2** is `capacitive`. - - Set the touch mode for the given pin. Value can be either ``CAPACITIVE`` - or ``RESISTIVE``. For example, ``pin0.set_touch_mode(pin0.CAPACITIVE)``. - The pull mode for a pin is automatically configured when the pin changes to an input mode. Input modes are when you call ``read_analog`` / ``read_digital`` / ``is_touched``. The default pull mode for these is, respectively, ``NO_PULL``,