py/mpconfig: Provide config option for internal printf printer.
The C-level printf is usually used for internal debugging prints, and a port/board may want to redirect this somewhere other than stdout. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
b3c8ab37ec
commit
78dc2db2ba
@ -904,6 +904,11 @@ typedef double mp_float_t;
|
|||||||
#define MICROPY_USE_INTERNAL_PRINTF (1)
|
#define MICROPY_USE_INTERNAL_PRINTF (1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// The mp_print_t printer used for printf output when MICROPY_USE_INTERNAL_PRINTF is enabled
|
||||||
|
#ifndef MICROPY_INTERNAL_PRINTF_PRINTER
|
||||||
|
#define MICROPY_INTERNAL_PRINTF_PRINTER (&mp_plat_print)
|
||||||
|
#endif
|
||||||
|
|
||||||
// Support for internal scheduler
|
// Support for internal scheduler
|
||||||
#ifndef MICROPY_ENABLE_SCHEDULER
|
#ifndef MICROPY_ENABLE_SCHEDULER
|
||||||
#define MICROPY_ENABLE_SCHEDULER (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES)
|
#define MICROPY_ENABLE_SCHEDULER (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EXTRA_FEATURES)
|
||||||
|
@ -60,13 +60,13 @@ int snprintf(char *str, size_t size, const char *fmt, ...);
|
|||||||
int printf(const char *fmt, ...) {
|
int printf(const char *fmt, ...) {
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
int ret = mp_vprintf(&mp_plat_print, fmt, ap);
|
int ret = mp_vprintf(MICROPY_INTERNAL_PRINTF_PRINTER, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vprintf(const char *fmt, va_list ap) {
|
int vprintf(const char *fmt, va_list ap) {
|
||||||
return mp_vprintf(&mp_plat_print, fmt, ap);
|
return mp_vprintf(MICROPY_INTERNAL_PRINTF_PRINTER, fmt, ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
// need this because gcc optimises printf("%c", c) -> putchar(c), and printf("a") -> putchar('a')
|
// need this because gcc optimises printf("%c", c) -> putchar(c), and printf("a") -> putchar('a')
|
||||||
|
Loading…
Reference in New Issue
Block a user