PropWare
3.0.0.229
C++ objects and CMake build system for Parallax Propeller
Simple-Libraries
Learn
Simple Libraries
Interface
libkeypad
getNumber.c
1
/*
2
@file keypad.c
3
4
@author Andy Lindsay
5
6
@version v1.1.6
7
8
@copyright
9
Copyright (C) Parallax, Inc. 2017. All Rights MIT Licensed.
10
11
@brief keypad library source.
12
*/
13
14
#include "
keypad.h
"
15
16
static
int
lastKey;
17
18
int
keypad_getNumber
()
// getNumber function
19
{
20
int
key = -1;
// Key & number variables
21
int
number = 0;
// Start with zero
22
lastKey = -1;
23
24
while
(1)
// Get number loop
25
{
26
key =
keypad_read
();
// Get pressed key (or -1 for none)
27
28
if
( (key >= 0) && (key <= 9) )
// If a digit key was pressed
29
{
30
number = number * 10 + key;
// Make next digit in number
31
print
(
"%d"
, key);
// Display the key that was pressed
32
}
33
else
if
(key > 9)
// If # pressed
34
{
35
print
(
" %c "
, key);
// Advance to next line
36
lastKey = key;
37
}
38
39
while
(key != -1)
// Wait for key to be released
40
{
// before taking another digit
41
key =
keypad_read
();
42
}
43
if
(lastKey > 9)
break
;
// Break if non-digit
44
}
45
return
number;
// Return number value
46
}
47
48
49
int
keypad_getNumberEndKey
(
void
)
// getNumber function
50
{
51
return
lastKey;
52
}
53
54
keypad_getNumber
int keypad_getNumber(void)
Get a number from the keypad. The number will be retured as soon as a non-numeric key is pressed and ...
Definition:
getNumber.c:18
keypad_read
int keypad_read(void)
Returns the first key pressed, or -1 if no key is pressed.
Definition:
keypad.c:42
print
int print(const char *format,...) __attribute__((format(printf
Print format "..." args to the default simple terminal device. The output is limited to 256 bytes.
keypad.h
Scans matrix keypad and returns a unique value for each key that is pressed. For an example circuit a...
keypad_getNumberEndKey
int keypad_getNumberEndKey(void)
Get the key that terminated number received by keypad_getNumber.
Definition:
getNumber.c:49
Generated on Fri May 20 2022 16:48:04 for PropWare by
1.8.17