Merge remote-tracking branch 'upstream/master' into stm32-pulsein

crypto-aes
Lucian Copeland 3 years ago
commit 38064750f9
  1. 2
      .gitmodules
  2. 4
      docs/design_guide.rst
  3. 2
      extmod/ulab
  4. 30
      locale/ID.po
  5. 30
      locale/circuitpython.pot
  6. 30
      locale/de_DE.po
  7. 30
      locale/en_US.po
  8. 30
      locale/en_x_pirate.po
  9. 30
      locale/es.po
  10. 30
      locale/fil.po
  11. 30
      locale/fr.po
  12. 30
      locale/it_IT.po
  13. 30
      locale/ko.po
  14. 30
      locale/pl.po
  15. 30
      locale/pt_BR.po
  16. 30
      locale/zh_Latn_pinyin.po
  17. 2
      ports/atmel-samd/boards/hallowing_m4_express/board.c
  18. 2
      ports/atmel-samd/boards/monster_m4sk/board.c
  19. 2
      ports/atmel-samd/boards/openbook_m4/board.c
  20. 2
      ports/atmel-samd/boards/pewpew_m4/board.c
  21. 2
      ports/atmel-samd/boards/pybadge/board.c
  22. 2
      ports/atmel-samd/boards/pybadge_airlift/board.c
  23. 2
      ports/atmel-samd/boards/pygamer/board.c
  24. 2
      ports/atmel-samd/boards/pygamer_advance/board.c
  25. 2
      ports/atmel-samd/boards/winterbloom_sol/mpconfigboard.mk
  26. 4
      ports/atmel-samd/common-hal/analogio/AnalogIn.c
  27. 12
      ports/atmel-samd/common-hal/audiobusio/I2SOut.c
  28. 9
      ports/atmel-samd/common-hal/audiobusio/PDMIn.c
  29. 9
      ports/atmel-samd/common-hal/audioio/AudioOut.c
  30. 4
      ports/atmel-samd/common-hal/busio/SPI.c
  31. 8
      ports/atmel-samd/common-hal/busio/UART.c
  32. 4
      ports/atmel-samd/common-hal/digitalio/DigitalInOut.c
  33. 4
      ports/atmel-samd/common-hal/pulseio/PWMOut.c
  34. 2
      ports/atmel-samd/mpconfigport.mk
  35. 4
      ports/cxd56/Makefile
  36. 4
      ports/cxd56/common-hal/analogio/AnalogIn.c
  37. 4
      ports/cxd56/common-hal/busio/UART.c
  38. 4
      ports/cxd56/common-hal/digitalio/DigitalInOut.c
  39. 8
      ports/cxd56/common-hal/pulseio/PWMOut.c
  40. 25
      ports/cxd56/common-hal/pulseio/PulseIn.c
  41. 2
      ports/cxd56/mpconfigport.mk
  42. 4
      ports/mimxrt10xx/common-hal/analogio/AnalogIn.c
  43. 18
      ports/mimxrt10xx/common-hal/busio/UART.c
  44. 4
      ports/mimxrt10xx/common-hal/digitalio/DigitalInOut.c
  45. 2
      ports/nrf/boards/clue_nrf52840_express/board.c
  46. 2
      ports/nrf/boards/ohs2020_badge/board.c
  47. 4
      ports/nrf/common-hal/analogio/AnalogIn.c
  48. 3
      ports/nrf/common-hal/audiobusio/PDMIn.c
  49. 3
      ports/nrf/common-hal/audiopwmio/PWMAudioOut.c
  50. 4
      ports/nrf/common-hal/busio/SPI.c
  51. 14
      ports/nrf/common-hal/busio/UART.c
  52. 4
      ports/nrf/common-hal/digitalio/DigitalInOut.c
  53. 14
      ports/stm32f4/common-hal/analogio/AnalogIn.c
  54. 4
      ports/stm32f4/common-hal/analogio/AnalogOut.c
  55. 18
      ports/stm32f4/common-hal/busio/I2C.c
  56. 44
      ports/stm32f4/common-hal/busio/SPI.c
  57. 16
      ports/stm32f4/common-hal/busio/UART.c
  58. 12
      ports/stm32f4/common-hal/digitalio/DigitalInOut.c
  59. 16
      ports/stm32f4/common-hal/pulseio/PWMOut.c
  60. 2
      ports/stm32f4/mpconfigport.mk
  61. 30
      py/builtinimport.c
  62. 3
      py/circuitpy_mpconfig.h
  63. 5
      py/circuitpy_mpconfig.mk
  64. 2
      py/gc_long_lived.c
  65. 166
      py/lexer.c
  66. 16
      py/lexer.h
  67. 5
      py/mpconfig.h
  68. 7
      py/objmodule.c
  69. 61
      py/parse.c
  70. 9
      shared-bindings/analogio/AnalogIn.c
  71. 6
      shared-bindings/analogio/AnalogOut.c
  72. 14
      shared-bindings/audiobusio/I2SOut.c
  73. 11
      shared-bindings/audiobusio/PDMIn.c
  74. 12
      shared-bindings/audioio/AudioOut.c
  75. 12
      shared-bindings/audiopwmio/PWMAudioOut.c
  76. 7
      shared-bindings/bitbangio/I2C.c
  77. 5
      shared-bindings/bitbangio/OneWire.c
  78. 10
      shared-bindings/bitbangio/SPI.c
  79. 10
      shared-bindings/busio/I2C.c
  80. 4
      shared-bindings/busio/OneWire.c
  81. 16
      shared-bindings/busio/SPI.c
  82. 20
      shared-bindings/busio/UART.c
  83. 6
      shared-bindings/digitalio/DigitalInOut.c
  84. 8
      shared-bindings/displayio/Display.c
  85. 8
      shared-bindings/displayio/EPaperDisplay.c
  86. 13
      shared-bindings/displayio/FourWire.c
  87. 7
      shared-bindings/displayio/I2CDisplay.c
  88. 20
      shared-bindings/displayio/ParallelBus.c
  89. 4
      shared-bindings/frequencyio/FrequencyIn.c
  90. 8
      shared-bindings/i2cslave/I2CSlave.c
  91. 29
      shared-bindings/microcontroller/Pin.c
  92. 6
      shared-bindings/microcontroller/Pin.h
  93. 9
      shared-bindings/ps2io/Ps2.c
  94. 5
      shared-bindings/pulseio/PWMOut.c
  95. 4
      shared-bindings/pulseio/PulseIn.c
  96. 9
      shared-bindings/rotaryio/IncrementalEncoder.c
  97. 5
      shared-bindings/touchio/TouchIn.c
  98. 6
      shared-bindings/wiznet/wiznet5k.c
  99. 6
      shared-module/bitbangio/SPI.c
  100. 6
      shared-module/board/__init__.c
  101. Some files were not shown because too many files have changed in this diff Show More

