Commit Graph

530 Commits

Author SHA1 Message Date
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
ewpa
c573775f86
Change the quick-start instructions to include installation of the (#92) 2021-05-31 12:17:00 -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
Jonathan Reichelt Gjertsen
a531123080
Prevent the literal string DEBUG from being appended to some messages in CMake < 3.15 (#433)
Fixes issue #422
2021-05-25 17:10:55 -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
Jonathan Reichelt Gjertsen
94b83315d9
Update host multicore.h to match multicore.h in rp2_common (#439) 2021-05-24 16:35:11 -05:00
Andrew Scheller
777ccb8e56
Fix function-name misspelling (#443)
If "init tty" is `_inittty` then "reset tty" ought to be `_resettty`
2021-05-24 16:34:23 -05:00
Martino Facchin
17ee1a877d
Add support for Arduino Nano RP2040 Connect (#425)
* Add support for Arduino Nano RP2040 Connect

* Add support for at25sf128a flash

Derived from W25Q080 code, QE bit is set via a single command
2021-05-24 16:32:56 -05:00
Jonathan Reichelt Gjertsen
b2832b3acb
Fix wrong format string in alarm_pool_dump_key (#437)
Fixes the following warning when building for host

```
[...]/pico-sdk/src/common/pico_time/time.c: In function 'alarm_pool_dump_key':
[...]/pico-sdk/src/common/pico_time/time.c:282:15: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
     printf("%ld", to_us_since_boot(get_entry(pool, id)->target));
             ~~^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             %I64d
```
2021-05-24 16:32:31 -05:00
Jonathan Reichelt Gjertsen
060123dc8d
Optional feature to get the max level that has ever been held by a queue (#444)
I'm using this in my program to get a better idea of how many entries I
need to allocate to avoid blocking or losing data, and to debug performance
issues.
2021-05-24 16:31:30 -05:00
Jonathan Reichelt Gjertsen
596d08ea62
Add missing cast to uint32_t in hw_divider_u32_quotient for host (#436)
Fixes the following warning:

```
[...]/pico-sdk/src/host/hardware_divider/include/hardware/divider.h:81:26: warning: operand of ?: changes signedness from 'int' to 'uint32_t' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
     return b ? (a / b) : -1;
                          ^~
```
2021-05-23 08:21:09 -05:00
Rafael G. Martins
a32d614b43
pioasm: prevent double inclusion for C SDK generated headers (#417) 2021-05-18 18:05:35 -05:00
Joni Kähärä
5384b6b4d3 add comment about using clk_gpout0 enable bit (Fixes #413) 2021-05-17 09:12:41 +01:00
Graham Sanderson
607b42006a
fix pico_promote_common_scope_vars (#397) 2021-05-13 07:39:04 -05:00
Graham Sanderson
574fdee37b
Fixup divider save_restore for floating point too; improve tests (#405)
- The divider state needs to be saved for __aeabi_ddiv, __aeabi_fdiv, __aeabi_dtan and __aeabi_ftan or they won't work in interrupts *(probably not used much youd hope), or on an RTOS context switch
 - Refactored code out for the integer and floating point cases
 - Improved the floating point 'tests' in passing to check more return values against GCC implementations
 - Added floating point usage to the IRQ nesting test case
2021-05-13 07:38:42 -05:00
Graham Sanderson
c6c4eeb122
add timeout_us/until to mutex/sem blocking methods (#402) 2021-05-12 16:32:45 -05:00
Andrew Scheller
54c78bf985
Fix the PICO_CONFIG default value for PICO_CMSIS_RENAME_EXCEPTIONS (#399) 2021-05-11 19:21:44 -05:00
Graham Sanderson
b05d863428
Add basic CMSIS core headers (#384)
Adds a new cmsis_core INTERFACE library, which provides the basic CMSIS macros/definitions, and RP2040.h and system_RP2040.h
By default the isr_ methods in the vector table are renamed to their CMSIS versions, but this can be overridden by defining PICO_CMSIS_RENAME_EXCEPTIONS=0
2021-05-11 10:47:13 -05:00
Graham Sanderson
6182a2a078
make host pico_platform.h and binary_info.h CMakeLists.txt safe for inclusion in non SDK build (#388)
* make host pico_platform.h and binary_info.h CMakeLists.txt safe for inclusion in non SDK build

* fix comment
2021-05-11 10:37:49 -05:00
Graham Sanderson
508828f8ea
allow setting exception handler to the same value, as this might happen if exceptions are set dynamically on both cores, but VTOR is the same... this should indeed cause an error if the values differ, but not otherwise (#385) 2021-05-11 10:34:41 -05:00
Graham Sanderson
36dda1c5c4
Fix some hardware_library dependencies (#383) 2021-05-11 10:34:11 -05:00
Graham Sanderson
e57b99a652
Rework ordering of cmake, so that libraries in subdirectories can add to internal lists as PICO_SDK_POST_LIST_FILES, PICO_CONFIG_HEADER_FILES etc. (#382)
Move generation of config header later, so it gets to include all values for PICO_CONFIG_HEADER_FILES
2021-05-11 10:33:34 -05:00
Andrew Scheller
9396b9c7e1
Fix a bunch of doxygen typos (#391) 2021-05-10 08:48:09 -05:00
Andrew Scheller
ecf66bf514
Correct doxygen for mutex_try_enter (#392) 2021-05-10 08:47:23 -05:00
Andrew Scheller
114dc5a80d
Fixup IRQ_PRIORITY #define values (#393)
Related to #245
2021-05-10 08:46:53 -05:00
Graham Sanderson
8d4f4e148d
remove spurious sys/select.h include (#377) 2021-05-05 11:51:18 -05:00
Graham Sanderson
6d87da4c59
Rework lock_core / timers (#378)
- Add recursive_mutex
  - Make all locking primitives and sleep use common overridable wait/notify support to allow RTOS
    implementations to replace WFE/SEV with something more appropriate
  - Add busy_wait_ms
2021-05-05 11:46:25 -05:00
Graham Sanderson
ec0dc7a88b
add __always_inline to trivial super low level inline functions (#379) 2021-05-05 11:46:07 -05:00
Graham Sanderson
53f1915a6b
Add hardware_exception for setting exception handlers at runtime (#380) 2021-05-05 11:45:39 -05:00
Luke Wren
7fc75d8c90
Definitions for IC_TX_BUFFER_DEPTH inconsistent (fixes #335) (#381) 2021-05-05 11:45:12 -05:00
fivdi
8f3c3ff12a i2c: improve communication with i2c devices in i2c_write_blocking 2021-05-05 14:46:09 +01:00