* add stdio_usb_connected() method
* add PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS to allow waiting for CDC connection during init(*
* add puts_raw and putchar_raw to skip any CR/LF translation
Due to the well known electronic market situation, we were forced to mount an alternative part number in a batch of Arduino Nano RP2040 Connect.
These flash chips, from ISSI, need yet another way to configure the QE sticky bit :|
At the moment, the safest way to handle the dual sourcing is to fallback using W25Q080 loader, and requiring that the sticky bit has already been programmed during production.
Fixes build when pico_stdlib isn't included in the target libraries:
pico-sdk/src/rp2_common/pico_divider/divider.S:8:10: fatal error: hardware/divider_helper.S: No such file or directory
Also fixes the same error in pico_double, though I'm not sure how/why:
pico-sdk/src/rp2_common/pico_double/double_aeabi.S:9:10: fatal error: hardware/divider_helper.S: No such file or directory
* use PICO_DISABLE_SHARED_IRQ_HANDLERS exclusively as config for no shared handler support (rather than also PICO_MAX_SHARED_IRQ_HANDLERS == 0)
additionally make irq_add_shared_irq_handler() call irq_set_exclusive_handler() so that single usage of an IRQ still works
* Comment typo
Co-authored-by: Luke Wren <wren6991@gmail.com>
While working on the [online pioasm](https://wokwi.com/tools/pioasm), I found several PIO instructions that result in invalid python code. Here is a small program that demonstrate the issue:
```
.program python_issue
push block
wait 0 irq 1 rel
irq clear 1 rel
```
And the resulting Python program:
```python
# -------------------------------------------------- #
# This file is autogenerated by pioasm; do not edit! #
# -------------------------------------------------- #
import rp2
from machine import Pin
# ----------- #
# python_test #
# ----------- #
@rp2.asm_pio()
def python_test():
wrap_target()
push(, block) # 0
wait(0, irq, 1 rel) # 1
irq(clear 1 rel) # 2
wrap()
```
After this fix, the above program compiles to a valid python syntax:
```python
# -------------------------------------------------- #
# This file is autogenerated by pioasm; do not edit! #
# -------------------------------------------------- #
import rp2
from machine import Pin
# ----------- #
# python_test #
# ----------- #
@rp2.asm_pio()
def python_test():
wrap_target()
push(block) # 0
wait(0, irq, rel(1)) # 1
irq(clear, rel(1)) # 2
wrap()
```