Commit Graph

8565 Commits

Author SHA1 Message Date
大汉子民 d4b02e22ae
Thank you. I have applied for PID in espressif 2022-05-12 09:38:13 +08:00
Kong Wai Weng b9c28742be Added newline at the end of the file. 2022-05-11 15:30:45 +08:00
Kong Wai Weng 466f2a3644 Updated copyright information. 2022-05-11 15:25:32 +08:00
Kong Wai Weng 142ed2a024 Added Maker Feather AIoT S3. 2022-05-11 15:18:31 +08:00
Scott Shawcroft 9743aea7aa
Merge pull request #6334 from BigTuna94/add-rp2.65-f
Add new Keyboard - RP2.65-F
2022-05-10 16:52:39 -07:00
Radomir Dopieralski e7735a3631 Add new board pewpew_lcd 2022-05-10 22:25:32 +02:00
dahanzimin d48f961d0a Add MixGo CE board 2022-05-10 18:56:13 +08:00
Dan Halbert aa625f5ce4
Merge pull request #6366 from dhalbert/espressif-i2c-delay-fix
apply i2c delay fix from adafruit/esp-idf
2022-05-08 21:41:46 -04:00
Dan Halbert bb46898572
Merge pull request #6361 from mwisslead/rp2040_pulsein_buffer_fix
Fix buffer issue for rp2040 PulseIn
2022-05-08 12:37:17 -04:00
Dan Halbert 8b026a2c38 apply i2c delay fix from adafruit/esp-idf 2022-05-08 09:49:18 -04:00
Jeff Epler 5f4f66774c
Merge pull request #6360 from jepler/statemachine-improvements
Statemachine improvements
2022-05-07 09:35:57 -05:00
Jeff Epler 561ed3739a
fix the docstrings 2022-05-07 07:49:16 -05:00
Dan Halbert 34427bd6ba
Update StateMachine.c 2022-05-06 22:36:24 -04:00
Michael Wisslead b7882edd01 Fix buffer issue for rp2040 PulseIn 2022-05-07 00:57:10 +00:00
Jeff Epler b482a732c6
StateMachine: add swap flag
Always use DMA if swap flag is enabled.

Improve docs a bit
2022-05-06 15:22:43 -05:00
Jeff Epler 23c0fc8354
add ability to get, clear txstall flag
This can be used to make sure a PIO has actually finished all data
it was schedule to receive via a 'once' background_write
2022-05-06 15:22:43 -05:00
Jeff Epler f776749ca3
Key off len, not buf, to decide if anything to DMA 2022-05-06 15:22:43 -05:00
Jeff Epler 1a9034ff7c
rp2pio: Allow background_write(None) to terminate after complete loop 2022-05-06 15:22:42 -05:00
Dan Halbert 5edc59f070
Merge pull request #6337 from jepler/property-storage
Optimize flash storage of properties
2022-05-06 09:55:18 -04:00
Dan Halbert 30904a8638
Merge pull request #6354 from dhalbert/espressif-dio-fixes
espressif: check properly for pull values
2022-05-05 22:44:29 -04:00
Guy Dupont 02ec1cebf6
Fix pin mapping for thing plus 2040
GPIO 26 was mapped to GPIO 28
2022-05-05 21:11:32 -04:00
Jeff Epler a9d929627a
minor comment update 2022-05-05 14:40:49 -05:00
Dan Halbert 0f3eb9f46e espressif: check properly for pull values 2022-05-04 22:51:27 -04:00
Dan Halbert 03b1a0284e
Merge pull request #6352 from billvanleeuwen424/removeDuplicateInclude
Removed duplicate include, fixes issue #6278
2022-05-04 21:47:17 -04:00
Dan Halbert 27cbf1321c
Merge pull request #6350 from dhalbert/samd-SRC_C-conditionals
Compile more SAMD things conditionally
2022-05-04 21:46:26 -04:00
billvanleeuwen424 76040a9380 removed duplicate include per issue 6278 2022-05-04 14:57:37 -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 98ae047525 Compile more SAMD things conditionallly 2022-05-04 11:41:48 -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
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 b181caaefc add board.LED to Metro M4 AirLift LIte and PyRuler 2022-05-03 16:08:01 -04:00
Jeff Epler 7d7986b041
Add NEOPIXEL pin
Closes: #6307
2022-05-03 12:21:15 -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 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
Zach Richard a23ede8bc4
update USB VID/PID codes to match pidcodes request 2022-05-02 19:49:30 -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
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
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
Michael Wisslead e63a327107 Bound PulseIn start indexes to maxlen. 2022-04-28 02:28:34 +00: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
Dan Halbert b7541088f4 shrink circuitplayground_express_crickit 2022-04-26 17:51:47 -04:00
Dan Halbert 7a77aae4be shrink feather_m0_supersized 2022-04-26 16:52:43 -04:00
Dan Halbert 6b25ccf1a4 remove stray space 2022-04-26 14:26:42 -04:00
Dan Halbert 63abd9a9cf
Merge pull request #6312 from dhalbert/adjust-neopixel-timings
test and adjust NeoPixel timings on multiple ports
2022-04-26 13:18:47 -04:00
Dan Halbert 3a8fb4e956
Merge pull request #5852 from jepler/floppy
Add floppyio
2022-04-26 11:40:19 -04:00
Dan Halbert c8e8171cec
Merge pull request #6300 from jepler/pio-continuous
rp2040: add a background write with looping to StateMachines
2022-04-26 10:09:02 -04:00
ZodiusInfuser 910662e833 Finalised motor 2040 pins 2022-04-26 12:56:31 +01:00
ZodiusInfuser 1ccf767112
Merge branch 'adafruit:main' into motor 2022-04-26 10:23:14 +01:00
Dan Halbert 4eeaf41edc test and adjust NeoPixel timings on multiple products 2022-04-25 23:12:24 -04:00
Dan Halbert 0642917cf7
Merge pull request #6270 from FoamyGuy/tilegrid_bitmap_property
adding bitmap property to TileGrid
2022-04-25 09:09:28 -04:00
Dan Halbert fdf8207e05
Merge pull request #6281 from ViktorWiz/w5100s-evb-pico
Added WIZnet board W5100s-evb-pico
2022-04-25 09:09:08 -04:00
Dan Halbert 5b7e0754dd
Merge pull request #6287 from KurtE/mimxrt_pwm
Fix PWM Support for the MIMXRT boards
2022-04-25 09:02:40 -04:00
Jeff Epler 1a89a2d366
fix doc build 2022-04-23 13:25:59 -05:00
Jeff Epler 989fb828d4
Revamp background writing
Now a 'once' and a 'loop' buffer can be specified.

