From 9a6120354b9b0ecc26d4eeac20dd7acd3361984d Mon Sep 17 00:00:00 2001 From: Chris Sphinx Date: Tue, 10 Nov 2015 19:46:38 -0500 Subject: [PATCH 1/2] fix cio_printb() on MSP430 due to `rra` instruction --- libconio/Makefile | 4 ++-- libconio/src/conio.c | 7 ++----- libi2c/Makefile | 4 ++-- libnrf24l01/Makefile | 4 ++-- libserial/Makefile | 4 ++-- libshell/Makefile | 4 ++-- 6 files changed, 12 insertions(+), 15 deletions(-) diff --git a/libconio/Makefile b/libconio/Makefile index 074758d..e4f4a32 100644 --- a/libconio/Makefile +++ b/libconio/Makefile @@ -35,9 +35,9 @@ check: make -C $(SRCDIR) check install: target - install -D -d -m 755 $(INSTDIR)/lib + install -d -m 755 $(INSTDIR)/lib install -m 644 ./lib/*.a $(INSTDIR)/lib/. - install -D -d -m 755 $(INSTDIR)/include/libemb/conio + install -d -m 755 $(INSTDIR)/include/libemb/conio install -m 644 ./src/include/*.h $(INSTDIR)/include/libemb/conio/. deploy-bin: clean target gen-docs diff --git a/libconio/src/conio.c b/libconio/src/conio.c index 5d16fe8..5962eda 100644 --- a/libconio/src/conio.c +++ b/libconio/src/conio.c @@ -53,13 +53,10 @@ void cio_printi(int n) void cio_printb(int n, int size) { - int i; - int mask = 1 << (size - 1); - - for(i = 0; i < size; i++) { - if((n & (mask >> i)) != 0) { + for(i = size - 1; i >= 0; i--) { + if((n >> i) & 1) { cio_printc('1'); } else { cio_printc('0'); diff --git a/libi2c/Makefile b/libi2c/Makefile index a64634b..d218a75 100644 --- a/libi2c/Makefile +++ b/libi2c/Makefile @@ -35,9 +35,9 @@ check: make -C $(SRCDIR) check install: target - install -D -d -m 755 $(INSTDIR)/lib + install -d -m 755 $(INSTDIR)/lib install -m 644 ./lib/*.a $(INSTDIR)/lib/. - install -D -d -m 755 $(INSTDIR)/include/libemb/i2c + install -d -m 755 $(INSTDIR)/include/libemb/i2c install -m 644 ./src/include/*.h $(INSTDIR)/include/libemb/i2c/. deploy-bin: clean target gen-docs diff --git a/libnrf24l01/Makefile b/libnrf24l01/Makefile index 8ca2266..0748947 100644 --- a/libnrf24l01/Makefile +++ b/libnrf24l01/Makefile @@ -36,9 +36,9 @@ check: make -C $(SRCDIR) check install: target - install -D -d -m 755 $(INSTDIR)/lib + install -d -m 755 $(INSTDIR)/lib install -m 644 ./lib/*.a $(INSTDIR)/lib/. - install -D -d -m 755 $(INSTDIR)/include/libemb/nrf24l01 + install -d -m 755 $(INSTDIR)/include/libemb/nrf24l01 install -m 644 ./src/include/*.h $(INSTDIR)/include/libemb/nrf24l01/. deploy-bin: clean target gen-docs diff --git a/libserial/Makefile b/libserial/Makefile index d07c2d6..e912578 100644 --- a/libserial/Makefile +++ b/libserial/Makefile @@ -35,9 +35,9 @@ check: make -C $(SRCDIR) check install: target - install -D -d -m 755 $(INSTDIR)/lib + install -d -m 755 $(INSTDIR)/lib install -m 644 ./lib/*.a $(INSTDIR)/lib/. - install -D -d -m 755 $(INSTDIR)/include/libemb/serial + install -d -m 755 $(INSTDIR)/include/libemb/serial install -m 644 ./src/include/*.h $(INSTDIR)/include/libemb/serial/. deploy-bin: clean target gen-docs diff --git a/libshell/Makefile b/libshell/Makefile index 9210595..1a54cd1 100644 --- a/libshell/Makefile +++ b/libshell/Makefile @@ -35,9 +35,9 @@ check: make -C $(SRCDIR) check install: target - install -D -d -m 755 $(INSTDIR)/lib + install -d -m 755 $(INSTDIR)/lib install -m 644 ./lib/*.a $(INSTDIR)/lib/. - install -D -d -m 755 $(INSTDIR)/include/libemb/shell + install -d -m 755 $(INSTDIR)/include/libemb/shell install -m 644 ./src/include/*.h $(INSTDIR)/include/libemb/shell/. deploy-bin: clean target gen-docs From a82f8645d3bcb03efd63f010bdce5ed735837f59 Mon Sep 17 00:00:00 2001 From: chrissphinx <2583639+chrissphinx@users.noreply.github.com> Date: Sat, 28 Jan 2023 13:08:48 -0500 Subject: [PATCH 2/2] Allow using `%d` for signed integer (#2) --- libconio/src/conio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libconio/src/conio.c b/libconio/src/conio.c index 5962eda..9f8086a 100644 --- a/libconio/src/conio.c +++ b/libconio/src/conio.c @@ -122,9 +122,10 @@ void cio_printf(char *format, ...) cio_printc((char)va_arg(a, int)); break; case 'i': // 16 bit Integer + case 'd': // 16 bit Integer case 'u': // 16 bit Unsigned i = va_arg(a, int); - if(c == 'i' && i < 0) i = -i, cio_printc('-'); + if((c == 'i' || c =='d') && i < 0) i = -i, cio_printc('-'); _xtoa((unsigned)i, _dv + 5); break; case 'l': // 32 bit Long