Commit Graph

17832 Commits

Author SHA1 Message Date
Sean Cross
2f95cc95a4 litex: move more critical code to RAM
The XIP SPI flash on Fomu is slow, which results in certain operations
taking a long time. This becomes a problem for time-critical operations
such as USB.

Move various calls into RAM to improve performance.

This includes the call to __modsi3 and __udivsi3 which are used by the
supervisor handler to determine if periodic callbacks need to be run.

This finishes fixing #3841

Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-24 14:06:57 +08:00
Sean Cross
f3e54414e5 litex: ensure we don't re-enable interrups during ISR
During an interrupt handler, interrupts are implicitly disabled. They
will be re-enabled when the interrupt handler returns.

Due to some changes that were made, varous calls will re-enable
interrupts after they're finished. Examples of this include calling
`CALLBACK_CRITICAL_END` and getting the number of ticks with
`port_get_raw_ticks()`.

This patch prevents this from happening by doing two things:

1. Use standard calls in `port_get_raw_ticks()` to disable and re-enable
interrupts, preventing nesting issues, and
2. Increase the nesting count inside `isr()`, reflecting the implicit
call that is made by hardware when an interrupt is handled

This helps to address #3841.

Signed-off-by: Sean Cross <sean@xobs.io>
2020-12-24 14:03:10 +08:00
Scott Shawcroft
42ca57ff8f
Merge pull request #3684 from adafruit/tannewt-patch-1
Change creation date back.
2020-11-12 12:01:27 -08:00
Scott Shawcroft
f4b10879fb
Change creation date back. 2020-11-12 11:48:01 -08:00
Dan Halbert
105ec12144
Merge pull request #3661 from jepler/protomatter-error-checking-6x
RGBMatrix: Detect invalid bit_depth selection
2020-11-11 20:26:25 -05:00
Dan Halbert
9817672df7 make translate on 6.0.x 2020-11-11 14:06:34 -05:00
Scott Shawcroft
40b8bc0c84
Merge pull request #3666 from jepler/update-protomatter-1.0.10
protomatter: Update to upstream tag 1.0.10
2020-11-10 10:46:25 -08:00
Jeff Epler
b293aa7e09 protomatter: Update to upstream tag 1.0.10
Among other things this fixes a problem with blanking the display
and Closes #3664.
2020-11-10 09:12:16 -06:00
Jeff Epler
5554c27600 make translate 2020-11-09 09:49:43 -06:00
Jeff Epler
0ff20cdd85 RGBMatrix: Detect invalid bit_depth selection
Closes: #3650
2020-11-09 08:27:46 -06:00
Limor "Ladyada" Fried
9765b2c237
Merge pull request #3636 from dhalbert/feather-m4-can-pin-changes
Rev C Feather M4 CAN pin changes
2020-11-02 18:53:38 -05:00
Dan Halbert
1f7a3f0dfa Rev C Feather M4 CAN pin changes 2020-11-02 15:28:30 -05:00
Dan Halbert
a3f60e114a
Merge pull request #3630 from jerryneedell/jerryn_rfm
restore analogio to feather_m0_rfm9x/rfm69 builds
2020-11-01 08:58:49 -05:00
Jerry Needell
1762a36438 restore analogio to feather_m0_rfm9x/rfm69 builds 2020-11-01 05:46:13 -05:00
Jeff Epler
bbed1b0354
Merge pull request #3624 from dhalbert/usb-serial-detect-2
improve USB CDC disconnect/reconnect checking
2020-10-31 09:35:48 -05:00
Dan Halbert
345d84ffde improve USB CDC disconnect/reconnect checking 2020-10-30 22:25:50 -04:00
Dan Halbert
aba4447a22
Merge pull request #3618 from dhalbert/matrixportal-esp-tx-rx
matrixportal ESP TX and RX pins were swapped
2020-10-28 22:38:39 -04:00
Dan Halbert
59b9ca409c matrixportal ESP TX and RX pins were swapped 2020-10-28 20:33:10 -04:00
Scott Shawcroft
563a8934b7
Merge pull request #3603 from cwalther/boardspi
Fix lost board.SPI and board.I2C
2020-10-27 13:53:05 -07:00
Mark
fa35c3fa7c
Merge pull request #3609 from tannewt/6.0.x
Use old translation date to avoid merge conflict
2020-10-26 16:49:38 -05:00
Christian Walther
99a3750a2c Fix lost board.SPI and board.I2C after explicitly deiniting them.
After calling board.SPI().deinit(), calling board.SPI() again would return the unusable deinited object and there was no way of getting it back into an initialized state until the end of the session.
2020-10-26 22:44:38 +01:00
Christian Walther
f4f80e07ca Fix lost board.SPI and board.I2C after being used by display.
Fixes #3581.

Pins were marked as never_reset by common_hal_displayio_fourwire_construct() and common_hal_sharpdisplay_framebuffer_construct(), but these marks were never removed, so at the end of a session after displayio.release_displays(), {spi|i2c}_singleton would be set to NULL but the pins would not be reset. In the next session, board.SPI() and board.I2C() were unable to reconstruct the object because the pins were still in use.

For symmetry with creation of the singleton, add deinitialization before setting it to NULL in reset_board_busses(). This makes the pins resettable, so that reset_port(), moved behind it, then resets them.
2020-10-26 22:44:38 +01:00
Christian Walther
1117edae63 Fix erroneous claim of board.I2C() by deinited display.
At the end of a session that called displayio.release_displays() (and did not initialize a new display), a board.I2C() bus that was previously used by a display would wrongly be considered still in use. While I can’t think of any unrecoverable problem this would cause in the next session, it violates the assumption that a soft reboot resets everything not needed by displays, potentially leading to confusion.

