Jeff Epler
68ac14b309
StateMachine: Add in_available property
...
I named the property `in_available` because it is similar to pyserial.
However, it indicates the number of words in the fifo, not the number
of bytes.
2021-03-04 11:14:09 -06:00
Dan Halbert
cd48c5ee83
Merge pull request #4315 from dhalbert/rp2040-i2c-short-writes
...
RP2040: Implement short I2C writes (2 bytes or less) using bitbangio
2021-03-03 12:42:47 -05:00
Scott Shawcroft
514b73bcf8
Merge pull request #4254 from gamblor21/rp2040_countio
...
Rp2040 countio
2021-03-03 08:47:24 -08:00
Scott Shawcroft
1d8933dd05
Merge pull request #4265 from DavePutz/pio_soft_reset
...
Clear out PIOs and State Machines on RP2040 soft reset
2021-03-03 08:43:57 -08:00
Dan Halbert
fb7a0f7efc
add 1sec timeouts for I2C read and write
2021-03-03 09:43:57 -05:00
gamblor21
98075c5255
Fixed merge
2021-03-02 22:32:59 -06:00
Dan Halbert
e3ab394cd6
works on nearly all sensors
2021-03-02 23:27:37 -05:00
Mark
37ee18349f
Merge branch 'main' into rp2040_countio
2021-03-02 19:47:53 -06:00
gamblor21
4246cc3f6d
Counter and PWMOut slice conflict check
2021-03-02 19:32:06 -06:00
Jeff Epler
efc2667b5f
Merge pull request #4186 from jepler/update-protomatter-rp2
...
Enable protomatter on RP2040 builds
2021-03-02 19:01:37 -06:00
Dan Halbert
f31b472309
Merge remote-tracking branch 'adafruit/main' into rp2040-i2c-short-writes
2021-03-02 15:17:12 -05:00
Dan Halbert
9939c59caa
wip
2021-03-02 15:16:55 -05:00
Scott Shawcroft
ce70b95990
Merge pull request #4177 from microDev1/nvm-rp
...
RP2040: Support for NVM
2021-03-02 09:57:36 -08:00
microDev
b029031286
minor structural modification
2021-03-02 14:36:28 +05:30
Jeff Epler
4b63a8c9b4
rp2pio: allow keyboard interrupt while waiting for tx fifo to empty (& stall)
2021-03-01 21:07:04 -06:00
Jeff Epler
238484ec26
Merge remote-tracking branch 'origin/main' into update-protomatter-rp2
2021-03-01 15:18:32 -06:00
Scott Shawcroft
532e7db293
Merge pull request #4267 from dhalbert/rp2040-digitalinout-fixes
...
RP2040: change DigitalInOut direction only when necessary; strong drive strength
2021-03-01 13:14:13 -08:00
gamblor21
d7bc8a46a5
Added counters per slice
2021-02-27 15:17:27 -06:00
root
29c89a2487
Removed more includes
2021-02-26 22:35:38 -06:00
root
f3515502b7
Removed unecessary includes
2021-02-26 22:33:50 -06:00
root
6374408c06
Changed reset_rp2pio_statemachine to clean up any PIO interrupts.
2021-02-26 22:28:50 -06:00
Scott Shawcroft
776301c932
Typo fix: direcion -> direction
2021-02-26 15:03:56 -08:00
Scott Shawcroft
888a0c5f08
Merge pull request #4224 from microDev1/busio-uart-rp
...
RP2040: Support for UART
2021-02-26 14:57:23 -08:00
Dan Halbert
d9234ffa82
need to gpio_set_dir() at some point
2021-02-26 15:27:35 -05:00
Scott Shawcroft
2e6e91dc5c
Merge pull request #4253 from tannewt/rp2040_fix_pwm_reuse
...
Fix second shared PWM
2021-02-26 11:53:54 -08:00
Scott Shawcroft
7c8d7d77dd
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp
2021-02-26 09:04:42 -08:00
Jeff Epler
1d1ff5f308
Merge remote-tracking branch 'origin/main' into update-protomatter-rp2
2021-02-26 09:56:35 -06:00
Scott Shawcroft
3f08cb47b8
Merge remote-tracking branch 'adafruit/main' into busio-uart-rp
2021-02-25 16:59:15 -08:00
Scott Shawcroft
52bc935fa7
A few minor fixes for corner cases
...
* 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-25 16:50:57 -08:00
Dan Halbert
d0f1cfb039
address review; use gpio_set() carefully
2021-02-25 18:41:22 -05:00
Scott Shawcroft
2b163ccd6a
Fix incorrect deinit mask
2021-02-25 14:57:46 -08:00
Scott Shawcroft
1b00d94b23
Fix second shared PWM
...
Fixes #4210
2021-02-25 14:49:09 -08:00
Jeff Epler
22276710e6
rp2pio: Fix writing where the stride was 2 or 4
...
The wrong stride value was being checked.
2021-02-25 15:50:49 -06:00
Dan Halbert
199a8ce8b0
change DigitalInOut direction only when necessary; strong drive strength
2021-02-25 14:10:19 -05:00
root
f8eb5bc275
Cleanup PIOs and State Machines on soft reset
2021-02-25 12:38:43 -06:00
microDev
8170e26a86
more uart improvements
...
- address suggested changes
- refine uart instance availibility checks
- improve pin validation and rx buffer handling
2021-02-25 23:46:00 +05:30
microDev
5d7fdafcde
implement suggested changes
...
- add internal buffering
- rtc initialization fix
2021-02-25 00:48:36 +05:30
Mark
b935dcafdc
Merge branch 'main' into rp2040_countio
2021-02-23 19:46:41 -06:00
gamblor21
379f454ce6
Adding countio to rp2040
2021-02-23 19:38:05 -06:00
Scott Shawcroft
abbbb91fa8
Add state machine divisor check
...
This causes an exception when setting a state machine too slow or
too fast.
Fixes #4222
2021-02-23 16:30:46 -08:00
Scott Shawcroft
360475e266
Implement audiobusio and enhance PIO for it
...
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-23 15:50:00 -08:00
Dan Halbert
67406488d1
merge from upstream; re-alphabetize
2021-02-19 14:22:50 -05:00
microDev
b12ccefbe6
uart implementation for rp2040
2021-02-19 18:36:00 +05:30
Dan Halbert
53a002a096
Initial fix, but bitbangio timing may be off
2021-02-18 13:14:51 -05:00
microDev
696d212dc7
fix nvm rewrite
2021-02-18 18:42:00 +05:30
Jeff Epler
ab5eb86118
raspberrypi: implement os.urandom
...
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-17 17:49:25 -06:00
Dan Halbert
0b8f1b9a90
wip: usb_cdc.serials
2021-02-15 20:06:18 -05:00
Dan Halbert
93d788543c
Merge remote-tracking branch 'adafruit/main' into secondary-cdc
2021-02-15 20:03:53 -05:00
Dan Halbert
0ec99b37e0
handle 100% duty cycle; improve actual_frequency calc
2021-02-13 13:16:49 -05:00
Dan Halbert
d54b5861a3
wip
2021-02-12 19:01:14 -05:00