Skip to content

Commit 48b5a7b

Browse files
committed
extmod/modmachine: Provide common Python bindings for bootloader().
Signed-off-by: Damien George <[email protected]>
1 parent e68aa40 commit 48b5a7b

22 files changed

+30
-30
lines changed

extmod/modmachine.c

+14
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
3939

4040
STATIC void mp_machine_idle(void);
4141

42+
#if MICROPY_PY_MACHINE_BOOTLOADER
43+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args);
44+
#endif
45+
4246
// The port can provide additional machine-module implementation in this file.
4347
#ifdef MICROPY_PY_MACHINE_INCLUDEFILE
4448
#include MICROPY_PY_MACHINE_INCLUDEFILE
@@ -50,6 +54,13 @@ STATIC mp_obj_t machine_soft_reset(void) {
5054
}
5155
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_soft_reset_obj, machine_soft_reset);
5256

57+
#if MICROPY_PY_MACHINE_BOOTLOADER
58+
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
59+
mp_machine_bootloader(n_args, args);
60+
}
61+
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
62+
#endif
63+
5364
STATIC mp_obj_t machine_idle(void) {
5465
mp_machine_idle();
5566
return mp_const_none;
@@ -66,6 +77,9 @@ STATIC const mp_rom_map_elem_t machine_module_globals_table[] = {
6677

6778
// Reset related functions.
6879
{ MP_ROM_QSTR(MP_QSTR_soft_reset), MP_ROM_PTR(&machine_soft_reset_obj) },
80+
#if MICROPY_PY_MACHINE_BOOTLOADER
81+
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) },
82+
#endif
6983

7084
// Power related functions.
7185
{ MP_ROM_QSTR(MP_QSTR_idle), MP_ROM_PTR(&machine_idle_obj) },

extmod/modmachine.h

+2
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,11 @@ uintptr_t MICROPY_MACHINE_MEM_GET_READ_ADDR(mp_obj_t addr_o, uint align);
237237
uintptr_t MICROPY_MACHINE_MEM_GET_WRITE_ADDR(mp_obj_t addr_o, uint align);
238238
#endif
239239

240+
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
240241
void machine_bitstream_high_low(mp_hal_pin_obj_t pin, uint32_t *timing_ns, const uint8_t *buf, size_t len);
241242
mp_uint_t machine_time_pulse_us(mp_hal_pin_obj_t pin, int pulse_level, mp_uint_t timeout_us);
242243

244+
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj);
243245
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bitstream_obj);
244246
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_time_pulse_us_obj);
245247

ports/esp32/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
{ MP_ROM_QSTR(MP_QSTR_sleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
5959
{ MP_ROM_QSTR(MP_QSTR_lightsleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
6060
{ MP_ROM_QSTR(MP_QSTR_deepsleep), MP_ROM_PTR(&machine_deepsleep_obj) }, \
61-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
6261
\
6362
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) }, \
6463
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) }, \
@@ -248,12 +247,11 @@ STATIC mp_obj_t machine_reset_cause(size_t n_args, const mp_obj_t *pos_args, mp_
248247
}
249248
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_reset_cause_obj, 0, machine_reset_cause);
250249

251-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
250+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
252251
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
253252
for (;;) {
254253
}
255254
}
256-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
257255

258256
void machine_init(void) {
259257
is_soft_reset = 0;

ports/esp32/modmachine.h

-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,5 @@ void machine_pwm_deinit_all(void);
2121
// TODO: void machine_rmt_deinit_all(void);
2222
void machine_timer_deinit_all(void);
2323
void machine_i2s_init0();
24-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
2524

2625
#endif // MICROPY_INCLUDED_ESP32_MODMACHINE_H

ports/esp32/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
#define MICROPY_PY_OS_URANDOM (1)
9898
#define MICROPY_PY_MACHINE (1)
9999
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/esp32/modmachine.c"
100+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
100101
#define MICROPY_PY_MACHINE_ADC (1)
101102
#define MICROPY_PY_MACHINE_ADC_INCLUDEFILE "ports/esp32/machine_adc.c"
102103
#define MICROPY_PY_MACHINE_ADC_ATTEN_WIDTH (1)

ports/mimxrt/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@
7171
\
7272
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) }, \
7373
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) }, \
74-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
7574
\
7675
/* Reset reasons */ \
7776
{ MP_ROM_QSTR(MP_QSTR_PWRON_RESET), MP_ROM_INT(MP_PWRON_RESET) }, \
@@ -174,7 +173,7 @@ STATIC mp_obj_t machine_enable_irq(mp_obj_t state_in) {
174173
}
175174
MP_DEFINE_CONST_FUN_OBJ_1(machine_enable_irq_obj, machine_enable_irq);
176175

