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]; +};