Commit Graph

200 Commits

Author SHA1 Message Date
Scott Shawcroft 1a0b4193b7
Simplify the status LED to save power
This also removes the need to pin share because we don't use the
status LED while user code is running.

The status flashes fallback to the HW_STATUS LED if no RGB LED is
present. Each status has a unique blink pattern as well.

One caveat is the REPL state. In order to not pin share, we set the
RGB color once. PWM and single color will be shutoff immediately but
DotStars and NeoPixels will hold the color until the user overrides
it.

Fixes #4133
2021-05-13 14:41:20 -07:00
Kattni Rembor 294ef59f27 Add LED pin to Adafruit boards. 2021-05-10 16:39:01 -04:00
Scott Shawcroft 42f4065c8a
Merge remote-tracking branch 'adafruit/main' into merge_1.13 2021-05-06 11:17:53 -07:00
Scott Shawcroft f0bb26d70f
Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
Dan Halbert d2b558993e merge from main, including MicroPython 1.12 merge 2021-05-03 20:56:04 -04:00
Jeff Epler e95e921ca1 codeformat: Fix filename matching
In #4683, tannewt noticed that uncrustify was not running on some
file in common-hal.

I investigated and found that it was not being run on a bunch of paths.

Rather than make incremental changes, I rewrote list_files to work
bsaed on regular expressions; these regular expressions are created from
the same git-style glob patterns.

I spot-checked some specific filenames after this change, and all looks good:

```
$ python3 tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py  ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
tools/codeformat.py -v --dry-run tests/basics/int_small.py ports/raspberrypi/common-hal/pulseio/PulseIn.c extmod/virtpin.c tests/thread/thread_exit1.py ports/raspberrypi/background.h extmod/re1.5/recursiveloop.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup extmod/virtpin.c ports/raspberrypi/background.h ports/raspberrypi/common-hal/pulseio/PulseIn.c
black --fast --line-length=99 -v tests/thread/thread_exit1.py
```
recursiveloop and int_small are excluded, while PulseIn, virtpin,
and background are included.

Testing running from a subdirectory (not _specifically_ supported though):
```
(cd ports && python3 ../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c)
../tools/codeformat.py -v --dry-run raspberrypi/common-hal/pulseio/PulseIn.c ../extmod/virtpin.c
uncrustify -c /home/jepler/src/circuitpython/tools/uncrustify.cfg -lC --no-backup ../extmod/virtpin.c raspberrypi/common-hal/pulseio/PulseIn.
```

As a side-effect, a bunch more files are re-formatted now. :-P
2021-04-30 10:48:08 -05:00
Dan Halbert f06d54524d merge from adafruit 2021-04-28 23:48:26 -04:00
Scott Shawcroft 76033d5115
Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
Dan Halbert 9d1fcc3b14 merge from main 2021-04-25 10:27:52 -04:00
Dan Halbert 64e0958916 wip: descriptor building 2021-04-21 23:25:36 -04:00
Jeff Epler 1a163dd70d mimxrt10xx: enable adafruit_bus_device in core 2021-04-06 09:19:41 -05:00
Jeff Epler 3f3cb79b7d Add pinmux info for 1021 and 1062 family MCUs 2021-04-01 15:59:57 -05:00
Jeff Epler 89fc0298ce mimxrt1011: pwmout: Add prescaler, fix duty_cycle=65535 2021-04-01 13:04:06 -05:00
Jeff Epler 489163b74e mimxrt1011: pwmio: Enable basic PWMOut functionality
After this change, the following program works for me on the MIMXRT1010-EVK:
```python
import pwmio
import board

p = pwmio.PWMOut(board.D13, frequency=1_000_000, variable_frequency=True)
p.duty_cycle = 32868

while True:
    pass
```

Querying and varying the duty_cycle and frequency work as well.

The lowest frequency obtainable is about 2kHz; there is an additional
divider which would allow lower PWM frequencies (I think 1kHz is important
for servos?)

Something odd happens with very low duty cycles, such as
```python
>>> p.frequency = 2000
>>> p.duty_cycle = 2
```
instead of a symmetrical waveform, it's asymmetrical.  With `duty_cycle=4`,
the effect disappears.  The reason for this is probably hidden in the
datasheet, but could affect servos or other things that count pulse
widths.
2021-04-01 10:06:59 -05:00
Jeff Epler cb29ad0846 mimxrt10xx: Fix bogus assertion.
.. as noted by @d-c-d
2021-03-31 09:21:08 -05:00
Jeff Epler 71eee45a37 mimxrt1011: UART: Add additional error checking
.. and make the 'invalid pin' messages standard.

Closes #4502
2021-03-30 10:17:48 -05:00
Jeff Epler 010232574e
Merge pull request #4468 from jepler/metro-m7-dup-pins
remove duplicate RX/TX pin lines
2021-03-27 12:49:33 -05:00
Jeff Epler 2bc61b4580 Parenthesize double-division for clarity 2021-03-26 11:01:22 -05:00
Jeff Epler 231cb1ffd9 mimxrt10xx: Use the proper "betweenTransferDelay" (et al) values
Set the betweenTransferDelay to the SCK low-time, to avoid long pauses
between bytes (transfers) while preventing the last SCK cycle in a byte
from being a runt pulse.