177-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
176+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
178177
#if defined(MICROPY_BOARD_ENTER_BOOTLOADER)
179178
// If a board has a custom bootloader, call it first.
180179
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
@@ -190,4 +189,3 @@ NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
190189
;
191190
}
192191
}
193-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);

ports/mimxrt/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ uint32_t trng_random_u32(void);
7979
#define MICROPY_PY_RANDOM_SEED_INIT_FUNC (trng_random_u32())
8080
#define MICROPY_PY_MACHINE (1)
8181
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/mimxrt/modmachine.c"
82+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
8283
#define MICROPY_PY_MACHINE_ADC (1)
8384
#define MICROPY_PY_MACHINE_ADC_INCLUDEFILE "ports/mimxrt/machine_adc.c"
8485
#define MICROPY_PY_MACHINE_PIN_MAKE_NEW mp_pin_make_new

ports/nrf/modules/machine/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
#define MICROPY_PY_MACHINE_EXTRA_GLOBALS \
8787
{ MP_ROM_QSTR(MP_QSTR_info), MP_ROM_PTR(&machine_info_obj) }, \
8888
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) }, \
89-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
9089
{ MP_ROM_QSTR(MP_QSTR_enable_irq), MP_ROM_PTR(&machine_enable_irq_obj) }, \
9190
{ MP_ROM_QSTR(MP_QSTR_disable_irq), MP_ROM_PTR(&machine_disable_irq_obj) }, \
9291
{ MP_ROM_QSTR(MP_QSTR_sleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
@@ -188,12 +187,11 @@ STATIC mp_obj_t machine_reset(void) {
188187
}
189188
MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset);
190189

191-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
190+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
192191
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
193192
for (;;) {
194193
}
195194
}
196-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
197195

198196
STATIC void mp_machine_idle(void) {
199197
MICROPY_EVENT_POLL_HOOK;

ports/nrf/modules/machine/modmachine.h

-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,5 @@ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_info_obj);
3636
MP_DECLARE_CONST_FUN_OBJ_0(machine_reset_obj);
3737
MP_DECLARE_CONST_FUN_OBJ_0(machine_lightsleep_obj);
3838
MP_DECLARE_CONST_FUN_OBJ_0(machine_deepsleep_obj);
39-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
4039

4140
#endif // __MICROPY_INCLUDED_NRF5_MODMACHINE_H__

