Commit Graph

17716 Commits

Author SHA1 Message Date
warriorofwire 5cadf525bd fix missing cflag defeating the board gating 2020-10-10 15:45:08 -07:00
warriorofwire f5f1e29dc0 disable async/await on a several small ucontrollers 2020-10-10 15:43:12 -07:00
warriorofwire d94d2d2975 Add async/await syntax to FULL_BUILD
This adds the `async def` and `await` verbs to valid CircuitPython syntax using the Micropython implementation.

Consider:
```
>>> class Awaitable:
...     def __iter__(self):
...         for i in range(3):
...             print('awaiting', i)
...             yield
...         return 42
...
>>> async def wait_for_it():
...     a = Awaitable()
...     result = await a
...     return result
...
>>> task = wait_for_it()
>>> next(task)
awaiting 0
>>> next(task)
awaiting 1
>>> next(task)
awaiting 2
>>> next(task)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  StopIteration: 42
>>>
```

and more excitingly:
```
>>> async def it_awaits_a_subtask():
...     value = await wait_for_it()
...     print('twice as good', value * 2)
...
>>> task = it_awaits_a_subtask()
>>> next(task)
awaiting 0
>>> next(task)
awaiting 1
>>> next(task)
awaiting 2
>>> next(task)
twice as good 84
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  StopIteration:
```

Note that this is just syntax plumbing, not an all-encompassing implementation of an asynchronous task scheduler or asynchronous hardware apis.
  uasyncio might be a good module to bring in, or something else - but the standard Python syntax does not _strictly require_ deeper hardware
  support.
Micropython implements the await verb via the __iter__ function rather than __await__.  It's okay.

The syntax being present will enable users to write clean and expressive multi-step state machines that are written serially and interleaved
  according to the rules provided by those users.

Given that this does not include an all-encompassing C scheduler, this is expected to be an advanced functionality until the community settles
  on the future of deep hardware support for async/await in CircuitPython.  Users will implement yield-based schedulers and tasks wrapping
  synchronous hardware APIs with polling to avoid blocking, while their application business logic gets simple `await` statements.
2020-10-10 15:38:40 -07:00
Scott Shawcroft c7d87cea62
Merge pull request #3532 from tannewt/samd21_autoreload
Fix autoreload on SAMD21
2020-10-09 14:49:48 -07:00
Scott Shawcroft 375676ff58
Merge pull request #3501 from hierophect/esp32-analogin
ESP32S2: Add AnalogIn
2020-10-09 14:10:24 -07:00
Scott Shawcroft 699f19f44a
Merge pull request #3522 from tannewt/imx_metro
Unify iMX RT flash config and add Metro M7 1011
2020-10-09 13:48:58 -07:00
Scott Shawcroft 3ccf644dd0
Fix autoreload on SAMD21
The issue was that a time.sleep() would set the RTC wake up
further into the future even if we wanted to tick every ms. Ticking
every ms is used to time the autoreload delay and without it,
autoreload doesn't work.

