Commit Graph

25766 Commits

Author SHA1 Message Date
Scott Shawcroft
05b9ba82aa
Merge pull request #5558 from jepler/dither3
Implement dithering
2021-11-09 09:53:52 -08:00
Jeff Epler
20cbd5e635 Disable bitmapio on some boards where it no longer fits 2021-11-08 18:58:33 -06:00
Jeff Epler
22b7ffc6ed
Merge pull request #5559 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-11-08 18:13:44 -06:00
Jeff Epler
ff9b10c7b6 fix doc build problems 2021-11-08 16:46:44 -06:00
Jeff Epler
cbfa41f238 Merge remote-tracking branch 'origin/main' into dither3 2021-11-08 16:46:36 -06:00
Hosted Weblate
e119c88600
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-11-08 19:50:11 +01:00
Hosted Weblate
df7a39c7d2
Merge remote-tracking branch 'origin/main' 2021-11-08 19:50:09 +01:00
Reza Almanda
13d05aa229
Translated using Weblate (Indonesian)
Currently translated at 44.3% (448 of 1011 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2021-11-08 19:50:09 +01:00
Scott Shawcroft
bb71f8c9b3
Merge pull request #5544 from jepler/alphablend
bitmaptools: add alphablend
2021-11-08 10:50:03 -08:00
Scott Shawcroft
e5c7ff738b
Merge pull request #5553 from EmergReanimator/stm
Improved accuracy of common_hal_mcu_delay_us of STM port.
2021-11-08 09:57:44 -08:00
Jeff Epler
6351de6ad1 espressif: Allow -DENABLE_JTAG=0 to force JTAG off
With the Kaluga devkit, the camera interferes with the JTAG function.
However, having DEBUG turned on e.g., to get extended debug information
on the UART debug connection remains useful.

Now, by arranging to add to CFLAGS += -DDEBUG -DENABLE_JTAG=0, this
configuration is easy to achieve.
2021-11-08 10:38:05 -06:00
Jeff Epler
b453d18579 ColorConverter: fix a docstring 2021-11-08 10:36:39 -06:00
Jeff Epler
eaf8bc0abe bitmaptools: add dither
This can convert a BGR565_SWAPPED bitmap to B&W in about 82ms on
esp32-s2.
2021-11-08 10:35:44 -06:00
Jeff Epler
5572876d29
Merge pull request #5547 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-11-07 15:26:14 -06:00
Wellington Terumi Uemura
f1ea57e032
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1011 of 1011 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-11-07 17:53:21 +01:00
EmergReanimator
94866fc1e3
Merge branch 'adafruit:main' into stm 2021-11-07 14:19:54 +01:00
EmergReanimator
a0074c36d8 Improved accuracy of common_hal_mcu_delay_us of STM port.
SysTick Current Value Register must be cleared before enabling.
2021-11-07 14:19:01 +01:00
Jeff Epler
6790f95953 Fix disabling of FRAMEBUFFERIO on atmel-samd
.. this needs to imply the disabling of RGBMATRIX too
2021-11-05 15:19:01 -05:00
Jeff Epler
4f62b540a2 Disable bitmaptools on thunderpack_v11 2021-11-05 15:18:41 -05:00
Hosted Weblate
0e086678e1
Merge remote-tracking branch 'origin/main' 2021-11-05 19:40:04 +01:00
Dan Halbert
49207fba2c
Merge pull request #5549 from jepler/samd-watchdog-rounding
atmel-samd: Fix converting watchdog seconds to cycles
2021-11-05 14:39:59 -04:00
Hosted Weblate
2681fa3975
Merge remote-tracking branch 'origin/main' 2021-11-05 19:37:43 +01:00
Jonny Bergdahl
a555475e65
Translated using Weblate (Swedish)
Currently translated at 100.0% (1011 of 1011 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-11-05 19:37:42 +01:00
Dan Halbert
11e37b7512
Merge pull request #5550 from ladyada/main
add KB2040 and fix Trinkey QT2040 pid
2021-11-05 14:37:33 -04:00
lady ada
02573676e7 add KB2040 and fix Trinkey QT2040 pid 2021-11-05 12:43:44 -04:00
Jeff Epler
43b593725b atmel-samd: Fix converting watchdog seconds to cycles
It's intended that the actual timeout always be at least the requested
timeout.  However, due to multiplying by the wrong factor to get from
seconds to cycles, a timeout request of e.g., 8.1s (which is less than
8.192s) would give an actual timeout of 8, not 16 as it should.
2021-11-05 11:40:08 -05:00
Jeff Epler
dfafab675f Enable L8 mode for alphablend 2021-11-05 11:26:07 -05:00
Jeff Epler
8e8c44afea Merge remote-tracking branch 'origin/main' into alphablend 2021-11-05 11:24:51 -05:00
Jeff Epler
d532ad388b disable framebufferio so bitmaptools can fit 2021-11-05 11:24:03 -05:00
Hosted Weblate
4ed1249927
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-11-05 16:24:32 +01:00
Scott Shawcroft
c27b3a0e4f
Merge pull request #5490 from jepler/gifio
Implement gifio.GifWriter
2021-11-05 08:24:24 -07:00
Jeff Epler
2ec2761ce0 bitmaptools: add alphablend
This blends two "565"-format bitmaps, including byteswapped ones. All
the bitmaps have to have the same memory format.

The routine takes about 63ms on a Kaluga when operating on 320x240 bitmaps.
Of course, displaying the bitmap also takes time.

There's untested code for the L8 (8-bit greyscale) case. This can be
enabled once gifio is merged.
2021-11-05 08:16:48 -05:00
Jeff Epler
102af55e0a
Merge pull request #5542 from weblate/weblate-circuitpython-main
Translations update from Weblate
2021-11-05 08:15:28 -05:00
Hosted Weblate
93f6071e64
Merge remote-tracking branch 'origin/main' 2021-11-05 05:07:54 +01:00
hexthat
f7ba0d23de
Translated using Weblate (Chinese (Pinyin))
Currently translated at 100.0% (1010 of 1010 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2021-11-05 05:07:54 +01:00
Jonny Bergdahl
9db5d57e50
Translated using Weblate (Swedish)
Currently translated at 100.0% (1010 of 1010 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/sv/
2021-11-05 05:07:53 +01:00
Wellington Terumi Uemura
6d7e6dfabd
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1010 of 1010 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2021-11-05 05:07:53 +01:00
Dan Halbert
c263175221
Merge pull request #5545 from jepler/fix-rtd
Request RTD to use python3.9 for building
2021-11-05 00:07:48 -04:00
Jeff Epler
115402f4b8 Ask readthedocs to use python3.9 for building 2021-11-04 21:14:45 -05:00
Jeff Epler
334a9c85ce Merge remote-tracking branch 'origin/main' into gifio 2021-11-04 20:22:00 -05:00
Hosted Weblate
7f9fa8c201
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/
2021-11-04 21:33:40 +01:00
Scott Shawcroft
a08412420e
Merge pull request #5540 from jepler/continuous-capture
ParallelImageCapture: Add continuous capture on espressif
2021-11-04 13:33:32 -07:00
Jeff Epler
f498cfa538 clarify that ParallelImageCapture holds references to the buffers until capture_stop 2021-11-04 08:39:26 -05:00
Scott Shawcroft
0dfb7a9a2d
Merge pull request #5541 from DavePutz/issue_5477
Corrected number of serial bytes returned
2021-11-03 16:53:15 -07:00
root
1e3215f4ee Corrected number of serial bytes returned 2021-11-03 16:29:05 -05:00
Jeff Epler
0ac6adb460 spelling 2021-11-03 14:14:55 -05:00
Jeff Epler
a8614a61dc ParallelImageCapture: Add continuous capture on espressif
By having a pair of buffers, the capture hardware can fill one buffer while
Python code (including displayio, etc) operates on the other buffer.  This
increases the responsiveness of camera-using code.

On the Kaluga it makes the following improvements:
 * 320x240 viewfinder at 30fps instead of 15fps using directio
 * 240x240 animated gif capture at 10fps instead of 7.5fps

As discussed at length on Discord, the "usual end user" code will look like
this:

    camera = ...

    with camera.continuous_capture(buffer1, buffer2) as capture:
        for frame in capture:
            # Do something with frame

However, rather than presenting a context manager, the core code consists of
three new functions to start & stop continuous capture, and to get the next
frame.  The reason is twofold.  First, it's simply easier to implement the
context manager object in pure Python.  Second, for more advanced usage, the
context manager may be too limiting, and it's easier to iterate on the right
design in Python code.  In particular, I noticed that adapting the
JPEG-capturing programs to use continuous capture mode needed a change in
program structure.

The camera app was structured as
```python
while True:
    if shutter button was just pressed:
        capture a jpeg frame
    else:
        update the viewfinder
```

However, "capture a jpeg frame" needs to (A) switch the camera settings and (B)
capture into a different, larger buffer then (C) return to the earlier
settings. This can't be done during continuous capture mode. So just
restructuring it as follows isn't going to work:

```python
with camera.continuous_capture(buffer1, buffer2) as capture:
    for frame in capture:
        if shutter button was just pressed:
            capture a jpeg frame, without disturbing continuous capture mode
        else:
            update the viewfinder
```

The continuous mode is only implemented in the espressif port; others
will throw an exception if the associated methods are invoked.  It's not
impossible to implement there, just not a priority, since these micros don't
have enough RAM for two framebuffer copies at any resonable sizes.

The capture code, including single-shot capture, now take mp_obj_t in the
common-hal layer, instead of a buffer & length.  This was done for the
continuous capture mode because it has to identify & return to the user the
proper Python object representing the original buffer.  In the Espressif port,
it was convenient to implement single capture in terms of a multi-capture,
which is why I changed the singleshot routine's signature too.
2021-11-03 11:02:46 -05:00
Dan Halbert
38c381633b
Merge pull request #5534 from jepler/add-rainbowio
Add rainbowio
2021-11-02 21:57:08 -04:00
Dan Halbert
4770120c60
Merge pull request #5536 from jepler/better_boot_out_txt
main: redesign boot_out.txt writing
2021-11-02 21:55:00 -04:00
Jeff Epler
63e01cde77 we decided not to add rainbowio on simmel 2021-11-02 19:01:05 -05:00