Commit Graph

2654 Commits

Author SHA1 Message Date
Dan Halbert 5569f101a7
Document that storage.VfsFat.mkfs() is a @staticmethod 2023-03-17 10:50:07 -04:00
Carlin Kartchner 058a8e65d8 define frame delay before reference 2023-03-16 18:22:24 -04:00
Scott Shawcroft 5bb8a7a7c6
Improve iMX RT performance
* Enable dcache for OCRAM where the VM heap lives.
* Add CIRCUITPY_SWO_TRACE for pushing program counters out over the
  SWO pin via the ITM module in the CPU. Exempt some functions from
  instrumentation to reduce traffic and allow inlining.
* Place more functions in ITCM to handle errors using code in RAM-only
  and speed up CP.
* Use SET and CLEAR registers for digitalio. The SDK does read, mask
  and write.
* Switch to 2MiB reserved for CircuitPython code. Up from 1MiB.
* Run USB interrupts during flash erase and write.
* Allow storage writes from CP if the USB drive is disabled.
* Get perf bench tests running on CircuitPython and increase timeouts
  so it works when instrumentation is active.
2023-03-14 12:30:58 -07:00
Dan Halbert 5ec586019b fix TimeAlarm signature 2023-03-14 13:27:57 -04:00
Dan Halbert d4840cbf10 translate() messages must be one string 2023-03-14 13:13:58 -04:00
Scott Shawcroft 9251c6f988
Merge pull request #7684 from isacben/document-aeios-AES-rekey
Document aeios.AES.rekey() and refactor arg validation
2023-03-08 10:47:12 -08:00
Isaac Benitez b7db2896d1 Second fix for the IV argument capitalization (documentation) 2023-03-07 10:12:57 -08:00
MicroDev b9e478af39
Merge pull request #7471 from matemaciek/main
Add function for drawing polygons to bitmaptools
2023-03-07 08:28:07 +05:30
foamyguy 812fa2b34b change docstring, add example code. 2023-03-06 16:55:12 -06:00
Isaac Benitez 8955caff44 Fix capitalization of the IV argument (documentation) 2023-03-06 10:38:28 -08:00
Isaac Benitez 90155925d5 Document aeios.AES.rekey() and refactor arg validation 2023-03-05 12:58:40 -08:00
Dan Halbert 0ca6cc7741
Merge pull request #7668 from jepler/gifio-directio-example
document going directly to display with ondiskgif
2023-03-04 12:25:55 -05:00
Dan Halbert 2ac1c7a020
Add blank line after code-block 2023-03-04 11:59:31 -05:00
foamyguy 213a8bbdc1 Merge branch 'main' into displayio_arg_validation
# Conflicts:
#	shared-bindings/displayio/Palette.c
2023-03-04 10:11:47 -06:00
Dan Halbert bac1a9625a OnDiskGif delay was being chopped to 8 bits 2023-03-02 16:47:07 -05:00
Jeff Epler 6eae40338c
fix problems spotted very quickly by gamblor :) 2023-03-01 17:56:18 -06:00
Jeff Epler ac0bf1049a
document going directly to display with ondiskgif 2023-03-01 17:50:02 -06:00
Dan Halbert 5386cafa21 Update gifio and displayio documentation 2023-02-28 13:02:24 -05:00
Dan Halbert f214d6b336
Merge pull request #7649 from jepler/improve-pwmio-documentation
Improve pwmio documentation
2023-02-25 21:35:06 -05:00
gamblor21 ce3da1ec66 Small doc change 2023-02-25 14:15:33 -06:00
Jeff Epler 07b3bd6d77
Improve pwmio documentation
#7644 pointed out the need for better documentation.

