Commit Graph

804 Commits

Author SHA1 Message Date
Jeff Epler 8d8f83bc05 Merge tag 'v1.17' into merge-1.17
F-strings, new machine.I2S class, ESP32-C3 support and LEGO_HUB_NO6 board

This release of MicroPython adds support for f-strings (PEP-498), with a
few limitations compared to normal Python.  F-strings are essentially
syntactic sugar for "".format() and make formatting strings a lot more
convenient.  Other improvements to the core runtime include pretty printing
OSError when it has two arguments (an errno code and a string), scheduling
of KeyboardInterrupt on the main thread, and support for a single argument
to the optimised form of StopIteration.

In the machine module a new I2S class has been added, with support for
esp32 and stm32 ports.  This provides a consistent API for transmit and
receive of audio data in blocking, non-blocking and asyncio-based
operation.  Also, the json module has support for the "separators" argument
in the dump and dumps functions, and framebuf now includes a way to blit
between frame buffers of different formats using a palette.  A new,
portable machine.bitstream function is also added which can output a stream
of bits with configurable timing, and is used as the basis for driving
WS2812 LEDs in a common way across ports.

There has been some restructuring of the repository directory layout, with
all third-party code now in the lib/ directory.  And a new top-level
directory shared/ has been added with first-party code that was previously
in lib/ moved there.

The docs have seen further improvement with enhancements and additions to
the rp2 parts, as well as a new quick reference for the zephyr port.
The terms master/slave have been replaced with controller/peripheral,
mainly relating to I2C and SPI usage.  And u-module references have been
replaced with just the module name without the u-prefix to help clear up
the intended usage of modules in MicroPython.

For the esp8266 and esp32 ports, hidden networks are now included in WLAN
scan results.  On the esp32 the RMT class is enhanced with idle_level and
write_pulses modes.  There is initial support for ESP32-C3 chips with
GENERIC_C3 and GENERIC_C3_USB boards.

The javascript port has had its Makefile and garbage collector
implementation reworked so it compiles and runs with latest the Emscripten
using asyncify.

The mimxrt port sees the addition of hardware I2C and SPI support, as well
as some additional methods to the machine module.  There is also support
for Hyperflash chips.

The nrf port now has full VFS storage support, enables source-line on
traceback, and has .mpy features consistent with other ports.

For the rp2 port there is now more configurability for boards, and more
boards added.

The stm32 port has a new LEGO_HUB_NO6 board definition with detailed
information how to get this LEGO Hub running stock MicroPython.  There is
also now support to change the CPU frequency on STM32WB MCUs.  And USBD_xxx
descriptor options have been renamed to MICROPY_HW_USB_xxx.

Thanks to everyone who contributed to this release: Amir Gonnen, Andrew
Scheller, Bryan Tong Minh, Chris Wilson, Damien George, Daniel Mizyrycki,
David Lechner, David P, Fernando, finefoot, Frank Pilhofer, Glenn Ruben
Bakke, iabdalkader, Jeff Epler, Jim Mussared, Jonathan Hogg, Josh Klar,
Josh Lloyd, Julia Hathaway, Krzysztof Adamski, Matúš Olekšák, Michael
Weiss, Michel Bouwmans, Mike Causer, Mike Teachman, Ned Konz, NitiKaur,
oclyke, Patrick Van Oosterwijck, Peter Hinch, Peter Züger, Philipp
Ebensberger, robert-hh, Roberto Colistete Jr, Sashkoiv, Seon Rozenblum,
Tobias Thyrrestrup, Tom McDermott, Will Sowerbutts, Yonatan Goldschmidt.

What follows is a detailed list of changes, generated from the git commit
history, and organised into sections.

Main components
===============

all:
- fix signed shifts and NULL access errors from -fsanitize=undefined
- update to point to files in new shared/ directory

py core:
- mpstate: make exceptions thread-local
- mpstate: schedule KeyboardInterrupt on main thread
- mperrno: add MP_ECANCELED error code
- makeqstrdefs.py: don't include .h files explicitly in preprocessing
- mark unused arguments from bytecode decoding macros
- objexcept: pretty print OSError also when it has 2 arguments
- makeversionhdr: add --tags arg to git describe
- vm: simplify handling of MP_OBJ_STOP_ITERATION in yield-from opcode
- objexcept: make mp_obj_exception_get_value support subclassed excs
- support single argument to optimised MP_OBJ_STOP_ITERATION
- introduce and use mp_raise_type_arg helper
- modsys: optimise sys.exit for code size by using exception helpers
- objexcept: make mp_obj_new_exception_arg1 inline
- obj: fix formatting of comment for mp_obj_is_integer
- emitnative: reuse need_reg_all func in need_stack_settled
- emitnative: ensure stack settling is safe mid-branch
- runtime: fix bool unary op for subclasses of native types
- builtinimport: fix condition for including do_execute_raw_code()
- mkrules: automatically build mpy-cross if it doesn't exist
- implement partial PEP-498 (f-string) support
- lexer: clear fstring_args vstr on lexer free
- mkrules.mk: do submodule sync in "make submodules"

extmod:
- btstack: add missing call to mp_bluetooth_hci_uart_deinit
- btstack: check that BLE is active before performing operations
- uasyncio: get addr and bind server socket before creating task
- axtls-include: add axtls_os_port.h to customise axTLS
- update for move of crypto-algorithms, re1.5, uzlib to lib
- moduselect: conditionally compile select()
- nimble: fix leak in l2cap_send if send-while-stalled
- btstack/btstack.mk: use -Wno-implicit-fallthrough, not =0
- utime: always invoke mp_hal_delay_ms when >= to 0ms
- modbluetooth: clamp MTU values to 32->UINT16_MAX
- nimble: allow modbluetooth binding to hook "sent HCI packet"
- nimble: add "memory stalling" mechanism for l2cap_send
- uasyncio: in open_connection use address info in socket creation
- modujson: add support for dump/dumps separators keyword-argument
- modlwip: fix close and clean up of UDP and raw sockets
- modbluetooth: add send_update arg to gatts_write
- add machine.bitstream
- modframebuf: enable blit between different formats via a palette

lib:
- tinyusb: update to version 0.10.1
- pico-sdk: update to version 1.2.0
- utils/stdout_helpers: make mp_hal_stdout_tx_strn_cooked efficient
- axtls: switch to repo at micropython/axtls
- axtls: update to latest axtls 2.1.5 wih additional commits
- re1.5: move re1.5 code from extmod to lib
- uzlib: move uzlib code from extmod to lib
- crypto-algorithms: move crypto-algorithms code from extmod to lib
- update README's based on contents of these dirs

drivers:
- neopixel: add common machine.bitstream-based neopixel module
- neopixel: optimize fill() for speed
- neopixel: reduce code size of driver
- cyw43: fix cyw43_deinit so it can be called many times in a row
- cyw43: make wifi join fail if interface is not active

mpy-cross:
- disable stack check when building with Emscripten

Support components
==================