2
.gitmodules vendored

@ -116,7 +116,7 @@
url = https://github.com/adafruit/Adafruit_CircuitPython_Register.git
[submodule "extmod/ulab"]
path = extmod/ulab
url = https://github.com/adafruit/circuitpython-ulab
url = https://github.com/v923z/micropython-ulab/
[submodule "frozen/Adafruit_CircuitPython_ESP32SPI"]
path = frozen/Adafruit_CircuitPython_ESP32SPI
url = https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI

@ -476,6 +476,8 @@ properties.
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``distance`` | float | centimeters |
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``proximity`` | int | non-unit-specifc proximity values (monotonic but not actual distance) |
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``light`` | float | non-unit-specific light levels (should be monotonic but is not lux) |
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``lux`` | float | SI lux |
@ -504,6 +506,8 @@ properties.
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``weight`` | float | grams (g) |
+-----------------------+-----------------------+-------------------------------------------------------------------------+
| ``sound_level`` | float | non-unit-specific sound level (monotonic but not actual decibels) |
+-----------------------+-----------------------+-------------------------------------------------------------------------+
Adding native modules
--------------------------------------------------------------------------------

@ -1 +1 @@
Subproject commit 42d831e1e65b1c75ed90de11b87a1c4a0ebe6152
Subproject commit 66b89de8c714790de8647dc55f59430002044171

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -2080,6 +2080,26 @@ msgstr "argumen keyword ekstra telah diberikan"
msgid "extra positional arguments given"
msgstr "argumen posisi ekstra telah diberikan"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2393,6 +2413,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2721,6 +2745,10 @@ msgstr ""
msgid "queue overflow"
msgstr "antrian meluap (overflow)"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -2056,6 +2056,26 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2369,6 +2389,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2696,6 +2720,10 @@ msgstr ""
msgid "queue overflow"
msgstr ""
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Pascal Deneaux\n"
"Language-Team: Sebastian Plamauer, Pascal Deneaux\n"
@ -2085,6 +2085,26 @@ msgstr "Es wurden zusätzliche Keyword-Argumente angegeben"
msgid "extra positional arguments given"
msgstr "Es wurden zusätzliche Argumente ohne Keyword angegeben"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2405,6 +2425,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr "long int wird in diesem Build nicht unterstützt"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "map buffer zu klein"
@ -2734,6 +2758,10 @@ msgstr ""
msgid "queue overflow"
msgstr "Warteschlangenüberlauf"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -2056,6 +2056,26 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2369,6 +2389,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2696,6 +2720,10 @@ msgstr ""
msgid "queue overflow"
msgstr ""
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: @sommersoft, @MrCertainly\n"
@ -2060,6 +2060,26 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2373,6 +2393,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2700,6 +2724,10 @@ msgstr ""
msgid "queue overflow"
msgstr ""
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -2087,6 +2087,26 @@ msgstr "argumento(s) por palabra clave adicionales fueron dados"
msgid "extra positional arguments given"
msgstr "argumento posicional adicional dado"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2403,6 +2423,10 @@ msgstr "variable local referenciada antes de la asignación"
msgid "long int not supported in this build"
msgstr "long int no soportado en esta compilación"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "map buffer muy pequeño"
@ -2734,6 +2758,10 @@ msgstr "pow() con 3 argumentos requiere enteros"
msgid "queue overflow"
msgstr "desbordamiento de cola(queue)"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -2101,6 +2101,26 @@ msgstr "dagdag na keyword argument na ibinigay"
msgid "extra positional arguments given"
msgstr "dagdag na positional argument na ibinigay"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2419,6 +2439,10 @@ msgstr "local variable na reference bago na i-assign"
msgid "long int not supported in this build"
msgstr "long int hindi sinusuportahan sa build na ito"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "masyadong maliit ang buffer map"
@ -2748,6 +2772,10 @@ msgstr "pow() na may 3 argumento kailangan ng integers"
msgid "queue overflow"
msgstr "puno na ang pila (overflow)"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2019-04-14 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n"
@ -2126,6 +2126,26 @@ msgstr "argument(s) nommé(s) supplémentaire(s) donné(s)"
msgid "extra positional arguments given"
msgstr "argument(s) positionnel(s) supplémentaire(s) donné(s)"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2443,6 +2463,10 @@ msgstr "variable locale référencée avant d'être assignée"
msgid "long int not supported in this build"
msgstr "entiers longs non supportés dans cette build"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "tampon trop petit"
@ -2780,6 +2804,10 @@ msgstr "pow() avec 3 arguments nécessite des entiers"
msgid "queue overflow"
msgstr "dépassement de file"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -2102,6 +2102,26 @@ msgstr "argomento nominato aggiuntivo fornito"
msgid "extra positional arguments given"
msgstr "argomenti posizonali extra dati"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2421,6 +2441,10 @@ msgstr "variabile locale richiamata prima di un assegnamento"
msgid "long int not supported in this build"
msgstr "long int non supportata in questa build"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "map buffer troppo piccolo"
@ -2755,6 +2779,10 @@ msgstr "pow() con 3 argomenti richiede interi"
msgid "queue overflow"
msgstr "overflow della coda"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2019-05-06 14:22-0700\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -2061,6 +2061,26 @@ msgstr ""
msgid "extra positional arguments given"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2374,6 +2394,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2701,6 +2725,10 @@ msgstr ""
msgid "queue overflow"
msgstr ""
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2019-03-19 18:37-0700\n"
"Last-Translator: Radomir Dopieralski <circuitpython@sheep.art.pl>\n"
"Language-Team: pl\n"
@ -2065,6 +2065,26 @@ msgstr "nadmiarowe argumenty nazwane"
msgid "extra positional arguments given"
msgstr "nadmiarowe argumenty pozycyjne"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2378,6 +2398,10 @@ msgstr "zmienna lokalna użyta przed przypisaniem"
msgid "long int not supported in this build"
msgstr "long int jest nieobsługiwany"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "bufor mapy zbyt mały"
@ -2706,6 +2730,10 @@ msgstr "trzyargumentowe pow() wymaga liczb całkowitych"
msgid "queue overflow"
msgstr "przepełnienie kolejki"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -2078,6 +2078,26 @@ msgstr "argumentos extras de palavras-chave passados"
msgid "extra positional arguments given"
msgstr "argumentos extra posicionais passados"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2391,6 +2411,10 @@ msgstr ""
msgid "long int not supported in this build"
msgstr ""
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr ""
@ -2718,6 +2742,10 @@ msgstr ""
msgid "queue overflow"
msgstr "estouro de fila"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: circuitpython-cn\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-03 20:13-0600\n"
"POT-Creation-Date: 2020-03-09 08:19-0500\n"
"PO-Revision-Date: 2019-04-13 10:10-0700\n"
"Last-Translator: hexthat\n"
"Language-Team: Chinese Hanyu Pinyin\n"
@ -2093,6 +2093,26 @@ msgstr "éwài de guānjiàn cí cānshù"
msgid "extra positional arguments given"
msgstr "gěi chūle éwài de wèizhì cānshù"
#: py/parse.c
msgid "f-string expression part cannot include a '#'"
msgstr ""
#: py/parse.c
msgid "f-string expression part cannot include a backslash"
msgstr ""
#: py/parse.c
msgid "f-string: empty expression not allowed"
msgstr ""
#: py/parse.c
msgid "f-string: expecting '}'"
msgstr ""
#: py/parse.c
msgid "f-string: single '}' is not allowed"
msgstr ""
#: shared-bindings/audiocore/WaveFile.c shared-bindings/audiomp3/MP3Decoder.c
#: shared-bindings/displayio/OnDiskBitmap.c
msgid "file must be a file opened in byte mode"
@ -2407,6 +2427,10 @@ msgstr "fùzhí qián yǐnyòng de júbù biànliàng"
msgid "long int not supported in this build"
msgstr "cǐ bǎnběn bù zhīchí zhǎng zhěngshù"
#: py/parse.c
msgid "malformed f-string"
msgstr ""
#: shared-bindings/_stage/Layer.c
msgid "map buffer too small"
msgstr "dìtú huǎnchōng qū tài xiǎo"
@ -2735,6 +2759,10 @@ msgstr "pow() yǒu 3 cānshù xūyào zhěngshù"
msgid "queue overflow"
msgstr "duìliè yìchū"
#: py/parse.c
msgid "raw f-strings are not implemented"
msgstr ""
#: extmod/ulab/code/fft.c
msgid "real and imaginary parts must be of equal length"
msgstr ""

