From b336b6bb743159356f26dc79585186ca3c89cab6 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 9 Mar 2023 11:36:10 +1100 Subject: [PATCH] stm32/pybthread: Make pyb_thread_dump take a printer as its argument. Signed-off-by: Damien George --- ports/stm32/modmachine.c | 2 +- ports/stm32/pybthread.c | 15 ++++++--------- ports/stm32/pybthread.h | 4 +++- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/ports/stm32/modmachine.c b/ports/stm32/modmachine.c index 0021ef1c48..9f85e35811 100644 --- a/ports/stm32/modmachine.c +++ b/ports/stm32/modmachine.c @@ -239,7 +239,7 @@ STATIC mp_obj_t machine_info(size_t n_args, const mp_obj_t *args) { } #if MICROPY_PY_THREAD - pyb_thread_dump(); + pyb_thread_dump(print); #endif if (n_args == 1) { diff --git a/ports/stm32/pybthread.c b/ports/stm32/pybthread.c index 3af0112fad..57c8d1fdde 100644 --- a/ports/stm32/pybthread.c +++ b/ports/stm32/pybthread.c @@ -24,9 +24,6 @@ * THE SOFTWARE. */ -#include -#include - #include "py/obj.h" #include "boardctrl.h" #include "gccollect.h" @@ -142,11 +139,11 @@ uint32_t pyb_thread_new(pyb_thread_t *thread, void *stack, size_t stack_len, voi return (uint32_t)thread; // success } -void pyb_thread_dump(void) { +void pyb_thread_dump(const mp_print_t *print) { if (!pyb_thread_enabled) { - printf("THREAD: only main thread\n"); + mp_printf(print, "THREAD: only main thread\n"); } else { - printf("THREAD:\n"); + mp_printf(print, "THREAD:\n"); for (pyb_thread_t *th = pyb_thread_all; th != NULL; th = th->all_next) { bool runable = false; for (pyb_thread_t *th2 = pyb_thread_cur;; th2 = th2->run_next) { @@ -158,11 +155,11 @@ void pyb_thread_dump(void) { break; } } - printf(" id=%p sp=%p sz=%u", th, th->stack, th->stack_len); + mp_printf(print, " id=%p sp=%p sz=%u", th, th->stack, th->stack_len); if (runable) { - printf(" (runable)"); + mp_printf(print, " (runable)"); } - printf("\n"); + mp_printf(print, "\n"); } } } diff --git a/ports/stm32/pybthread.h b/ports/stm32/pybthread.h index 8e5ce2570c..4532b0de7b 100644 --- a/ports/stm32/pybthread.h +++ b/ports/stm32/pybthread.h @@ -26,6 +26,8 @@ #ifndef MICROPY_INCLUDED_STM32_PYBTHREAD_H #define MICROPY_INCLUDED_STM32_PYBTHREAD_H +#include "py/mpprint.h" + typedef struct _pyb_thread_t { void *sp; uint32_t local_state; @@ -48,7 +50,7 @@ extern pyb_thread_t *volatile pyb_thread_cur; void pyb_thread_init(pyb_thread_t *th); void pyb_thread_deinit(); uint32_t pyb_thread_new(pyb_thread_t *th, void *stack, size_t stack_len, void *entry, void *arg); -void pyb_thread_dump(void); +void pyb_thread_dump(const mp_print_t *print); static inline uint32_t pyb_thread_get_id(void) { return (uint32_t)pyb_thread_cur;