By itself, this change does not fix the problem yet - rather, it introduces the same issue as in #3581 for SPI. This needs to be solved in the same way for I2C and SPI.
2020-10-26 22:44:38 +01:00
Scott Shawcroft
81ab6a05d0
Use old translation date to avoid merge conflict 2020-10-26 13:25:00 -07:00
Scott Shawcroft
1e0f12d504
Merge pull request #3602 from jepler/update-ulab-2
ulab: Incorporate bugfixes (update to tag 0.54.5, was 0.54.0)
2020-10-26 13:18:10 -07:00
Jeff Epler
85aa851714 make translate 2020-10-25 15:21:13 -05:00
Jeff Epler
543316a8fb ulab: Update again
.. pull in various doc build fixes that prevented the previous commit from building.  This is still "0.54.5", the tag was updated in micropython-ulab (since no functional difference was introduced, only doc and CI differences, I imagine)
2020-10-25 13:26:55 -05:00
Jeff Epler
4cad5478e6 ulab: Incorporate bugfixes (update to tag 0.54.5)
In particular, this closes #3954.
2020-10-24 13:16:10 -05:00
Scott Shawcroft
a899433dab
Merge pull request #3590 from jerryneedell/jerryn_cpb_spi
fix CPB SPI pin definitions
2020-10-22 13:49:25 -07:00
Jerry Needell
ff69ab603d fix CPB SPI pin definitions 2020-10-21 17:07:30 -04:00
Scott Shawcroft
1921143838
Merge pull request #3578 from jepler/fix-mac-actions
build.yml: Fix building mpy-cross-mac
2020-10-21 12:45:16 -07:00
Jeff Epler
599bacb0b4 build.yml: Fix building mpy-cross-mac
Recently, the macos-10.15 image was updated with a non-brew version of awscli.  This made our CI script, which does a `brew install awscli` fail:
```
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/aws
Target /usr/local/bin/aws
already exists. You may want to remove it:
  rm '/usr/local/bin/aws'
```
2020-10-20 13:25:17 -05:00
Scott Shawcroft
30691e66e3
Merge pull request #3574 from tannewt/fix_matrixportal_pins
Correct pins to not reset.
2020-10-20 10:31:06 -07:00
Scott Shawcroft
eb139c9bab
Correct pins to not reset.
They must have the PORT_ prefix otherwise they mask the wrong pins.

Fixes #3552
2020-10-19 17:41:16 -07:00
Scott Shawcroft
f0b37313c5
Merge pull request #3565 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-16 11:40:10 -07:00
Wellington Terumi Uemura
fdb5ce477e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (834 of 834 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-10-16 20:30:49 +02:00
Scott Shawcroft
878f2322e7
Merge pull request #3564 from BHDynamics/dynossat_edu
Add DynOSSAT-EDU boards
2020-10-16 11:30:42 -07:00
Scott Shawcroft
6e355ec598
Merge pull request #3560 from dhalbert/pervasive-bleio-hci
enable CIRCUITPY_BLEIO_HCI on non-nRF boards where it will fit
2020-10-16 10:00:50 -07:00
Enrique Casado
6631c8d393 Add USB VID&PID 2020-10-16 13:52:46 +02:00
Scott Shawcroft
2ab1552484
Merge pull request #3551 from jepler/displayio-multidisplay-leak
displayio: further ensure just one start_terminal call
2020-10-15 17:09:43 -07:00
Dan Halbert
12ed3fc72f disable on winterbloom_sol and thunderpack 2020-10-15 18:48:28 -04:00
Scott Shawcroft
6b272eeb27
Merge pull request #3555 from UnexpectedCircuitPython/main
Added default LWIP hostnames to FeatherS2 boards
2020-10-15 15:12:40 -07:00
Scott Shawcroft
31223e4ae5
Merge pull request #3530 from askpatrickw/hostname-example
Set default hostname
2020-10-15 15:11:58 -07:00
Dan Halbert
1d05ad6b22 no _bleio for litex; ESP32S2 defines BIT() already 2020-10-15 16:34:19 -04:00
Jeff Epler
88d07ef35b displayio: further ensure just one start_terminal call
@cwalther determined that for boards with 2 displays (monster m4sk),
start_terminal would be called for each one, leaking supervisor heap
entries.

Determine, by comparing addresses, whether the display being acted on
is the first display (number zero) and do (or do not) call start_terminal.

stop_terminal can safely be called multiple times, so there's no need
to guard against calling it more than once.

Slight behavioral change: The terminal size would follow the displays[0]
size, not the displays[1] size
2020-10-15 15:24:19 -05:00
Jeff Epler
a57c5a10f6
Merge pull request #3561 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-15 15:07:20 -05:00
Seon Rozenblum
45a3bd1c04 Added default LWIP hostnames to FeatherS2 boards 2020-10-16 06:47:59 +11:00
Dan Halbert
f51e75c1d2 cxd56 needed more precise include for __packed; needed SRC_C += on some ports 2020-10-15 15:24:24 -04:00
Hosted Weblate
6bfb6afaca
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/
2020-10-15 20:17:16 +02:00
Jeff Epler
9a2ab36fa5 Translated using Weblate (French)
Currently translated at 92.1% (767 of 832 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-10-15 20:17:14 +02:00