authorNathael Pajani <nathael.pajani@ed3l.fr>
Mon, 21 Sep 2015 15:43:12 +0000 (17:43 +0200)
committerNathael Pajani <nathael.pajani@ed3l.fr>
Mon, 21 Sep 2015 15:43:12 +0000 (17:43 +0200)
include/lib/stdio.h
lib/uprintf.c [new file with mode: 0644]

index 9fee492..e6ee86d 100644 (file)
 
 int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
 
+
 int snprintf(char* buf, size_t size, const char *format, ...);
 
 
+int uprintf(int uart_num, const char *format, ...);
+
 
 #endif /* LIB_STDIO_H */
diff --git a/lib/uprintf.c b/lib/uprintf.c
new file mode 100644 (file)
index 0000000..21bf733
--- /dev/null
@@ -0,0 +1,45 @@
+/****************************************************************************
+ *  lib/uprintf.c
+ *
+ * UART printf
+ * 
+ * Copyright 2012 Nathael Pajani <nathael.pajani@ed3l.fr>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *************************************************************************** */
+
+#include <stdarg.h>
+#include <stdint.h>
+#include "drivers/serial.h"
+#include "lib/string.h"
+#include "lib/stdio.h"
+
+
+int uprintf(int uart_num, const char* format, ...)
+{
+       char printf_buf[SERIAL_OUT_BUFF_SIZE];
+       va_list args;
+       int len;
+
+       va_start(args, format);
+    len = vsnprintf(printf_buf, SERIAL_OUT_BUFF_SIZE, format, args);
+    va_end(args);
+
+       serial_write(uart_num, printf_buf, len);
+
+    return len;
+}
+
+