Dan Halbert
61e33a5619
fix nrf ISR; make direction consistent across ports; save code size
2021-04-09 11:07:47 -04:00
Jeff Epler
3ce0b512f8
rasberrypi: IncrementalEncoder: factor out state machine
2021-04-08 16:25:47 -05:00
Jeff Epler
1a2ce27b73
raspberrypi: Drop support for auto-reversing swapped encoder
2021-04-06 09:22:59 -05:00
Jeff Epler
fc86475de5
IncrementalEncoder: support swapped pins
...
Closes : #4422
2021-04-04 13:49:50 -05:00
Jeff Epler
93d6ceedd9
IncrementalEncoder: Disconnect interrupt handler during deinit.
...
Closes : #4557
2021-04-04 13:49:41 -05:00
Jeff Epler
bcd90dd927
IncrementalEncoder: There are no out pins.
...
Closes #4556
2021-04-04 13:49:21 -05: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