Commit Graph

17756 Commits

Author SHA1 Message Date
Jeff Epler
27cbb690e5 _canio: Add listener matching
Lightly tested:
 * no matches (catch-all)
 * standard address single address matches (even and odd positions)
 * standard address mask matches
 * only tested that extended doesn't match non-extended
2020-09-21 16:44:26 -05:00
Jeff Epler
2cb4707f92 Message: add extended address flag 2020-09-21 16:44:26 -05:00
Jeff Epler
ca32a81bf1 main.c: Correct CANIO if-guard 2020-09-21 16:44:26 -05:00
Jeff Epler
40d4a69133 more doc improvements 2020-09-21 16:44:26 -05:00
Jeff Epler
1eb0587917 correct docstring 2020-09-21 16:44:26 -05:00
Jeff Epler
635fcadb59 _canio.CAN: add error handling & bus state 2020-09-21 16:44:26 -05:00
Jeff Epler
f8dcf2118e _canio: Add _canio.State enum-like class 2020-09-21 16:44:26 -05:00
Jeff Epler
37af9dde90 Listener: fix doc markup, include in globals of its module 2020-09-21 16:44:26 -05:00
Jeff Epler
65ca1c7bbc _canio: Message: Setting data should set the size to match 2020-09-21 16:44:26 -05:00
Jeff Epler
a2e1867f69 _canio: Minimal implementation for SAM E5x MCUs
Tested & working:

 * Send standard packets
 * Receive standard packets (1 FIFO, no filter)

Interoperation between SAM E54 Xplained running this tree and
MicroPython running on STM32F405 Feather with an external
transceiver was also tested.

Many other aspects of a full implementation are not yet present,
such as error detection and recovery.
2020-09-21 16:44:26 -05:00
Jeff Epler
e7a213a114 py: Add enum helper code
This makes it much easier to implement enums, and the printing code is
shared.  We might want to convert other enums to this in the future.
2020-09-21 16:44:26 -05:00
Jeff Epler
183649aad8 samd: move mcu_find_pin_function to header
.. it'll be used in can as well as sdio
2020-09-21 16:44:07 -05:00
Lucian Copeland
22d9a94f2b Use write_value, add missing pin exceptions 2020-09-21 13:47:14 -04:00
Scott Shawcroft
df067b498d
Merge pull request #3446 from jepler/python35-compression-fix
makeqstrdata: Work around python3.5/3.6 compatibility problem
2020-09-21 10:35:00 -07:00
Scott Shawcroft
c963771b4b
Merge pull request #3445 from microDev1/boardInfo
Update microS2 config files
2020-09-21 10:33:38 -07:00
Jeff Epler
0318eb359f makeqstrdata: Work around python3.6 compatibility problem
Discord user Folknology encountered a problem building with Python 3.6.9,
`TypeError: ord() expected a character, but string of length 0 found`.

I was able to reproduce the problem using Python3.5*, and discovered that
the meaning of the regular expression `"|."` had changed in 3.7.  Before,
```
>>> [m.group(0) for m in re.finditer("|.", "hello")]
['', '', '', '', '', '']
```
After:
```
>>> [m.group(0) for m in re.finditer("|.", "hello")]
['', 'h', '', 'e', '', 'l', '', 'l', '', 'o', '']
```
Check if `words` is empty and if so use `"."` as the regular expression
instead.  This gives the same result on both versions:
```
['h', 'e', 'l', 'l', 'o']
```
and fixes the generation of the huffman dictionary.

Folknology verified that this fix worked for them.

 * I could easily install 3.5 but not 3.6.  3.5 reproduced the same problem