To the best of my ability I noted the current behavior.
I think that there may be some ports that do not actually read
back the 'set' frequency value, but they are ports marked as beta
status (mimxrt10xx) or not maintained by us (cxd56).
2023-02-25 11:02:49 -06:00
gamblor21 328a08729d Example fix 2023-02-25 09:16:33 -06:00
Dan Halbert f9831b3bbc
Merge pull request #7639 from adafruit/8.0.x
Merge 8.0.x up to main
2023-02-24 19:32:09 -05:00
Dan Halbert 460dda0426
Merge pull request #7616 from dhalbert/8.0.x-fix-atmel-uart
Fix pad assignments on atmel-samd UART
2023-02-22 17:24:29 -05:00
Scott Shawcroft de5f58a61d
Merge branch 'main' into banglejs2 2023-02-21 12:04:28 -08:00
Scott Shawcroft a8b34bd067
Merge pull request #7549 from gamblor21/gif_displayio_support
Animated GIF support
2023-02-21 11:39:29 -08:00
foamyguy 3601bb3062 change value_count max 2023-02-20 20:37:42 -06:00
Dan Halbert 6d51356324 Fix pad assignments on atmel-samd UART 2023-02-19 20:42:44 -05:00
Dan Halbert 3f66a0be83
Merge pull request #7611 from gamblor21/colorconverter-mem-fix
ColorConverter output colorspace non-initialization fix
2023-02-19 20:34:30 -05:00
gamblor21 e78875a93b ColorConverter output colorspace fix 2023-02-18 15:35:56 -06:00
foamyguy 694537acb3 change validation maximum computation 2023-02-18 10:35:39 -06:00
gamblor21 c637ec9ea0 Removed forgotten func defn 2023-02-17 23:37:49 -06:00
gamblor21 b2a205e615 Doc fix 2023-02-17 15:48:26 -06:00
gamblor21 20eb7d11bd Changes times to seconds, remove dirty bitmap flag 2023-02-17 13:06:56 -06:00
Scott Shawcroft 931c7c1c51
Add Bangle.js 2, JDI memory displays and ACeP epd
This 2-in-1 PR started with the goal of support the Bangle.js 2
smartwatch with *no USB*.
* Adds "secure" DFU build support with a committed private key.
* Adds 3-bit color support with one dummy bit for the JDI memory display
* Allows nrf boards to have a board_background_task() run in RUN_BACKGROUND_TASK.
  This is needed because the Bangle.js 2 uses the watchdog to reset.
* Renamed port_background_task() to port_background_tick() to indicate it
  runs on tick, not RUN_BACKGROUND_TASK.
* Marks serial connected when the display terminal is inited. This means
  that safe mode messages show up on the display.

ACep, 7-color epaper displays also pack 3 bits in 4. So, I added that
support as well.
* Adds 3-bit ACeP color support for 7-color e-paper displays. (Not
  watch related but similar due to color depth.)
* Allows a refresh sequence instead of a single int command. The 7" ACeP
  display requires a data byte for refresh.
* Adds optional delay after resetting the display. The ACeP displays
  need this. (Probably to load LUTs from flash.)
* Adds a cleaning phase for ACeP displays before the real refresh.

For both:
* Add dither support to Palette.
* Palette no longer converts colors when set. Instead, it caches
  converted colors at each index.
* ColorConverter now caches the last converted color. It should make
  conversions faster for repeated colors (not dithering.)