docs:
- library: document new esp32.RMT features and fix wait_done
- library: warn that ustruct doesn't handle spaces in format strings
- esp8266/tutorial: change flash mode from dio to dout
- replace master/slave with controller/peripheral in I2C and SPI
- rp2: enhance quickref and change image to Pico pinout
- rp2: update general section to give a brief technical overview
- library/utime.rst: clarify behaviour and precision of sleep ms/us
- library/uasyncio.rst: document stream readexactly() method
- library/machine.I2S.rst: fix use of sd pin in examples
- zephyr: add quick reference for the Zephyr port
- library/zephyr: add libraries specific to the Zephyr port
- templates: add unix and zephyr quickref links to top-index
- rename ufoo.rst to foo.rst
- replace ufoo with foo in all docs
- library/index.rst: clarify module naming and purpose
- library/builtins.rst: add module title
- library/network.rst: simplify socket import
- add docs for machine.bitstream and neopixel module
- library: fix usage of :term: for frozen module reference
- esp8266: use monospace for software tools
- reference: mention that slicing a memoryview causes allocation

examples: no changes specific to this component/port

tests:
- extmod: make uasyncio_heaplock test more deterministic
- cpydiff/modules_struct_whitespace_in_format: run black
- extmod/ujson: add tests for dump/dumps separators argument
- run-multitests.py: add broadcast and wait facility
- multi_bluetooth/ble_subscribe.py: add test for subscription
- extmod/vfs_fat_finaliser.py: ensure alloc at never-used GC blocks
- basics: split f-string debug printing to separate file with .exp
- pybnative: make while.py test run on boards without pyb.delay

tools:
- autobuild: add scripts to build release firmware
- remove obsolete build-stm-latest.sh script
- ci.sh: run apt-get update in ci_powerpc_setup
- makemanifest.py: allow passing flags to mpy-tool.py
- autobuild: add mimxrt port to build scripts for nightly builds
- pyboard.py: add cmd-line option to make soft reset configurable
- mpremote: swap order of PID and VID in connect-list output
- ci.sh: build unix dev variant as part of macOS CI
- ci.sh: build GENERIC_C3 board as part of esp32 CI
- autobuild: use separate IDF version to build newer esp32 SoCs
- autobuild: add FeatherS2 and TinyS2 to esp32 auto builds
- mpremote: add seek whence for mounted files
- mpremote: raise OSError on unsupported RemoteFile.seek
- autobuild: add the MIMXRT1050_EVKB board to the daily builds
- ci.sh: add mpy-cross build to nrf port
- codeformat.py: include ports/nrf/modules/nrf in code formatting
- gen-cpydiff.py: don't rename foo to ufoo in diff output
- autobuild: add auto build for Silicognition wESP32
- mpremote: fix connect-list in case VID/PID are None
- mpremote: add "devs" shortcut for "connect list"
- mpremote: remove support for pyb.USB_VCP in/out specialisation
- autobuild: don't use "-B" for make, it's already a fresh build
- pyboard.py: move --no-exclusive/--soft-reset out of mutex group
- pyboard.py: make --no-follow use same variable as --follow
- pyboard.py: add --exclusive to match --no-exclusive
- pyboard.py: make --no-soft-reset consistent with other args
- uncrustify: force 1 newline at end of file
- mpremote: bump version to 0.0.6

CI:
- workflows: add workflow to build and test javascript port
- workflows: switch from Coveralls to Codecov
- workflows: switch from lcov to gcov
- workflows: add workflow to build and test unix dev variant

The ports
=========

all ports:
- use common mp_hal_stdout_tx_strn_cooked instead of custom one
- update for move of crypto-algorithms, uzlib to lib
- rename USBD_VID/PID config macros to MICROPY_HW_USB_VID/PID

bare-arm port: no changes specific to this component/port

cc3200 port: no changes specific to this component/port

esp8266 port:
- add __len__ to NeoPixel driver to support iterating
- Makefile: add more libm files to build
- include hidden networks in WLAN.scan results
- replace esp.neopixel with machine.bitstream
- remove dead code for end_ticks in machine_bitstream

esp32 port:
- boards/sdkconfig.base: disable MEMPROT_FEATURE to alloc from IRAM
- add __len__ to NeoPixel driver to support iterating
- main: allow MICROPY_DIR to be overridden
- esp32_rmt: fix RMT looping in newer IDF versions
- esp32_rmt: enhance RMT with idle_level and write_pulses modes
- add new machine.I2S class for I2S protocol support
- machine_spi: calculate actual attained baudrate
- machine_hw_spi: use a 2 item SPI queue for long transfers
- machine_dac: add MICROPY_PY_MACHINE_DAC option, enable by default
- machine_i2s: add MICROPY_PY_MACHINE_I2S option, enable by default
- fix use of mp_int_t, size_t and uintptr_t
- add initial support for ESP32C3 SoCs
- boards/GENERIC_C3: add generic C3-based board
- modmachine: release the GIL in machine.idle()
- mphalport: always yield at least once in delay_ms
- machine_uart: add flow kw-arg to enable hardware flow control
- boards: add Silicognition wESP32 board configuration
- mpconfigport.h: enable reverse and inplace special methods
- include hidden networks in WLAN.scan results
- makeimg.py: get bootloader and partition offset from sdkconfig
- enable MICROPY_PY_FSTRINGS by default
- machine_hw_spi: release GIL during transfers
- machine_pin: make check for non-output pins respect chip variant
- replace esp.neopixel with machine.bitstream
- remove dead code for end_ticks in machine_bitstream
- boards: add GENERIC_C3_USB board with USB serial/JTAG support

javascript port:
- rework Makefile and GC so it works with latest Emscripten
- Makefile: suppress compiler errors from array bounds
- Makefile: change variable to EXPORTED_RUNTIME_METHODS

mimxrt port:
- move calc_weekday helper function to timeutils
- machine_spi: add the SPI class to the machine module
- moduos: seed the PRNG on boot using the TRNG
- boards: set vfs partition start to 1 MBbyte
- main: skip running main.py if boot.py failed
- main: extend the information returned by help()
- mimxrt_flash: remove commented-out code
- modmachine: add a few minor methods to the machine module
- machine_led: use mp_raise_msg_varg helper
- machine_i2c: add hardware-based machine.I2C to machine module
- add support for Hyperflash chips
- boards: add support for the MIMXRT1050_EVKB board
- machine_pin: implement ioctl for Pin

minimal port:
- Makefile: add support for building with user C modules

nrf port:
- modules: replace master/slave with controller/peripheral in SPI
- boards/common.ld: calculate unused flash region
- modules/nrf: add new nrf module with flash block device
- drivers: add support for using flash block device with SoftDevice
- mpconfigport.h: expose nrf module when MICROPY_PY_NRF is set
- README: update README.md to reflect internal file systems
- mpconfigport.h: tune FAT FS configuration
- Makefile: add _fs_size linker script override from make
- modules/uos: allow a board to configure MICROPY_VFS_FAT/LFS1/LFS2
- mpconfigport.h: enable MICROPY_PY_IO_FILEIO when an FS is enabled
- qstrdefsport.h: add entries for in-built FS mount points
- main: add auto mount and auto format hook for internal flash FS
- boards: enable needed features for FAT/LFS1/LFS2
- facilitate use of freeze manifest
- boards: set FROZEN_MANIFEST blank when SD present on nrf51 targets
- modules/scripts: add file system formatting script
- Makefile: set default manifest file for all targets
- mphalport: add dummy function for mp_hal_time_ns()
- boards: enable MICROPY_VFS_LFS2 for all target boards
- modules/uos: add ilistdir to uos module
- modules/nrf: add function to enable/disable DCDC
- enable source line on tracebacks
- set .mpy features consistent with documentation and other ports

