InterruptIn style DigitalIn debounced with callbacks for pin state change and pin state hold. Fork of original https://os.mbed.com/users/AjK/code/PinDetect/ and modification for compatibility with MbedOS6+

Committer:
JohnnyK
Date:
Thu Jun 09 18:25:42 2022 +0000
Revision:
4:947c59b48cb8
Parent:
3:911efbcb34b2
example correction

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AjK 0:4f4ccb203a70 1 /*
AjK 0:4f4ccb203a70 2 Copyright (c) 2010 Andy Kirkham
JohnnyK 3:911efbcb34b2 3 Copyright (c) 2022 Jan Kamidra
AjK 0:4f4ccb203a70 4
AjK 0:4f4ccb203a70 5 Permission is hereby granted, free of charge, to any person obtaining a copy
AjK 0:4f4ccb203a70 6 of this software and associated documentation files (the "Software"), to deal
AjK 0:4f4ccb203a70 7 in the Software without restriction, including without limitation the rights
AjK 0:4f4ccb203a70 8 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
AjK 0:4f4ccb203a70 9 copies of the Software, and to permit persons to whom the Software is
AjK 0:4f4ccb203a70 10 furnished to do so, subject to the following conditions:
AjK 0:4f4ccb203a70 11
AjK 0:4f4ccb203a70 12 The above copyright notice and this permission notice shall be included in
AjK 0:4f4ccb203a70 13 all copies or substantial portions of the Software.
AjK 0:4f4ccb203a70 14
AjK 0:4f4ccb203a70 15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
AjK 0:4f4ccb203a70 16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
AjK 0:4f4ccb203a70 17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AjK 0:4f4ccb203a70 18 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
AjK 0:4f4ccb203a70 19 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
AjK 0:4f4ccb203a70 20 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
AjK 0:4f4ccb203a70 21 THE SOFTWARE.
JohnnyK 3:911efbcb34b2 22
JohnnyK 3:911efbcb34b2 23 1.6 09 Jun 2022 - Convert for compatibility with MbedOS6+
JohnnyK 3:911efbcb34b2 24 FunctionPointrs were replaced with Callbacks
AjK 0:4f4ccb203a70 25
AjK 2:cb3afc45028b 26 1.5 13 Jan 2011 - Made the isr() protected and made the class a friend of Ticker.
AjK 2:cb3afc45028b 27 Read the previous state and store when the sample frequency is
AjK 2:cb3afc45028b 28 set so that initial assert_deassert_held() isn't called at startup.
AjK 2:cb3afc45028b 29
AjK 1:611a8f5ac65c 30 1.4 13 Jan 2011 - Added an extra overloaded constructor that allows
AjK 1:611a8f5ac65c 31 the DigitalIn PinMode to be passed when the the class
AjK 1:611a8f5ac65c 32 is declared. So mode() isn't really needed but is left
AjK 1:611a8f5ac65c 33 in for completeness.
AjK 1:611a8f5ac65c 34
AjK 0:4f4ccb203a70 35 1.3 13 Jan 2011 - Updated some doxygen comments.
AjK 0:4f4ccb203a70 36
AjK 0:4f4ccb203a70 37 1.2 13 Jan 2011 - Added ChangeLog.h file.
AjK 0:4f4ccb203a70 38
AjK 0:4f4ccb203a70 39 1.1 13 Jan 2011 - Fixed some typos.
AjK 0:4f4ccb203a70 40
AjK 0:4f4ccb203a70 41 1.0 13 Jan 2011 - Initial release.
AjK 0:4f4ccb203a70 42
AjK 0:4f4ccb203a70 43 */