'once' is useful for things like writing a neopixel strip in the background,
if you can guarantee the buffer contents are stable until the write is complete.

'loop' is useful for periodic things, like pwm & servos.

both together are useful for some special cases of pwm/servo, where a
transitional waveform needs to be played for one repetition and then
a new waveform needs to be played after that.

The API is renamed to reflect that it's a more generic 'background'
operation.
2022-04-23 13:09:36 -05:00
KurtE 8d9dc1fb93
Update ports/mimxrt10xx/supervisor/port.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 11:47:40 -07:00
KurtE 3c343cf1b8
Update ports/mimxrt10xx/supervisor/port.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 11:47:30 -07:00
Dan Halbert 3885bc9018
Merge pull request #6303 from DavePutz/issue_4452
Fix for issue #4452 - time.sleep on STM
2022-04-22 13:34:31 -04:00
KurtE 1312e5c759
Update ports/mimxrt10xx/supervisor/port.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 09:16:27 -07:00
KurtE f102c15bb4
Update ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 09:15:40 -07:00
KurtE 79dd2a6cd5
Update ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
Fix Comment spelling

Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 09:15:29 -07:00
KurtE 53b7caf13c
Update ports/mimxrt10xx/common-hal/pwmio/PWMOut.c
Co-authored-by: Dan Halbert <halbert@halwitz.org>
2022-04-22 09:15:01 -07:00
ViktorWiz e8541e866c fix end of file issue 2022-04-22 15:02:50 +09:00
ViktorWiz 28296f98f8 update pid 2022-04-22 14:59:28 +09:00
ViktorWiz f91be019f6
Merge branch 'adafruit:main' into w5100s-evb-pico 2022-04-22 14:52:04 +09:00
root 289aaae954 Fix for issue #4452 - time.sleep on STM 2022-04-21 17:05:44 -05:00
Dan Halbert 76d54ca8ad shrink sparkfun_redboard_turbo 2022-04-21 12:58:46 -04:00
Jeff Epler 457aba79f4
fix doc build 2022-04-20 08:09:38 -05:00
Dan Halbert 4aea8049c5
Merge pull request #6279 from mjs513/main
Added Settable Clock for MIMXRT BOARDS
2022-04-20 08:31:41 -04:00
Dan Halbert 1fcc73bc24
Merge pull request #6261 from KurtE/PortSerialHooksIssue
disable on mimxrt10xx (Teensy40 41) Serial port Hooks
2022-04-19 23:04:07 -04:00
Jeff Epler 144eb5dfd4
fix lost DMA IRQ 2022-04-19 16:42:27 -05:00
Jeff Epler ebc426d9e6
Remove debug prints, improve docs 2022-04-19 16:39:04 -05:00
Jeff Epler b128f180ca
switch to single single dma channel, fix some bugs 2022-04-19 16:33:51 -05:00
KurtE 49769cfea4 Convert to use debug rx/tx pins to trigger adding this code
As per review request
2022-04-19 14:02:16 -07:00
Jeff Epler 33d6d55675
the basics work
the sequence has to be a minimum length, 8 entries, but this problem
is not detected. I don't THINK this is an insurmountable problem.
2022-04-19 15:14:50 -05:00
Jeff Epler 33f5598acc
Stub 'continuous write' functionality 2022-04-19 11:35:43 -05:00
Neradoc 17bba7b17d remove Adafruit_CircuitPython_BusDevice from frozen modules, it's built in now 2022-04-19 06:49:11 +02:00
Dan Halbert 6425e937b5
Merge pull request #6289 from stonehippo/samd51_mm_flash
Samd51 mm flash
2022-04-18 18:59:58 -04:00
KurtE eab4867e61 Remove dead replaced code
As requested, I removed the dead code that was replaced
2022-04-18 15:46:36 -07:00
George White 3b5171c4ff Move hook implementation to supervisor 2022-04-18 14:09:36 +00:00
Dan Halbert 4ab3881a82
Merge pull request #6282 from xuhow/elecfreaks_picoed
Elecfreaks picoed
2022-04-18 10:07:17 -04:00
George White 32fc084b39 Removed compiler flag in favor of MP_WEAK implementation 2022-04-18 13:10:12 +00:00
George White 0ba93b20e5 Setup flash pins on Sparkfun SAMD51 Micromod 2022-04-18 13:10:12 +00:00
mjs513 208bfb33aa Deleted Warnings Chanaged ValueError Method 2022-04-17 15:04:16 -04:00
KurtE 02a0939d2e Fix PWM Support for the MIMXRT boards
There were two main issues with the PWM support.