2020-09-21 10:03:07 -05:00
microDev
40ec7a66e4
Update microS2 config files 2020-09-21 14:39:31 +05:30
Dan Halbert
8eda9174b2
Merge pull request #3443 from jepler/python-version-compat
makeqstrdata: Work with older Python
2020-09-20 10:18:21 -04:00
Jeff Epler
ce266425e1
Merge pull request #3441 from hierophect/stm32-rgbmatrix-crashfix
STM32: Add never_reset reservation to RGBMatrix init
2020-09-20 07:51:09 -05:00
Dan Halbert
9d9bc5adee
Merge pull request #3428 from weblate/weblate-circuitpython-main
Translations update from Weblate
2020-09-19 15:20:39 -04:00
Wellington Terumi Uemura
54001079f7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (800 of 800 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Hosted Weblate
ed9173498f 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-09-19 19:41:29 +02:00
Alvaro Figueroa
fb123cebf2 Translated using Weblate (Spanish)
Currently translated at 100.0% (799 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/es/
2020-09-19 19:41:29 +02:00
Wellington Terumi Uemura
dd0f5f1b21 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (799 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Maciej Stankiewicz
63ac3a5a43 Translated using Weblate (Polish)
Currently translated at 73.2% (585 of 799 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-19 19:41:29 +02:00
Hosted Weblate
22becafde9 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-09-19 19:41:29 +02:00
Wellington Terumi Uemura
07f944bf67 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (796 of 796 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pt_BR/
2020-09-19 19:41:29 +02:00
Hosted Weblate
e1071bb14a 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-09-19 19:41:29 +02:00
Maciej Stankiewicz
aeec662fef Translated using Weblate (Polish)
Currently translated at 71.3% (567 of 795 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/pl/
2020-09-19 19:41:29 +02:00
Hugo Dahl
852bdd2137 Translated using Weblate (French)
Currently translated at 94.7% (753 of 795 strings)

Translation: CircuitPython/main
Translate-URL: https://hosted.weblate.org/projects/circuitpython/main/fr/
2020-09-19 19:41:29 +02:00
Dan Halbert
9cc803eb95
Merge pull request #3432 from bd34n/rename-bdmicro-vina-m0-d21
Rename board bdmicro_vina_m0 to bdmicro_vina_d21 and update boardfiles.
2020-09-19 13:41:21 -04:00
Jeff Epler
bfbbbd6c5c makeqstrdata: Work with older Python
This construct (which I added without sufficient testing,
apparently) is only supported in Python 3.7 and newer.  Make it
optional so that this script works on other Python versions.  This
means that if you have a system with non-UTF-8 encoding you will
need to use Python 3.7.

In particular, this affects a problem building circuitpython in
github's ubuntu-18.04 virtual environment when Python 3.7 is not
explicitly installed.  cookie-cuttered libraries call for Python
3.6:
```
    - name: Set up Python 3.6
      uses: actions/setup-python@v1
      with:
        python-version: 3.6
```
Since CircuitPython's own build calls for 3.8, this problem was not
detected.

This problem was also encountered by discord user mdroberts1243.

The failure I encountered was here:
https://github.com/jepler/Jepler_CircuitPython_udecimal/runs/1138045020?check_suite_focus=true
.. while my step of "clone and build circuitpython unix port" is
unusual, I think the same problem would have affected "build assets"
if that step had been reached.
2020-09-19 10:16:13 -05:00
Dan Halbert
b28b31196d
Merge pull request #3438 from nitz/patch-1
[Makerdiary nRF52840 M.2 Devkit] Add SDA & SDL, RX & TX to pins.c
2020-09-18 21:51:22 -04:00
Dan Halbert
dfd09bba57
Merge pull request #3433 from astrobokonon/esp32s2-bssid
ESP32S2: Allow connecting to specific bssid
2020-09-18 21:31:15 -04:00
Dan Halbert
8cf0171c06
Merge pull request #3431 from hierophect/stm32-spi-writevalue
STM32: Change SPI Read to acknowledge write_value
2020-09-18 19:46:21 -04:00
Dan Halbert
5116375604
Merge pull request #3436 from jepler/fix-spi-sercom4
samd: SPI: improve conditional code
2020-09-18 19:14:39 -04:00
Dan Halbert
23dd7c7c96
Merge pull request #3435 from jepler/fix-sdhc1
sdioio: fix code for the case where there is no SDHC1
2020-09-18 17:10:59 -04:00
nitz
8d6a28a9ff
Update user button names. 2020-09-18 17:01:44 -04:00
Dan Halbert
550b42e4d3
Merge pull request #3434 from jepler/same54-disable-cpu-voltage
sam e54: disable microcontroller.cpu.voltage
2020-09-18 15:20:43 -04:00
nitz
5249a228a0
More pin names cleanup. 2020-09-18 14:27:00 -04:00
Dan Halbert
749cbe19ab
Merge pull request #3437 from jepler/serial-connected-fix
supervisor: Improve serial connection detection
2020-09-18 13:33:04 -04:00
Lucian Copeland
3a59d30e1a Remove timer debug messages 2020-09-18 12:48:15 -04:00
Lucian Copeland
c58bd4c047 Add never_reset reservation to RGBMatrix init 2020-09-18 12:38:15 -04:00
nitz
db078922e4
Removed TXD/RXD, fixed whitespace. 2020-09-17 21:32:19 -04:00
Chris Dailey
be3e478fce
Add SDA & SDL, RX & TX to pins.c
Despite the [silk on the dock board](https://wiki.makerdiary.com/nrf52840-m2-devkit/resources/nrf52840_m2_devkit_hw_diagram_v1_0.pdf), the SDA/SCL pins weren't defined. Though, they were already defined in `mpconfigboard.h`.

Same for RX/TX. It looks like it declared `TXD` and `RXD`, so I didn't want to remove those, but I think it makes sense to have the "standard" pin names, but I moved ithem to illustrate they were all referencing the same pins.

I mimicked the whitespace I saw in the metro_nrf52840_express port.
2020-09-17 20:46:59 -04:00
Jeff Epler
28043c94b5 supervisor: Improve serial connection detection
These changes remove the caveat from supervisor.runtime.serial_connected.

It appears that _tud_cdc_connected() only tracks explicit changes to the
"DTR" bit, which leads to disconnects not being registered.

Instead:
 * when line state is changed explicitly, track the dtr value in
   _serial_connected
 * when the USB bus is suspended, set _serial_connected to False

Testing performed (using sam e54 xplained):  Run a program to show
the state of `serial_connected` on the LED:
```
import digitalio
import supervisor
import board

led = digitalio.DigitalInOut(board.LED)
while True:
    led.switch_to_output(not supervisor.runtime.serial_connected)
```

Try all the following:
 * open, close serial terminal program
    - LED status tracks whether terminal is open
 * turn on/off data lines using the switchable charge-only cable
    - LED turns off when switch is in "charger" position
    - LED turns back on when switch is in Data position and terminal is
      opened (but doesn't turn back on just because switch position is
      changed)
2020-09-17 18:32:06 -05:00
Jeff Epler
45eec5b5a5 samd: SPI: improve conditional code
I recently misdiagnosed a "maybe-uninitialized" diagnostic as a bug in
asf4.  However, the problem was in our SPI code.

A special case for samr21 MCUs was being applied to same54p20a and possibly
other D5x/E5x MCUs, since the check was simply for pin PC19 existing at all.

Change the check to use the macro PIN_PC19F_SERCOM4_PAD0 which is only
defined if special function F of pin PC19 is SERCOM4 PAD0.

Reorganize the code a little bit so that brace-matching in editors is
not confused by the conditionalized code, including an unrelated change
for APA102_SCK's condition.

Revert the change to the Makefile that incorrectly attempted to silence
the diagnostic.
2020-09-17 18:30:22 -05:00
Jeff Epler
c73182803d sdioio: fix code for the case where there is no SDHC1
.. it doesn't really make a difference (the old code created an empty
else{} statement) but this is more correct.
2020-09-17 18:29:31 -05:00
Jeff Epler
1b29ceaf1a sam e54: disable microcontroller.cpu.voltage
This hangs, and the usual workarounds didn't work.
2020-09-17 18:27:43 -05:00
Scott Shawcroft
17bdc969db
Reorganize sdkconfigs and release UF2s 2020-09-17 16:01:23 -07:00