Commit Graph

288 Commits

Author SHA1 Message Date
2dfaa1ab4c Fix various stdio_usb issues, add stdio_init_all return code, and add alarm_pool_core_num() API (#918)
This issue addresses possible starvation issues when using `getchar()` with `stdio_usb` and also fixes possible missing of IRQs as a result of #871
2022-08-08 10:12:54 -05:00
150be75aa4 Add pico_lwip_mqtt library (#948) 2022-08-08 09:14:01 -05:00
2ebba462ac Properly terminate cyw43 task when cyw43_arch_deinit() is called (#962) 2022-08-08 07:48:29 -05:00
17c759b6e9 Fix various typos in CMake CONFIG lines. Also add a script that found some of these errors. (#907) 2022-08-02 07:28:37 -05:00
de8f857de4 fix typo datsheet -> datasheet (#942)
fix typo datsheet -> datasheet
2022-08-02 07:26:04 -05:00
0fa3e7247d Some PIO setup was using SM 0 rather than the allocated SM (#940) 2022-07-27 08:24:42 -05:00
5e9a5e827b Add Pico W and lwIP support 2022-06-30 00:46:13 -05:00
bc5d1b8485 Add channel_config_set_high_priority (#888) 2022-06-29 20:56:45 -05:00
e7267f99fe Fix GPIO # callback parameter (#880)
Fixes #879
2022-06-24 03:58:36 -05:00
33818dd0bd Increase PLL min VCO from 400MHz to 750MHz for improved stability across operating conditions (#869)
Co-authored-by: graham sanderson <graham.sanderson@raspberrypi.com>
2022-06-20 10:28:03 -05:00
9644399993 Suppress new GCC 12 warning (#842) 2022-06-20 09:52:25 -05:00
b3c56e7169 Add stderr support and remove 1us timeout for timeouts of 0us (#858) 2022-06-20 09:52:06 -05:00
7858601a58 stdio_usb improvements (#871)
Use shared IRQ if available to avoid 1ms timer. Allow use of stdio_usb with user's tinyusb setup if it has CDC
2022-06-20 09:51:51 -05:00
705b5cedcd Wrap realloc() call with malloc_mutex in multicore (#864)
Protect against heap corruption by mutex-protecting the realloc() call
(like malloc/free are already).

Fixes #863
Fixes https://github.com/maxgerhardt/platform-raspberrypi/issues/7
Fixes https://github.com/earlephilhower/arduino-pico/issues/614
2022-06-17 09:50:53 -05:00
bdd9746635 Don't copy .data for NO_FLASH binaries, as it's loaded in-place (#859) 2022-06-17 09:50:12 -05:00
ef47dfeeaf Add new GPIO APIs for adding shared GPIO handlers, and improve docs (#850)
Co-authored-by: Adam Nielsen <malvineous@shikadi.net>
2022-06-08 13:03:11 -05:00
d3dcbb8292 Add new user_irq claim APIs to make it easier for independent code using them to interoperate (#854) 2022-06-07 14:27:38 -05:00
f3c446ae14 move get_core_num() into platform.h (#852) 2022-06-06 08:20:00 -05:00
7880405292 Doxygen typo (#835) 2022-05-17 19:26:00 -05:00
530204ec0c Small tweak to busy_wait_at_least_cycles doxygen (#834) 2022-05-17 19:24:52 -05:00
b2ad632c24 Minor additions to PIO documentation (#831) 2022-05-17 13:04:38 -05:00
658a21b946 Update rtc_set_datetime docs to point out that the written value may not be immediately visible (#832) 2022-05-17 12:59:00 -05:00
e44d2c0010 Add busy_wait_at_least_cycles method (#830) 2022-05-16 16:45:39 -05:00
159d552150 Fix bug in irq_remove_shared_handler and add test #823 (#825)
* Fix bug in irq_remove_shared_handler and add test #823

* Add comments to irq_handler_chain.S

Co-authored-by: Luke Wren <wren6991@gmail.com>
2022-05-16 13:44:15 -05:00
3a3d5fe6c4 Small IRQ doxygen tweaks (#824) 2022-05-15 15:02:13 -05:00
5e22c09660 convert unlikely panic to hard_assert to not waste space for string (#826) 2022-05-15 15:01:44 -05:00
4e62c26a2c Add documentation to dma_channel_abort regarding errata RP2040-E13 (#816)
Co-authored-by: Luke Wren <wren6991@gmail.com>
2022-05-11 19:24:42 -05:00
5a927792ef Suppress false GCC 11 warning on TinyUSB (#819) 2022-05-11 14:49:57 -05:00
60a6fea534 Fix list management in stdio_set_driver_enabled so drivers can be freely added and removed (#822) 2022-05-11 10:44:41 -05:00
f260477802 Adapt assembler syntax to eliminate Clang errors. (LLVM 14.0.0) (#798)
Co-authored-by: jeremyd <>
2022-05-09 15:11:59 -05:00
e1c5fd34e4 PLL setup check bug (#796) (#806) 2022-05-09 14:52:38 -05:00
259da19660 Include structs/iobank0.h from hardware/gpio.h (#733) (#807) 2022-05-04 16:34:11 -05:00
510ca47c92 Additional PWM validation and small tidy-up (#801)
See #768 for discussion / inspiration
2022-05-04 15:29:26 -05:00
3c450011da Additional param-validation for PIO (#805)
The RP2040 datasheet says "If INT is 0, FRAC must also be 0."
2022-05-04 15:25:43 -05:00
01290c4cb3 Added int_frac function for configuring PWM (#768) 2022-05-03 11:54:46 -05:00
8d43364cfb Small typos (#776) 2022-05-03 11:47:48 -05:00
76c1830aeb Add gpio_deinit (#793) 2022-05-03 11:46:27 -05:00
c66a2c1c3b Remove implicit grouping for PIO defines (#779) 2022-05-03 11:46:10 -05:00
fc86203f49 comment typo (#794) 2022-05-03 11:41:10 -05:00
6619a2d329 Typo (#799)
Remove superfluous apostrophes in Doxygen comments
2022-05-03 11:34:46 -05:00
5a427fbf1f irq_add_shared_handler assertion fix #724 (#747) 2022-04-29 14:34:20 -05:00
541f93541c improve comment (#658) 2022-04-04 16:08:12 -05:00
17d53af105 Allow 252-byte binaries to be checksummed (#764)
Fixes #740
2022-04-04 15:46:34 -05:00
1896b1491b fix __ctzdi2 for values with non-zero low 32 bits (fixes #765) (#766) 2022-04-04 15:45:01 -05:00
bc3484e793 Mark __aeabi_lmul section as allocatable and executable (#722)
When using a linker script which does not provide a .time_critical.
section that is marked "ax" and wrongly define
PICO_INT64_OPS_IN_RAM=1 this would generate a malformed
executable with strange runtime bugs in the worst case.
2022-03-22 17:51:24 -05:00
ae7ef546a6 Fix typo in Doxygen comment (#731) 2022-02-14 12:03:47 -06:00
25a3b36793 Fix assert in adc_set_round_robin() (#698)
The mask passed in shouldn't already be shifted by ADC_CS_RROBIN_LSB
(16) otherwise the shift in the call to hw_write_masked() would shift
all of the bits off the end of the mask, hence we should be asserting
not against ADC_CS_RROBIN_BITS (0x1f0000) but against the number of ADC
channels available.
2022-01-19 09:34:18 -06:00
5bcf4ed83a Clarify header-comments about pico_enable_stdio_ CMake-functions (#705) 2022-01-19 09:30:21 -06:00
91462e430a Add __attribute__((noreturn)) to _exit (#707)
Fixes the following compiler warning

```
.../vendor/pico-sdk/src/rp2_common/pico_runtime/runtime.c: In function 'panic':
.../pico-sdk/src/rp2_common/pico_runtime/runtime.c:284:1: warning: 'noreturn' function does return
  284 | }
      | ^
```
2022-01-19 09:25:40 -06:00
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