From 5676b41012bb4213472c3e9ca2786844ca31af06 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Mon, 23 Sep 2019 00:24:19 +0200 Subject: [PATCH] Update MP to 1.11 --- src/Makefile | 62 ++++++++++++++++++++++++++---------------------- src/micropython | 2 +- src/omv/main.c | 13 +++++----- src/omv/usbdbg.c | 4 ++-- 4 files changed, 44 insertions(+), 37 deletions(-) diff --git a/src/Makefile b/src/Makefile index 158a5c95c..ed3f20112 100755 --- a/src/Makefile +++ b/src/Makefile @@ -286,7 +286,6 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\ pendsv.o \ bufhelper.o \ usb.o \ - gchelper.o \ gccollect.o \ help.o \ flash.o \ @@ -299,9 +298,11 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\ dma.o \ uart.o \ systick.o \ + powerctrl.o \ i2c.o \ pyb_i2c.o \ spi.o \ + pyb_spi.o \ can.o \ fdcan.o \ pyb_can.o \ @@ -327,6 +328,8 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/,\ modnetwork.o \ modmachine.o \ machine_i2c.o \ + machine_spi.o \ + machine_uart.o \ pybthread.o \ mpthreadport.o \ posix_helpers.o \ @@ -339,10 +342,12 @@ endif #------------- MicroPy Objects ----------------# FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/,\ + utils/mpirq.o \ utils/pyexec.o \ utils/printf.o \ utils/interrupt_char.o \ utils/sys_stdio_mphal.o \ + utils/gchelper_m3.o \ libc/string0.o \ netutils/netutils.o \ timeutils/timeutils.o \ @@ -352,32 +357,33 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/,\ ) FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/libm/,\ - math.o \ - roundf.o \ - asinfacosf.o \ - atanf.o \ - atan2f.o \ - fmodf.o \ - log1pf.o \ - acoshf.o \ - asinhf.o \ - atanhf.o \ - kf_rem_pio2.o \ - kf_sin.o \ - kf_cos.o \ - kf_tan.o \ - ef_rem_pio2.o \ - erf_lgamma.o \ - sf_sin.o \ - sf_cos.o \ - sf_tan.o \ - sf_frexp.o \ - sf_modf.o \ - sf_ldexp.o \ - sf_erf.o \ - wf_lgamma.o \ - wf_tgamma.o \ - nearbyintf.o \ + math.o \ + roundf.o \ + asinfacosf.o \ + atanf.o \ + atan2f.o \ + fmodf.o \ + log1pf.o \ + acoshf.o \ + asinhf.o \ + atanhf.o \ + kf_rem_pio2.o \ + kf_sin.o \ + kf_cos.o \ + kf_tan.o \ + ef_rem_pio2.o \ + erf_lgamma.o \ + sf_sin.o \ + sf_cos.o \ + sf_tan.o \ + sf_frexp.o \ + sf_modf.o \ + sf_ldexp.o \ + sf_erf.o \ + wf_lgamma.o \ + wf_tgamma.o \ + nearbyintf.o \ + thumb_vfp_sqrtf.o \ ) FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/mp-readline/,\ @@ -427,7 +433,7 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/extmod/,\ FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/lib/oofatfs/,\ ff.o \ - option/unicode.o \ + ffunicode.o \ ) FIRM_OBJ += $(addprefix $(BUILD)/$(MICROPY_DIR)/drivers/,\ diff --git a/src/micropython b/src/micropython index 7747c5b36..73ae6b5fc 160000 --- a/src/micropython +++ b/src/micropython @@ -1 +1 @@ -Subproject commit 7747c5b3674d7d21ed3852f5a822ffb464f5f070 +Subproject commit 73ae6b5fc0900104d8bc245547c9649a8d159703 diff --git a/src/omv/main.c b/src/omv/main.c index 39428c661..7a49c3fd6 100644 --- a/src/omv/main.c +++ b/src/omv/main.c @@ -466,15 +466,10 @@ soft_reset: pin_init0(); extint_init0(); timer_init0(); - #if MICROPY_HW_ENABLE_CAN can_init0(); - #endif i2c_init0(); spi_init0(); uart_init0(); - MP_STATE_PORT(pyb_stdio_uart) = NULL; // need to zero - dac_init(); - pyb_usb_init0(); sensor_init0(); fb_alloc_init0(); file_buffer_init0(); @@ -486,6 +481,12 @@ soft_reset: sdcard_init(); rtc_init_start(false); + pyb_usb_init0(); + MP_STATE_PORT(pyb_stdio_uart) = NULL; + // Activate USB_VCP(0) on dupterm slot 1 for the REPL + MP_STATE_VM(dupterm_objs[1]) = MP_OBJ_FROM_PTR(&pyb_usb_vcp_obj); + usb_vcp_attach_to_repl(&pyb_usb_vcp_obj, true); + // Initialize the sensor and check the result after // mounting the file-system to log errors (if any). if (first_soft_reset) { @@ -662,7 +663,7 @@ soft_reset: // soft reset storage_flush(); timer_deinit(); - uart_deinit(); + uart_deinit_all(); #if MICROPY_HW_ENABLE_CAN can_deinit_all(); #endif diff --git a/src/omv/usbdbg.c b/src/omv/usbdbg.c index 049a5658b..3ef6f6e77 100644 --- a/src/omv/usbdbg.c +++ b/src/omv/usbdbg.c @@ -172,7 +172,7 @@ void usbdbg_data_out(void *buffer, int length) // Interrupt running REPL // Note: setting pendsv explicitly here because the VM is probably // waiting in REPL and the soft interrupt flag will not be checked. - pendsv_nlr_jump_hard(mp_const_ide_interrupt); + pendsv_nlr_jump(mp_const_ide_interrupt); } } break; @@ -261,7 +261,7 @@ void usbdbg_control(void *buffer, uint8_t request, uint32_t length) // interrupt running code by raising an exception mp_obj_exception_clear_traceback(mp_const_ide_interrupt); - pendsv_nlr_jump_hard(mp_const_ide_interrupt); + pendsv_nlr_jump(mp_const_ide_interrupt); } cmd = USBDBG_NONE; break;