@ -49,7 +49,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PA01, &pin_PA00, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PA01, &pin_PA00, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -50,7 +50,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA12, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA12, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -55,7 +55,7 @@ uint8_t stop_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -97,7 +97,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA15, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PA13, &pin_PA15, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -72,7 +72,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -50,7 +50,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -72,7 +72,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB15, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -50,7 +50,7 @@ uint8_t display_init_sequence[] = {
void board_init(void) {
busio_spi_obj_t* spi = &displays[0].fourwire_bus.inline_bus;
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB12, mp_const_none);
common_hal_busio_spi_construct(spi, &pin_PB13, &pin_PB12, NULL);
common_hal_busio_spi_never_reset(spi);
displayio_fourwire_obj_t* bus = &displays[0].fourwire_bus;

@ -6,6 +6,7 @@ USB_PID = 0x8062
USB_PRODUCT = "Sol"
USB_MANUFACTURER = "Winterbloom"
USB_INTERFACE_NAME = "Sol"
USB_DEVICES = "CDC,MSC,AUDIO"
CHIP_VARIANT = SAMD51J20A
CHIP_FAMILY = samd51
@ -25,6 +26,7 @@ CIRCUITPY_I2CSLAVE = 0
CIRCUITPY_NETWORK = 0
CIRCUITPY_TOUCHIO = 0
CIRCUITPY_PS2IO = 0
CIRCUITPY_USB_HID = 0
# Enable micropython.native
CIRCUITPY_ENABLE_MPY_NATIVE = 1

@ -73,7 +73,7 @@ void common_hal_analogio_analogin_construct(analogio_analogin_obj_t* self,
}
bool common_hal_analogio_analogin_deinited(analogio_analogin_obj_t *self) {
return self->pin == mp_const_none;
return self->pin == NULL;
}
void common_hal_analogio_analogin_deinit(analogio_analogin_obj_t *self) {
@ -81,7 +81,7 @@ void common_hal_analogio_analogin_deinit(analogio_analogin_obj_t *self) {
return;
}
reset_pin_number(self->pin->number);
self->pin = mp_const_none;
self->pin = NULL;
}
void analogin_reset() {

@ -89,6 +89,7 @@ void i2sout_reset(void) {
#endif
}
// Caller validates that pins are free.
void common_hal_audiobusio_i2sout_construct(audiobusio_i2sout_obj_t* self,
const mcu_pin_obj_t* bit_clock, const mcu_pin_obj_t* word_select,
const mcu_pin_obj_t* data, bool left_justified) {
@ -182,9 +183,6 @@ void common_hal_audiobusio_i2sout_construct(audiobusio_i2sout_obj_t* self,
#ifdef SAMD21
#define GPIO_I2S_FUNCTION GPIO_PIN_FUNCTION_G
#endif
assert_pin_free(bit_clock);
assert_pin_free(word_select);
assert_pin_free(data);
self->bit_clock = bit_clock;
self->word_select = word_select;
@ -204,7 +202,7 @@ void common_hal_audiobusio_i2sout_construct(audiobusio_i2sout_obj_t* self,
}
bool common_hal_audiobusio_i2sout_deinited(audiobusio_i2sout_obj_t* self) {
return self->bit_clock == mp_const_none;
return self->bit_clock == NULL;
}
void common_hal_audiobusio_i2sout_deinit(audiobusio_i2sout_obj_t* self) {
@ -213,11 +211,11 @@ void common_hal_audiobusio_i2sout_deinit(audiobusio_i2sout_obj_t* self) {
}
reset_pin_number(self->bit_clock->number);
self->bit_clock = mp_const_none;
self->bit_clock = NULL;
reset_pin_number(self->word_select->number);
self->word_select = mp_const_none;
self->word_select = NULL;
reset_pin_number(self->data->number);
self->data = mp_const_none;
self->data = NULL;
}
void common_hal_audiobusio_i2sout_play(audiobusio_i2sout_obj_t* self,

@ -74,6 +74,7 @@ void pdmin_reset(void) {
I2S->CTRLA.reg = I2S_CTRLA_SWRST;
}
// Caller validates that pins are free.
void common_hal_audiobusio_pdmin_construct(audiobusio_pdmin_obj_t* self,
const mcu_pin_obj_t* clock_pin,
const mcu_pin_obj_t* data_pin,
@ -157,8 +158,6 @@ void common_hal_audiobusio_pdmin_construct(audiobusio_pdmin_obj_t* self,
#ifdef SAMD21
#define GPIO_I2S_FUNCTION GPIO_PIN_FUNCTION_G
#endif
assert_pin_free(clock_pin);
assert_pin_free(data_pin);
uint32_t clock_divisor = (uint32_t) roundf( 48000000.0f / sample_rate / oversample);
float mic_clock_freq = 48000000.0f / clock_divisor;
@ -219,7 +218,7 @@ void common_hal_audiobusio_pdmin_construct(audiobusio_pdmin_obj_t* self,
}
bool common_hal_audiobusio_pdmin_deinited(audiobusio_pdmin_obj_t* self) {
return self->clock_pin == mp_const_none;
return self->clock_pin == NULL;
}
void common_hal_audiobusio_pdmin_deinit(audiobusio_pdmin_obj_t* self) {
@ -237,8 +236,8 @@ void common_hal_audiobusio_pdmin_deinit(audiobusio_pdmin_obj_t* self) {
reset_pin_number(self->clock_pin->number);
reset_pin_number(self->data_pin->number);
self->clock_pin = mp_const_none;
self->data_pin = mp_const_none;
self->clock_pin = NULL;
self->data_pin = NULL;
}
uint8_t common_hal_audiobusio_pdmin_get_bit_depth(audiobusio_pdmin_obj_t* self) {

@ -115,6 +115,7 @@ void audioout_reset(void) {
// TODO(tannewt): Turn off the DAC clocks to save power.
}
// Caller validates that pins are free.
void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
const mcu_pin_obj_t* left_channel, const mcu_pin_obj_t* right_channel, uint16_t quiescent_value) {
#ifdef SAMD51
@ -135,7 +136,6 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
if (left_channel != &pin_PA02) {
mp_raise_ValueError(translate("Invalid pin"));
}
assert_pin_free(left_channel);
claim_pin(left_channel);
#endif
#ifdef SAMD51
@ -143,7 +143,6 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
if (left_channel != &pin_PA02 && left_channel != &pin_PA05) {
mp_raise_ValueError(translate("Invalid pin for left channel"));
}
assert_pin_free(left_channel);
if (right_channel != NULL && right_channel != &pin_PA02 && right_channel != &pin_PA05) {
mp_raise_ValueError(translate("Invalid pin for right channel"));
}
@ -304,7 +303,7 @@ void common_hal_audioio_audioout_construct(audioio_audioout_obj_t* self,
}
bool common_hal_audioio_audioout_deinited(audioio_audioout_obj_t* self) {
return self->left_channel == mp_const_none;
return self->left_channel == NULL;
}
void common_hal_audioio_audioout_deinit(audioio_audioout_obj_t* self) {
@ -332,10 +331,10 @@ void common_hal_audioio_audioout_deinit(audioio_audioout_obj_t* self) {
tc_set_enable(tc_insts[self->tc_index], false);
reset_pin_number(self->left_channel->number);
self->left_channel = mp_const_none;
self->left_channel = NULL;
#ifdef SAMD51
reset_pin_number(self->right_channel->number);
self->right_channel = mp_const_none;
self->right_channel = NULL;
#endif
}

@ -89,8 +89,8 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self,
Sercom* sercom = NULL;
uint8_t sercom_index;
uint32_t clock_pinmux = 0;
bool mosi_none = mosi == mp_const_none || mosi == NULL;
bool miso_none = miso == mp_const_none || miso == NULL;
bool mosi_none = mosi == NULL;
bool miso_none = miso == NULL;
uint32_t mosi_pinmux = 0;
uint32_t miso_pinmux = 0;
uint8_t clock_pad = 0;

@ -65,7 +65,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
uint32_t tx_pinmux = 0;
uint8_t tx_pad = 255; // Unset pad
if ((rts != mp_const_none) || (cts != mp_const_none) || (rs485_dir != mp_const_none) || (rs485_invert)) {
if ((rts != NULL) || (cts != NULL) || (rs485_dir != NULL) || (rs485_invert)) {
mp_raise_ValueError(translate("RTS/CTS/RS485 Not yet supported on this device"));
}
@ -73,8 +73,8 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
mp_raise_NotImplementedError(translate("bytes > 8 bits not supported"));
}
bool have_tx = tx != mp_const_none;
bool have_rx = rx != mp_const_none;
bool have_tx = tx != NULL;
bool have_rx = rx != NULL;
if (!have_tx && !have_rx) {
mp_raise_ValueError(translate("tx and rx cannot both be None"));
}
@ -109,7 +109,7 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self,
#endif
tx_pinmux = PINMUX(tx->number, (i == 0) ? MUX_C : MUX_D);
tx_pad = tx->sercom[i].pad;
if (rx == mp_const_none) {
if (rx == NULL) {
sercom = potential_sercom;
break;
}

@ -55,7 +55,7 @@ void common_hal_digitalio_digitalinout_never_reset(
}
bool common_hal_digitalio_digitalinout_deinited(digitalio_digitalinout_obj_t* self) {
return self->pin == mp_const_none;
return self->pin == NULL;
}
void common_hal_digitalio_digitalinout_deinit(digitalio_digitalinout_obj_t* self) {
@ -63,7 +63,7 @@ void common_hal_digitalio_digitalinout_deinit(digitalio_digitalinout_obj_t* self
return;
}
reset_pin_number(self->pin->number);
self->pin = mp_const_none;
self->pin = NULL;
}
void common_hal_digitalio_digitalinout_switch_to_input(

@ -292,7 +292,7 @@ pwmout_result_t common_hal_pulseio_pwmout_construct(pulseio_pwmout_obj_t* self,
}
bool common_hal_pulseio_pwmout_deinited(pulseio_pwmout_obj_t* self) {
return self->pin == mp_const_none;
return self->pin == NULL;
}
void common_hal_pulseio_pwmout_deinit(pulseio_pwmout_obj_t* self) {
@ -319,7 +319,7 @@ void common_hal_pulseio_pwmout_deinit(pulseio_pwmout_obj_t* self) {
}
}
reset_pin_number(self->pin->number);
self->pin = mp_const_none;
self->pin = NULL;
}
extern void common_hal_pulseio_pwmout_set_duty_cycle(pulseio_pwmout_obj_t* self, uint16_t duty) {

@ -40,6 +40,8 @@ endif
# SAMD21 needs separate endpoint pairs for MSC BULK IN and BULK OUT, otherwise it's erratic.
USB_MSC_EP_NUM_OUT = 1
MICROPY_PY_ULAB = 0
endif # samd21
# Put samd51-only choices here.

@ -176,6 +176,10 @@ OBJ = $(PY_O) $(SUPERVISOR_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_S:.s=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_COMMON_HAL_EXPANDED:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_SHARED_MODULE_EXPANDED:.c=.o))
ifeq ($(INTERNAL_LIBM),1)
OBJ += $(addprefix $(BUILD)/, $(SRC_LIBM:.c=.o))
endif
OBJ += $(addprefix $(BUILD)/, $(SRC_MOD:.c=.o))
# List of sources for qstr extraction
SRC_QSTR += $(SRC_C) $(SRC_SUPERVISOR) $(SRC_COMMON_HAL_EXPANDED) $(SRC_SHARED_MODULE_EXPANDED)

@ -83,7 +83,7 @@ void common_hal_analogio_analogin_construct(analogio_analogin_obj_t *self, const
// start ADC
ioctl(analogin_dev[self->number].fd, ANIOC_CXD56_START, 0);
self->pin = pin;
}