summaryrefslogtreecommitdiff
path: root/ports/raspberrypi/common-hal
AgeCommit message (Collapse)Author
2021-03-02minor structural modificationmicroDev
2021-03-01rp2pio: allow keyboard interrupt while waiting for tx fifo to empty (& stall)Jeff Epler
2021-03-01Merge remote-tracking branch 'origin/main' into update-protomatter-rp2Jeff Epler
2021-03-01Merge pull request #4267 from dhalbert/rp2040-digitalinout-fixesScott Shawcroft
RP2040: change DigitalInOut direction only when necessary; strong drive strength
2021-02-27Added counters per slicegamblor21
2021-02-26Removed more includesroot
2021-02-26Removed unecessary includesroot
2021-02-26Changed reset_rp2pio_statemachine to clean up any PIO interrupts.root
2021-02-26Typo fix: direcion -> directionScott Shawcroft
2021-02-26Merge pull request #4224 from microDev1/busio-uart-rpScott Shawcroft
RP2040: Support for UART
2021-02-26need to gpio_set_dir() at some pointDan Halbert
2021-02-26Requested changesroot
2021-02-26Merge pull request #4253 from tannewt/rp2040_fix_pwm_reuseScott Shawcroft
Fix second shared PWM
2021-02-26Merge remote-tracking branch 'adafruit/main' into busio-uart-rpScott Shawcroft
2021-02-26Merge remote-tracking branch 'origin/main' into update-protomatter-rp2Jeff Epler
2021-02-25Merge remote-tracking branch 'adafruit/main' into busio-uart-rpScott Shawcroft
2021-02-25A few minor fixes for corner casesScott Shawcroft
* Always clear the peripheral interrupt so we don't hang when full * Store the ringbuf in the object so it gets collected when we're alive * Make UART objects have a finaliser so they are deinit when their memory is freed * Copy bytes into the ringbuf from the FIFO after we read to ensure the interrupt is enabled ASAP * Copy bytes into the ringbuf from the FIFO before measuring our rx available because the interrupt is based on a threshold (not > 0). For example, a single byte won't trigger an interrupt.
2021-02-25address review; use gpio_set() carefullyDan Halbert
2021-02-25Fix incorrect deinit maskScott Shawcroft
2021-02-25Fix second shared PWMScott Shawcroft
Fixes #4210
2021-02-25rp2pio: Fix writing where the stride was 2 or 4Jeff Epler
The wrong stride value was being checked.
2021-02-25change DigitalInOut direction only when necessary; strong drive strengthDan Halbert
2021-02-25Cleanup PIOs and State Machines on soft resetroot
2021-02-25more uart improvementsmicroDev
- address suggested changes - refine uart instance availibility checks - improve pin validation and rx buffer handling
2021-02-24Clean up formattingroot
2021-02-24Return NotImplementedError for PulseOutroot
2021-02-24pulseio (pulsein) for RP2040root
2021-02-25implement suggested changesmicroDev
- add internal buffering - rtc initialization fix
2021-02-23Merge branch 'main' into rp2040_countioMark
2021-02-23Adding countio to rp2040gamblor21
2021-02-23Add state machine divisor checkScott Shawcroft
This causes an exception when setting a state machine too slow or too fast. Fixes #4222
2021-02-23Implement audiobusio and enhance PIO for itScott Shawcroft
This adds I2SOut and PDMIn support via PIO. StateMachines can now: * read and read while writing * transfer in 1, 2 or 4 byte increments * init pins based on expected defaults automatically * be stopped and restarted * rxfifo can be cleared and rxstalls detected (good for tracking when the reading code isn't keeping up) Fixes #4162
2021-02-19merge from upstream; re-alphabetizeDan Halbert
2021-02-19uart implementation for rp2040microDev
2021-02-18Initial fix, but bitbangio timing may be offDan Halbert
2021-02-18fix nvm rewritemicroDev
2021-02-17raspberrypi: implement os.urandomJeff Epler
Since the datasheet cast some doubt on the strength of the "rosc_hw->randombit", I use the SHA256 hash function to create a high quality random seed from random values of uncertain entropy, as well as to generate a sequence of random values from that seed using SHA256 as a cryptographically-secure random number generator. In practice, it produces over 100kB/s of random data which does not have any gross problems according to _PractRand_.
2021-02-15wip: usb_cdc.serialsDan Halbert
2021-02-15Merge remote-tracking branch 'adafruit/main' into secondary-cdcDan Halbert
2021-02-13handle 100% duty cycle; improve actual_frequency calcDan Halbert
2021-02-12wipDan Halbert
2021-02-12fix off-by-one PWM top issueDan Halbert
2021-02-12Enable protomatter on RP2040 buildsJeff Epler
Also found a race condition between timer_disable and redraw, which would happen if I debugger-paused inside common_hal_rgbmatrix_timer_disable or put a delay or print inside it. That's what pausing inside reconstruct fixes. So that the "right timer" can be chosen, `timer_allocate` now gets the `self` pointer. It's guaranteed at this point that the pin information is accurate, so you can e.g., find a PWM unit related to the pins themselves. This required touching each port to add the parameter even though it's unused everywhere but raspberrypi.
2021-02-12Merge branch 'main' into nvm-rpmicroDev
2021-02-12implement suggested changesmicroDev
- update FLASH_FIRMWARE length - use linker script define value
2021-02-11merge from upstream; complicated webusb mergeDan Halbert
2021-02-11nvm implementation for rp2040microDev
2021-02-09Add PWM based audio playbackScott Shawcroft
See https://learn.adafruit.com/circuitpython-essentials/circuitpython-audio-out to get started. Fixes #4037
2021-02-09Merge pull request #4165 from DavePutz/issue_4143Scott Shawcroft
Issue 4143 - Fixed marking a PWM slice incorrectly as variable frequency
2021-02-09Fix check for variable PWM frequencyroot