3bd7a829db
Some optimizations for the hardware divider ( #1033 )
...
* Remove unnecessary wait in pico_divider.
There is no need to wait if there is more than 8 cycles between setup and result readout.
Dividend/divisor readout should be correct without delay. Update comment to reflect that.
* Optimize hw_divider_save_state/hw_divider_restore_state.
Doing multiple pushes to avoid stack usage is faster.
The wait loop in hw_divider_save_state had an incorrect branch in the wait loop.
This didn't matter since the wait wasn't necessary to begin with.
* Remove pointless aligns in hardware_divider.
The regular_func_with_section inserts a new section so if aligning
is desired it should be placed in the macro after section start.
* Save a few bytes in hardware_divider.
Signed and unsigned code can use the same exit code.
Branching to the common code is free since we need the 8 cycle
delay anyway.
2022-10-16 17:40:22 -05:00
2d4e3baa82
Set CMAKE_MAKE_PROGRAM when building ELF2UF2 and PIOASM ( #935 )
2022-10-16 17:31:58 -05:00
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
e22807bc2e
Add a compile option to suppress fopen deprecated warning ( #1035 )
2022-10-16 17:22:25 -05:00
8c6963d7ed
Fix compile errors when building with clang x86_64-pc-windows-msvc ( #1038 )
2022-10-16 17:22:06 -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
6f1fc56833
pioasm: python output incorrectly rendered mov x, ~x as nop() ( #1053 )
...
This affects all move operations where source and destination are the same
but with an operation applied, ex: mov y, ::y, mov osr, ~osr, etc
2022-10-09 12:59:52 -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
a4ec3c4848
fix wconversion warning ( #981 )
2022-09-06 11:02:45 -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
0d872ea409
Move to TinyUSB 0.14.0 ( #937 )
2022-08-18 07:51:38 -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
fe7849d645
fix delayed_by_us and delayed_by_ms to not return times > at_the_end_of_time ( #936 )
2022-08-08 07:42:52 -05:00
49d7d9edfb
typo ( #905 )
2022-08-02 07:29:08 -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
d1e7294dab
Start SDK 1.4.1 development
2022-06-30 01:20:10 -05:00
2e6142b15b
SDK 1.4.0 release
2022-06-30 00:46:24 -05:00
5e9a5e827b
Add Pico W and lwIP support
2022-06-30 00:46:13 -05:00
77c04e458c
revert TinyUSB update ( #889 )
2022-06-29 22:43:20 -05:00
bc5d1b8485
Add channel_config_set_high_priority ( #888 )
2022-06-29 20:56:45 -05:00
85dbbfdf4d
Update TinyUSB to commit 39069cf4b to pick up recent RP2040 fixes ( #886 )
2022-06-29 17:09:33 +01:00
e7267f99fe
Fix GPIO # callback parameter ( #880 )
...
Fixes #879
2022-06-24 03:58:36 -05:00
4c49427bf3
Fix auto_init_recursive_mutex definition for C++ ( #875 )
...
Co-authored-by: Graham Sanderson <graham.sanderson@gmail.com >
2022-06-20 12:47:46 -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
8f09099757
sem_acquire has no reason to do a notify! ( #857 )
2022-06-20 09:52:43 -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
0bdd463898
Add DatanoiseTV DSP Board. ( #866 )
2022-06-17 18:03:46 -05:00
7daa20ce4c
Add board definition for the RP2040 Stamp Round Carrier ( #837 )
2022-06-17 12:58:13 -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
babc4a1794
Remove 'default=none' from PICO_CONFIG lines ( #865 )
2022-06-13 09:49:43 -05:00