Commit Graph

490 Commits

Author SHA1 Message Date
Graham Sanderson
a0d4bdf731
fix pico_set_printf_implementation(TARGET compiler) (#593) 2021-10-12 09:08:15 -05:00
Graham Sanderson
d50e743e0e
make type punning of floating point/int in float_math and double_math use union to avoid warnings (#600) 2021-10-12 09:07:36 -05:00
Graham Sanderson
30673fb6d0
move inline assembly constant out into C code so it doesn't get out of range in a large function (#602) 2021-10-12 09:07:06 -05:00
Graham Sanderson
e76d5a9008
add dma_timer related methods (#604) 2021-10-12 09:04:59 -05:00
Graham Sanderson
9f1c37318b
add irq_get_priority method - improve efficiency of irq_init_priorities (#609) 2021-10-12 09:04:04 -05:00
Liam Fraser
4c9ba3e8ad
USB: Fix description of Length 0 in dpram_regs. Fixes #541 (#608) 2021-10-11 13:21:31 -05:00
Andrew Scheller
ace97f3387
More accurate register access-types and reset-values (#601)
* More accurate register access-types and reset-values

* I2C configuration constants are now included in the autogenerated header
2021-10-08 15:19:41 -05:00
Graham Sanderson
0fa58ed219
Adding/propage macros/signature typedefs for ROM functions. Make rom_func_lookup non-flash safe for flash functions (#586)
* add typedef signatures and ROM code defines for bootrom functions. Propogate uses thru SDK code. Add _inline version of rom_func_lookup
2021-10-08 09:02:19 -05:00
Graham Sanderson
0a32023aac
fix arg parsing segfault (#595) 2021-10-08 09:01:56 -05:00
Graham Sanderson
13be546dc3
pico_stdio improvements (#598)
* 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
2021-10-08 09:01:30 -05:00
Andrew Scheller
12017a07ab
SPINLOCK regs are RW. (#599) 2021-10-07 18:51:28 -05:00
Graham Sanderson
9319ab11d9
Add xip window alias macros (#566) (#585) 2021-10-07 08:18:02 -05:00
Graham Sanderson
62854f5eff
shrink max-page-size for linker to more sensible 4096 by default (#587) 2021-10-07 08:17:32 -05:00
Graham Sanderson
13ed99df0d
split out usb_reset_interface header into its own library for consumption by picotool or others (#589) 2021-10-07 08:17:13 -05:00
Graham Sanderson
0fdf543126
Missing extern C in datetime.h #581 (#584) 2021-10-04 15:17:00 -05:00
Matias Silva
3c53029c24
Fix some typos (#517) 2021-10-04 13:29:22 -05:00
Manuel Wick
ce0db40223
adafruit_feather_rp2040: Fix default I2C instance (#526)
Use i2c1 as default, because the default pins can't be muxed to i2c0.
2021-10-04 13:28:21 -05:00
Brian Starkey
a119b5bd9f
Fix semihosting_putc (#530)
Per the Arm semihosting protocol documentation[1], the SYS_WRITEC command
expects *a pointer to* the character to be printed in r1, not the
character itself.

[1] https://developer.arm.com/documentation/dui0471/g/Semihosting/SYS-WRITEC--0x03-?lang=en
2021-10-04 13:24:50 -05:00
ZodiusInfuser
eb42ecfaa5
Added definitions for some upcoming Pimoroni LED driver boards (#535)
* Added definitions for Plasma and Interstate boards

* Tweak to interstate pinout
2021-10-04 13:24:31 -05:00
Martino Facchin
cd4e53a202
Use W25Q080 second stage loader for Nano RP2040 Connect (#537)
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.
2021-10-04 13:23:18 -05:00
Andrew Scheller
f63a14e9ee
Change PWM_CH1_DIV_INT_LSB to PWM_CH0_DIV_INT_LSB (#560)
For consistency with all the other PWM_...._LSB constants
2021-10-04 13:21:55 -05:00
Mike Causer
2214468b51
Add Adafruit Trinkey QT2040 board (#525) 2021-10-04 13:11:45 -05:00
Philip Howard
e12713d70b
pio_assembler: typo fix (#538)
Change pleaced to placed
2021-10-04 13:11:03 -05:00
Andrew Scheller
e6b8c7b64e
bugfix: "WO" registers should be listed in the SVD as write-only, not read-write (#544) 2021-10-04 13:10:42 -05:00
Brian Starkey
1d0dcc8177
pico_time: Fix alarm_pool_dump_key format string (#557)
Add requred "%" before PRIu64.

pico-sdk/src/common/pico_time/time.c:282:20: warning: data argument not used by format string [-Wformat-extra-args]
2021-10-04 13:09:59 -05:00
Brian Starkey
46d8597d35
Add hardware_divider to pico_divider dependencies (#571)
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
2021-10-04 13:09:43 -05:00
Mahyar Koshkouei
d7feac1495
Fix syntax error in cmake when using custom stage2 (#580)
Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com>
2021-10-04 13:09:23 -05:00
Leonardo La Rocca
ca232e9404
Add Melopero Shake RP2040 Board header file (#565)
* added melopero shake definition
2021-10-04 13:07:16 -05:00
dp111
c08136b696
Move ret_dzero to the same section as it get used (#513) 2021-08-11 09:24:23 -05:00
Andrew Scheller
672d18a6f0
Fix default PICO_BOARD value (#536) 2021-08-06 12:21:59 -05:00
Luke Wren
2622e9bc29 Enable UART RX timeout IRQ, as well as RX IRQ, so that individual characters can be received. 2021-07-22 14:46:29 +01:00
Luke Wren
9a586371db
Add doxygen clarifying PWM behaviour when enabled/disabled, and advice for controlling the pin state when disabled (#521) 2021-07-19 10:21:12 -05:00
graham sanderson
a6a436b1fe use PUBLIC for pio headers on any target except INTERFACE library 2021-07-19 12:09:57 +01:00
Matias Silva
7e90980118
Add explanatory note on 7-bit I2C addresses (#520) 2021-07-19 12:02:19 +01:00
Matias Silva
ae6e574f53
Improve wording of comments in irq.h (#509) 2021-07-15 09:32:45 +01:00
Gabriel Wang
ccc0ba5649
elf2uf2: correctly parse ELF files where the program header is not directly following the file header
fixes #506
2021-07-14 15:59:09 -05:00
Graham Sanderson
5e05469373
bug in sleep_until on host mode for macOS (#502) 2021-07-06 12:19:39 -05:00
Liam Fraser
dc4342f0f6 Update usb regs to fix https://github.com/raspberrypi/pico-feedback/issues/172 2021-07-06 17:02:33 +01:00
Graham Sanderson
35b4965054
make sure PICO_DEFAULT_BOOT_STAGE2_FILE is defined in parent CMake file (#491) 2021-07-06 16:56:17 +01:00
graham sanderson
e02c6b327d Allow one of float/double to have 'none' impl but not the other - previously caused a link error 2021-07-06 16:24:46 +01:00
graham sanderson
f4ab723eb5 compile failure with PICO_STDOUT_MUTEX=0 2021-07-06 16:06:52 +01:00
graham sanderson
529d7087eb fix operatore precedence of */ vs +- in pioasm 2021-07-06 16:00:02 +01:00
Graham Sanderson
cefe5c5b2a
Better support for PICO_DISABLE_SHARED_IRQ_HANDLERS (#496)
* 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>
2021-06-29 11:55:35 -05:00
Luke Wren
edcb65c916
Enable I2C FIFO full hold in slave mode (stretch clock when RX full), fixes #456 (#494) 2021-06-29 11:55:01 -05:00
Andrew Scheller
f16ccfa1ff Small comment typos 2021-06-29 10:57:21 +01:00
graham sanderson
44feae4caf set DIVISOR for each use of h/w divider 2021-06-29 10:55:14 +01:00
Zapta
61b7cbdc54
Using ' inline __always_inline' also for GNUC 7. (#484)
Per the discussion at https://www.raspberrypi.org/forums/viewtopic.php?f=145&t=313961
2021-06-28 16:07:48 -05:00
Graham Sanderson
21bbaf3ca6
remove -Winline (#481) 2021-06-28 16:05:14 -05:00
Uri Shaked
4328b2c75f
fix pioasm python output (#479)
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()
```
2021-06-07 22:02:04 -05:00
Luke Wren
1f1c6162cd
Header info string updates for PIO DBG_PADx and XOSC STARTUP (#478) 2021-06-04 10:39:00 -05:00