ZodiusInfuser
386e2a7bc6
Added Tiny2040 2MB ( #672 )
2021-12-08 12:06:53 -06:00
Graham Sanderson
0562089fab
fixup __forceinline for cpp code and add kitchen_sink cpp test ( #670 )
...
* fix __force_inline for different GCC versions in cpp mode (the affected versions are different from c mode), and build kitchsink.c as a cpp file too for testing
* silly bug in host platform.h
2021-12-08 12:05:49 -06:00
Andrew Scheller
269332dc21
rename pybstick26_rp2040.h to garatronic_pybstick26_rp2040.h ( #675 )
2021-12-06 11:37:24 -06:00
Maarten Vanraes
a8fa19a74d
pio_set_irqn_source_mask_enabled() sets wrong irq ( #655 )
...
if irq_index == 0, irq_index evaluates to false; which uses pio_set_irq1_source_mask_enabled() ; and vice versa
2021-11-12 07:51:29 -06:00
Graham Sanderson
60c5a929cc
Remove <b> from mutex doxygen due to PDF generation bug
2021-11-01 14:16:20 -05:00
Graham Sanderson
d0af70bd77
fix __packed attribute for MSVC ( #646 )
2021-11-01 13:29:02 -05:00
Graham Sanderson
da476610e2
allow override of XOSC_MHZ ( #644 )
...
* And increased assertion limit to 50 as 15 was the limit for the oscillator but not for XIN
2021-11-01 08:11:21 -05:00
Graham Sanderson
d7358e4ed8
update generated struct headers to fix collision ( #641 )
...
* update generated struct headers to fix collision and include all headers in kitchen_sink test
2021-11-01 08:06:34 -05:00
Garatronic
ccccff8450
Add pybstick26_rp2040 support ( #636 )
2021-10-31 09:31:51 -05:00
Andrew Scheller
d0c7642369
Update ADC ENOB comment to match (measured) value in RP2040 datasheet ( #643 )
2021-10-30 08:29:58 -05:00
Graham Sanderson
e4d6ff9ecd
Small PICO_PLATFORM=host fixes ( #639 )
2021-10-28 15:16:36 -05:00
Andrew Scheller
da7c39bc23
Fix some of the (simpler) errors reported by the doxygen command ( #617 )
2021-10-26 16:09:06 -05:00
Graham Sanderson
b04a09110f
revert additional assertion check which breaks used of hw_alias macro outside of functions ( #635 )
...
* revert additional assertion check which breaks used of hw_alias macros outside of functions
2021-10-26 16:07:21 -05:00
Graham Sanderson
5641cd0a4a
__aeabi_memset* were switching the wrong arguments ( #634 )
2021-10-26 13:47:46 -05:00
Engineer_Will
68555c9751
Added some waveshare boards definition ( #619 )
2021-10-26 13:47:01 -05:00
Graham Sanderson
e5110dfce1
add docs for pio_instructions.h ( #624 )
...
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2021-10-26 13:45:32 -05:00
Graham Sanderson
e850214938
Platform updates ( #611 )
...
* Platform updates
- Add PICO_RP2040=1 to rp2040 builds
- Add new PICO_RP2040_B0/1/2_SUPPORTED macros and retailer chip specific code to use
- Add doxygen to platform.h
- Make pico.h includable from assembly (because header order is important and tricky) - split out platform_asm.h
- Switch to using PICO_RP2040_B0_SUPPORTED in board headers
2021-10-25 12:26:06 -05:00
Graham Sanderson
723dfd04ff
add more/better documentation to pico/multicore ( #620 )
2021-10-25 12:23:41 -05:00
Graham Sanderson
05418b4e71
fix minor bug in add_repeating_timer_us, and add some comments ( #621 )
2021-10-25 09:32:02 -05:00
Graham Sanderson
0ccd0db163
Update to TinyUSB 0.12.0 ( #622 )
...
Update kitchent_sink compilation test to include TinyUSB to catch warnings
Fix warnings in stdio_usb and stdio_semihosting caught by above
2021-10-25 08:33:42 -05:00
Graham Sanderson
3c72e753b6
Split recursive mutex into their own functions (was Reduce performance hit of recursive mutex) ( #495 )
...
mutex_t and mutex_ are reverted to non recursive versions (pre SDK1.2.0) and new recursive_mutex_t and recursive_mutex_ functions have been added
PICO_MUTEX_ENABLE_SDK120_COMPATIBILITY flag has been added to allow old SDK1.2.0 compatibility (i.e. mutex_t can be used recursively or not) but this is slower (and is will be removed in a future version)
2021-10-20 18:27:59 -05:00
Graham Sanderson
9320d192c3
add watchdog_enable_caused_reboot (minor compatibility issue) ( #594 )
...
add watchdog_enable_caused_reboot. Note there is a small backwards incompatibility in so far as watchdog_enable sets scratch[4] to a magic value not 0 now, however this behavior was not documented before.
2021-10-20 17:30:24 -05:00
Graham Sanderson
68571ad33e
Hardware struct regeneration ( #613 )
...
* Use reg[0] description for hardware structs register arrays
* Update struct headers to match SVD and latest svd2struct
2021-10-14 15:35:28 -05:00
Andrew Scheller
a0450d0133
Updated reg_headers and SVD ( #612 )
2021-10-14 12:21:14 -05:00
Robert Pafford
3c94bc8137
Change _watchdog_enable to trigger immediate reboot when no delay set ( #561 )
2021-10-14 11:30:16 -05:00
Graham Sanderson
f808b5f2dc
Add DREQ methods for PWM/SPI/UART/I2C ( #603 )
2021-10-12 16:04:16 -05:00
Graham Sanderson
2f2e62968d
Use auto-generated hardware/structs/ headers (based off SVD) SVD errors fixed.
2021-10-12 09:15:19 -05:00
Graham Sanderson
ec4036181f
tweak info message for TinyUSB support ( #590 )
2021-10-12 09:09:09 -05:00
Graham Sanderson
db47fba48d
respect OUTPUT_NAME target property when generating supplemental files ( #592 )
2021-10-12 09:08:44 -05:00
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
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
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
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
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
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
Luke Wren
1f1c6162cd
Header info string updates for PIO DBG_PADx and XOSC STARTUP ( #478 )
2021-06-04 10:39:00 -05:00
graham sanderson
979045dc12
removed CMSIS from SDK doxygen
2021-06-03 16:46:19 -05:00
Brian Cooke
d42e6a9d10
include pico.h so that uint is defined ( #475 )
2021-06-03 15:22:28 -05:00
graham sanderson
fdf695b8d8
remove incorrect default from PICO_PANIC_FUNCTION PICO_CONFIG entry
2021-06-03 10:42:31 -05:00
graham sanderson
45a1e08265
fix sem_acquire_block_until function name
2021-06-03 10:36:48 -05:00
ZodiusInfuser
c44e62defd
Added board definition ( #471 )
2021-06-03 10:24:12 -05:00
Luke Wren
bba0420c76
Add gpio_set_irqover to match inover/outover/oeover ( fixes #265 ) ( #470 )
2021-06-03 08:37:06 -05:00
Ha Thach
eeb6b501ff
fix qtpy rp2040 uart rx rev B ( #466 )
...
also add static check for USB DPRAM
2021-06-02 14:00:29 -05:00
Graham Sanderson
5afa3636d6
Small API additions and minor fixes ( #406 )
...
* Add missing DREQ_s
* store actual clock frequency in clock_configure (fixes #368 )
* use dma DREQ values defined in dreqs/dma.h
* Fix hw_is_claimed, and add xxx_is_claimed APIs
* Add some PIO irq helper methods
* Add DMA channel IRQ status getter and clear methods
* Implement the correct PIO IRQ status/clear methods (good to have methods here as the h/w interrupt registers are super confusing)
* fix pico_multicore dependencies
* add missing wrapper func __aeabi_f2d
* Further DMA/PIO IRQ API cleanup (and review fixes)
* add PICO_INT64_OPS_IN_RAM flag
2021-06-02 13:12:27 -05:00
Graham Sanderson
91e9327ff1
Add PICO_PANIC_FUNCTION define to allow replacement of the default panic function ( #463 )
2021-06-02 13:04:38 -05:00
Liam Fraser
b3e1d2d8b8
Add usb device dpram to svd file. Fixes #351 ( #465 )
2021-06-02 13:04:27 -05:00
Graham Sanderson
561502c2da
Move to Tinyusb 0.10.0 (still with RP patches) ( #462 )
...
Most build related items have moved into <tinyusb>/hw/bsp/rp2040/family.cmake which is now the source of truth
force merging as same code save submodule was already reviewed
2021-06-02 13:04:08 -05:00
graham sanderson
496ff66d19
Make PICO_CONFIG descriptions unique
2021-06-02 16:14:11 +01:00
graham sanderson
66c54d807b
fix PICO_CONFIG entry
2021-06-02 16:14:11 +01:00
graham sanderson
27c1a89b3d
review fixes
2021-06-02 16:14:11 +01:00
graham sanderson
895bad790e
Add some spin lock related doxygen
2021-06-02 16:14:11 +01:00
Luke Wren
30041d8513
Add hardware_gpio accessors for Schmitt, slew rate, drive strength ( fixes #290 ) ( #464 )
2021-06-01 14:25:11 -05:00
Dan Halbert
d026118499
Allow lengthening xosc startup delay with a compile option ( #457 )
2021-06-01 14:24:40 -05:00
Rene
42cbdcb13a
added spi_get_baudrate() + some consistency changes ( #395 )
...
* added spi_get_baudrate()
2021-06-01 11:12:15 -05:00
geurtv
1996a21e3a
dma_channel_transfer_[from/to]_buffer_now: added const volatile to read_addr and volatile to write_addr ( #449 )
2021-05-27 12:12:39 -05:00
Brendan
e0872a32cc
Add missing board detection macros ( #448 )
...
* add board detection macros for Sparkfun & RPi Pico / VGA Board
2021-05-27 11:55:38 -05:00
Jonathan Reichelt Gjertsen
5ad072af5b
Add function to get the currently selected channel ( #451 )
...
This is most useful in combination with round-robin sampling to avoid
having to track it manually.
2021-05-27 07:25:40 -05:00
Rene
6994a3858d
-some typo fixes ( #408 )
...
-small consistency changes
2021-05-24 16:56:56 -05:00
Rene
2eb76bb058
- interp_ fixes ( #428 )
...
* - fix interp_claim_lane (in case of interp1 and lane==1 bit was 0b11 instead of 0b1000)
- added missing function interp_unclaim_lane_mask
* - interp_hw_save_t are not I/O registers
2021-05-24 16:56:11 -05:00
Jonathan Reichelt Gjertsen
b8dc054eba
queue: make data pointers const in queue_try_add and queue_add_blocking ( #423 )
...
The only operation done on the data pointer is to pass it into the second
argument of memcpy, which is `const void *`
2021-05-24 16:52:49 -05:00
Jonathan Reichelt Gjertsen
cc8b2156fb
Define void operator delete[](void *p, std::size_t n)
in new_delete.cpp ( #430 )
2021-05-24 16:47:29 -05:00
Jonathan Reichelt Gjertsen
048fcdefd6
Prevent warnings about some unused parameters in pico_stdio_usb when building with -Wextra ( #431 )
...
* Fix warnings about some unused parameters in pico_stdio_usb
* Use `__unused` for the unused parameter in tud_descriptor_configuration_cb
* Remove redundant inclusions of `pico/platform.h`
This header is included by the other library headers (via `pico.h`)
2021-05-24 16:42:28 -05:00
Jonathan Reichelt Gjertsen
80356a4f02
Define __STRING
for other compilers than MSVC in the host platform.h file ( #434 )
2021-05-24 16:40:29 -05:00
Jonathan Reichelt Gjertsen
d79dd219ce
Implement uart_write_blocking
and uart_read_blocking
for host ( #438 )
2021-05-24 16:37:31 -05:00