pic16bit port: no changes specific to this component/port

powerpc port: no changes specific to this component/port

qemu-arm port: no changes specific to this component/port

rp2 port:
- use 0=Monday datetime convention in RTC
- machine_rtc: in RTC.datetime, compute weekday automatically
- CMakeLists.txt: suppress compiler errors for pico-sdk and tinyusb
- tusb_config.h: set CFG_TUD_CDC_EP_BUFSIZE to 256
- machine_uart: add hardware flow control support
- machine_uart: allow overriding default machine UART pins
- machine_i2c: allow boards to configure I2C pins using new macros
- machine_spi: allow boards to configure SPI pins using new macros
- machine_uart: fix poll ioctl to also check hardware FIFO
- machine_uart: fix read when FIFO has chars but ringbuf doesn't
- tusb_port: allow boards to configure USB VID and PID
- boards/ADAFRUIT_FEATHER_RP2040: configure custom VID/PID
- boards/ADAFRUIT_FEATHER_RP2040: configure I2C/SPI default pins
- boards/SPARKFUN_PROMICRO: configure UART/I2C/SPI default pins
- boards/SPARKFUN_THINGPLUS: configure I2C/SPI default pins
- boards: add Adafruit ItsyBitsy RP2040
- boards: add Adafruit QT Py RP2040
- boards: add Pimoroni Pico LiPo 4MB
- boards: add Pimoroni Pico LiPo 16MB
- boards: add Pimoroni Tiny 2040
- CMakeLists.txt: allow a board's cmake to set the manifest path
- enable MICROPY_PY_FSTRINGS by default
- Makefile: add "submodules" target, to match other ports
- rp2_flash: disable IRQs while calling flash_erase/program
- CMakeLists.txt: add option to enable double tap reset to bootrom
- mpconfigport.h: allow boards to add root pointers

samd port:
- add support for building with user C modules

stm32 port:
- softtimer: add soft_timer_reinsert() helper function
- mpbthciport: change from systick to soft-timer for BT scheduling
- provide a custom BTstack runloop that integrates with soft timer
- usb: make irq's default trigger enable all events
- boardctrl: skip running main.py if boot.py had an error
- sdio: fix undefined reference to DMA stream on H7
- dma: add DMAMUX configuration for H7 to fix dma_nohal_init
- main: call mp_deinit() at end of main
- adc: allow using ADC12 and ADC3 for H7
- adc: define the ADC instance used for internal channels
- adc: simplify and generalise how pin_adcX table is defined
- add new machine.I2S class for I2S protocol support
- boards/NUCLEO_F446RE: fix I2C1 pin assignment to match datasheet
- replace master/slave with controller/peripheral in I2C and SPI
- systick: always POLL_HOOK when delaying for milliseconds
- sdram: make SDRAM test cache aware, and optional failure with msg
- boards/NUCLEO_F446RE: enable CAN bus support
- boards: add support for SparkFun STM32 MicroMod Processor board
- uart: fix LPUART1 baudrate set/get
- uart: support low baudrates on LPUART1
- boards/STM32F429DISC: set correct UART2 pins and add UART3/6
- boards/NUCLEO_F439ZI: add board definition for NUCLEO_F439ZI
- boards/LEGO_HUB_NO6: add board definition for LEGO_HUB_NO6
- Makefile: update to only pull in used Bluetooth library
- README.md: update supported MCUs, and submodule and mboot use
- usbd_desc: rename USBD_xxx descriptor opts to MICROPY_HW_USB_xxx
- usbd_cdc_interface: rename USBD_CDC_xx opts to MICROPY_HW_USB_xx
- powerctrl: support changing frequency on WB MCUs
- boards/NUCLEO_H743ZI2: add modified version of NUCLEO_H743ZI
- mbedtls: fix compile warning about uninitialized val
- enable MICROPY_PY_FSTRINGS by default
- add implementation of machine.bitstream
- Makefile: allow GIT_SUBMODULES and LIBS to be extended
- stm32_it: support TIM17 IRQs on WB MCUs
- disable computed goto on constrained boards
- storage: make extended-block-device more configurable
- boards/LEGO_HUB_NO6: change SPI flash storage to use hardware SPI
- boards/LEGO_HUB_NO6: skip first 1MiB of SPI flash for storage
- boards/LEGO_HUB_NO6: add make commands to backup/restore firmware

teensy port: no changes specific to this component/port

unix port:
- modffi: add option to lock GC in callback, and cfun access
- Makefile: add back LIB_SRC_C to list of object files
- variants: enable help and help("modules") on standard and dev
- Makefile: disable error compression on arm-linux-gnueabi-gcc

windows port:
- Makefile: add .exe extension to executables name
- appveyor: update to VS 2017 and use Python 3.8 for build/test

