From 21d463d48ee26320eb8859ef44727ea6366ff76e Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Fri, 23 Mar 2012 17:01:55 -0400 Subject: [PATCH] sync file names to proper case --- button.cpp | 138 ----------------------------------------------------- button.h | 43 ----------------- 2 files changed, 181 deletions(-) delete mode 100644 button.cpp delete mode 100644 button.h diff --git a/button.cpp b/button.cpp deleted file mode 100644 index 98df134..0000000 --- a/button.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/*----------------------------------------------------------------------* - * Arduino Button Library v1.0 * - * Jack Christensen May 2011, published Mar 2012 * - * * - * Library for reading momentary contact switches like tactile button * - * switches. Intended for use in state machine constructs. * - * Use the read() function to read all buttons in the main loop, * - * which should execute as fast as possible. * - * * - * This work is licensed under the Creative Commons Attribution- * - * ShareAlike 3.0 Unported License. To view a copy of this license, * - * visit http://creativecommons.org/licenses/by-sa/3.0/ or send a * - * letter to Creative Commons, 171 Second Street, Suite 300, * - * San Francisco, California, 94105, USA. * - *----------------------------------------------------------------------*/ - -#include "Button.h" - -/*----------------------------------------------------------------------* - * Button(pin, puEnable, invert, dbTime) instantiates a button object. * - * pin Is the Arduino pin the button is connected to. * - * puEnable Enables the AVR internal pullup resistor if != 0 (can also * - * use true or false). * - * invert If invert == 0, interprets a high state as pressed, low as * - * released. If invert != 0, interprets a high state as * - * released, low as pressed (can also use true or false). * - * dbTime Is the debounce time in milliseconds. * - * * - * (Note that invert cannot be implied from puEnable since an external * - * pullup could be used.) * - *----------------------------------------------------------------------*/ -Button::Button(uint8_t pin, uint8_t puEnable, uint8_t invert, uint32_t dbTime) -{ - _pin = pin; - _puEnable = puEnable; - _invert = invert; - _dbTime = dbTime; - pinMode(_pin, INPUT); - if (_puEnable != 0) - digitalWrite(_pin, HIGH); //enable pullup resistor - _state = digitalRead(_pin); - if (_invert != 0) _state = !_state; - _time = millis(); - _lastState = _state; - _changed = 0; - _lastTime = _time; - _lastChange = _time; -} - -/*----------------------------------------------------------------------* - * read() returns the state of the button, 1==pressed, 0==released, * - * does debouncing, captures and maintains times, previous states, etc. * - *----------------------------------------------------------------------*/ -uint8_t Button::read(void) -{ - static uint32_t ms; - static uint8_t pinVal; - - ms = millis(); - pinVal = digitalRead(_pin); - if (_invert != 0) pinVal = !pinVal; - if (ms < _lastChange + _dbTime) { - _lastTime = _time; - _time = ms; - _changed = 0; - return _state; - } - else { - _lastTime = _time; - _lastState = _state; - _state = pinVal; - _time = ms; - if (_state != _lastState) { - _lastChange = ms; - _changed = 1; - } - else { - _changed = 0; - } - return _state; - } -} - -/*----------------------------------------------------------------------* - * isPressed() and isReleased() check the button state when it was last * - * read, and return false (0) or true (!=0) accordingly. * - * These functions do not cause the button to be read. * - *----------------------------------------------------------------------*/ -uint8_t Button::isPressed(void) -{ - return _state == 0 ? 0 : 1; -} - -uint8_t Button::isReleased(void) -{ - return _state == 0 ? 1 : 0; -} - -/*----------------------------------------------------------------------* - * wasPressed() and wasReleased() check the button state to see if it * - * changed between the last two reads and return false (0) or * - * true (!=0) accordingly. * - * These functions do not cause the button to be read. * - *----------------------------------------------------------------------*/ -uint8_t Button::wasPressed(void) -{ - return _state && _changed; -} - -uint8_t Button::wasReleased(void) -{ - return !_state && _changed; -} - -/*----------------------------------------------------------------------* - * pressedFor(ms) and releasedFor(ms) check to see if the button is * - * pressed (or released), and has been in that state for the specified * - * time in milliseconds. Returns false (0) or true (1) accordingly. * - * These functions do not cause the button to be read. * - *----------------------------------------------------------------------*/ -uint8_t Button::pressedFor(uint32_t ms) -{ - return (_state == 1 && _time - _lastChange >= ms) ? 1 : 0; -} - -uint8_t Button::releasedFor(uint32_t ms) -{ - return (_state == 0 && _time - _lastChange >= ms) ? 1 : 0; -} - -/*----------------------------------------------------------------------* - * lastChange() returns the time the button last changed state, * - * in milliseconds. * - *----------------------------------------------------------------------*/ -uint32_t Button::lastChange(void) -{ - return _lastChange; -} diff --git a/button.h b/button.h deleted file mode 100644 index 0eb8687..0000000 --- a/button.h +++ /dev/null @@ -1,43 +0,0 @@ -/*----------------------------------------------------------------------* - * Arduino Button Library v1.0 * - * Jack Christensen Mar 2012 * - * * - * This work is licensed under the Creative Commons Attribution- * - * ShareAlike 3.0 Unported License. To view a copy of this license, * - * visit http://creativecommons.org/licenses/by-sa/3.0/ or send a * - * letter to Creative Commons, 171 Second Street, Suite 300, * - * San Francisco, California, 94105, USA. * - *----------------------------------------------------------------------*/ -#ifndef Button_h -#define Button_h -#if ARDUINO >= 100 -#include -#else -#include -#endif -class Button -{ - public: - Button(uint8_t pin, uint8_t puEnable, uint8_t invert, uint32_t dbTime); - uint8_t read(); - uint8_t isPressed(); - uint8_t isReleased(); - uint8_t wasPressed(); - uint8_t wasReleased(); - uint8_t pressedFor(uint32_t ms); - uint8_t releasedFor(uint32_t ms); - uint32_t lastChange(); - - private: - uint8_t _pin; //arduino pin number - uint8_t _puEnable; //internal pullup resistor enabled - uint8_t _invert; //if 0, interpret high state as pressed, else interpret low state as pressed - uint8_t _state; //current button state - uint8_t _lastState; //previous button state - uint8_t _changed; //state changed since last read - uint32_t _time; //time of current state (all times are in ms) - uint32_t _lastTime; //time of previous state - uint32_t _lastChange; //time of last state change - uint32_t _dbTime; //debounce time -}; -#endif \ No newline at end of file