Merge remote-tracking branch 'upstream/master' into stm32-lsetimeout

This commit is contained in:
Lucian Copeland 2020-05-11 14:18:37 -04:00
commit 248704b262
5 changed files with 18 additions and 12 deletions

@ -1 +1 @@
Subproject commit 1b8f461f6401d6418bba5c6ec0108375c2c1b62f Subproject commit 9f71088d2c32206c6f0495704ae0c040426d5764

View File

@ -20,7 +20,7 @@ CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CFLAGS_INLINE_LIMIT = 60 CFLAGS_INLINE_LIMIT = 55
SUPEROPT_GC = 0 SUPEROPT_GC = 0
# Include these Python libraries in firmware. # Include these Python libraries in firmware.

View File

@ -3,12 +3,15 @@ LONGINT_IMPL = MPZ
INTERNAL_LIBM = 1 INTERNAL_LIBM = 1
USB_SERIAL_NUMBER_LENGTH = 24 USB_SERIAL_NUMBER_LENGTH = 24
ifeq ($(MCU_VARIANT),STM32F405xx)
CIRCUITPY_FRAMEBUFFERIO = 1
CIRCUITPY_RGBMATRIX = 1
endif
ifeq ($(MCU_SERIES),F4) ifeq ($(MCU_SERIES),F4)
# Not yet implemented common-hal modules: # Not yet implemented common-hal modules:
CIRCUITPY_AUDIOBUSIO = 0 CIRCUITPY_AUDIOBUSIO = 0
CIRCUITPY_AUDIOIO = 0 CIRCUITPY_AUDIOIO = 0
CIRCUITPY_FRAMEBUFFERIO = 1
CIRCUITPY_RGBMATRIX = 1
CIRCUITPY_ROTARYIO = 0 CIRCUITPY_ROTARYIO = 0
CIRCUITPY_RTC = 0 CIRCUITPY_RTC = 0
CIRCUITPY_FREQUENCYIO = 0 CIRCUITPY_FREQUENCYIO = 0

View File

@ -53,36 +53,39 @@
//| PixelBuf //| PixelBuf
//| .. function:: wheel(n) //| .. function:: colorwheel(n)
//| //|
//| C implementation of the common wheel() function found in many examples. //| C implementation of the common wheel() function found in many examples.
//| Returns the colorwheel RGB value as an integer value for n (usable in :py:class:`PixelBuf`, neopixel, and dotstar). //| Returns the colorwheel RGB value as an integer value for n (usable in :py:class:`PixelBuf`, neopixel, and dotstar).
//| //|
//| .. function:: wheel(n)
//| Use of wheel() is deprecated. Please use colorwheel().
STATIC mp_obj_t pixelbuf_wheel(mp_obj_t n) { STATIC mp_obj_t pixelbuf_colorwheel(mp_obj_t n) {
return MP_OBJ_NEW_SMALL_INT(colorwheel(MP_OBJ_IS_SMALL_INT(n) ? MP_OBJ_SMALL_INT_VALUE(n) : mp_obj_float_get(n))); return MP_OBJ_NEW_SMALL_INT(colorwheel(MP_OBJ_IS_SMALL_INT(n) ? MP_OBJ_SMALL_INT_VALUE(n) : mp_obj_float_get(n)));
} }
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pixelbuf_wheel_obj, pixelbuf_wheel); STATIC MP_DEFINE_CONST_FUN_OBJ_1(pixelbuf_colorwheel_obj, pixelbuf_colorwheel);
const int32_t colorwheel(float pos) { const int32_t colorwheel(float pos) {
if (pos > 255) { if (pos > 255) {
pos = pos - ((uint32_t)(pos / 256) * 256); pos = pos - ((uint32_t)(pos / 256) * 256);
} }
if (pos < 85) if (pos < 85)
return (uint8_t)(pos * 3) << 16 | (uint8_t)(255 - (pos * 3)) << 8; return (uint8_t)(255 - (pos * 3)) << 16 | (uint8_t)(pos * 3) << 8;
else if (pos < 170) { else if (pos < 170) {
pos -= 85; pos -= 85;
return (uint8_t)(255 - (pos * 3)) << 16 | (uint8_t)(pos * 3); return (uint8_t)(255 - (pos * 3)) << 8 | (uint8_t)(pos * 3);
} else { } else {
pos -= 170; pos -= 170;
return (uint8_t)(pos * 3) << 8 | (uint8_t)(255 - pos * 3); return (uint8_t)(pos * 3) << 16 | (uint8_t)(255 - (pos * 3));
} }
} }
STATIC const mp_rom_map_elem_t pixelbuf_module_globals_table[] = { STATIC const mp_rom_map_elem_t pixelbuf_module_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pixelbuf) }, { MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR__pixelbuf) },
{ MP_ROM_QSTR(MP_QSTR_PixelBuf), MP_ROM_PTR(&pixelbuf_pixelbuf_type) }, { MP_ROM_QSTR(MP_QSTR_PixelBuf), MP_ROM_PTR(&pixelbuf_pixelbuf_type) },
{ MP_ROM_QSTR(MP_QSTR_wheel), MP_ROM_PTR(&pixelbuf_wheel_obj) }, { MP_ROM_QSTR(MP_QSTR_wheel), MP_ROM_PTR(&pixelbuf_colorwheel_obj) },
{ MP_ROM_QSTR(MP_QSTR_colorwheel), MP_ROM_PTR(&pixelbuf_colorwheel_obj) },
}; };
STATIC MP_DEFINE_CONST_DICT(pixelbuf_module_globals, pixelbuf_module_globals_table); STATIC MP_DEFINE_CONST_DICT(pixelbuf_module_globals, pixelbuf_module_globals_table);

View File

@ -65,7 +65,7 @@ STATIC mp_obj_t rtc_rtc_make_new(const mp_obj_type_t *type, size_t n_args, const
//| import time //| import time
//| //|
//| r = rtc.RTC() //| r = rtc.RTC()
//| r.datetime = rtctime.struct_time((2019, 5, 29, 15, 14, 15, 0, -1, -1)) //| r.datetime = time.struct_time((2019, 5, 29, 15, 14, 15, 0, -1, -1))
//| //|
//| //|
//| Once set, the RTC will automatically update this value as time passes. You can read this //| Once set, the RTC will automatically update this value as time passes. You can read this