@@ -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 ) {
0 commit comments