From 5e1ac514ea99f1b73aa815c392869c2a09c0a663 Mon Sep 17 00:00:00 2001 From: Stefan `Sec` Zehl Date: Wed, 27 Jul 2011 23:41:09 +0200 Subject: [PATCH] Add simple itoa-style function --- firmware/basic/Makefile | 1 + firmware/basic/basic.h | 4 +++- firmware/basic/itoa.c | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 firmware/basic/itoa.c diff --git a/firmware/basic/Makefile b/firmware/basic/Makefile index e831d6d..eb3b501 100644 --- a/firmware/basic/Makefile +++ b/firmware/basic/Makefile @@ -19,6 +19,7 @@ OBJS += byteorder.o OBJS += random.o OBJS += idle.o OBJS += config.o +OBJS += itoa.o LIBNAME=basic diff --git a/firmware/basic/basic.h b/firmware/basic/basic.h index c10a31a..d218cd6 100644 --- a/firmware/basic/basic.h +++ b/firmware/basic/basic.h @@ -203,5 +203,7 @@ int applyConfig(void); #define SYSTICKSPEED 10 -#endif +// itoa.c +const char* IntToStrX(unsigned int num, unsigned int mxlen); +#endif diff --git a/firmware/basic/itoa.c b/firmware/basic/itoa.c new file mode 100644 index 0000000..9cc8de5 --- /dev/null +++ b/firmware/basic/itoa.c @@ -0,0 +1,15 @@ +#define LEN 32 + +const char* IntToStrX(unsigned int num, unsigned int mxlen){ + static char s[LEN+1]; + char * o=s; + int len; + s[LEN]=0; + for (len=(LEN-1);len>=(LEN-mxlen);len--){ + s[len]=(num%16)+'0'; + if(s[len]>'9') + s[len]+='A'-'9'-1; + num/=16; + }; + return &s[len+1]; +};