Skip to content

Commit 09ef197

Browse files
authored
Merge pull request #48 from Zondax/utils_functions
Utils functions
2 parents fbfc106 + c808a99 commit 09ef197

2 files changed

Lines changed: 61 additions & 1 deletion

File tree

include/zxformat.h

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,66 @@ __Z_INLINE uint32_t array_to_hexstr(char *dst, uint16_t dstLen, const uint8_t *s
285285
return (uint32_t) (count * 2);
286286
}
287287

288+
__Z_INLINE uint32_t array_to_hexstr_uppercase(char *dst, uint16_t dstLen, const uint8_t *src, uint8_t count) {
289+
MEMZERO(dst, dstLen);
290+
if (dstLen < (count * 2 + 1)) {
291+
return 0;
292+
}
293+
294+
const char hexchars[] = "0123456789ABCDEF";
295+
for (uint8_t i = 0; i < count; i++, src++) {
296+
*dst++ = hexchars[*src >> 4u];
297+
*dst++ = hexchars[*src & 0x0Fu];
298+
}
299+
*dst = 0; // terminate string
300+
301+
return (uint32_t) (count * 2);
302+
}
303+
304+
__Z_INLINE zxerr_t to_uppercase(uint8_t *letter) {
305+
if (letter == NULL) {
306+
return zxerr_no_data;
307+
}
308+
//Check if lowercase letter
309+
if(*letter >= 0x61 && *letter <= 0x7A) {
310+
*letter = *letter - 0x20;
311+
}
312+
return zxerr_ok;
313+
}
314+
315+
__Z_INLINE zxerr_t to_lowercase(uint8_t *letter) {
316+
if (letter == NULL) {
317+
return zxerr_no_data;
318+
}
319+
//Check if uppercase letter
320+
if(*letter >= 0x41 && *letter <= 0x5A) {
321+
*letter = *letter + 0x20;
322+
}
323+
return zxerr_ok;
324+
}
325+
326+
__Z_INLINE zxerr_t array_to_uppercase(uint8_t *input, uint16_t inputLen) {
327+
if (input == NULL) {
328+
return zxerr_no_data;
329+
}
330+
331+
for (uint16_t i = 0; i < inputLen; i++) {
332+
to_uppercase(input+i);
333+
}
334+
return zxerr_ok;
335+
}
336+
337+
__Z_INLINE zxerr_t array_to_lowercase(uint8_t *input, uint16_t inputLen) {
338+
if (input == NULL) {
339+
return zxerr_no_data;
340+
}
341+
342+
for (uint16_t i = 0; i < inputLen; i++) {
343+
to_uppercase(input+i);
344+
}
345+
return zxerr_ok;
346+
}
347+
288348
__Z_INLINE void pageStringExt(char *outValue, uint16_t outValueLen,
289349
const char *inValue, uint16_t inValueLen,
290350
uint8_t pageIdx, uint8_t *pageCount) {

include/zxversion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717

1818
#define ZXLIB_MAJOR 15
1919
#define ZXLIB_MINOR 0
20-
#define ZXLIB_PATCH 0
20+
#define ZXLIB_PATCH 1

0 commit comments

Comments
 (0)