Commit Graph

120 Commits

Author SHA1 Message Date
Dan Halbert
b3ffb3ab1f Return bytes written from RP2040 UART.write() 2021-04-21 18:38:35 -04:00
Phil Howard
b8d4f9655f RP2040: Only bitbang 0-byte writes
The I2C.c for RP2040 included a special case for writes <=2 bytes to match the MicroPython implementation,
however RP2040 does support 1 and 2 byte reads, with only 0 bytes being the exception.

Signed-off-by: Philip Howard <phil@pimoroni.com>
2021-03-17 16:25:54 +00:00
gamblor21
3b01a65743 Fixed formatting 2021-03-16 08:14:49 -05:00
Mark
e326d7ca80
Merge branch 'main' into rp_dp_parallel 2021-03-15 20:00:13 -05:00
Scott Shawcroft
f7a988b9b3
Merge pull request #4405 from DavePutz/issue_4237
Issue 4237 - Changed initial setting in program_struct
2021-03-15 17:51:36 -07:00
microDev
a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
root
9a83501982 Fixed initial settings for program_struct to allow more than 1 program per pio 2021-03-14 15:05:56 -05:00
Scott Shawcroft
1b106de4e0
Merge pull request #4262 from DavePutz/issue_4111
Issue 4111 - Implement pulseio(pulsein) for RP2040
2021-03-12 16:48:57 -08:00
DavePutz
96ce43e6d6
Added the correct files 2021-03-12 16:18:33 -06:00
DavePutz
6628f49852
Use StateMachine.c interrupt setup and simplify SM program 2021-03-12 16:06:57 -06:00
gamblor21
307d2a99fe Fix after rebase 2021-03-11 20:06:50 -06:00
gamblor21
5689307798 Changed frequency to match PIO having 2 instructions 2021-03-11 19:32:44 -06:00
gamblor21
b02b1e9979 Set frequency default 60Mhz 2021-03-11 19:32:44 -06:00
gamblor21
1658fe04f9 Set the statemachine to never reset so REPL works 2021-03-11 19:32:44 -06:00
gamblor21
c384ebe5c0 Updated to initalize pindirs 2021-03-11 19:32:44 -06:00
gamblor21
56a219911f Add frequency support to parallel bus 2021-03-11 19:32:43 -06:00
gamblor21
b080d6207b Removing debug info and clean up 2021-03-11 19:32:43 -06:00
gamblor21
c6aaab6f64 Initial commit 2021-03-11 19:32:43 -06:00
Jeff Epler
16bfe3b41c raspberrypi: RTC: Ensure a time is set
Until a time is set, the RTC is not running, and rtc_get_datetime()
returns false without assigning to the out-parameter.

In CircuitPython, this would manifest as arbitrary values being returned,
since uninitialized storage on the stack was being converted into a timestamp.
2021-03-10 20:20:40 -06:00
DavePutz
a3c3e8a0fa
fix trailing whitespace 2021-03-09 22:41:08 -06:00
DavePutz
0c58cc4772
Moved pin wait to an initial exec 2021-03-09 16:37:29 -06:00
DavePutz
f0e3274a33
Update to agree with modified StateMachine.h 2021-03-09 11:13:09 -06:00
DavePutz
6f4510d7aa
Merge branch 'main' into issue_4111 2021-03-08 23:28:21 -06:00
root
576da73a17 Added check for maxlen 2021-03-08 23:23:51 -06:00
root
95b7a59156 Merge branch 'issue_4111' of https://github.com/DavePutz/circuitpython into issue_4111 2021-03-08 23:22:05 -06:00
root
3db0fec267 Added check for maxlen 2021-03-08 23:20:57 -06:00
DavePutz
88650bc4d0
Removed leftover debug code 2021-03-08 22:48:57 -06:00
Jeff Epler
2ae1e7de61 WIPrp2040: Implement IncrementalEncoder
Any two consecutive pins can be used for an IncrementalEncoder

Testing performed: Put a synthesized (few hundred counts per second) quadrature signal into GP2/3 and read the encoder out.  Performed filesystem operations at the same time to stress test it.

The reasons for not using common_hal_rp2pio_statemachine_readinto are commented on.
2021-03-05 10:31:29 -06:00
DavePutz
a4dda3a5ba
Merge branch 'main' into issue_4111 2021-03-04 14:38:00 -06:00
DavePutz
c5c297d2c0
Update PulseOut.c 2021-03-04 13:53:19 -06:00
DavePutz
b7f03f9487
Update PulseOut.h 2021-03-04 13:52:40 -06:00
DavePutz
2d941b070f
Changed interrupt to per-word basis; cleaned up other small items 2021-03-04 13:51:46 -06:00
Jeff Epler
bc14ed31f6 StateMachine.h: Add header for declaration of mcu_pin_obj_t typedef 2021-03-04 12:28:46 -06:00
Jeff Epler
c023ec03ff PDMIn: Add missing deinit call 2021-03-04 12:28:06 -06:00
Jeff Epler
bd01d31542 rp2pio: Add pins_are_sequential
This can be used where the standard API calls for a list of pins, to check that they satisfy the requirements of the rp2pio state machine, e.g.,
```python
    def __init__(self, pin_a, pin_b):
        if not rp2pio.pins_are_sequential([pin_a, pin_b]):
            raise ValueError("Pins must be sequential")
```
2021-03-04 11:26:33 -06:00
Jeff Epler
ff62b0d2c0 StateMachine: Add pull up/down for inputs 2021-03-04 11:26:29 -06:00
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
DavePutz
ced707ed32
Update call to rp2pio_statemachine_construct 2021-03-03 10:55:08 -06: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
DavePutz
6046d37f31
Update PulseIn.c 2021-03-02 21:23:45 -06: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