ports/renesas-ra/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
{ MP_ROM_QSTR(MP_QSTR_info), MP_ROM_PTR(&machine_info_obj) }, \
6666
{ MP_ROM_QSTR(MP_QSTR_unique_id), MP_ROM_PTR(&machine_unique_id_obj) }, \
6767
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) }, \
68-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
6968
{ MP_ROM_QSTR(MP_QSTR_freq), MP_ROM_PTR(&machine_freq_obj) }, \
7069
{ MP_ROM_QSTR(MP_QSTR_sleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
7170
{ MP_ROM_QSTR(MP_QSTR_lightsleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
@@ -199,7 +198,7 @@ STATIC mp_obj_t machine_reset(void) {
199198
MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset);
200199

201200
// Activate the bootloader without BOOT* pins.
202-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
201+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
203202
#if MICROPY_HW_ENABLE_STORAGE
204203
storage_flush();
205204
#endif
@@ -217,7 +216,6 @@ NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
217216
;
218217
}
219218
}
220-
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
221219

222220
// get or set the MCU frequencies
223221
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {

ports/renesas-ra/modmachine.h

-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ void machine_deinit(void);
3939
void machine_pin_init(void);
4040
void machine_pin_deinit(void);
4141
void machine_i2s_init0(void);
42-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
4342

4443
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_info_obj);
4544
MP_DECLARE_CONST_FUN_OBJ_0(machine_unique_id_obj);

ports/renesas-ra/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@
131131
#ifndef MICROPY_PY_MACHINE
132132
#define MICROPY_PY_MACHINE (1)
133133
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/renesas-ra/modmachine.c"
134+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
134135
#define MICROPY_PY_MACHINE_ADC (1)
135136
#define MICROPY_PY_MACHINE_ADC_INCLUDEFILE "ports/renesas-ra/machine_adc.c"
136137
#define MICROPY_PY_MACHINE_ADC_READ (1)

ports/rp2/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
{ MP_ROM_QSTR(MP_QSTR_unique_id), MP_ROM_PTR(&machine_unique_id_obj) }, \
5252
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) }, \
5353
{ MP_ROM_QSTR(MP_QSTR_reset_cause), MP_ROM_PTR(&machine_reset_cause_obj) }, \
54-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
5554
{ MP_ROM_QSTR(MP_QSTR_freq), MP_ROM_PTR(&machine_freq_obj) }, \
5655
\
5756
{ MP_ROM_QSTR(MP_QSTR_lightsleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
@@ -94,14 +93,13 @@ STATIC mp_obj_t machine_reset_cause(void) {
9493
}
9594
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_cause_obj, machine_reset_cause);
9695

97-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
96+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
9897
MICROPY_BOARD_ENTER_BOOTLOADER(n_args, args);
9998
rosc_hw->ctrl = ROSC_CTRL_ENABLE_VALUE_ENABLE << ROSC_CTRL_ENABLE_LSB;
10099
reset_usb_boot(0, 0);
101100
for (;;) {
102101
}
103102
}
104-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
105103

106104
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
107105
if (n_args == 0) {

ports/rp2/modmachine.h

-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,5 @@ void machine_i2s_init0(void);
99
void machine_pwm_deinit_all(void);
1010

1111
struct _machine_spi_obj_t *spi_from_mp_obj(mp_obj_t o);
12-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
1312

1413
#endif // MICROPY_INCLUDED_RP2_MODMACHINE_H

ports/rp2/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
#define MICROPY_PY_RANDOM_SEED_INIT_FUNC (rosc_random_u32())
113113
#define MICROPY_PY_MACHINE (1)
114114
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/rp2/modmachine.c"
115+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
115116
#define MICROPY_PY_MACHINE_ADC (1)
116117
#define MICROPY_PY_MACHINE_ADC_INCLUDEFILE "ports/rp2/machine_adc.c"
117118
#define MICROPY_PY_MACHINE_PIN_MAKE_NEW mp_pin_make_new

ports/samd/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656

5757
#define MICROPY_PY_MACHINE_EXTRA_GLOBALS \
5858
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) }, \
59-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
6059
{ MP_ROM_QSTR(MP_QSTR_freq), MP_ROM_PTR(&machine_freq_obj) }, \
6160
{ MP_ROM_QSTR(MP_QSTR_unique_id), MP_ROM_PTR(&machine_unique_id_obj) }, \
6261
\
@@ -92,14 +91,13 @@ STATIC mp_obj_t machine_reset(void) {
9291
}
9392
MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset);
9493

95-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
94+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
9695
*DBL_TAP_ADDR = DBL_TAP_MAGIC_LOADER;
9796
#ifdef DBL_TAP_ADDR_ALT
9897
*DBL_TAP_ADDR_ALT = DBL_TAP_MAGIC_LOADER;
9998
#endif
10099
NVIC_SystemReset();
101100
}
102-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
103101

