From e2197f6b783e04021aece80b97082cfca28e5b1c Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Sat, 13 Apr 2013 20:11:40 -0400 Subject: [PATCH] Adding additional convenience functions to print. - Directly printing numbers rather than having to convert them into strings first --- Debug/print/print.c | 40 ++++++++++++++++++++++++++++++++++++++++ Debug/print/print.h | 7 +++++++ 2 files changed, 47 insertions(+) diff --git a/Debug/print/print.c b/Debug/print/print.c index 04590ad..7c4f2ed 100644 --- a/Debug/print/print.c +++ b/Debug/print/print.c @@ -91,6 +91,46 @@ void _print(const char *s) +// Number Printing Functions +void printInt8( uint8_t in ) +{ + // Max number of characters is 3 + 1 for null + char tmpStr[4]; + + // Convert number + int8ToStr( in, tmpStr ); + + // Print number + dPrintStr( tmpStr ); +} + +void printInt16( uint16_t in ) +{ + // Max number of characters is 5 + 1 for null + char tmpStr[6]; + + // Convert number + int16ToStr( in, tmpStr ); + + // Print number + dPrintStr( tmpStr ); +} + +void printHex_op( uint16_t in, uint8_t op ) +{ + // With an op of 1, the max number of characters is 6 + 1 for null + // e.g. "0xFFFF\0" + // op 2 and 4 require fewer characters (2+1 and 4+1 respectively) + char tmpStr[7]; + + // Convert number + hexToStr_op( in, tmpStr, op ); + + // Print number + dPrintStr( tmpStr ); +} + + // String Functions void int8ToStr( uint8_t in, char* out ) diff --git a/Debug/print/print.h b/Debug/print/print.h index 2383d87..ee36203 100644 --- a/Debug/print/print.h +++ b/Debug/print/print.h @@ -86,6 +86,13 @@ void usb_debug_putstr( char* s ); void usb_debug_putstrs( char* first, ... ); +// Printing numbers +#define printHex(hex) printHex_op(hex, 1) + +void printInt8 ( uint8_t in ); +void printInt16 ( uint16_t in ); +void printHex_op( uint16_t in, uint8_t op ); + // String Functions #define hexToStr(hex, out) hexToStr_op(hex, out, 1)