2023-02-15 15:03:40 -08:00
Dan Halbert 328585f160 don't enter safemode.py on USER safe mode 2023-02-14 11:20:29 -05:00
Dan Halbert d46d9d5c21 shorten safe mode messages; improve message printing; fix CIRCUITPY_SAFEMODE_PY=0 2023-02-13 21:29:57 -05:00
Mark fa435468fa
Merge branch 'main' into gif_displayio_support 2023-02-13 18:30:51 -06:00
Dan Halbert d8231f1588 Implement safemode.py 2023-02-13 18:26:38 -05:00
gamblor21 88212b066e Doc fix 2023-02-13 11:32:25 -06:00
gamblor21 cab38ed6a6 Doc fixes and renamed play_frame to next_frame 2023-02-12 11:51:23 -06:00
gamblor21 0c95e6a08e Moving to gifio module 2023-02-12 11:17:34 -06:00
gamblor21 da9b6fb0e2 Moving library to /lib 2023-02-10 18:31:59 -06:00
foamyguy 5f3f87e371 validate palette color count and group scale 2023-02-10 18:05:07 -06:00
foamyguy 67fd815e27 maximum value validation for bitmap constructor 2023-02-10 17:39:38 -06:00
foamyguy bb4cccc1cd use range instead of min where applicable to consolodate bounds checks 2023-02-10 17:26:01 -06:00
gamblor21 19eba41630 Doc fixes and return next frame delay 2023-02-08 22:58:44 -06:00
foamyguy efe48e61ed argument bounds validation for bitmap.blit() 2023-02-06 17:03:49 -06:00
gamblor21 dbe518680a Memory savings and more properties 2023-02-05 10:54:04 -06:00
gamblor21 2b26242c66 need gif.c in shared-bindings to build 2023-02-04 18:38:07 -06:00
gamblor21 6a9b7199ec Initial gif proof of concept 2023-02-04 16:44:29 -06:00
foamyguy beb4a797ff bitmap fill, __get_item__, and __set_item__ positive validation 2023-02-04 12:37:43 -06:00
foamyguy 547ca5a452 bitmap constructor positive validation 2023-02-04 12:02:06 -06:00
MicroDev d9d94eacca
run updated pre-commit 2023-02-01 13:38:41 +05:30
MicroDev 4ef363a797
improve dualbank and storage extension docs 2023-01-29 23:16:45 +05:30
Neradoc f0058774d0 add CIRCUITPY_SKIP_SAFE_MODE_WAIT to circuitpy_mpconfig.mk
use #if (also a CIRCUITPY_ULAB)
2023-01-29 00:56:16 +01:00
MicroDev cda5689263
move `esp32_camera` to `espcamera` 2023-01-27 22:05:43 +05:30
Maciej Sokołowski e474df3a18 Add function for drawing polygons to bitmaptools 2023-01-20 23:14:38 +01:00
Dan Halbert 7dd76fc7e4
Merge pull request #7467 from matemaciek/main
Allow lines with ends out of bitmap in `bitmaptools_obj_draw_line`
2023-01-19 21:11:17 -05:00
Maciej Sokołowski 483f14b73f Allow lines with ends out of bitmap in `bitmaptools_obj_draw_line` 2023-01-19 21:37:25 +01:00
Scott Shawcroft dca66eb98c
Watch for ctrl-c over BLE workflow serial
Before this, it was impossible to interrupt a running program over
BLE.
2023-01-18 16:28:35 -08:00
Dan Halbert 79b76f7bea
Merge pull request #7445 from tannewt/fix_rpi_mdns
Share the web workflow MDNS object with the user
2023-01-17 14:46:38 -05:00
Scott Shawcroft 8b0db804ba
Fix SPI readinto with negative start or end 2023-01-12 16:25:11 -08:00
Scott Shawcroft 987d9a31c8
Fix pin_or_none 2023-01-12 16:03:45 -08:00
Scott Shawcroft ee2fe993dd
Fix repeated MDNS use on Pico W 2023-01-12 14:56:06 -08:00
Scott Shawcroft ca80f30348
Share the web workflow MDNS object with the user
Fixes #7369
2023-01-11 16:05:19 -08:00
Scott Shawcroft aa2ba4d88b
Have start and end kwargs respect element size
The comment says it is `buffer[start:end]` but it assumed elements
were a single byte long. Now it correctly does multibyte elements
from array.array.

Fixes #4988
2023-01-11 15:36:41 -08:00
Dan Halbert a974402542 Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
Scott Shawcroft 6b3ae630a9
Improve time alarm doc
Fixes #7406
2023-01-04 14:16:35 -05:00
Dan Halbert 03b43b7b3f complete rework for microcontroller.cpu.frequency and wifi.radio MAC addresses 2023-01-02 11:45:58 -05:00
Dan Halbert a3adcf0e1a clarify read-only mac address; reuse translate msgs 2023-01-02 10:13:20 -05:00
Jeff Epler 928fb0a9c4
Make the "name or service not known" message translatable 2022-12-26 13:58:31 -06:00
Scott Shawcroft c16b42e972
Tweak arg checking and comments 2022-12-20 11:00:13 -05:00
Scott Shawcroft f8ac1d9261
Rework the coproc API
It is now a generic `memorymap` API and an ESP specific `espulp` module.

