Commit Graph

27853 Commits

Author SHA1 Message Date
Alec Delaney
8651156ee0 Add link to busio from board module 2022-05-04 13:50:08 -04:00
Alec Delaney
802931987a Fix board module additions 2022-05-04 13:49:47 -04:00
Dan Halbert
b71ea29a8b
Merge pull request #6330 from KurtE/rp2040_uart_rs485
[RP2040] Allow any GPIO pin for RS485 direction pin
2022-05-04 13:32:36 -04:00
Dan Halbert
a7ec8b02e9
Merge pull request #6328 from KurtE/mixrt_uart_rs485
[mimxrt (teensy) Allow Any GPIO pin for RS485 pin
2022-05-04 13:30:09 -04:00
Dan Halbert
75bfcb3630 add caveat about software RS485 implementations 2022-05-04 13:05:41 -04:00
Dan Halbert
98ae047525 Compile more SAMD things conditionallly 2022-05-04 11:41:48 -04:00
Jeff Epler
56ed0b001e
Merge pull request #6347 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2022-05-04 08:46:36 -06:00
Hosted Weblate
e52fd0871b
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/
2022-05-04 04:43:56 +02:00
Dan Halbert
ce959a9af4
Merge pull request #6342 from dhalbert/pin-hash
make Pin hashable
2022-05-03 22:43:46 -04:00
Dan Halbert
e25e177a6f
Merge pull request #6343 from dhalbert/missing-board-LED
add board.LED to Metro M4 AirLift LIte and PyRuler
2022-05-03 19:17:04 -04:00
Dan Halbert
e5c9f3b320
Merge pull request #6341 from tekktrik/doc/add-time-module-link
Link to CPython docs for subset modules
2022-05-03 19:16:50 -04:00
Dan Halbert
68acd14342 use generic hash routine where possible 2022-05-03 19:11:54 -04:00
Dan Halbert
4da73ac0f1
Merge pull request #6344 from dhalbert/adabot-website-pr
run circuitpython.org website PR action with adafruit-adabot instead of adafruit-blinka
2022-05-03 18:57:29 -04:00
Alec Delaney
024ab1974b Fix typo 2022-05-03 16:42:40 -04:00
KurtE
6378343bb3 As I mentioned in issue #6332,
there return of a read operation that times out with no data received
is inconsistent:
```
Adafruit CircuitPython 7.3.0-beta.1-31-g73f6b4867-dirty on 2022-04-30; Adafruit Feather RP2040 with rp2040
>>>
>>> import board, busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 6.3.0 on 2021-06-01; FeatherS2 with ESP32S2
>>> import board,busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 7.3.0-beta.1 on 2022-04-07; Adafruit Feather STM32F405 Express with STM32F405RG
>>> import board, busio
>>> print(board.UART().read(5))
None

Adafruit CircuitPython 7.3.0-beta.1-31-g73f6b4867-dirty on 2022-04-28; Teensy 4.1 with IMXRT1062DVJ6A
>>> import board, busio
>>> print(board.UART().read(5))
b''
```

Since I have a PR on this file anyway, I thought I would put in the change to make it consistent
with the other 3 board types I tried.  Can not say about any of the others.
2022-05-03 13:39:49 -07:00
Dan Halbert
814640e25a run circuitpython.org website PR action with adafruit-adabot instead of adafruit-blinka 2022-05-03 16:29:54 -04:00
Dan Halbert
b181caaefc add board.LED to Metro M4 AirLift LIte and PyRuler 2022-05-03 16:08:01 -04:00
Dan Halbert
9717fd235d make Pin hashable 2022-05-03 15:28:42 -04:00
Alec Delaney
24fb138311 Use shortcut "directive" for subset note 2022-05-03 14:56:12 -04:00
Alec Delaney
bbc29e84a7
Add os, "socket", atexit, ssl, struct, traceback, math links 2022-05-03 12:31:20 -06:00
Alec Delaney
de7a90ab00
Add link to CPython os module 2022-05-03 14:00:52 -04:00
Alec Delaney
5bd8fa6842
Add link to CPython random module 2022-05-03 13:59:13 -04:00
Alec Delaney
664a92c2df
Add link to CPython math module 2022-05-03 13:57:22 -04:00
Dan Halbert
a7c074b8ff
Merge pull request #6339 from jepler/servo2040-neopixel-name
Add NEOPIXEL pin
2022-05-03 13:54:41 -04:00
Alec Delaney
2457b2bdf4
Link to CPython docs for time module 2022-05-03 13:49:00 -04:00
Alec Delaney
49918299f2
Update docs with links to tutorials for I2C, SPI, and UART 2022-05-03 13:42:42 -04:00
Jeff Epler
7d7986b041
Add NEOPIXEL pin
Closes: #6307
2022-05-03 12:21:15 -05:00
Jeff Epler
b292a925d5
remove stray semicolon 2022-05-03 09:23:47 -05:00
Jeff Epler
030d5fefa0
Ignore SH1107 quirk if not 1bpp 2022-05-03 09:23:36 -05:00
Jeff Epler
510890b207
Enable squeezing property storage in flash
.. and enable it on atmel-samd and raspberrypi. On trinket_m0 this saves
96 net bytes of flash. There are 216 bytes actually saved by reducing
the flash storage size of the property descriptors, but added code in
several paths takes back over half of the 'raw savings'.

By organizing the "get-only" and "get-set" (but no delete) properties
each in a different section, we can represent then more efficiently.

Testing performed: that a get-only property can still be gotten but
can't be set or deleted; that a get-set property can sill be gotten or
set but can't be deleted.  Tested on pygamer.

Because this requires linker file support, I only enabled it on two of
the ports.
2022-05-03 08:48:53 -05:00
Jeff Epler
78cf0a90af
Make MP_PROPERTY_GETTER / _GETSET fully declare the property
This will enable setting data attributes, namely, the section of the
symbol.
2022-05-03 08:48:53 -05:00
Jeff Epler
5b9f0681ad
Get some getter props defined through another macro 2022-05-03 08:48:53 -05:00
Jeff Epler
31da335cac
Introduce, use MP_PROPERTY_GETTER, _GETSET
Later, these can be changed in cunning ways to save flash storage.
2022-05-03 08:48:52 -05:00
Jeff Epler
dddf541ede
Fix some property declarations that were slightly different 2022-05-03 08:48:37 -05:00
Zach Richard
a23ede8bc4
update USB VID/PID codes to match pidcodes request 2022-05-02 19:49:30 -04:00
Limor "Ladyada" Fried
bf0e1fafa9
Merge pull request #6333 from todbot/main
fix qtpy_esp32s3_nopsram neopixel pins
2022-05-02 18:45:28 -04:00
Tod Kurt
7e622c3ff7 mpconfigboard.h also needs neopixel tweak 2022-05-02 13:23:55 -07:00
Tod Kurt
5d4e964de0 fix qtpy_esp32s3_nopsram neopixel pins 2022-05-02 13:04:05 -07:00
Limor "Ladyada" Fried
8beb908d90
Merge pull request #6329 from tekktrik/personal/mp3decoder-docs
Add note about memory usage recommendation to MP3Decoder
2022-04-30 21:13:20 -04:00
KurtE
1fad381513 [RP2040] Allow any GPIO pin for RS485 direction pin
As I mentioned in issue #6310 while investigating that the Teensy port
did not support RS485_dir pin on normal GPIO pins, I found that it
was not implemented either as well on some other ports.

So was curious to implement it for RP2040 using same approach as I did
for the MIMXRT in the Pull Request #6328

That is I setup the specified pin as a normal GPIO pin in output mode
and then when you do a write operation it sets the GPIO pin logically
high, and when the write completes I set it logically low.

Note: knowing when I can set it low can be tricky, as you need to make
sure the full output has completed otherwise the data will be corrupted.

I am using:         uart_tx_wait_blocking(self->uart);
Which looks like it is supposed to wait until the busy status is no
longer set, which the Reference manual mentioned, but this is leaving
the line logically set longer than I would like.

however I have tried running it with my hacked up version of the
Python Robotis DynamixelSDK and was able to talk to some AX servos.

I did have to change the library slightly for the RP2040, as the
library was erroring out when you did something like uart.read(5)
and it timed out without receiving anything.  The RP2040 returned
None whereas I think the Teensy returned an empty set, which is what
it looks like the PySerial original code expects.

Not sure if anyone is interested in this, but thought i would
put it out as PR and see.
2022-04-30 14:31:08 -07:00
Alec Delaney
92aeabfe3a Update note in MP3Decoder 2022-04-30 15:18:05 -06:00
Alec Delaney
3d145af587 Add note about memory usage for MP3Decoder 2022-04-30 15:11:00 -06:00
Mark
b598ec0ddb
Merge pull request #6324 from tekktrik/doc/add-watchdog-timeout-docs
Add documentation for watchdog.WatchDogTimeout
2022-04-29 23:35:36 -05:00
Alec Delaney
9a23923b2d Add documentation for watchdog.WatchDogTimeout 2022-04-29 11:41:22 -06:00
Dan Halbert
816a26e8b7
Merge pull request #6321 from dhalbert/samd21-ticks-for-display
Preserve ticks for displays across VMs
2022-04-28 09:37:21 -04:00
Mark
02280b81ef
Merge pull request #6320 from mwisslead/pulseio_pulsin_buffer_overread
Fix PulseIn buffer overread in popleft #6318
2022-04-28 07:42:44 -05:00
Michael Wisslead
e63a327107 Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00:00
Dan Halbert
90b78fe25f
Merge pull request #6319 from weblate/weblate-circuitpython-main
Translations update from Hosted Weblate
2022-04-27 22:27:26 -04:00
Dan Halbert
b25d810af9 Preserve ticks for displays across VMs 2022-04-27 20:06:47 -04:00
KurtE
73f6b48676 [mimxrt (teensy) Allow Any GPIO pin for RS485 pin
The existing code was setup that allowed you to specify an RTS
pin to be used as an RS485 direction pin, however there are no
RTS pins that are exposed on any of the Teensy 4.x boards.

Instead Arduino code base allowed you to specify any GPIO pin to
work instead.  So I added the code in to facilitate this.

In addition the alternative code to wrap your own GPIO pin set high and low
around call(s) to uart.write() will not currently work, unless maybe you
fudge it and add your own delays as the write will return after the last
byte was pushed onto the UART’s hardware FIFO queue and as such if you
then immediately set the IO pin low, it will corrupt your output stream.

The code I added detects that you are setup to use the RS485 pin and
before it returns will wait for the UART’s Transfer complete status flag
to be set.
2022-04-27 11:26:08 -07:00