zephyr port:
- machine_spi: add support for hardware SPI
2021-10-15 08:20:54 -05:00
Dan Halbert a911cbef51 check that boot device is interface #0; remove instrumentation 2021-10-13 12:30:01 -04:00
Max Holliday 8811d2242d
Merge branch 'adafruit:main' into samd-sleep 2021-10-11 17:42:48 -06:00
microDev 1977011cfd
use `mp_arg_validate_type` for keyword args 2021-10-10 15:28:35 +05:30
Max Holliday 9e26820cd0 re-adding samd messages 2021-10-09 15:03:42 -06:00
Dan Halbert f0e2945747 clarify RP2040 IncrementalEncoder sequential pin message 2021-10-08 10:40:58 -04:00
Scott Shawcroft 75db5a21a7
Merge pull request #5392 from dhalbert/report-id-0
allow usb_hid.Device(..., report_ids=(0,), ...)
2021-10-07 10:08:35 -07:00
Dan Halbert de8f7b11ef
fix error message 2021-10-07 10:36:00 +05:30
microDev d9eafffa6a
i2cperipheral implementation for esp32s2 2021-10-05 01:02:55 +05:30
Lucian Copeland f748d66128 Setup outline for SAMD alarm module 2021-10-03 14:57:44 -07:00
Dan Halbert d4ec3e2927 allow usb_hid.Device(..., report_ids=(0,) 2021-09-25 18:09:41 -04:00
Jeff Epler a0cfceec28 Stub out the non-sequential parallel bus constructor
.. most boards can't support non-sequential pins, so share the
implementation of the error routine so we get an identical message.
2021-09-21 15:00:43 -05:00
Jeff Epler 4714861f38 espressif: Implement parallel display using i2s 2021-09-21 14:38:12 -05:00
James Carr ca9154421a
Run make translate 2021-09-18 21:40:27 +01:00
Scott Shawcroft 973a90f2aa
Rename esp32s2 port to espressif
This is in preparation for ESP32-S3 support and potentially others.

Related to #4363
2021-09-13 16:44:55 -07:00
microDev 86221b9895
revert localization of repl messages 2021-09-07 16:28:00 +05:30
Scott Shawcroft a4246bcfa3
Fix two watchdog crashes
Fixes a crash from trying to raise an exception when trying to
deinit a RESET wdt by not raising an exception.

Fixes a crash when raise a wdt exception in the REPL when waiting
for input. We now catch and print any exceptions raised.

Fixes #5261
2021-08-30 18:10:43 -07:00
Dan Halbert a608934f31 restrict WaveFile buffer size to 8-1024 2021-08-26 09:34:02 -04:00
microDev 5425454341
Merge pull request #5208 from jepler/small-memory-savings
Small memory savings
2021-08-26 09:22:14 +05:30
Jeff Epler 870aa2d79d espidf: Add function to erase nvs
This may be necessary for some cases of migrating from 6.3.0 to 7.0.0.
2021-08-25 11:37:58 -05:00
Jeff Epler 4a9ad8a942 Translate & compress some repl messages 2021-08-23 20:23:23 -05:00
Dan Halbert 7587a521cb
Merge pull request #5145 from FoamyGuy/bitmaptools_paint_fill
Bitmaptools boundary_fill
2021-08-23 16:20:38 -04:00
microDev 25437dcb33
Merge branch 'main' into atexit 2021-08-20 09:45:54 +05:30
Mark f9f106b58d
Merge pull request #5123 from gamblor21/keypad_dup_pin_check
Check for duplicate pins in rows and columns
2021-08-19 22:20:04 -05:00
gamblor21 47db00f0af Made error message clear and reduce calls 2021-08-19 20:03:49 -05:00
gamblor21 168ed355b1 Made check function generic 2021-08-17 17:55:26 -05:00
Dan Halbert 3dc2b4c2d3 at least original functionality with new API 2021-08-14 12:36:40 -04:00
Dan Halbert 4f8ff12afa wip 2021-08-14 12:36:40 -04:00
foamyguy ec8b31e7b4 code format and translations 2021-08-13 10:13:38 -05:00
Scott Shawcroft ebf0901558
Merge pull request #5079 from dhalbert/debug-audio
Fix various RP2040 and SAMD audio issues
2021-08-11 11:19:53 -07:00
gamblor21 e18ceea9ba Check for duplicate pins in rows and columns 2021-08-10 18:18:21 -05:00
microDev 93c9d59960
Merge branch 'main' into getpass 2021-08-10 01:00:10 +05:30
microDev 3495cc1ff6
Merge pull request #5110 from jepler/format-exception
Implement `traceback.format_exception`
2021-08-10 00:47:18 +05:30
Kattni c87d90ec4b
Merge pull request #5090 from WarriorOfWire/draw_protocol
Draw protocol
2021-08-09 15:04:36 -04:00
Dan Halbert 2cd80d1074 wip, with debugging printf's 2021-08-09 09:47:13 -04:00
Jeff Epler 9a932a5a48 traceback: Implement format_exception 2021-08-09 08:27:28 -05:00
Jeff Epler bfea6947e5 Improve mp_printf with support for compressed strings
* The new nonstandard '%S' format takes a pointer to compressed_string_t
   and prints it

 * The new mp_cprintf and mp_vcprintf take a format string that is a
   compressed_string_t
2021-08-09 08:27:28 -05:00
microDev 51f8603783
add getpass module 2021-08-09 17:50:28 +05:30
Kenny a1fff320fb add location property to vectorshape and all composed shapes 2021-08-08 00:14:53 -07:00
microDev 063e3946d6
Merge pull request #5094 from jepler/quirc
Add qrio: Decode QR codes with quirc lib
2021-08-07 09:30:20 +05:30
Scott Shawcroft be2342f32f
Merge pull request #5072 from microDev1/traceback
Add traceback module
2021-08-06 12:10:17 -07:00
Jeff Epler bd903f2f03 Add qrio: Decode QR codes with quirc lib 2021-08-04 09:16:00 -05:00
microDev fb0f2583db
update traceback module 2021-08-04 12:22:21 +05:30
microDev a3998d0626
add atexit module 2021-07-30 09:32:28 +05:30
microDev f371c0a609
add traceback module 2021-07-28 18:06:23 +05:30
Scott Shawcroft 412eb87080
Switch to pin, frequency and duty_cycle PulseOut
Passing in a PWMOut still works but is deprecated. It will be
removed in CircuitPython 8.0.0

This also switches STM32 timer indices and channel indices to
0-based in our pin data rather than `- 1` everywhere. The latter is
more bug prone.

Most of the way for #3264

Tested on Metro M0, Metro M4, Feather S2, Feather nRF52840, Feather
STM32F4 and Arduino RP2040.
2021-07-26 18:35:49 -07:00
microDev c9ac8e77e8
Merge pull request #5042 from NathanY3G/add-support-for-jmp-pin
Added support for specifying the JMP pin (RP2 PIO)
2021-07-23 18:15:43 +05:30
Nathan Young 3b7cf7d3bb Updated translation for jmp_pin exception 2021-07-23 13:40:34 +02:00
Scott Shawcroft 9c8c4a301d
Merge pull request #5028 from jepler/ulab-fix-docs
ulab: move documentation to the right location
2021-07-22 16:51:32 -07:00
Jeff Epler 8cf6fd7fec make translate 2021-07-22 13:29:35 -05:00
Jeff Epler 02b094b638 make translate 2021-07-21 19:38:58 -05:00
Scott Shawcroft fece0fb432
Fix crash when UART construct fails
After the script stops with the exception thrown the final gc_sweep
will call any finalizers and they usually call deinit. deinit on
invalid objects can wreak havoc by changing random memory or
(hopefully) crashing. This fixes ensures the object is deinited
until initialization succeeds and the object is valid.

Do the same fix for I2C and SPI too.

Fixes #4700 and fixes #5005
2021-07-20 17:15:19 -07:00
Lucian Copeland bd39641f7e Fix PWM timer leak and varfreq conflicts 2021-07-13 18:05:47 -04:00
Jeff Epler a19a48f4b6 make translate 2021-07-07 09:08:04 -05:00
Jeff Epler d83a21b984 ColorConverter: Add "BGR" color modes.
The BGR565_SWAPPED mode is needed for OV2640 cameras.
2021-06-30 10:29:31 -05:00
Scott Shawcroft 5a4a80336f
Merge pull request #4195 from askpatrickw/update-idf
Update esp-idf to v4.3
2021-06-25 11:15:40 -07:00
Scott Shawcroft d67fb852a1
Merge pull request #3454 from cwalther/setnextcode
Add supervisor.set_next_code_file()
2021-06-25 11:00:53 -07:00
Scott Shawcroft dc76306cfa
Enable a BLE workflow
nRF CircuitPython boards will now provide the file transfer
service defined here: https://github.com/adafruit/Adafruit_CircuitPython_BLE_File_Transfer

USB capable boards will only advertise if previously bonded to a
device or if the reset button is pressed during the fast blue
flashes on start up. When pressed, the board will restart again but
the blue period will not flash.

Boards without USB will always advertise.

When previously bonded, the advertisement is private so that no
other peers can connect. If advertising publicly, the tx power is
lowered to reduce the likelihood of bonding from a distance.

This PR also fixes issues with loading identities of bonded peers
so that our address can now be resolved and we can resolve others'
addresses when scanning.
2021-06-24 12:59:14 -07:00
microDev e0eecd2f76 update idf to v4.3
- update idf submodule to release/v4.3
- finish todo tasks held due to idf@v4.2
- update SPI & I2C to make them v4.3 compatible
2021-06-24 23:14:08 +05:30
Scott Shawcroft b81573d439
Merge pull request #4891 from dhalbert/keypad-scanning-events
keypad: support for vector and matrix key scanning
2021-06-24 10:25:21 -07:00
Dan Halbert 836db4e4a1
Merge pull request #4816 from hierophect/rp2040-alarms
RP2040: add Alarm module
2021-06-24 08:15:57 -04:00
Scott Shawcroft a7e353b80e
Merge pull request #4897 from jepler/merge-1.16
Merge 1.16
2021-06-23 10:15:10 -07:00
Dan Halbert 51c547a5b9 add generic arg validation routines; add interval args to keypad 2021-06-21 12:13:39 -04:00
Dan Halbert ed41acd879 merge from upstream to fix translations 2021-06-21 08:26:44 -04:00
Dan Halbert 154e91ab85 add EventQueue.store_next() to allow reusing event objects 2021-06-21 08:18:06 -04:00
Lucian Copeland 1f3d69d87c Clean up sleep memory, mark as not-implemented 2021-06-20 17:57:51 -04:00
Lucian Copeland cf9741bd3a Merge remote-tracking branch 'upstream/main' into setnextcode 2021-06-20 15:25:37 -04:00
Limor "Ladyada" Fried 6dbeb75a4f
Merge pull request #4880 from jepler/esp32s2-imagecapture
Esp32s2: implement ParallelImageCapture
2021-06-19 16:17:56 -04:00
Dan Halbert 8cd7e774e7 add KeyMatrix columns_to_anodes arg 2021-06-18 12:03:47 -04:00
Jeff Epler 87d3740c64 Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
Dan Halbert a152bd3b72 add .num_keys and .store_states() to Keys and KeyMatrix 2021-06-17 12:02:54 -04:00
Dan Halbert f97e0ec631 fix ulab commit 2021-06-15 11:51:28 -04:00
Dan Halbert a192f1ca2f merge from upstream 2021-06-15 11:21:08 -04:00
Dan Halbert 627c426259 wip 2021-06-14 16:00:15 -04:00
Jeff Epler 046dc28d4c make translate 2021-06-10 13:00:21 -05:00
Jeff Epler 2cbdd18a20 esp32s2: Implement parallel image capture 2021-06-10 11:27:49 -05:00
Jeff Epler 268717e427 ParallelImageCapture: Switch to taking a list of pins
.. adopting validate_pins from RGBMatrix into shared-bindings

.. updating other platforms for API change
2021-06-10 11:15:18 -05:00
Dan Halbert abe29fc6d9 merge from upstream 2021-06-08 18:03:43 -04:00
Dan Halbert 44b876f769 Inital keypad work: Keys working: one pin per key
keypad.Buttons and keypad.State

Buttons -> Keys; further work

wip

wip

wip: compiles

about to try

keypad.Keys working
2021-06-08 17:47:21 -04:00
Lucian Copeland b6a268fca4 Further deinit additions 2021-06-07 14:13:59 -04:00
Lucian Copeland 63c1791d87 Merge remote-tracking branch 'upstream/main' into rp2040-alarms 2021-06-07 14:11:41 -04:00
Dan Halbert 050b5f4cf0 fix check of usb_hid.Device out_report_length 2021-06-02 12:41:07 -04:00
Lucian Copeland feff243e8f Add RTC deep sleep alarm support 2021-05-28 13:52:05 -04:00
Dan Halbert e7f82f864a fix check of usb_hid.Device out_report_length 2021-05-27 21:29:38 -04:00
Lucian Copeland 24041f34b0 Merge remote-tracking branch 'upstream/main' into rp2040-alarms 2021-05-27 18:40:40 -04:00
Lucian Copeland 8e1892ac6f Implement RP2040 Alarm module
Adds light and deep sleep functionality for the TimeAlarm and PinAlarm
alarm categories. Adds board deinit for all platforms.
2021-05-27 18:33:29 -04:00
Jonny Bergdahl 38177aff33 Removed 'raw' from error message 'raw in' 2021-05-22 12:36:28 +02:00
Neradoc 9fa7fb7092 fix ipaddress.IPv4Address from returning invalid values 2021-05-20 23:17:56 +02:00
Scott Shawcroft 42ee48ccb5
Improve error for invalid parameters 2021-05-19 14:09:11 -07:00
Scott Shawcroft 689ec86225
Merge pull request #4754 from dhalbert/fix-endpoint-checking
Fix endpoint checking; Clean up safe mode printing
2021-05-14 11:25:01 -07:00
Scott Shawcroft 35ee4add63
Merge pull request #4388 from hierophect/stm-alarm
STM32: Alarms and sleep
2021-05-13 10:27:51 -07:00
Dan Halbert 0651ef17dd Fix endpoint checking; Clean up safe mode printing. 2021-05-12 15:53:52 -04:00
Scott Shawcroft a70fc0caee
Merge pull request #4744 from tannewt/merge_1.14
Merge MicroPython 1.14
2021-05-11 16:11:58 -07:00
Scott Shawcroft e02a26453c
Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
ajs256 3c8b8cdba7 `make translate` 2021-05-10 16:57:38 -07:00
Lucian Copeland 0d3c5222d8 Merge remote-tracking branch 'upstream/main' into stm-alarm 2021-05-10 17:30:33 -04:00
Scott Shawcroft 42f4065c8a
Merge remote-tracking branch 'adafruit/main' into merge_1.13 2021-05-06 11:17:53 -07:00
Dan Halbert ebf9dcb47a
Merge pull request #4689 from dhalbert/dynamic-usb-descriptors
Dynamic USB descriptors
2021-05-06 13:51:38 -04:00
Dan Halbert fc8e1c4c2e address review comments 2021-05-05 12:35:12 -04:00
Scott Shawcroft 30c7aa8fc9
Merge pull request #4650 from anecdata/ap
wifi.radio Access Point modes
2021-05-05 08:47:55 -07:00
Jeff Epler 2c0664ea3f slice: restore ability to construct a slice 2021-05-05 08:47:15 -05:00
Scott Shawcroft f0bb26d70f
Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
Dan Halbert d2b558993e merge from main, including MicroPython 1.12 merge 2021-05-03 20:56:04 -04:00
Scott Shawcroft b35fa44c8a
Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
microDev 6640db9555
make authmode settable 2021-04-30 21:35:02 +05:30
microDev 7c845818b3
Merge branch 'main' into ap 2021-04-30 17:11:22 +05:30
Dan Halbert 71a8cadb09 working! 2021-04-29 22:26:38 -04:00
Dan Halbert f06d54524d merge from adafruit 2021-04-28 23:48:26 -04:00
Lucian Copeland 9feef41c82 Merge remote-tracking branch 'upstream/main' into stm-alarm 2021-04-28 15:10:55 -04:00
Dan Halbert d4d96bb25f
Merge pull request #4236 from jun2sak/nrf52-sleep
sleep and wakeup for nrf52
2021-04-28 12:11:31 -04:00
Dan Halbert f98a54628b wip: compiles 2021-04-27 14:37:36 -04:00
Scott Shawcroft 17fcd499b2
Merge pull request #4649 from tannewt/merge_1.11_2
Merge MicroPython v1.11 into CircuitPython
2021-04-27 11:02:02 -07:00
Scott Shawcroft 76033d5115
Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
anecdata a328cff209 translate 2021-04-25 18:51:00 -05:00
Dan Halbert 9d1fcc3b14 merge from main 2021-04-25 10:27:52 -04:00
jun2sak 7accb8b173 modify copyright notice. 2021-04-25 19:57:21 +09:00
Scott Shawcroft 80e8b4ac14
Merge pull request #4635 from jepler/pcc
WIP: Implement 'ParallelImageCapture' for samd51
2021-04-23 13:31:53 -07:00
Dan Halbert 2b4c88d633 wip: partial HID, still needs rework 2021-04-23 00:18:05 -04:00
Dan Halbert 8f73270f2b
Merge pull request #4646 from tannewt/merge_mp1.10
Merge in MicroPython v1.10
2021-04-22 13:16:27 -04:00
Scott Shawcroft 09f7b43c64
Merge MicroPython 1.10 into CircuitPython 2021-04-21 15:59:17 -07:00
Lucian Copeland 8ce89860e6 Pass pre-commit formatting 2021-04-21 17:34:13 -04:00
Dan Halbert 01979acd48
Merge pull request #4604 from tannewt/buffer_size
Assume max characteristic size when the client
2021-04-20 12:02:06 -04:00
Jeff Epler 99799cded6 imagecapture: implement to review suggestions 2021-04-20 10:21:32 -05:00
Benny Meisels f0b04d403d Add board definition files for ARAMCON2 Badge 2021-04-19 20:41:01 +03:00
Jeff Epler fc4538f845 WIP: Implement 'ParallelImageCapture' for samd51 2021-04-16 17:18:59 -05:00
Scott Shawcroft aa28d4f315
Allow setting max_packet_size for PacketBuffer
This is handy for remote characteristics because it allows for
the PacketBuffer binding code to have the correct max size. This
PR also adds checks so we don't write outside the outgoing buffer.
2021-04-14 17:09:48 -07:00
Dan Halbert 4a7e129287 wip: latent usb device enabling/disabling 2021-04-13 23:33:44 -04:00
Artyom Skrobov c6ee471b52 Merge branch 'main' of https://github.com/adafruit/circuitpython into patch-3 2021-04-13 00:32:19 -04:00
Dan Halbert c333acdbad
Merge pull request #4589 from hugodahl/feature/Remove-MicroPython-mention-in-error-messages
Make error messages platform agnostic
2021-04-10 21:30:17 -04:00
Hugo Dahl 36f3897fe3 Make error messages platform agnostic
Remove mentions of 'MicroPython' in error messages as they could lead to confusion in lesser-experienced users
2021-04-10 18:36:53 -05:00
Lucian Copeland 15764b4c24 Merge remote-tracking branch 'upstream/main' into nrf52-sleep 2021-04-09 13:48:45 -04:00
Lucian Copeland bf58afdb2a
Merge pull request #4399 from tyomitch/patch-2
[stm] implementation of audiopwmio
2021-04-05 18:35:39 -04:00
Jeff Epler 97fd77b3bb make translate 2021-04-03 13:22:28 -05:00
Dan Halbert 3af02b692b
Merge pull request #4543 from bergdahl/main
Changed confusing error messages.
2021-04-02 21:09:44 -04:00
Jonny Bergdahl 7c164f0786 Ran make translate 2021-04-02 21:34:16 +02:00
Jeff Epler 4c0245bac6 make translate 2021-04-02 13:09:23 -05:00
Scott Shawcroft 0752bbd5fd
Fix central pairing and crash on clear
The list_clear would crash if we tried to clear a NULL list. (It
can happen if we haven't tried to discover any services.)
2021-03-31 16:04:04 -07:00
Artyom Skrobov 8056af8648 [synthio] add a simple MidiTrack implementation 2021-03-26 16:38:10 -04:00
Artyom Skrobov b40d072648 [stm] implementation of audiopwmio
Based on nrf PWMAudioOut by @jepler and stm PulseOut by @hierophect

Tested on a Meowbit
2021-03-26 13:18:01 -04:00
Dan Halbert 1512ca520b Fix PWMOut non-error handling and never reset 2021-03-19 09:57:21 -04:00
Dan Halbert 47437cb415 make translate; fix display pins 2021-03-18 23:42:24 -04:00
Kevin Matocha c37a1f45f3 ran pre-commit for formatting fixes 2021-03-17 11:00:32 -05:00
Jeff Epler df2d08366a make translate 2021-03-16 13:37:19 -05:00
Jeff Epler 58679dc038 Merge remote-tracking branch 'origin/main' into bitmap-read-2 2021-03-16 12:21:50 -05:00
Jeff Epler 2e2b40be01 Update ulab 2021-03-15 09:10:49 -05:00
Jeff Epler 6e9a44bbfd make translate 2021-03-14 15:03:00 -05:00
Scott Shawcroft b413535ee1
Merge pull request #4376 from kmatch98/displayio_bitmap
add fill_region and draw_line to bitmap_tools
2021-03-12 16:50:39 -08:00
Kevin Matocha 85f0f07d51 add fill_region and draw_line to bitmaptools 2021-03-10 11:37:27 -06:00
jun2sak 51c7a49853 Merge branch 'main' into nrf52-sleep 2021-03-07 20:50:53 +09:00
Jeff Epler c9dea3d72d make translate 2021-03-04 14:23:06 -06:00
Mark 37ee18349f
Merge branch 'main' into rp2040_countio 2021-03-02 19:47:53 -06:00
gamblor21 4246cc3f6d Counter and PWMOut slice conflict check 2021-03-02 19:32:06 -06:00
Dan Halbert 15615effc2
Merge pull request #4276 from bergdahl/patch-1
Update StateMachine.c
2021-03-02 17:11:45 -05:00
Dan Halbert 3268330b3a make translate 2021-03-02 12:04:32 -05:00
Scott Shawcroft d0eab5c561
Merge pull request #4256 from kmatch98/bt_cleanup
Add `bitmaptools` module
2021-03-01 18:24:12 -08:00
gamblor21 d7bc8a46a5 Added counters per slice 2021-02-27 15:17:27 -06:00
Scott Shawcroft 94edff9063
translation update 2021-02-26 15:42:53 -08:00
Scott Shawcroft 24fdda038e
translation update 2021-02-26 15:18:50 -08:00
Scott Shawcroft 3f08cb47b8
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp 2021-02-25 16:59:15 -08:00
jun2sak 7fd4648cd5 rase error if Alarm time >= 512 sec. 2021-02-26 09:06:11 +09:00
jun2sak 5b3c6ed0c3 update translation file. 2021-02-26 01:28:13 +09:00
microDev 5d7fdafcde
implement suggested changes
- add internal buffering
- rtc initialization fix
2021-02-25 00:48:36 +05:30
Kevin Matocha b720028642 Add bitmaptools module 2021-02-23 23:23:14 -06:00
Mark b935dcafdc
Merge branch 'main' into rp2040_countio 2021-02-23 19:46:41 -06:00
gamblor21 379f454ce6 Adding countio to rp2040 2021-02-23 19:38:05 -06:00
Scott Shawcroft 889f02abe4
Translations 2021-02-23 16:32:16 -08:00
jun2sak 62b38e273b update translation file. 2021-02-21 15:37:51 +09:00
Jeff Epler 1a3b12a3bc make translate 2021-02-20 15:17:38 -06:00
microDev b12ccefbe6
uart implementation for rp2040 2021-02-19 18:36:00 +05:30
Jeff Epler b854c06a0c make translate 2021-02-18 17:23:55 -06:00
Jeff Epler 7fd4567893 bitops: rename from _bit_transpose, describe the algorithm 2021-02-18 15:41:23 -06:00
Jeff Epler c284728621 bit_transpose: Support from 2 to 7 strands, not just 8 2021-02-18 11:33:13 -06:00
Jeff Epler 9cf7d73c6c core: add bit_transpose function
.. this version can only handle exactly 8 bits "across".  The restriction
may be relaxed in a future revision.
2021-02-18 11:32:47 -06:00
Scott Shawcroft 48d4d2b1cf
Translations 2021-02-09 15:47:54 -08:00
Lucian Copeland 857bb8a534 Translations 2021-02-05 13:24:55 -05:00
BiffoBear 042c09dab2 Ran make translate to generate circuitpython.pot 2021-02-03 05:57:03 +07:00
Scott Shawcroft 9140bfb5b2
Merge pull request #4049 from hierophect/sslsocket
Separate SSLSocket from Socket
2021-02-02 10:35:07 -08:00
Scott Shawcroft 8789a2c8a9
Merge pull request #4110 from microDev1/rtc-rp
RP2040: Support for RTC
2021-02-01 19:47:44 -08:00
Scott Shawcroft ced3dc70ff
Merge pull request #4018 from iot49/cp-flow
add uart hardware flow control to nrf port
2021-02-01 19:38:16 -08:00
microDev ec03267035
rtc implementation for rp2040 2021-02-02 00:00:00 +05:30
Lucian Copeland 66639b237f Merge remote-tracking branch 'upstream/main' into sslsocket 2021-02-01 11:43:01 -05:00
Scott Shawcroft 529114c162
Merge pull request #4077 from netroy/lilygo-ttgo-t8-esp32-s2
Add support for Lilygo TTGO T8 ESP32-S2
2021-01-31 19:50:36 -08:00
Aditya 6dba7a146d Add support for Lilygo TTGO T8 ESP32-S2 2021-01-31 14:30:31 +01:00
microDev 76256821ec
add translations for raspberrypi port 2021-01-28 20:02:00 +05:30
Bernhard Boser 0d3771ece3 make translate 2021-01-27 09:24:03 -08:00
Bernhard Boser e285b5b98c Merge remote-tracking branch 'adafruit/main' into cp-flow 2021-01-27 09:22:41 -08:00
Scott Shawcroft 45b3c9ae42
Merge pull request #4068 from jepler/update-protomatter-tiling
protomatter: Update to version that supports tiling
2021-01-26 17:31:26 -08:00
Jeff Epler 189ec2fc60 Disallow tile=0 2021-01-26 16:51:31 -06:00
Scott Shawcroft 351a0e747d
Merge pull request #4047 from kmatch98/esp32s2_ParallelBus
Add initial ParallelBus support for ESP32-S2
2021-01-26 13:07:58 -08:00
Jeff Epler 1c10ec99a7 make translate 2021-01-26 15:04:45 -06:00
Jeff Epler 345c2ae8a9 make translate 2021-01-26 11:04:18 -06:00
Kevin Matocha 4140012430 Allow pins >= 32, allow write pin on different register than data pins 2021-01-25 16:25:56 -06:00
Lucian Copeland 9f34ec78c4 Separate Socket and SSLSocket, add LWIP connect 2021-01-25 17:07:25 -05:00
Christian Walther 8889ac12e1 Add supervisor.set_next_code() function (prototype).
Part of #1084.
2021-01-23 23:05:31 +01:00
Kevin Matocha 34aa01c5f9 Remove redundant clear_write, add make translate 2021-01-22 22:29:51 -06:00
Dan Halbert f72c1474c5
Merge branch 'main' into connect 2021-01-22 03:56:57 -05:00
Dan Halbert e3275be8b1
Merge pull request #3911 from hugodahl/add-translation-for-builtin-object-help
Update built-in help output for localization (Issue #3907)
2021-01-22 03:49:19 -05:00
hierophect f88a896c03
Merge pull request #3854 from hierophect/esp-tcpserver
ESP32S2: Implement TCP Server bindings
2021-01-21 17:25:14 -05:00
anecdata 1f6cd496c7 1. check enabled before scan; 2. make start-station() the single control point for esp_wifi_set_mode() 2021-01-21 13:54:19 -06:00
Hugo Dahl 7076da3040
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help
* 'main' of https://github.com/adafruit/circuitpython:
  Revert "UMFEATHERS2 - implement use of DotStar for status led"
  fix doc build
  Update to 1.7.1
  Set year from execution date
  Hard code new copyright date
  Update translations
  ulab: update to 1.7.0
  Rename to match WIFI_REASON. Also include specific error code in "Unknown failure" Exception.
  Include all reason codes.
  Rename to match WIFI_REASON. Also return specific reason code.
  Retry on all disconnect reasons other than: 2 exception reasons & 1 manual disconnect reason.
2021-01-19 05:48:17 -06:00
anecdata 672d0e27a3 make translate 2021-01-18 19:57:13 -06:00
Bernhard Boser e27dd26dc7 make translate, BEWARE adds the 'world' 2021-01-18 11:26:39 -08:00
Bernhard Boser 1e88b9411d rebase (main) & make translate 2021-01-18 10:21:27 -08:00
Bernhard Boser e867d1915e make translate 2021-01-17 19:30:41 -08:00
Scott Shawcroft 816cbe4704
Merge pull request #3992 from anecdata/reason4
wifi: more disconnect reasons for retries & include error code in exception
2021-01-15 11:52:34 -08:00
Hugo Dahl 8094435193
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help 2021-01-14 22:12:30 -06:00
anecdata 564dce858f Update translations 2021-01-14 17:53:37 -06:00
Jeff Epler ad87f37689 ulab: update to 1.7.0 2021-01-14 14:16:11 -06:00
Lucian Copeland 287770f885 Merge remote-tracking branch 'upstream/main' into esp-tcpserver 2021-01-14 10:21:08 -05:00
Jeff Epler 8d24e72981
Merge pull request #3978 from ladyada/neotrinkey
samd21 board with only 4 neopixels + two touchpads
2021-01-12 20:19:01 -06:00
Dan Halbert f9c762256f
Merge pull request #3733 from jepler/audioout-esp32
esp32s2: Add I2SAudioOut
2021-01-12 13:25:40 -05:00
lady ada 748d44892d fix some precommit complaints 2021-01-12 12:55:02 -05:00
Jeff Epler 1ca29ec47c Merge remote-tracking branch 'origin/main' into audioout-esp32 2021-01-12 09:23:07 -06:00
Hugo Dahl 87849fb62c
Fix pre-commit hook issue 2021-01-12 07:31:56 -06:00
microDev cd16f29efd
Merge branch 'main' into TouchAlarm 2021-01-12 18:28:38 +05:30
Hugo Dahl 5949516ece
Update circuitpython.pot
Fix missing closing quote
2021-01-11 20:46:02 -06:00
Hugo Dahl 2d8404c599
Merge branch 'main' into add-translation-for-builtin-object-help 2021-01-11 18:32:07 -06:00
Scott Shawcroft a92712acc5
Merge pull request #3949 from jepler/pre-commit-translations
pre-commit: Add check for translations being up to date
2021-01-11 15:29:50 -08:00
microDev 5f448139e0
fixes and enhancement for touch alarm
- prevent touch alarm initialization if not set
- fix wake_alarm is set to touch alarm on autoreload
- add ability to have multiple touch alarms in light sleep
2021-01-11 15:30:45 +05:30
Jeff Epler e79ee785ac circuitpython.pot: regenerate without timestamp 2021-01-07 14:41:49 -06:00
Jeff Epler 30c6dd3f76 Merge remote-tracking branch 'origin/main' into audioout-esp32 2021-01-07 14:11:14 -06:00
iot49 1a82555803
Merge branch 'main' into msgpack 2021-01-05 11:19:11 -08:00
Bernhard Boser 90a299bb1e added //| to (hopefully) get CI to pass 2021-01-05 11:17:09 -08:00
Jeff Epler f87ce01b8f make translate 2021-01-04 12:55:39 -06:00
Hugo Dahl ad7f4d8ae9
Merge branch 'main' of https://github.com/adafruit/circuitpython into add-translation-for-builtin-object-help
* 'main' of https://github.com/adafruit/circuitpython:
  update wake-alarm implementation
  enable light-sleep functionality
  update frozen libs for 6.1.0-beta.3
  Revert "Removing frozen libs"
  add pretend-to-sleep functionality
  expose wake pin parameter and more tweaks
  add touch alarm support for esp32s2
  implement touch alarm
2020-12-30 23:37:55 -06:00
Hugo Dahl 1407af7291
Add localization for built-in help
Support localizing the output of a call to  to match the
firmware's language.
2020-12-30 18:20:43 -06:00
microDev 28ce5e8988
Merge branch 'main' into touch-s2 2020-12-30 22:44:22 +05:30
microDev c7f68022ef
add pretend-to-sleep functionality 2020-12-30 22:11:22 +05:30
Jeff Epler 42cad23dea make translate 2020-12-29 16:31:29 -06:00
Dan Halbert 578abae0f5
make translate yet again; forgot to fetch submodules to fresh clone 2020-12-23 23:05:10 -05:00
Dan Halbert cf4862e96e
make translate again 2020-12-23 22:52:27 -05:00
Dan Halbert 8061a2574d
Merge branch 'main' into pin_alarm 2020-12-23 22:05:02 -05:00
Scott Shawcroft c371119da4
Make translate 2020-12-23 15:00:53 -08:00
Dan Halbert 153a686837 make translate for main 2020-12-23 16:41:56 -05:00
Lucian Copeland 9a86829d01 translations 2020-12-21 14:14:31 -05:00
microDev ecd7c0878e
expose wake pin parameter and more tweaks 2020-12-19 20:54:36 +05:30
microDev 8eaf2b0c19
implement touch alarm 2020-12-18 12:54:36 +05:30
microDev 4512290ba0
Merge branch 'main' into ota-s2 2020-12-18 00:44:00 +05:30
microDev 4863413bc9
rename ota to dualbank 2020-12-18 00:34:56 +05:30
hierophect 3ad4b12ce1
Merge branch 'main' into esp-analog-hang 2020-12-15 15:08:30 -05:00
Lucian Copeland cac755ba16 Merge remote-tracking branch 'upstream/main' into esp-analog-hang 2020-12-14 13:00:57 -05:00
Lucian Copeland dc560f0eee translations 2020-12-14 13:00:07 -05:00
Dan Halbert e0bb4a808a make translate 2020-12-14 11:49:01 -05:00
microDev 37ee5e683d
Merge branch 'main' into ota-s2 2020-12-12 05:25:46 +05:30
Scott Shawcroft 344d3c59cb
Merge branch 'main' into msgpack 2020-12-11 11:10:30 -08:00
microDev cb35abfd04
add docs, update translation & fix ota.flash() 2020-12-11 01:01:01 +05:30
Lucian Copeland f7c7324e60 Translations 2020-12-08 18:57:19 -05:00
Scott Shawcroft 40118bcf57
Add `board_deinit` for use with sleep
This changes lots of files to unify `board.h` across ports. It adds
`board_deinit` when CIRCUITPY_ALARM is set. `main.c` uses it to
deinit the board before deep sleeping (even when pretending.)

Deep sleep is now a two step process for the port. First, the
port should prepare to deep sleep based on the given alarms. It
should set alarms for both deep and pretend sleep. In particular,
the pretend versions should be set immediately so that we don't
miss an alarm as we shutdown. These alarms should also wake from
`port_idle_until_interrupt` which is used when pretending to deep
sleep.

Second, when real deep sleeping, `alarm_enter_deep_sleep` is called.
The port should set any alarms it didn't during prepare based on
data it saved internally during prepare.

ESP32-S2 sleep is a bit reorganized to locate more logic with
TimeAlarm. This will help it scale to more alarm types.

Fixes #3786
2020-12-08 10:52:25 -08:00
microDev 602243748b
add ota support for esp32s2 2020-12-08 11:45:00 +05:30
Bernhard Boser 534b48fcfe remove a ~ from doc that causes an error; add ExtType.c to circuitpy_defns.mk 2020-12-07 16:08:16 -08:00