You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ma...@apache.org on 2015/11/19 01:12:18 UTC

[05/14] incubator-mynewt-larva git commit: console_vprintf(), which is va_args version of console_printf(). Don't add newline automatically at the end of output in console_printf().

console_vprintf(), which is va_args version of console_printf().
Don't add newline automatically at the end of output in
console_printf().


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/commit/8ebf6cd0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/tree/8ebf6cd0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/diff/8ebf6cd0

Branch: refs/heads/master
Commit: 8ebf6cd0a572b3559661497b6c811fdb3a3ab91e
Parents: 339374f
Author: Marko Kiiskila <ma...@runtime.io>
Authored: Wed Nov 18 15:56:50 2015 -0800
Committer: Marko Kiiskila <ma...@runtime.io>
Committed: Wed Nov 18 15:56:50 2015 -0800

----------------------------------------------------------------------
 libs/console/full/include/console/console.h |  5 +++-
 libs/console/full/src/cons_fmt.c            | 32 +++++++++++++-----------
 libs/console/full/src/cons_tty.c            |  2 +-
 libs/console/stub/include/console/console.h | 13 ++++++++++
 libs/os/src/arch/cortex_m4/os_fault.c       | 14 +++++------
 5 files changed, 43 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/8ebf6cd0/libs/console/full/include/console/console.h
----------------------------------------------------------------------
diff --git a/libs/console/full/include/console/console.h b/libs/console/full/include/console/console.h
index 92fbc72..b331d83 100644
--- a/libs/console/full/include/console/console.h
+++ b/libs/console/full/include/console/console.h
@@ -16,13 +16,16 @@
 #ifndef __CONSOLE_H__
 #define __CONSOLE_H__
 
+#include <stdarg.h>
+
 typedef void (*console_rx_cb)(int full_line);
 
 int console_init(console_rx_cb rx_cb);
-void console_write(char *str, int cnt);
+void console_write(const char *str, int cnt);
 int console_read(char *str, int cnt);
 void console_blocking_mode(void);
 
 void console_printf(const char *fmt, ...);
+int console_vprintf(const char *fmt, va_list args);
 
 #endif /* __CONSOLE_H__ */

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/8ebf6cd0/libs/console/full/src/cons_fmt.c
----------------------------------------------------------------------
diff --git a/libs/console/full/src/cons_fmt.c b/libs/console/full/src/cons_fmt.c
index 48676a9..064018f 100644
--- a/libs/console/full/src/cons_fmt.c
+++ b/libs/console/full/src/cons_fmt.c
@@ -20,27 +20,31 @@
 
 #define CONS_OUTPUT_MAX_LINE	128
 
-void console_printf(const char *fmt, ...)
+int
+console_vprintf(const char *fmt, va_list args)
 {
-    va_list args;
     char buf[CONS_OUTPUT_MAX_LINE];
     int len;
 
-    len = snprintf(buf, sizeof(buf), "%lu:", (unsigned long)os_time_get());
-    console_write(buf, len);
-
-    va_start(args, fmt);
     len = vsnprintf(buf, sizeof(buf), fmt, args);
-    va_end(args);
-
     if (len >= sizeof(buf)) {
         len = sizeof(buf) - 1;
     }
-    if (buf[len - 1] != '\n') {
-        if (len != sizeof(buf) - 1) {
-            len++;
-        }
-        buf[len - 1] = '\n';
-    }
     console_write(buf, len);
+    return len;
+}
+
+void
+console_printf(const char *fmt, ...)
+{
+    va_list args;
+    char buf[24];
+    int len;
+
+    len = snprintf(buf, sizeof(buf), "%lu:", (unsigned long)os_time_get());
+    console_write(buf, len);
+
+    va_start(args, fmt);
+    len = console_vprintf(fmt, args);
+    va_end(args);
 }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/8ebf6cd0/libs/console/full/src/cons_tty.c
