summaryrefslogtreecommitdiffstatshomepage
path: root/extmod
diff options
context:
space:
mode:
Diffstat (limited to 'extmod')
-rw-r--r--extmod/misc.h7
-rw-r--r--extmod/moduos_dupterm.c9
2 files changed, 16 insertions, 0 deletions
diff --git a/extmod/misc.h b/extmod/misc.h
index 032fcba613..39bfd5ecb5 100644
--- a/extmod/misc.h
+++ b/extmod/misc.h
@@ -27,6 +27,13 @@
// This file contains cumulative declarations for extmod/ .
+#include <stddef.h>
#include "py/runtime.h"
MP_DECLARE_CONST_FUN_OBJ(mp_uos_dupterm_obj);
+
+#if MICROPY_PY_OS_DUPTERM
+void mp_uos_dupterm_tx_strn(const char *str, size_t len);
+#else
+#define mp_uos_dupterm_tx_strn(s, l)
+#endif
diff --git a/extmod/moduos_dupterm.c b/extmod/moduos_dupterm.c
index d20986279a..7fe8524a56 100644
--- a/extmod/moduos_dupterm.c
+++ b/extmod/moduos_dupterm.c
@@ -34,6 +34,15 @@
#if MICROPY_PY_OS_DUPTERM
+void mp_uos_dupterm_tx_strn(const char *str, size_t len) {
+ if (MP_STATE_PORT(term_obj) != MP_OBJ_NULL) {
+ mp_obj_t write_m[3];
+ mp_load_method(MP_STATE_PORT(term_obj), MP_QSTR_write, write_m);
+ write_m[2] = mp_obj_new_bytearray_by_ref(len, (char*)str);
+ mp_call_method_n_kw(1, 0, write_m);
+ }
+}
+
STATIC mp_obj_t mp_uos_dupterm(mp_uint_t n_args, const mp_obj_t *args) {
if (n_args == 0) {
if (MP_STATE_PORT(term_obj) == MP_OBJ_NULL) {