The first is they would fail to work properly if the board goes
into low power mode, when you do things like:     time.sleep(0.25)
Can make partially work with this by turning on the proper flags
in each of the FlexPWMTimer Timers/sub-timers, but this did not
appear to work if for example you have both A and B channels
enabled.

Second main problem is that the code did not work with the X
channel of each timer/sub-timer.  It looks like someone had
earlier started support for this, But was not sufficient.

Needed to bypass the SDK code and get it closer to the PJRC code.

That is we set the PWM_CTRL_FULL_MASK, which then uses  base->SM[submodule].VAL1  to control
when the timer is reset, so it sets up your cycle/frequency.  But then this implies that X channel
which uses 0, 1 has to be handled specially. So for the different channels:
    A - Uses VAL2 to turn on (0) and VAL3=duty to turn off
    B - Uses VAL4 to turn on (0) and VAL5 to turn off
    X - As mentioned above VAL1 turns off, but its set to the timing for freqency. so
        VAL0 turns on, so we set it to VAL1 - duty
2022-04-16 09:00:45 -07:00
mjs513 0b6c451fdf Add Overclocking Warnings to Processor.c 2022-04-16 11:01:50 -04:00
mjs513 fd41c1ac5b Update based on PR Comments 2022-04-14 06:45:16 -04:00
Xu Hao 9c1b44a030 Modify USB VID and PID of the Pico:ed 2022-04-14 17:42:04 +08:00
ViktorWiz b30d2e0889 update w5100s-evb-pico mpconfigboard.h 2022-04-14 14:35:23 +09:00
root 716497c132 corrected pre-commit errors 2022-04-13 12:04:28 -04:00
root 60e330fb0d Added Settable Clock for MIMXRT BOARDS 2022-04-13 09:47:55 -04:00
ZodiusInfuser 8cce2e6406 Updated motor pin names 2022-04-12 15:20:28 +01:00
Xu Hao 71a7ec6f76 Add ELECFREAKS Pico:ed board. 2022-04-12 16:10:02 +08:00
Dan Halbert 7be66a5733
Merge pull request #6265 from KurtE/teensyMM
Add Teensy MicroMod board
2022-04-11 12:31:42 -04:00
KurtE f95a68a37c Rename the board name
Renamed the board both name of directory within boards, but also the
name reported board name: board_id -- sparkfun_teensy_micromod

Adafruit CircuitPython 7.3.0-beta.0-10-g2a3eb49da-dirty on 2022-04-10; SparkFun Teensy MicroMod Processor with IMXRT1062DVL6A
2022-04-10 16:56:51 -07:00
BigTuna94 01cff3c4f8 add MIDI to frozen libs 2022-04-10 14:10:07 -04:00
Limor "Ladyada" Fried df74c681d2
Merge pull request #6273 from KurtE/t4x_board_dir_add_txrx_names
Add to board object other Serial and I2c pin names
2022-04-10 12:08:41 -04:00