diff --git a/docs/Reference.md b/docs/Reference.md index 99908b8..54405b5 100644 --- a/docs/Reference.md +++ b/docs/Reference.md @@ -130,23 +130,24 @@ Creating an instance of this **class** attaches a pushbutton handler to the ESP3 * instantiated Buttons are associated with the last Service instantiated * instantiating a Button without first instantiating a Service throws an error during initialization -* the first argument is required; the rest are optional: - * *pin* - the ESP32 pin to which a one pole of a normally-open pushbutton will be connected; the other pole is connected to ground - * *longTime* - the minimum time (in millis) required for the button to be pressed and held to trigger a Long Press (default=2000 ms) - * *singleTime* - the minimum time (in millis) required for the button to be pressed to trigger a Single Press (default=5 ms) - * *doubleTime* - the maximum time (in millis) allowed between two Single Presses to qualify as a Double Press (default=200 ms) + +The first argument is required; the rest are optional: +* *pin* - the ESP32 pin to which a one pole of a normally-open pushbutton will be connected; the other pole is connected to ground +* *longTime* - the minimum time (in millis) required for the button to be pressed and held to trigger a Long Press (default=2000 ms) +* *singleTime* - the minimum time (in millis) required for the button to be pressed to trigger a Single Press (default=5 ms) +* *doubleTime* - the maximum time (in millis) allowed between two Single Presses to qualify as a Double Press (default=200 ms) -* Trigger Rules: - * If button is pressed and continuously held, a Long Press will be triggered every longTime ms until the button is released - * If button is pressed for more than singleTime ms but less than longTime ms and then released, a Single Press will be triggered, UNLESS the button is pressed a second time within doubleTime ms AND held again for at least singleTime ms, in which case a DoublePress will be triggered; no further events will occur until the button is released - * If singleTime>longTime, only Long Press triggers can occur - * If doubleTime=0, Double Presses cannot occur +Trigger Rules: +* If button is pressed and continuously held, a Long Press will be triggered every longTime ms until the button is released +* If button is pressed for more than singleTime ms but less than longTime ms and then released, a Single Press will be triggered, UNLESS the button is pressed a second time within doubleTime ms AND held again for at least singleTime ms, in which case a DoublePress will be triggered; no further events will occur until the button is released +* If singleTime>longTime, only Long Press triggers can occur +* If doubleTime=0, Double Presses cannot occur -* HomeSpan automatically calls the `button(int pin, int pressType)` method of a Service upon a trigger event in any Button associated with that Service, where *pin* is the ESP32 pin to which the pushbutton is connected, and *pressType* is an integer that can also be represented by the enum constants indicated: +HomeSpan automatically calls the `button(int pin, int pressType)` method of a Service upon a trigger event in any Button associated with that Service, where *pin* is the ESP32 pin to which the pushbutton is connected, and *pressType* is an integer that can also be represented by the enum constants indicated: * 0=single press (SpanButton::SINGLE) * 1=double press (SpanButton::DOUBLE) * 2=long press (SpanButton::LONG) -* HomeSpan will report a warning, but not an error, during initialization if the user had not overridden the virtual button() method for a Service contaning one or more Buttons; triggers of those Buttons will simply ignored. +HomeSpan will report a warning, but not an error, during initialization if the user had not overridden the virtual button() method for a Service contaning one or more Buttons; triggers of those Buttons will simply ignored.