Fixes #7218. Fixes #3234. Fixes #7300.
2022-12-19 14:08:38 -05:00
Jeff Epler 297657ea9a
Refactor so that all sites of name lookup failure result in gaierror 2022-12-14 14:45:32 -06:00
Jeff Epler 5ac622a30d
get rid of nearly-empty getenv.c file 2022-12-13 13:13:01 -06:00
Jeff Epler 3459fe322b
Withdraw the _environ module
This existed solely for testing, so expose it a different way during
the unix coverage build

Also turn off os.getenv support on samd21.
2022-12-08 15:33:10 -06:00
Jeff Epler a05829528b
_environ: update documentation 2022-12-08 13:36:48 -06:00
Jeff Epler ef2bfdb5db
dotenv becomes settings.toml 2022-12-08 12:44:20 -06:00
s-ol 99b8564e8f Add VfsFat.readonly property for getting current state
Previously the only other way of determining whether the Vfs has been mounted
read-write or read-only appears to be to attempt a write operation and detect a
possible OSError.

It wasn't possible for the user code to keep track of the state of the state
since the boot VM has to decide whether to (re)mount read-write or read-only,
but can't (easily) pass this information on to the runtime VM.
2022-12-08 14:45:24 +01:00
Scott Shawcroft 4c064c263e
Merge pull request #7294 from tannewt/analogbufio_rework
Rework the analogbufio API.
2022-12-02 14:53:16 -08:00
Scott Shawcroft d6c3dfb461
Merge pull request #7297 from jepler/chain-exception-doc
Implement the chain= argument of traceback.print_exception
2022-12-02 14:53:03 -08:00
Scott Shawcroft f7504ff857
Tweaks based on review comments 2022-12-02 10:19:31 -08:00
Jeff Epler b83c42e41a
Implement the chain= argument of traceback.print_exception 2022-12-02 10:50:31 -06:00
Scott Shawcroft 9e104c04ae
Merge pull request #7215 from FoamyGuy/set_root_group
displayio.show() API change
2022-12-02 08:45:20 -08:00
Scott Shawcroft 255e997345
Rework the analogbufio API.
* read() is now readinto() and takes the buffer to write into.
* readinto() returns the number of valid samples.
* readinto() can be interrupted by ctrl-c.
* readinto() API doesn't support signed numbers because it never did.
* sample_rate is now required in the constructor because supported
  values will vary per-port.
* 16 bit values are full range. 12 bit samples from RP2040 are stretched
  in the same way they are for AnalogIn.

Fixes #7226
2022-12-01 17:46:07 -08:00
Dan Halbert 082b0d1aed
Merge pull request #7191 from jepler/fastpixelmap
Add a fast PixelMap-like class
2022-12-01 11:43:00 -05:00
foamyguy 0563487433 get slicing 2022-11-30 19:16:20 -06:00
Jeff Epler 530e5a1df2
Use standard validation function 2022-11-30 14:39:51 -06:00
Jeff Epler c46e219795
Having an input-only pin is rare, save a string on other ports 2022-11-30 14:39:49 -06:00
Jeff Epler d39d146352
Merge some messages 2022-11-30 14:39:47 -06:00
Jeff Epler f67bca94c4
On python3 log(0) raises math domain error, not zerodivisionerror 2022-11-30 14:39:33 -06:00
Jeff Epler 2b01c139f5
use a standard validator function 2022-11-30 12:06:20 -06:00
Jeff Epler 7c9cd567a0
If uart is disabled, no pins will work; show NotImplementedError instead 2022-11-30 12:06:18 -06:00
Jeff Epler 8658e7a954
re-use length validator 2022-11-30 12:06:18 -06:00
Jeff Epler ac999098ee
merge a message 2022-11-30 12:06:18 -06:00
Jeff Epler 6ac2022093
merge a message 2022-11-30 12:06:16 -06:00
Jeff Epler 284ac21f51
merge a message 2022-11-30 12:06:16 -06:00
Dan Halbert 1bcfff3716
Merge pull request #7272 from tannewt/picow_mdns
Add MDNS support to Pico W
2022-11-29 10:09:24 -05:00
MicroDev 8a9d841da9
Merge pull request #7275 from jshimbo/main
supervisor.ticks_ms() documentation has an error
2022-11-29 14:34:24 +05:30