David Prentice / GLUE_STUFF_kbv

Dependents:   TFT_Touch_botao_v1 TFT_Touch_exemplo5_git_touch TESTE_1 TFT_Touch_exemplo6_git_touch_button_3_

Committer:
davidprentice
Date:
Tue May 11 16:24:13 2021 +0000
Revision:
2:81364824d56a
Parent:
0:5952bbaff1c6
add includes, typedef byte

Who changed what in which revision?

UserRevisionLine numberNew contents of line
davidprentice 0:5952bbaff1c6 1 /*
davidprentice 0:5952bbaff1c6 2 Copyright (c) 2011 Arduino. All right reserved.
davidprentice 0:5952bbaff1c6 3
davidprentice 0:5952bbaff1c6 4 This library is free software; you can redistribute it and/or
davidprentice 0:5952bbaff1c6 5 modify it under the terms of the GNU Lesser General Public
davidprentice 0:5952bbaff1c6 6 License as published by the Free Software Foundation; either
davidprentice 0:5952bbaff1c6 7 version 2.1 of the License, or (at your option) any later version.
davidprentice 0:5952bbaff1c6 8
davidprentice 0:5952bbaff1c6 9 This library is distributed in the hope that it will be useful,
davidprentice 0:5952bbaff1c6 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
davidprentice 0:5952bbaff1c6 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
davidprentice 0:5952bbaff1c6 12 See the GNU Lesser General Public License for more details.
davidprentice 0:5952bbaff1c6 13
davidprentice 0:5952bbaff1c6 14 You should have received a copy of the GNU Lesser General Public
davidprentice 0:5952bbaff1c6 15 License along with this library; if not, write to the Free Software
davidprentice 0:5952bbaff1c6 16 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
davidprentice 0:5952bbaff1c6 17 */
davidprentice 0:5952bbaff1c6 18
davidprentice 0:5952bbaff1c6 19 #include "itoa.h"
davidprentice 0:5952bbaff1c6 20 #include <string.h>
davidprentice 0:5952bbaff1c6 21
davidprentice 0:5952bbaff1c6 22 #ifdef __cplusplus
davidprentice 0:5952bbaff1c6 23 extern "C" {
davidprentice 0:5952bbaff1c6 24 #endif // __cplusplus
davidprentice 0:5952bbaff1c6 25
davidprentice 0:5952bbaff1c6 26 #if 0
davidprentice 0:5952bbaff1c6 27 /* reverse: reverse string s in place */
davidprentice 0:5952bbaff1c6 28 static void reverse(char s[])
davidprentice 0:5952bbaff1c6 29 {
davidprentice 0:5952bbaff1c6 30 int i, j ;
davidprentice 0:5952bbaff1c6 31 char c ;
davidprentice 0:5952bbaff1c6 32
davidprentice 0:5952bbaff1c6 33 for (i = 0, j = strlen(s) - 1 ; i < j ; i++, j--) {
davidprentice 0:5952bbaff1c6 34 c = s[i] ;
davidprentice 0:5952bbaff1c6 35 s[i] = s[j] ;
davidprentice 0:5952bbaff1c6 36 s[j] = c ;
davidprentice 0:5952bbaff1c6 37 }
davidprentice 0:5952bbaff1c6 38 }
davidprentice 0:5952bbaff1c6 39
davidprentice 0:5952bbaff1c6 40 /* itoa: convert n to characters in s */
davidprentice 0:5952bbaff1c6 41 extern void itoa(int n, char s[])
davidprentice 0:5952bbaff1c6 42 {
davidprentice 0:5952bbaff1c6 43 int i, sign ;
davidprentice 0:5952bbaff1c6 44
davidprentice 0:5952bbaff1c6 45 if ((sign = n) < 0) { /* record sign */
davidprentice 0:5952bbaff1c6 46 n = -n; /* make n positive */
davidprentice 0:5952bbaff1c6 47 }
davidprentice 0:5952bbaff1c6 48
davidprentice 0:5952bbaff1c6 49 i = 0;
davidprentice 0:5952bbaff1c6 50 do {
davidprentice 0:5952bbaff1c6 51 /* generate digits in reverse order */
davidprentice 0:5952bbaff1c6 52 s[i++] = n % 10 + '0'; /* get next digit */
davidprentice 0:5952bbaff1c6 53 } while ((n /= 10) > 0) ; /* delete it */
davidprentice 0:5952bbaff1c6 54
davidprentice 0:5952bbaff1c6 55 if (sign < 0) {
davidprentice 0:5952bbaff1c6 56 s[i++] = '-';
davidprentice 0:5952bbaff1c6 57 }
davidprentice 0:5952bbaff1c6 58
davidprentice 0:5952bbaff1c6 59 s[i] = '\0';
davidprentice 0:5952bbaff1c6 60
davidprentice 0:5952bbaff1c6 61 reverse(s) ;
davidprentice 0:5952bbaff1c6 62 }
davidprentice 0:5952bbaff1c6 63
davidprentice 0:5952bbaff1c6 64 #else
davidprentice 0:5952bbaff1c6 65
davidprentice 0:5952bbaff1c6 66 extern char *itoa(int value, char *string, int radix)
davidprentice 0:5952bbaff1c6 67 {
davidprentice 0:5952bbaff1c6 68 return ltoa(value, string, radix) ;
davidprentice 0:5952bbaff1c6 69 }
davidprentice 0:5952bbaff1c6 70
davidprentice 0:5952bbaff1c6 71 extern char *ltoa(long value, char *string, int radix)
davidprentice 0:5952bbaff1c6 72 {
davidprentice 0:5952bbaff1c6 73 char tmp[33];
davidprentice 0:5952bbaff1c6 74 char *tp = tmp;
davidprentice 0:5952bbaff1c6 75 long i;
davidprentice 0:5952bbaff1c6 76 unsigned long v;
davidprentice 0:5952bbaff1c6 77 int sign;
davidprentice 0:5952bbaff1c6 78 char *sp;
davidprentice 0:5952bbaff1c6 79
davidprentice 0:5952bbaff1c6 80 if (string == NULL) {
davidprentice 0:5952bbaff1c6 81 return 0 ;
davidprentice 0:5952bbaff1c6 82 }
davidprentice 0:5952bbaff1c6 83
davidprentice 0:5952bbaff1c6 84 if (radix > 36 || radix <= 1) {
davidprentice 0:5952bbaff1c6 85 return 0 ;
davidprentice 0:5952bbaff1c6 86 }
davidprentice 0:5952bbaff1c6 87
davidprentice 0:5952bbaff1c6 88 sign = (radix == 10 && value < 0);
davidprentice 0:5952bbaff1c6 89 if (sign) {
davidprentice 0:5952bbaff1c6 90 v = -value;
davidprentice 0:5952bbaff1c6 91 } else {
davidprentice 0:5952bbaff1c6 92 v = (unsigned long)value;
davidprentice 0:5952bbaff1c6 93 }
davidprentice 0:5952bbaff1c6 94
davidprentice 0:5952bbaff1c6 95 while (v || tp == tmp) {
davidprentice 0:5952bbaff1c6 96 i = v % radix;
davidprentice 0:5952bbaff1c6 97 v = v / radix;
davidprentice 0:5952bbaff1c6 98 if (i < 10) {
davidprentice 0:5952bbaff1c6 99 *tp++ = i + '0';
davidprentice 0:5952bbaff1c6 100 } else {
davidprentice 0:5952bbaff1c6 101 *tp++ = i + 'a' - 10;
davidprentice 0:5952bbaff1c6 102 }
davidprentice 0:5952bbaff1c6 103 }
davidprentice 0:5952bbaff1c6 104
davidprentice 0:5952bbaff1c6 105 sp = string;
davidprentice 0:5952bbaff1c6 106
davidprentice 0:5952bbaff1c6 107 if (sign) {
davidprentice 0:5952bbaff1c6 108 *sp++ = '-';
davidprentice 0:5952bbaff1c6 109 }
davidprentice 0:5952bbaff1c6 110 while (tp > tmp) {
davidprentice 0:5952bbaff1c6 111 *sp++ = *--tp;
davidprentice 0:5952bbaff1c6 112 }
davidprentice 0:5952bbaff1c6 113 *sp = 0;
davidprentice 0:5952bbaff1c6 114
davidprentice 0:5952bbaff1c6 115 return string;
davidprentice 0:5952bbaff1c6 116 }
davidprentice 0:5952bbaff1c6 117 #if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
davidprentice 0:5952bbaff1c6 118 (__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
davidprentice 0:5952bbaff1c6 119 extern char *utoa(unsigned value, char *string, int radix)
davidprentice 0:5952bbaff1c6 120 #else
davidprentice 0:5952bbaff1c6 121 extern char *utoa(unsigned long value, char *string, int radix)
davidprentice 0:5952bbaff1c6 122 #endif
davidprentice 0:5952bbaff1c6 123 {
davidprentice 0:5952bbaff1c6 124 return ultoa(value, string, radix) ;
davidprentice 0:5952bbaff1c6 125 }
davidprentice 0:5952bbaff1c6 126
davidprentice 0:5952bbaff1c6 127 extern char *ultoa(unsigned long value, char *string, int radix)
davidprentice 0:5952bbaff1c6 128 {
davidprentice 0:5952bbaff1c6 129 char tmp[33];
davidprentice 0:5952bbaff1c6 130 char *tp = tmp;
davidprentice 0:5952bbaff1c6 131 long i;
davidprentice 0:5952bbaff1c6 132 unsigned long v = value;
davidprentice 0:5952bbaff1c6 133 char *sp;
davidprentice 0:5952bbaff1c6 134
davidprentice 0:5952bbaff1c6 135 if (string == NULL) {
davidprentice 0:5952bbaff1c6 136 return 0;
davidprentice 0:5952bbaff1c6 137 }
davidprentice 0:5952bbaff1c6 138
davidprentice 0:5952bbaff1c6 139 if (radix > 36 || radix <= 1) {
davidprentice 0:5952bbaff1c6 140 return 0;
davidprentice 0:5952bbaff1c6 141 }
davidprentice 0:5952bbaff1c6 142
davidprentice 0:5952bbaff1c6 143 while (v || tp == tmp) {
davidprentice 0:5952bbaff1c6 144 i = v % radix;
davidprentice 0:5952bbaff1c6 145 v = v / radix;
davidprentice 0:5952bbaff1c6 146 if (i < 10) {
davidprentice 0:5952bbaff1c6 147 *tp++ = i + '0';
davidprentice 0:5952bbaff1c6 148 } else {
davidprentice 0:5952bbaff1c6 149 *tp++ = i + 'a' - 10;
davidprentice 0:5952bbaff1c6 150 }
davidprentice 0:5952bbaff1c6 151 }
davidprentice 0:5952bbaff1c6 152
davidprentice 0:5952bbaff1c6 153 sp = string;
davidprentice 0:5952bbaff1c6 154
davidprentice 0:5952bbaff1c6 155
davidprentice 0:5952bbaff1c6 156 while (tp > tmp) {
davidprentice 0:5952bbaff1c6 157 *sp++ = *--tp;
davidprentice 0:5952bbaff1c6 158 }
davidprentice 0:5952bbaff1c6 159 *sp = 0;
davidprentice 0:5952bbaff1c6 160
davidprentice 0:5952bbaff1c6 161 return string;
davidprentice 0:5952bbaff1c6 162 }
davidprentice 0:5952bbaff1c6 163 #endif /* 0 */
davidprentice 0:5952bbaff1c6 164
davidprentice 0:5952bbaff1c6 165 #ifdef __cplusplus
davidprentice 0:5952bbaff1c6 166 } // extern "C"
davidprentice 0:5952bbaff1c6 167 #endif // __cplusplus
davidprentice 0:5952bbaff1c6 168