]>
Commit | Line | Data |
---|---|---|
1 | /* utility functions | |
2 | * | |
3 | * Copyright (c) 2014-16 Michael Gernoth <michael@gernoth.net> | |
4 | * | |
5 | * Permission is hereby granted, free of charge, to any person obtaining a copy | |
6 | * of this software and associated documentation files (the "Software"), to | |
7 | * deal in the Software without restriction, including without limitation the | |
8 | * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | |
9 | * sell copies of the Software, and to permit persons to whom the Software is | |
10 | * furnished to do so, subject to the following conditions: | |
11 | * | |
12 | * The above copyright notice and this permission notice shall be included in | |
13 | * all copies or substantial portions of the Software. | |
14 | * | |
15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |
20 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |
21 | * IN THE SOFTWARE. | |
22 | */ | |
23 | ||
24 | #include <inttypes.h> | |
25 | ||
26 | uint8_t ascii_to_nibble(uint8_t a) | |
27 | { | |
28 | uint8_t c = 0x00; | |
29 | ||
30 | if ((a >= '0') && (a <= '9')) { | |
31 | c = a - '0'; | |
32 | } else if ((a >= 'A') && (a <= 'F')) { | |
33 | c = (a - 'A') + 10; | |
34 | } else if ((a >= 'a') && (a <= 'f')) { | |
35 | c = (a - 'a') + 10; | |
36 | } | |
37 | ||
38 | return c; | |
39 | } | |
40 | ||
41 | int validate_nibble(uint8_t a) | |
42 | { | |
43 | if (((a >= '0') && (a <= '9')) || | |
44 | ((a >= 'A') && (a <= 'F')) || | |
45 | ((a >= 'a') && (a <= 'f'))) | |
46 | return 1; | |
47 | ||
48 | return 0; | |
49 | } | |
50 | ||
51 | char nibble_to_ascii(uint8_t n) | |
52 | { | |
53 | const uint8_t nibble[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', | |
54 | 'A', 'B', 'C', 'D', 'E', 'F'}; | |
55 | ||
56 | return nibble[n]; | |
57 | } |