Commit Graph

255 Commits

Author SHA1 Message Date
587ac803c5 Avoid compound assignment with volatile left operand as described in #1017 (#1018)
also move to use of hw_set_bits where appropriate
2022-10-16 17:24:23 -05:00
719d5e41a2 Add mbedtls to pico-sdk (#894)
* Add mbedtls as a submodule

Checked out on branch mbedtls-2.28

* Add mbedtls to pico-sdk

Link your code to pico_lwip_mbedtls and pico_mbedtls.
See tls_client example in pico-examples

Fixes https://github.com/raspberrypi/pico-sdk/issues/893
2022-10-16 16:41:21 -05:00
8e014e6b5d Make sure OUT_STICKY is not set when setting pins / pindirs (#989) 2022-10-16 16:39:44 -05:00
c4f37b2e44 Lwip build fixes (#1011)
Only build lwip acd.c if it exists (after 2.1.3)
Some mdns files only exist in 2.2.x

Fixes #1009
2022-10-16 16:38:42 -05:00
24bb3627cf PLL REFDIV values > 1 considered by vcocalc.py (#952) 2022-10-05 19:06:26 -05:00
3ed9e2fb1e Avoid initializing full stdio_stack_buffer object with zeros (#992) 2022-09-26 11:49:16 -05:00
98aba25e64 Make __get_current_exception inline (#1016)
not `static` inline, so we keep an implementation around if needed (someone might have called it from assembly)
2022-09-12 15:28:18 -05:00
849cdf8a30 Typo in float_aeabi.S: srqtf => sqrtf (#702) 2022-09-12 13:44:38 -05:00
5e9eb27ac2 Implement whole-buffer write semihosting (#1013)
* Implement whole-buffer write semihosting

Each semihosting call is very slow, so doing it for each character
does not provide an ideal developer experience.

This change allows the entire buffer to be printed out in a single call.
2022-09-12 13:20:30 -05:00
189d377be2 Only include mutex header if necessary (#991) 2022-09-06 11:00:51 -05:00
07e5caf341 Supress -Wunused-parameter when PICO_STDIO_ENABLE_CRLF_SUPPORT is unset (#998) 2022-09-06 10:59:48 -05:00
0041f4b7fd set CYW43_WIFI_NVRAM_INCLUDE_FILE allowing user override 2022-09-01 14:10:06 -05:00
89bce613ae Remove hw_set_bits from pio->irq (#978)
It is not known if this is required. This is done for consistency purposes. Related to #974
2022-08-18 08:14:40 -05:00
830e867211 Fix dma_irqn_acknowledge_channel (#977)
Also dma_channel_acknowledge_irq0 and dma_channel_acknowledge_irq1.
Using hw_set_bits acked every channel because INTS0/1 are WC registers.

Fixes #974.
2022-08-17 14:37:50 -05:00
00780f0de9 Make sure stack is 8 byte aligned in shared IRQ handlers (#971) 2022-08-17 10:25:23 -05:00
80cde7276d Enable/disable connection check made with DTR (#932)
* Enable/disable connection check made with DTR
this gives users the option to disable DTR check.

Co-authored-by: Graham Sanderson <graham.sanderson@gmail.com>
2022-08-10 09:16:44 -05:00
a33a11ea16 Call cyw43_deinit() from cyw43_arch_deinit() to release the DMA channels and power off the WLAN chip (#965) 2022-08-10 07:55:54 -05:00
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