39 Serial.println(F(
"\nTestAbleButton: AbleButtons Test Harness.\n"));
41 pinMode(LED_BUILTIN, OUTPUT);
43# if TESTABLE_CLASS >= TESTABLE_BUTTON
44 Button::setHeldTime(2500);
45 assert(Button::heldTime() == 2500);
46 Button::setIdleTime(5000);
47 assert(Button::idleTime() == 5000);
50# if TESTABLE_CLASS >= TESTABLE_DOUBLECLICKER
51 Button::setClickTime(750);
52 assert(Button::clickTime() == 750);
80 static unsigned long ms = millis();
81 bool resetSingleClicked =
false;
82 bool resetDoubleClicked =
false;
84 if(millis() - ms > 5000) {
85 Serial.println(F(
"Looking OK..."));
113#if TESTABLE_CLASS < TESTABLE_CLICKER
120 digitalWrite(LED_BUILTIN,
led);
130# if TESTABLE_CALLBACK
132 if(state.wasPressed) {
134 state.wasPressed =
false;
138 if(state.wasReleased) {
140 state.wasReleased =
false;
146 state.wasHeld =
false;
152 state.wasIdle =
false;
158 state.wasIdle =
false;
161# if TESTABLE_CLASS >= TESTABLE_CLICKER
163 if(state.wasClicked) {
165 state.wasClicked =
false;
168# if TESTABLE_CLASS >= TESTABLE_DOUBLECLICKER
170 if(state.wasSingleClicked) {
172 state.wasSingleClicked =
false;
175 if(state.resetSingleClicked) {
176 resetSingleClicked =
true;
177 state.resetSingleClicked =
false;
181 if(state.wasDoubleClicked) {
183 state.wasDoubleClicked =
false;
186 if(state.resetDoubleClicked) {
187 resetDoubleClicked =
true;
188 state.resetDoubleClicked =
false;
198# if TESTABLE_CLASS >= TESTABLE_CLICKER
204# if TESTABLE_CLASS >= TESTABLE_DOUBLECLICKER
205 if(resetSingleClicked) {
210 if(resetDoubleClicked) {
void onEvent(Button::CALLBACK_EVENT event, uint8_t id)
Callback function for button events.
Declarations for Callback module.
void checkButtonJustSingleClicked(Button *btn)
Check button that has just been single-clicked.
void checkButtonJustClicked(Button *btn)
Check button that has just been clicked.
void checkButtonListIntegrity()
Check integrity of ButtonList invariants (always hold true).
void checkButtonJustReleased(Button *btn)
Check button that has just been released.
void checkButtonJustHeld(Button *btn)
Check button that has just been held.
void checkButtonIntegrity(Button *btn, ButtonState &state)
Check integrity of Button invariants (always hold true).
void checkButtonJustIdle(Button *btn)
Check button that has just become or remains idle.
void checkButtonSetup(Button *btn)
Check the state of an individual button just setup.
void displayButtonChanges(int index)
Display button changes to Serial.
struct ButtonState btnState[NUM_BUTTONS]
Previous state for each button.
void checkButtonJustDoubleClicked(Button *btn)
Check button that has just been double-clicked.
void checkButtonJustPressed(Button *btn)
Check state of a pressed button just pressed.
Declarations for the Checks module.
Declarations to select which buttons we use.
#define NUM_BUTTONS
The number of buttons to connect for testing.
Utility function declarations.
#define assert(e)
Macro to assert using FlashStringHelper to reduce memory usage.