summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2021-07-06 11:25:41 +1000
committerDamien George <damien@micropython.org>2021-07-08 12:59:31 +1000
commit132d93886fd7431a739957b0d2e3bd1b7fdcf404 (patch)
tree87b0126d219848b380843b2960ca26c1f26fb82c
parent20a6044952281a4f55a5ee83bcaca88ec1b870f9 (diff)
ports: Use common mp_hal_stdout_tx_strn_cooked instead of custom one.
To reduce code duplication. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--ports/cc3200/application.mk1
-rw-r--r--ports/cc3200/hal/cc3200_hal.c23
-rw-r--r--ports/esp32/main/CMakeLists.txt1
-rw-r--r--ports/esp32/mphalport.c24
-rw-r--r--ports/esp8266/Makefile1
-rw-r--r--ports/esp8266/esp_mphal.c23
-rw-r--r--ports/stm32/Makefile1
-rw-r--r--ports/stm32/mphalport.c24
8 files changed, 4 insertions, 94 deletions
diff --git a/ports/cc3200/application.mk b/ports/cc3200/application.mk
index 2125274ae..5c8fc9e40 100644
--- a/ports/cc3200/application.mk
+++ b/ports/cc3200/application.mk
@@ -147,6 +147,7 @@ APP_LIB_SRC_C = $(addprefix lib/,\
utils/gchelper_native.c \
utils/pyexec.c \
utils/interrupt_char.c \
+ utils/stdout_helpers.c \
utils/sys_stdio_mphal.c \
)
diff --git a/ports/cc3200/hal/cc3200_hal.c b/ports/cc3200/hal/cc3200_hal.c
index bdb7d33d4..3a35e39e1 100644
--- a/ports/cc3200/hal/cc3200_hal.c
+++ b/ports/cc3200/hal/cc3200_hal.c
@@ -141,10 +141,6 @@ void mp_hal_delay_ms(mp_uint_t delay) {
}
}
-void mp_hal_stdout_tx_str(const char *str) {
- mp_hal_stdout_tx_strn(str, strlen(str));
-}
-
void mp_hal_stdout_tx_strn(const char *str, size_t len) {
if (MP_STATE_PORT(os_term_dup_obj)) {
if (mp_obj_is_type(MP_STATE_PORT(os_term_dup_obj)->stream_o, &pyb_uart_type)) {
@@ -158,25 +154,6 @@ void mp_hal_stdout_tx_strn(const char *str, size_t len) {
telnet_tx_strn(str, len);
}
-void mp_hal_stdout_tx_strn_cooked (const char *str, size_t len) {
- int32_t nslen = 0;
- const char *_str = str;
-
- for (int i = 0; i < len; i++) {
- if (str[i] == '\n') {
- mp_hal_stdout_tx_strn(_str, nslen);
- mp_hal_stdout_tx_strn("\r\n", 2);
- _str += nslen + 1;
- nslen = 0;
- } else {
- nslen++;
- }
- }
- if (_str < str + len) {
- mp_hal_stdout_tx_strn(_str, nslen);
- }
-}
-
int mp_hal_stdin_rx_chr(void) {
for ( ;; ) {
// read telnet first
diff --git a/ports/esp32/main/CMakeLists.txt b/ports/esp32/main/CMakeLists.txt
index fb08c2759..ed72a8d68 100644
--- a/ports/esp32/main/CMakeLists.txt
+++ b/ports/esp32/main/CMakeLists.txt
@@ -27,6 +27,7 @@ set(MICROPY_SOURCE_LIB
${MICROPY_DIR}/lib/oofatfs/ffunicode.c
${MICROPY_DIR}/lib/timeutils/timeutils.c
${MICROPY_DIR}/lib/utils/interrupt_char.c
+ ${MICROPY_DIR}/lib/utils/stdout_helpers.c
${MICROPY_DIR}/lib/utils/sys_stdio_mphal.c
${MICROPY_DIR}/lib/utils/pyexec.c
)
diff --git a/ports/esp32/mphalport.c b/ports/esp32/mphalport.c
index a0bafb755..db2146d93 100644
--- a/ports/esp32/mphalport.c
+++ b/ports/esp32/mphalport.c
@@ -108,10 +108,6 @@ int mp_hal_stdin_rx_chr(void) {
}
}
-void mp_hal_stdout_tx_str(const char *str) {
- mp_hal_stdout_tx_strn(str, strlen(str));
-}
-
void mp_hal_stdout_tx_strn(const char *str, uint32_t len) {
// Only release the GIL if many characters are being sent
bool release_gil = len > 20;
@@ -131,26 +127,6 @@ void mp_hal_stdout_tx_strn(const char *str, uint32_t len) {
mp_uos_dupterm_tx_strn(str, len);
}
-// Efficiently convert "\n" to "\r\n"
-void mp_hal_stdout_tx_strn_cooked(const char *str, size_t len) {
- const char *last = str;
- while (len--) {
- if (*str == '\n') {
- if (str > last) {
- mp_hal_stdout_tx_strn(last, str - last);
- }
- mp_hal_stdout_tx_strn("\r\n", 2);
- ++str;
- last = str;
- } else {
- ++str;
- }
- }
- if (str > last) {
- mp_hal_stdout_tx_strn(last, str - last);
- }
-}
-
uint32_t mp_hal_ticks_ms(void) {
return esp_timer_get_time() / 1000;
}
diff --git a/ports/esp8266/Makefile b/ports/esp8266/Makefile
index 02ea05f76..9d6aea603 100644
--- a/ports/esp8266/Makefile
+++ b/ports/esp8266/Makefile
@@ -145,6 +145,7 @@ LIB_SRC_C = $(addprefix lib/,\
timeutils/timeutils.c \
utils/pyexec.c \
utils/interrupt_char.c \
+ utils/stdout_helpers.c \
utils/sys_stdio_mphal.c \
)
diff --git a/ports/esp8266/esp_mphal.c b/ports/esp8266/esp_mphal.c
index 54f9611e5..06e6cd0af 100644
--- a/ports/esp8266/esp_mphal.c
+++ b/ports/esp8266/esp_mphal.c
@@ -91,33 +91,10 @@ void mp_hal_debug_str(const char *str) {
}
#endif
-void mp_hal_stdout_tx_str(const char *str) {
- mp_uos_dupterm_tx_strn(str, strlen(str));
-}
-
void mp_hal_stdout_tx_strn(const char *str, uint32_t len) {
mp_uos_dupterm_tx_strn(str, len);
}
-void mp_hal_stdout_tx_strn_cooked(const char *str, uint32_t len) {
- const char *last = str;
- while (len--) {
- if (*str == '\n') {
- if (str > last) {
- mp_uos_dupterm_tx_strn(last, str - last);
- }
- mp_uos_dupterm_tx_strn("\r\n", 2);
- ++str;
- last = str;
- } else {
- ++str;
- }
- }
- if (str > last) {
- mp_uos_dupterm_tx_strn(last, str - last);
- }
-}
-
void mp_hal_debug_tx_strn_cooked(void *env, const char *str, uint32_t len) {
(void)env;
while (len--) {
diff --git a/ports/stm32/Makefile b/ports/stm32/Makefile
index 4ec03c174..9c6370707 100644
--- a/ports/stm32/Makefile
+++ b/ports/stm32/Makefile
@@ -167,6 +167,7 @@ LIB_SRC_C += $(addprefix lib/,\
utils/gchelper_native.c \
utils/pyexec.c \
utils/interrupt_char.c \
+ utils/stdout_helpers.c \
utils/sys_stdio_mphal.c \
utils/mpirq.c \
)
diff --git a/ports/stm32/mphalport.c b/ports/stm32/mphalport.c
index 0e40911ed..81e84ef93 100644
--- a/ports/stm32/mphalport.c
+++ b/ports/stm32/mphalport.c
@@ -53,10 +53,6 @@ MP_WEAK int mp_hal_stdin_rx_chr(void) {
}
}
-void mp_hal_stdout_tx_str(const char *str) {
- mp_hal_stdout_tx_strn(str, strlen(str));
-}
-
MP_WEAK void mp_hal_stdout_tx_strn(const char *str, size_t len) {
if (MP_STATE_PORT(pyb_stdio_uart) != NULL) {
uart_tx_strn(MP_STATE_PORT(pyb_stdio_uart), str, len);
@@ -67,26 +63,6 @@ MP_WEAK void mp_hal_stdout_tx_strn(const char *str, size_t len) {
mp_uos_dupterm_tx_strn(str, len);
}
-// Efficiently convert "\n" to "\r\n"
-void mp_hal_stdout_tx_strn_cooked(const char *str, size_t len) {
- const char *last = str;
- while (len--) {
- if (*str == '\n') {
- if (str > last) {
- mp_hal_stdout_tx_strn(last, str - last);
- }
- mp_hal_stdout_tx_strn("\r\n", 2);
- ++str;
- last = str;
- } else {
- ++str;
- }
- }
- if (str > last) {
- mp_hal_stdout_tx_strn(last, str - last);
- }
-}
-
#if __CORTEX_M >= 0x03
void mp_hal_ticks_cpu_enable(void) {
if (!(DWT->CTRL & DWT_CTRL_CYCCNTENA_Msk)) {