Fixes #3528
2020-10-09 12:53:00 -07:00
Scott Shawcroft e1a80aeb03
Merge pull request #3517 from microDev1/disableAutoReload
Disable auto-reload in safe mode
2020-10-09 11:00:32 -07:00
Lucian Copeland ccbc15046a Fix submodule issue 2020-10-09 13:29:35 -04:00
Scott Shawcroft 506936ea2e
Merge pull request #3525 from UnexpectedCircuitPython/UM_S2_Boards
Fixed the FeatherS2 prerelease hardware name
2020-10-09 10:20:13 -07:00
Scott Shawcroft 1b307c90a7
Merge pull request #3527 from jepler/issue3526-actions-setenv
workflows: Replace deprecated ::set-env
2020-10-09 10:19:23 -07:00
Jeff Epler 3149f5bfd8 workflows: Replace deprecated ::set-env 2020-10-08 16:20:23 -05:00
Scott Shawcroft b578afa02f
Merge pull request #3523 from tannewt/ble_connectionerror
Replace _bleio.ConnectionError with the native version
2020-10-08 13:00:06 -07:00
Jeff Epler 763e14f815
Merge pull request #3518 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-08 13:02:56 -05:00
Scott Shawcroft 76f431df70
Fix ble_hci 2020-10-08 11:02:14 -07:00
Lucian Copeland 97d217a764 Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-08 12:34:58 -04:00
hexthat 860bba0555 Translated using Weblate (Chinese (Pinyin))
Currently translated at 99.8% (828 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/zh_Latn/
2020-10-08 18:22:34 +02:00
oon arfiandwi e0f6d883f5 Translated using Weblate (Indonesian)
Currently translated at 43.9% (364 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-10-08 18:22:34 +02:00
oon arfiandwi 10b5ab1058 Translated using Weblate (Indonesian)
Currently translated at 42.0% (349 of 829 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/id/
2020-10-08 18:22:34 +02:00
hierophect 4bec77652b
Merge pull request #3519 from hathach/fix-idf-latest
fix espressif latest idf
2020-10-08 12:22:24 -04:00
hathach e1fc85c56b fix usb issue with latest idf 2020-10-08 13:30:32 +07:00
Seon Rozenblum d93a1961c4 Fixed the FeatherS2 prerelease hardware name 2020-10-08 14:03:16 +11:00
Scott Shawcroft 9fcf96cb64
Replace _bleio.ConnectionError with the native version
Replace uses of _bleio.ConnectionError with regular ConnectionError

Fixes #3008
2020-10-07 17:11:32 -07:00
Scott Shawcroft ef42d6bb6c
Update USB PID 2020-10-07 16:12:07 -07:00
Scott Shawcroft 09bc415751
Unify iMX flash config and add Metro M7 1011
This unifies the flash config to the settings used by the Boot ROM.
This makes the config unique per board which allows for changing
quad enable and status bit differences per flash device. It also
allows for timing differences due to the board layout.

This change also tweaks linker layout to leave more ram space for
the CircuitPython heap.
2020-10-07 15:23:47 -07:00
Scott Shawcroft 66c25667d8
Merge pull request #3520 from gamblor21/merge_audio_fix
Update submodule to merge commit
2020-10-07 14:30:40 -07:00
gamblor21 085d2a2274 Update submodule to merge commit 2020-10-07 14:09:26 -05:00
microDev 8487a51995
Factor out code.py status messages 2020-10-07 23:53:08 +05:30
hathach b7ed18d622 change idf to espressif
fix hal includes
2020-10-08 00:52:00 +07:00
Scott Shawcroft 0775e2b20d
Merge pull request #3505 from jepler/canbus-stm
canio: implement for stm32f405
2020-10-07 10:22:00 -07:00
microDev d01b9ce933
Disable auto-reload in safe mode 2020-10-07 22:15:05 +05:30
Lucian Copeland 7386a948bd Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-07 12:20:30 -04:00
Jeff Epler 16ed875f4e canio: remove unused fields
these relate to properties that were removed as well
2020-10-06 20:14:50 -05:00
Jeff Epler 81d7ef0256 stm: canio: remove stray optimization flag for debugging 2020-10-06 20:13:23 -05:00
Jeff Epler eed3387f4e stm32: canio: Fix message cancellation
.. it's necessary to wait for a cancellation request to actually free
the respective Tx mailbox
2020-10-06 20:12:10 -05:00
Jeff Epler abe0405d6e stm32: canio: Fix canio.CAN.restart() 2020-10-06 20:12:06 -05:00
Jeff Epler e5a0af9216 stm32: canio: When Tx mailboxes are full, cancel an old message
.. also add the 8ms wait for transmission that the atmel sam port
has
2020-10-06 20:11:58 -05:00
Jeff Epler a7dccb39a4 stm32: canio: remove unused functions 2020-10-06 20:11:51 -05:00
Jeff Epler 23bd2496de stm32: canio: remove some unneeded declarations 2020-10-06 20:11:43 -05:00
Jeff Epler 7df01d3fbd stm32: canio: enable on all stm32f405 boards 2020-10-06 20:11:39 -05:00
Jeff Epler 01e9e355ce canio: implement for stm32f405
The has successfully run my loopback self-test program for CAN,
which tests transmission, reception, and filtering.  The 1M baud rate setting
was also verified on saleae to be accurate.
2020-10-06 20:11:35 -05:00
Scott Shawcroft 8c428a3bdd
Merge pull request #3492 from hierophect/esp32-update-idf
ESP32S2: move to official IDF submodule
2020-10-06 16:53:32 -07:00
Scott Shawcroft 945f7f2a1c
Merge pull request #3512 from UnexpectedCircuitPython/UM_S2_Boards
Removed hardware APA settings from ESP32-S2 Feather mpconfigboard.h
2020-10-06 16:41:18 -07:00
Lucian Copeland 455cf654f3 Merge remote-tracking branch 'upstream/main' into esp32-analogin 2020-10-06 15:20:36 -04:00
Lucian Copeland 68cb384f8f Remove logging from shared-bindings, fix translations, revert config target macro 2020-10-06 13:29:12 -04:00
Lucian Copeland f90eb23db1 Merge branch 'esp32-update-idf' into esp32-analogin 2020-10-06 12:52:40 -04:00
Lucian Copeland 0d7552b67e Update ESP-IDF to newer fixed fork 2020-10-06 12:48:28 -04:00
Seon Rozenblum 5c00ba8592 Removed hardware APA settings from mpconfigboard.h because they make the APA flicker on boot. I need to look into why, but I don't think they are being used for anything right now anyway. 2020-10-06 07:40:20 +11:00
Scott Shawcroft e7004af244
Merge pull request #3510 from jepler/update-protomatter
Update protomatter to 1.0.4 release tag
2020-10-05 12:50:20 -07:00
Jeff Epler 9ed7cbf7a0
Merge pull request #3509 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-10-05 12:26:59 -05:00