----------------------------------------------------------------------
diff --git a/libs/console/full/src/cons_tty.c b/libs/console/full/src/cons_tty.c
index 8e24d8f..31be30f 100644
--- a/libs/console/full/src/cons_tty.c
+++ b/libs/console/full/src/cons_tty.c
@@ -115,7 +115,7 @@ console_blocking_mode(void)
 }
 
 void
-console_write(char *str, int cnt)
+console_write(const char *str, int cnt)
 {
     struct console_tty *ct = &console_tty;
     int i;

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/8ebf6cd0/libs/console/stub/include/console/console.h
----------------------------------------------------------------------
diff --git a/libs/console/stub/include/console/console.h b/libs/console/stub/include/console/console.h
index 5f04d8e..f3204c1 100644
--- a/libs/console/stub/include/console/console.h
+++ b/libs/console/stub/include/console/console.h
@@ -16,6 +16,8 @@
 #ifndef __CONSOLE_H__
 #define __CONSOLE_H__
 
+#include <stdarg.h>
+
 typedef void (*console_rx_cb)(int full_line);
 
 static int inline
@@ -36,9 +38,20 @@ console_blocking_mode(void)
 }
 
 static void inline
+console_write(const char *str, int cnt)
+{
+}
+
+static void inline
 console_printf(const char *fmt, ...)
 {
 }
 
+static int inline
+console_vprintf(const char *fmt, va_list args)
+{
+    return 0;
+}
+
 #endif /* __CONSOLE__ */
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva/blob/8ebf6cd0/libs/os/src/arch/cortex_m4/os_fault.c
----------------------------------------------------------------------
diff --git a/libs/os/src/arch/cortex_m4/os_fault.c b/libs/os/src/arch/cortex_m4/os_fault.c
index b10760e..d31666b 100644
--- a/libs/os/src/arch/cortex_m4/os_fault.c
+++ b/libs/os/src/arch/cortex_m4/os_fault.c
@@ -68,18 +68,18 @@ void
 os_default_irq(struct trap_frame *tf)
 {
     console_blocking_mode();
-    console_printf("Unhandled interrupt (%d), exception sp %8.8x",
+    console_printf("Unhandled interrupt (%d), exception sp %8.8x\n",
       SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk, (uint32_t)tf->ef);
-    console_printf(" r0:%8.8x  r1:%8.8x  r2:%8.8x  r3:%8.8x",
+    console_printf(" r0:%8.8x  r1:%8.8x  r2:%8.8x  r3:%8.8x\n",
       tf->ef->r0, tf->ef->r1, tf->ef->r2, tf->ef->r3);
-    console_printf(" r4:%8.8x  r5:%8.8x  r6:%8.8x  r7:%8.8x",
+    console_printf(" r4:%8.8x  r5:%8.8x  r6:%8.8x  r7:%8.8x\n",
       tf->r4, tf->r5, tf->r6, tf->r7);
-    console_printf(" r8:%8.8x  r9:%8.8x r10:%8.8x r11:%8.8x",
+    console_printf(" r8:%8.8x  r9:%8.8x r10:%8.8x r11:%8.8x\n",
       tf->r8, tf->r9, tf->r10, tf->r11);
-    console_printf("r12:%8.8x  lr:%8.8x  pc:%8.8x psr:%8.8x",
+    console_printf("r12:%8.8x  lr:%8.8x  pc:%8.8x psr:%8.8x\n",
       tf->ef->r12, tf->ef->lr, tf->ef->pc, tf->ef->psr);
-    console_printf("ICSR:%8.8x HFSR:%8.8x CFSR:%8.8x",
+    console_printf("ICSR:%8.8x HFSR:%8.8x CFSR:%8.8x\n",
       SCB->ICSR, SCB->HFSR, SCB->CFSR);
-    console_printf("BFAR:%8.8x MMFAR:%8.8x", SCB->BFAR, SCB->MMFAR);
+    console_printf("BFAR:%8.8x MMFAR:%8.8x\n", SCB->BFAR, SCB->MMFAR);
     system_reset();
 }