Compared to an earlier revision of this change, which just set the delays
all to zero, this doesn't break using an AirLift, which was sensitive
to the runt pulses (the simple loopback-wire test didn't detect the problem)
2021-03-26 10:54:13 -05:00
Jeff Epler 1d48054aea mimxrt10xx: Factor out "transfer_common"
.. and set the "MasterPcsContinuous" flag, which removes some of the
gap between bytes of a single SPI transaction
2021-03-26 10:04:35 -05:00
Jeff Epler ffb70a8737 Freeze ESP32SPI into mimxrt1011_evk
.. so that it is more conveniently like the metro m7 for my testing
2021-03-26 10:01:53 -05:00
Jeff Epler 9e110f120a mimxrt10xx: busio: cap SPI baudrate at 30MHz per datasheet 2021-03-26 10:01:53 -05:00
Jeff Epler b440883fe5 mimxrt: SPI: Set the TCR value returned by MasterBaudSetRate
without this, the baud rate could be wrong; in my testing, it was
low by a factor of 2 when requesating baudrate=1_000_000 (1MHz).

When passing the baudrate in to LPSPI_MasterInit, the setting is made
automatically, but LPSPI_MAster_SetBaudRate just returns it via the
out-parameter tcrPrescaleValue.
2021-03-24 13:33:21 -05:00
Jeff Epler 5314fddca0 remove duplicate RX/TX pin lines 2021-03-23 16:04:23 -05:00
Jeff Epler 22906ac95e
Merge pull request #4442 from jepler/m7-reboot-bootloader
mimxrt1011: Fix reset-to-bootloader
2021-03-19 15:37:06 -05:00
Jeff Epler 3fcb6b278f
Merge pull request #4443 from jepler/evk-pins-dnp
imxrt1010_evk: Delete pins that are not connected
2021-03-19 15:36:36 -05:00
Jeff Epler ee59c75f62 imxrt1010_evk: Delete pins that are not connected
There are DNP resistors on the MIMXRT1010-EVK board (see SCH-45852)
that lead to these pins on the arduino-style header not being connected
through. In theory someone could populate them, but as it the presence
of these names in the pins module caused problems when they didn't work
as expected.

Closes #3012
2021-03-19 11:29:32 -05:00
Jeff Epler 06743d91ed mimxrt1011: Fix reset-to-bootloader
The definition of DBL_TAP_REG must match tinyuf2
2021-03-19 10:11:45 -05:00
Jeff Epler 01a1cdf13a update flash chip comment 2021-03-19 09:50:26 -05:00
Jeff Epler 6abea8a4aa another place to fix flash capacity 2021-03-19 08:41:28 -05:00
Jeff Epler 0b22a9397a mimxrt: Quiet some warnings down in the sdk
Closes #2487
2021-03-18 16:54:11 -05:00
Jeff Epler 0ba0fae495 mimxrt: Enable USB Midi
Closes #2473
2021-03-18 16:54:11 -05:00
Jeff Epler 74243fd71a metro_m7: Update board name, flash chip size 2021-03-18 16:54:11 -05:00
gamblor21 fb437d8280 Formatting fixes 2021-03-16 08:22:02 -05:00
Mark e326d7ca80
Merge branch 'main' into rp_dp_parallel 2021-03-15 20:00:13 -05:00
microDev a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
gamblor21 56a219911f Add frequency support to parallel bus 2021-03-11 19:32:43 -06:00
James Bowman bff585ffd2 Enable EVE low-level for Teensy 4.0 and 4.1 2021-03-05 11:32:58 -08:00
Scott Shawcroft 3f08cb47b8
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp 2021-02-25 16:59:15 -08:00
microDev 5d7fdafcde
implement suggested changes
- add internal buffering
- rtc initialization fix
2021-02-25 00:48:36 +05:30
Dan Halbert f0564b4986 merge from upstream; complicated webusb merge 2021-02-11 18:50:02 -05:00
Philip Jander 5bf08c503b adds: maximum retries on SPI busy 2021-02-07 17:06:46 +01:00
Philip Jander ae91b12aea chore: whitespace fixed 2021-02-07 16:59:11 +01:00
Philip Jander 127cc6204a adds: idle loop to wait for SPI not busy (mimxrt10xx) 2021-02-07 16:59:11 +01:00
Dan Halbert 0802b22ed6 usb descriptors all set; rework of enabling for USB devices 2021-02-04 19:23:40 -05:00
BiffoBear 2656c84b01 Initial commit. Edited error messages in .c files 2021-02-03 05:49:40 +07:00
Dan Halbert 69869e1439 CIRCUITPY_* switches for JSON, RE, etc. Doc cleanup 2021-01-24 23:10:20 -05:00
microDev dc332baa87
update common_hal_reset_pin() 2020-12-28 20:04:00 +05:30
Dan Halbert 39ca406a31 Add Adafruit to MICROPY_HW_BOARD_NAME for various boards 2020-12-21 23:32:11 -05:00
Dan Halbert 8f9cd7075e
Merge pull request #3752 from jepler/gcc10
build: Update to gcc10
2020-12-17 11:03:40 -05:00