104102
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
105103
if (n_args == 0) {

ports/samd/modmachine.h

-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@
3333
extern const mp_obj_type_t machine_dac_type;
3434
#endif
3535

36-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
37-
3836
void rtc_gettime(timeutils_struct_time_t *tm);
3937

4038
#endif // MICROPY_INCLUDED_SAMD_MODMACHINE_H

ports/samd/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
#define MICROPY_PY_TIME_INCLUDEFILE "ports/samd/modtime.c"
9595
#define MICROPY_PY_MACHINE (1)
9696
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/samd/modmachine.c"
97+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
9798
#define MICROPY_PY_OS (1)
9899
#define MICROPY_PY_OS_INCLUDEFILE "ports/samd/modos.c"
99100
#define MICROPY_READER_VFS (1)

ports/stm32/modmachine.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@
9999
{ MP_ROM_QSTR(MP_QSTR_info), MP_ROM_PTR(&machine_info_obj) }, \
100100
{ MP_ROM_QSTR(MP_QSTR_unique_id), MP_ROM_PTR(&machine_unique_id_obj) }, \
101101
{ MP_ROM_QSTR(MP_QSTR_reset), MP_ROM_PTR(&machine_reset_obj) }, \
102-
{ MP_ROM_QSTR(MP_QSTR_bootloader), MP_ROM_PTR(&machine_bootloader_obj) }, \
103102
{ MP_ROM_QSTR(MP_QSTR_freq), MP_ROM_PTR(&machine_freq_obj) }, \
104103
MICROPY_PY_MACHINE_RNG_ENTRY \
105104
{ MP_ROM_QSTR(MP_QSTR_sleep), MP_ROM_PTR(&machine_lightsleep_obj) }, \
@@ -298,7 +297,7 @@ STATIC mp_obj_t machine_reset(void) {
298297
MP_DEFINE_CONST_FUN_OBJ_0(machine_reset_obj, machine_reset);
299298

300299
// Activate the bootloader without BOOT* pins.
301-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
300+
NORETURN void mp_machine_bootloader(size_t n_args, const mp_obj_t *args) {
302301
#if MICROPY_HW_ENABLE_USB
303302
pyb_usb_dev_deinit();
304303
#endif
@@ -322,7 +321,6 @@ NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args) {
322321
;
323322
}
324323
}
325-
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj, 0, 1, machine_bootloader);
326324

327325
// get or set the MCU frequencies
328326
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {

ports/stm32/modmachine.h

-2
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@
3131
void machine_init(void);
3232
void machine_deinit(void);
3333
void machine_i2s_init0();
34-
NORETURN mp_obj_t machine_bootloader(size_t n_args, const mp_obj_t *args);
3534

3635
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_info_obj);
3736
MP_DECLARE_CONST_FUN_OBJ_0(machine_unique_id_obj);
3837
MP_DECLARE_CONST_FUN_OBJ_0(machine_reset_obj);
39-
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_bootloader_obj);
4038
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_freq_obj);
4139

4240
MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN(machine_lightsleep_obj);

ports/stm32/mpconfigport.h

+1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
#ifndef MICROPY_PY_MACHINE
112112
#define MICROPY_PY_MACHINE (1)
113113
#define MICROPY_PY_MACHINE_INCLUDEFILE "ports/stm32/modmachine.c"
114+
#define MICROPY_PY_MACHINE_BOOTLOADER (1)
114115
#define MICROPY_PY_MACHINE_ADC (1)
115116
#define MICROPY_PY_MACHINE_ADC_INCLUDEFILE "ports/stm32/machine_adc.c"
116117
#ifndef MICROPY_PY_MACHINE_BITSTREAM

shared/tinyusb/mp_cdc_common.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
#include "py/runtime.h"
2828
#include "py/mphal.h"
29-
#include "modmachine.h"
29+
#include "extmod/modmachine.h"
3030

3131
#if MICROPY_HW_USB_CDC_1200BPS_TOUCH && MICROPY_HW_ENABLE_USBDEV
3232

0 commit comments

Comments
 (0)