Skip to content

Update 2.0.0 #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 156 commits into from
Oct 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
6d336e0
start 1.5.1 development
kilograham Feb 11, 2023
0121007
Improve SPI set-up: Don't change the config whilst it is enabled (#1227)
kilograham Feb 11, 2023
5abb4eb
Fix typos in the PICO_CONFIG settings (#1242)
lurch Feb 11, 2023
4ba5ad3
Actually target correct USB1.5.0 version - same code (#1245)
kilograham Feb 11, 2023
f396d05
Actually target correct USB1.5.0 version - same code (#1245)
kilograham Feb 11, 2023
79d0eb4
Merge branch 'master' into develop
kilograham Feb 12, 2023
e763cb8
Fix typo in pico_rand breaking randomness when PICO_RAND_ENTROPY_SRC_…
kilograham Feb 12, 2023
226374a
Documentation typos (#1249)
lurch Feb 13, 2023
d30b97a
remove unnecessary headers - particular pico_stdlib.h which should no…
kilograham Feb 13, 2023
c2af4e8
Fix various Doxygen errors (#1251)
lurch Feb 13, 2023
1331c47
Add missing busy_wait_ms functino to host platform (#1254)
kilograham Feb 13, 2023
37c8e9f
typo fix (#1264)
MrGreensWorkshop Feb 17, 2023
d172067
Add Raspberry Pi BTstack license (#1273)
kilograham Feb 22, 2023
777cd52
Git rid of some errant apostrophes in Doxygen / code comments (#1275)
lurch Feb 23, 2023
b1d4ba5
Doxygen formatting fixes (#1283)
lurch Feb 26, 2023
d9c88c6
Make sure BT device address is set. (#1284)
peterharperuk Feb 27, 2023
67b0a11
remove iar/ branches from default workflow (#1288)
kilograham Feb 28, 2023
18479e0
filter pull request source for pull_request to avoid IAR (#1289)
kilograham Feb 28, 2023
bc7d9ce
Fix some header dependencies in bluetooth (#1294)
peterharperuk Mar 1, 2023
1ac9037
Various small fixes towards building with other compilers (#1285)
kilograham Mar 1, 2023
0b285af
Revert change to cyw43_hal_generate_laa_mac (#1291)
peterharperuk Mar 1, 2023
dca773f
Add board definition for upcoming Pololu 3pi+ 2040 Robot (#1259)
pdg137 Mar 5, 2023
7f72325
switch all .S files to unified asm, and use a macro to setup compiler…
kilograham Mar 9, 2023
cd54c32
Add Default for the thingplus ws2812 (#1312)
agento2 Mar 19, 2023
2bfa90c
Set PICO_STDIO_USB_CONNECT_WAIT_TIMEOUT_MS (#1253)
peterharperuk Mar 19, 2023
4000c9f
Allow malloc and free to be changed. (#1309)
peterharperuk Mar 20, 2023
be4c80d
include cstdint (#1318)
arjunak234 Mar 20, 2023
cb0ac5b
CI: Improve multi-gcc workflow (#1316)
liamfraser Mar 20, 2023
a42564b
Allow support of crystals other than 12MHz (#1024) (#1272)
andygpz11 Mar 21, 2023
e87f11b
Add some configuration for VBUS / VSYS (#1252)
peterharperuk Mar 27, 2023
62201a8
MarkDown syntax typo (#1366)
lurch May 7, 2023
257959b
Add user_data to async_when_pending_worker_t. (#1384)
peterharperuk May 22, 2023
7070d23
GCC 13 update. Move #include <cstdint> to header. Fixes #1363 (#1367)
daniel-j May 24, 2023
ab4f23c
Update mainpage.md (#1320)
JamesH65 May 25, 2023
8ebb83c
resolves #1161 (#1322)
2bndy5 May 25, 2023
1d9f187
add cyw43_arch_disable_ap_mode() to cyw43_arch (#1331)
michaelbusby May 25, 2023
4515719
Add conditionalization for (potentially unused) struct and function (…
andygpz11 May 25, 2023
8888fd7
Add a PICO_CONFIG control to disable switching the peripheral clk to…
andygpz11 May 25, 2023
affbb31
fix build (#1395)
kilograham May 26, 2023
c34d3d5
Work around issue with unreferenced sections marked allocated in the …
kilograham May 26, 2023
8dbc6f2
Bt wifi buffer corruption (#1362)
peterharperuk May 26, 2023
5ee4c1c
Add cyw43_arch_disable_sta_mode (#1383)
peterharperuk May 26, 2023
826efbc
pico_lwip_arch build fix (#1389)
peterharperuk May 26, 2023
c7211db
Fixed assert when calling cancel_alarm(0) (#1173)
mthiesen May 26, 2023
b0a6f24
USB descriptor string length. (#1341)
hubiscode May 29, 2023
c026314
subs requires a lo register (#1402)
kilograham May 29, 2023
8e89e95
Fix PICO_CYW43_ARCH_POLL header guard (#1407)
peterharperuk Jun 2, 2023
3b44b0d
update cmake vars which come from environment with FORCE so they can …
kilograham Jun 2, 2023
6a221e0
Add dma_channel_cleanup method and use it to cleanup after pico_cyw43…
peterharperuk Jun 2, 2023
5d47872
Update cyw43-driver to main (#1408)
peterharperuk Jun 3, 2023
8188adf
avoid calling find_package for pico-sdk-tools over and over again (#1…
kilograham Jun 6, 2023
f28bbfd
Add new pico_flash library with flash_safe_execute(func) (#1412)
kilograham Jun 6, 2023
d315a04
Correct writes to the UART LCR register (#1347)
andygpz11 Jun 6, 2023
f3ebd62
Flash bank customisation (#1293)
peterharperuk Jun 6, 2023
1b81fcc
Update to btstack v1.5.6 (#1415)
peterharperuk Jun 7, 2023
ab76609
WIP: Add btstack files missing from build (#1380)
peterharperuk Jun 7, 2023
c0a615e
Improve the comments around VSYS/VBUS config. (#1414)
peterharperuk Jun 7, 2023
0423d7a
Update BTstack to pick up fix. (#1418)
peterharperuk Jun 8, 2023
7119978
Update svd using latest version of generation tools (#1417)
liamfraser Jun 9, 2023
3352ccf
split asm volatile back out (#1420)
kilograham Jun 10, 2023
0be7fb8
Add missing doxygen ingroup tags (#1425)
lurch Jun 13, 2023
bb460d0
Add missing "default defines" (#1426)
lurch Jun 13, 2023
f316272
Move multicore_lockout victim initialzied tracking to pico_multicore …
kilograham Jun 13, 2023
8ecc5ab
set release version 1.5.1
kilograham Jun 13, 2023
9f99361
start 1.5.2 development
kilograham Jun 13, 2023
6a7db34
revert changes to when -nostartfiles is specified in link for 1.5.1 a…
kilograham Jun 13, 2023
88fa391
Merge branch 'master' into develop
kilograham Jun 13, 2023
fbb0783
Fix boot2_is25lp080.S section naming (#1430)
earlephilhower Jun 15, 2023
81b3200
Fix documentation for gpio_set_irq_enabled (#1470)
mudge Aug 14, 2023
f85d679
tools: fix CMake deprecation warnings (#1477)
stefanb2 Aug 17, 2023
8e16934
remove incorrect repeating_timer assertion, which fails if the timer …
kilograham Aug 29, 2023
8262a08
rom_hword_as_ptr should use __force_inline (#1494)
kilograham Sep 5, 2023
263a668
workflow update for macOS to fix bad GCC install
kilograham Sep 5, 2023
8787bc9
pioasm: Add JSON output format for machine consumption (#1394)
byteit101 Dec 14, 2023
21cf892
Added stdio.h include to pico malloc when debug enabled (#1503)
MrJake222 Dec 14, 2023
d92e26a
Remove unused warning in async_context_freertos (#1574)
earlephilhower Dec 14, 2023
7ed83dd
Add calls to tight_loop_contents in a few more places. (#1401)
lurch Dec 15, 2023
7dcb984
Fix waveshare_rp2040_zero USB unrecognize after unplug and replug (#1…
AlynxZhou Dec 15, 2023
4e3951d
added Xerxes RP2040 board to includes (#1459)
theMladyPan Dec 15, 2023
01804ac
added weact studio board variants (#1437)
jshamg Dec 15, 2023
e5e30b4
CMake cmake_minimum_required Deprecation Warning (#1546)
galmyk Dec 15, 2023
538b901
Add watchdog parameter-validation, and fix up misleading comments (#1…
lurch Dec 15, 2023
9ff8a98
Add board definition for upcoming Pololu Zumo 2040 Robot (#1475)
pdg137 Dec 15, 2023
9f45e3c
Freertos background asserts if IPv6 is enabled (#1591)
peterharperuk Dec 21, 2023
d7bbadb
Add a cmake function for configuring IP addresses (#1424)
peterharperuk Jan 5, 2024
3274cc8
Fix CWE-686 in tools/elf2uf2/main.cpp:132 (#1585)
tjko Jan 8, 2024
46bddd6
save about 100 bytes of code (release) size for simple UART usage (#1…
kilograham Jan 12, 2024
ff2e202
Fixes #1468 (#1497)
Slamy Jan 12, 2024
6bb38a8
fix cybt_mem_read debug log typo (#1480)
brandonros Jan 12, 2024
73dce4e
Doxygen comment typo (#1463)
lurch Jan 12, 2024
4d19007
rp2_common/pico_standard_link: linker script fixes (#1539)
mvds00 Jan 12, 2024
8353cb6
Fix spelling mistake, add documentation (#1444)
hubiscode Jan 13, 2024
62bb486
Add tool for lwip httpd server (#1600)
peterharperuk Jan 16, 2024
f1c6fc8
Fix #1442: Allow adding alternative .gatt file import paths (#1445)
rppicomidi Jan 16, 2024
c9cce7a
pico_generate_pio_header: Create OUTPUT_DIR (#1610)
timg236 Jan 19, 2024
0c65e1d
pico/mutex.h: Fix typo in comment (#1637)
neuschaefer Feb 15, 2024
b27f13b
reformatting doxygen comment markup (#1660)
nelliemckesson Mar 22, 2024
a0f4cd4
Implement Pioasm for Go (TinyGo) (#1604)
soypat May 7, 2024
fcd5333
remove dead code in __aeabi_dcmpun (#1703)
SiarheiVolkau May 18, 2024
ac8f277
Fix stdio_set_chars_available_callback for usb (#1649)
peterharperuk May 18, 2024
5941969
Improved const correctness of rtc functions (#1460)
tornupnegatives May 19, 2024
f1f3bd6
Disable FIFO IRQ when doing reset of core1 (same as with launching) (…
MrJake222 May 19, 2024
0d56f52
Add some missing i2c function documentation (#1650)
peterharperuk May 19, 2024
7d238ea
[pioasm] Fix build warning due to extra parameters (#1625)
byteit101 May 19, 2024
3f41d7d
Added comments referencing spin-lock lock/unlock read/writes (#1501)
MrJake222 May 19, 2024
dcc2241
Add a script to create a header file including all other header files…
lurch May 19, 2024
a6c65b4
Small kitchen-sink fixes (#1707)
lurch May 20, 2024
f81537d
Add board definition for Cytron Maker Pi RP2040 (#1473)
agustinmista May 20, 2024
23dec9d
Correct clk_sys auxsrc definition for XOSC (#1571)
dthomas981 May 21, 2024
abce1d4
Introduce initial Bazel build (#1705)
armandomontanez Jun 4, 2024
115eae7
Add scripts to extract PICO_CMAKE_CONFIG and PICO_BUILD_DEFINE entrie…
lurch Jun 5, 2024
e84eedf
Remove unneeded includes from pico_flash. (#1699)
jaguilar Jun 5, 2024
79977db
Update dma.h (#1678)
myklemykle Jun 5, 2024
3ee0623
set git tag for the SDK (#1630)
ahmetkizilay Jun 5, 2024
a456964
Fix btstack compilation (#1726)
peterharperuk Jun 10, 2024
a391f64
Added Newsan's Archi board (#1730)
christianhalter Jun 12, 2024
0dc17e5
Update cyw43_driver to v1.0.3 (#1732)
peterharperuk Jun 13, 2024
6ff3e4f
Expand bazel build to include configuration options and broader suppo…
armandomontanez Jun 13, 2024
c526ec1
custom_(un)lock_tcpip_core: link properly in C++ (#1738)
jaguilar Jun 20, 2024
f193ed6
Update cyw43-driver to fix build warnings (#1739)
peterharperuk Jun 21, 2024
a567349
Update btstack v1.6.1 (#1736)
peterharperuk Jun 21, 2024
333974f
Corrects errors in returning constant labels (#1735)
oyama Jun 21, 2024
0e5cef3
Boards header updates (#1724)
lurch Jun 21, 2024
5be87f1
Clarify that DMA timer fraction must be <= 1 (#1723)
lurch Jun 21, 2024
cea8211
Fix FIFO size in Doxygen in hardware/adc.h (#1720)
lurch Jun 21, 2024
5118b4a
Adds support for the iLabs opendec02 decoder. (#1667)
PontusO Jun 21, 2024
5d36c90
Make it easier to configure default baud rate (#1648)
peterharperuk Jun 21, 2024
f5fea7f
pico_cyw43_driver/cyw43_bus_pio_spi.c: make SPI_PROGRAM_NAME and CLOC…
mvds00 Jun 21, 2024
2de70c7
Fix PICO_DEOPTIMIZED_DEBUG not updating compiler flags (#1620)
recursivenomad Jun 21, 2024
9290bdd
fix harware_alarm_irq_number typo (#1619)
Poofjunior Jun 21, 2024
f5b7a91
corrected issue#1536 - used correct define to create a configuration …
MarcinKlosowskiMobica Jun 21, 2024
8b0146c
Fixed an issue that caused incorrect settings when the SPI clock was …
aizaki77 Jun 27, 2024
73e7196
#1748 replace incorrect license (#1749)
kilograham Jun 27, 2024
778221b
Add missing semicolon (#1750)
jackwilsdon Jun 27, 2024
74b9ea4
use best_effort_wfe_or_timeout instead of wfe (#1404)
kilograham Jul 7, 2024
86aab81
IRQ enabling guard (when no callback set) (#1504)
MrJake222 Jul 7, 2024
01dec6f
Add C11 standard atomic support (#1645)
sgstreet Jul 8, 2024
b1abf96
Revert "Add C11 standard atomic support (#1645)"
kilograham Jul 8, 2024
c93c3f4
Use CYW43_PRINTF macro in cyw43-support code. (#1745)
felixdoerre Jul 9, 2024
0996a9e
Add support for SEGGER RTT STDIO (updated) (#1411)
adfernandes Jul 21, 2024
7f37af8
add missing rtt cmake functions for host
kilograham Jul 21, 2024
6328fff
Update LwIP to 2.2.0 (#1769)
peterharperuk Jul 22, 2024
5ec4071
Some doc issues (#1772)
peterharperuk Jul 23, 2024
b45632b
Add 8086 USB Interposer board (#1767)
burtyb Jul 24, 2024
af9b47c
Add board definition for Adafruit Feather RP2040 with USB Type A Host…
Gigahawk Jul 24, 2024
7c5b426
Add gpio_set_function_mask function (#1462)
inventor02 Jul 24, 2024
41b4d3a
rename gpio_set_function_mask to gpio_set_function_masked to match na…
kilograham Jul 24, 2024
6624098
Add board file for Pi-Plates MICROPi (#1487)
pi-plates Jul 24, 2024
9f85f25
Add extra checks to check_board_header.py (#1775)
lurch Jul 25, 2024
b3bf690
Clarify uart_write_blocking() API vs UART still busy sending (#1274) …
andygpz11 Jul 25, 2024
45984e2
Small tweak to extract_configs.py (#1776)
lurch Jul 25, 2024
efe2103
SDK 2.0.0 release
kilograham Aug 8, 2024
76faca9
Merge tag '2.0.0' into HEAD
soburi Aug 10, 2024
1607e84
pico-sdk: pico_platform_compiler: Do not redefine `__weak`
soburi Aug 9, 2024
d78b50d
pico-sdk: Disabling sanity check the IRQ status
soburi Aug 10, 2024
1cd4d73
pico-sdk: Update a changelog file about changes in merging with 2.0.0
soburi Aug 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Don't accidentally pick up external CMake deps with Bazel build files.
build
# Don't treat submodules as part of this project.
lib
10 changes: 10 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Required for new toolchain resolution API.
build --incompatible_enable_cc_toolchain_resolution
build --@rules_cc//cc/toolchains:experimental_enable_rule_based_toolchains

# Silence all C/C++ warnings in external code.
common --per_file_copt=external/.*@-w
common --host_per_file_copt=external/.*@-w

# Produce useful output when the build fails.
common --verbose_failures
1 change: 1 addition & 0 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7.2.1
19 changes: 10 additions & 9 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
name: CMake
on: [push, pull_request]
on:
push:
branches-ignore:
- 'iar/**'
pull_request:

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release

jobs:
build:
if: github.repository_owner == 'raspberrypi'
# cannot specify filter for pull_request in on: above, so do it here
if: github.repository_owner == 'raspberrypi' && (github.event_name != 'pull_request' || !startsWith(github.head_ref, 'iar/'))
runs-on: [self-hosted, Linux, X64]

steps:
Expand All @@ -33,17 +38,13 @@ jobs:
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DPICO_SDK_TESTS_ENABLED=1

- name: Get core count
id: core_count
run : cat /proc/cpuinfo | grep processor | wc -l

- name: Build
working-directory: ${{github.workspace}}/build
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE --parallel ${{steps.core_count.outputs.output}}
run: cmake --build . --config $BUILD_TYPE --parallel $(nproc)
3 changes: 1 addition & 2 deletions .github/workflows/macOS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ jobs:
- name: Install dependencies
run: |
brew install cmake
brew tap ArmMbed/homebrew-formulae
brew install arm-none-eabi-gcc
brew install --cask gcc-arm-embedded

- name: Build Project
# bash required otherwise this mysteriously (no error) fails at "Generating cyw43_bus_pio_spi.pio.h"
Expand Down
66 changes: 27 additions & 39 deletions .github/workflows/multi-gcc.yml

Large diffs are not rendered by default.

8 changes: 2 additions & 6 deletions .github/workflows/scripts/generate_multi_gcc_workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
workflow_dispatch:
push:
branches:
- 'develop'
- 'master'
- 'test_workflow'

jobs:
build:
Expand All @@ -59,10 +59,6 @@

- name: Checkout submodules
run: git submodule update --init

- name: Get core count
id: core_count
run : cat /proc/cpuinfo | grep processor | wc -l
'''

for gcc_version, toolchain_path in gcc_versions_sorted.items():
Expand All @@ -71,6 +67,6 @@
output += " - name: GCC {} {}\n".format(gcc_version, build_type)
output += " if: always()\n"
output += " shell: bash\n"
output += " run: cd ${{{{github.workspace}}}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE={} -DPICO_TOOLCHAIN_PATH={} -DPICO_BOARD=pico_w; make -j ${{{{steps.core_count.outputs.output}}}}\n".format(build_type, toolchain_path)
output += " run: cd ${{{{github.workspace}}}}; mkdir -p build; rm -rf build/*; cd build; cmake ../ -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE={} -DPICO_TOOLCHAIN_PATH={} -DPICO_BOARD=pico_w; make --output-sync=target --no-builtin-rules --no-builtin-variables -j$(nproc)\n".format(build_type, toolchain_path)

print(output)
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,10 @@
cmake-*
.DS_Store
build
build-*

bazel-*

# Ignore until https://github.com/bazelbuild/bazel/issues/20369 is fixed.
MODULE.bazel.lock
__pycache__/
Empty file added BUILD.bazel
Empty file.
18 changes: 16 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.13)
cmake_minimum_required(VERSION 3.13...3.27)

# Note: this CMakeLists.txt can be used as a top-level CMakeLists.txt for the SDK itself. For all other uses
# it is included as a subdirectory via the pico_sdk_init() method provided by pico_sdk_init.cmake
Expand All @@ -9,6 +9,18 @@ if (NOT TARGET _pico_sdk_inclusion_marker)

project(pico_sdk C CXX ASM)

string(REGEX MATCH "Clang" PICO_C_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}")
string(REGEX MATCH "GNU" PICO_C_COMPILER_IS_GNU "${CMAKE_C_COMPILER_ID}")
string(REGEX MATCH "IAR" PICO_C_COMPILER_IS_IAR "${CMAKE_C_COMPILER_ID}")
pico_register_common_scope_var(PICO_C_COMPILER_IS_CLANG)
pico_register_common_scope_var(PICO_C_COMPILER_IS_GNU)
pico_register_common_scope_var(PICO_C_COMPILER_IS_IAR)
pico_register_common_scope_var(PICO_SDK_VERSION_MAJOR)
pico_register_common_scope_var(PICO_SDK_VERSION_MINOR)
pico_register_common_scope_var(PICO_SDK_VERSION_REVISION)
pico_register_common_scope_var(PICO_SDK_VERSION_PRE_RELEASE_ID)
pico_register_common_scope_var(PICO_SDK_VERSION_STRING)

message("Build type is ${CMAKE_BUILD_TYPE}")
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
if (PICO_DEOPTIMIZED_DEBUG)
Expand All @@ -31,6 +43,9 @@ if (NOT TARGET _pico_sdk_inclusion_marker)
add_sub_list_dirs(PICO_SDK_PRE_LIST_DIRS)
add_sub_list_files(PICO_SDK_PRE_LIST_FILES)

# needed by certain functions
set(PICO_TOOLS_DIR "${CMAKE_CURRENT_LIST_DIR}/tools" CACHE INTERNAL "")

add_subdirectory(tools)
add_subdirectory(src)

Expand All @@ -54,4 +69,3 @@ if (NOT TARGET _pico_sdk_inclusion_marker)
pico_promote_common_scope_vars()
endif()
endif()

2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ We use GitHub to host code, track [issues](https://github.com/raspberrypi/pico-s

In order to contribute new or updated code, you must first create a GitHub account and fork the original repository to your own account. You can make changes, save them in your repository, then [make a pull request](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) against this repository. The pull request will appear [in the repository](https://github.com/raspberrypi/pico-sdk/pulls) where it can be assessed by the maintainers, and if appropriate, merged with the official repository.

**NOTE:** Development takes place on the `develop` branch in this repository. Please open your https://github.com/raspberrypi/pico-sdk/pulls[pull request] (PR) against the [`develop`](https://github.com/raspberrypi/pico-sdk/tree/develop) branch, pull requests against the `master` branch will automatically CI fail checks and will not be accepted. You will be asked to rebase your PR against `develop` and if you do not do so, your PR will be closed.
**NOTE:** Development takes place on the `develop` branch in this repository. Please open your [pull request](https://github.com/raspberrypi/pico-sdk/pulls) (PR) against the [`develop`](https://github.com/raspberrypi/pico-sdk/tree/develop) branch, pull requests against the `master` branch will automatically CI fail checks and will not be accepted. You will be asked to rebase your PR against `develop` and if you do not do so, your PR will be closed.

While we are happy to take contributions, big or small, changes in the SDK may have knock-on effects in other places so it is possible that apparently benign pull requests that make seemingly small changes could be refused.

Expand Down
13 changes: 8 additions & 5 deletions ChangeLog.zephyr.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,24 @@
Need to take care to not break these changes when updating pico-sdk.

## Patch List:
- [#7] pico-sdk: hardware_timer: Don't add irq handler to interrupt vector
- [#9] pico-sdk: Disabling sanity check the IRQ status
- src/rp2_common/hardware_gpio/gpio.c
- [#8] pico-sdk: pico_platform_compiler: Do not redefine `__weak`
- src/rp2_common/pico_platform_compiler/include/pico/platform/compiler.h
- [#7] pico-sdk: hardware_timer: Don't add irq handler to interrupt vector
- src/rp2_common/hardware_timer/timer.c
- [#6] pico-sdk: hardware_timer: Add argument to irq handler to handle userdata
- src/rp2_common/hardware_timer/include/hardware/timer.h
- src/rp2_common/hardware_timer/include/hardware/timer.h
- src/rp2_common/hardware_timer/timer.c
- [#5] pico-sdk: Rename is_irq_enabled() to pico_is_irq_enabled()
- src/rp2_common/hardware_irq/include/hardware/irq.h
- src/rp2_common/hardware_irq/irq.c
- src/rp2_common/pico_multicore/multicore.c
- [#4] pico-sdk: Additional modifications for MHZ/PICO_MHZ changes
- src/rp2_common/hardware_pll/pll.c
- [#3] pico-sdk: Rename adc_read() to pico_adc_read()
- src/rp2_common/hardware_adc/include/hardware/adc.h
- [#2] pico-sdk: Patch occurrences of KHZ/MHZ to PICO_KHZ/PICO_MHZ
- src/rp2_common/hardware_clocks/clocks.c
- src/rp2_common/hardware_clocks/include/hardware/clocks.h
- src/rp2_common/hardware_pll/pll.c
- src/rp2_common/hardware_pll/include/hardware/pll.h
- src/rp2_common/hardware_xosc/xosc.c
- src/rp2_common/pico_runtime_init/runtime_init_clocks.c
141 changes: 141 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
module(
name = "pico-sdk",
version = "2.0.0",
)

bazel_dep(name = "platforms", version = "0.0.9")
bazel_dep(name = "bazel_skylib", version = "1.6.1")
bazel_dep(name = "rules_python", version = "0.22.1")
bazel_dep(name = "picotool", version = "2.0.0")

# Note: rules_cc is special-cased repository; a dependency on rules_cc in a
# module will not ensure that the root Bazel module has that same version of
# rules_cc. For that reason, this primarily acts as a FYI. You'll still need
# to explicitly list this dependency in your own project's MODULE.bazel file.
bazel_dep(name = "rules_cc", version = "0.0.9")

# rules_cc v0.0.10 is not yet cut, so manually pull in the desired version.
# This does not apply to dependent projects, so it needs to be copied to your
# project's MODULE.bazel too.
archive_override(
module_name = "rules_cc",
integrity = "sha256-zdQo/pQWKdIAPKSflBxOSWZNwCbc86T7SechKZo/3Xw=",
strip_prefix = "rules_cc-1acf5213b6170f1f0133e273cb85ede0e732048f",
urls = "https://github.com/bazelbuild/rules_cc/archive/1acf5213b6170f1f0133e273cb85ede0e732048f.tar.gz",
)

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "arm_gcc_linux-x86_64",
build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD",
sha256 = "6cd1bbc1d9ae57312bcd169ae283153a9572bd6a8e4eeae2fedfbc33b115fdbb",
strip_prefix = "arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi",
url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz",
)

http_archive(
name = "arm_gcc_win-x86_64",
build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD",
sha256 = "51d933f00578aa28016c5e3c84f94403274ea7915539f8e56c13e2196437d18f",
strip_prefix = "arm-gnu-toolchain-13.2.Rel1-mingw-w64-i686-arm-none-eabi",
url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-mingw-w64-i686-arm-none-eabi.zip",
)

http_archive(
name = "arm_gcc_mac-x86_64",
build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD",
sha256 = "075faa4f3e8eb45e59144858202351a28706f54a6ec17eedd88c9fb9412372cc",
strip_prefix = "arm-gnu-toolchain-13.2.Rel1-darwin-x86_64-arm-none-eabi",
url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-x86_64-arm-none-eabi.tar.xz",
)

http_archive(
name = "arm_gcc_mac-aarch64",
build_file = "//bazel/toolchain:gcc_arm_none_eabi.BUILD",
sha256 = "39c44f8af42695b7b871df42e346c09fee670ea8dfc11f17083e296ea2b0d279",
strip_prefix = "arm-gnu-toolchain-13.2.Rel1-darwin-arm64-arm-none-eabi",
url = "https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-darwin-arm64-arm-none-eabi.tar.xz",
)

http_archive(
name = "clang_linux-x86_64",
build_file = "//bazel/toolchain:clang.BUILD",
sha256 = "e12ee0db9226f5b4a4400c5eb2c0f757d7056181b651622b5453acb00105fd87",
type = "zip",
url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/linux-amd64/+/git_revision:248c53429427034f45705af60d47f3b1090c4799",
)

http_archive(
name = "clang_win-x86_64",
build_file = "//bazel/toolchain:clang.BUILD",
sha256 = "8c41e8b507f4dfede80842f98a716cac209f552064088fa1b7f4c64a1e547534",
type = "zip",
# Windows doesn't like `:` in the produced filename, so replace it with `%3A`.
url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/windows-amd64/+/git_revision:248c53429427034f45705af60d47f3b1090c4799".replace("git_revision:", "git_revision%3A"),
)

http_archive(
name = "clang_mac-x86_64",
build_file = "//bazel/toolchain:clang.BUILD",
sha256 = "1d92f52609d3c1e958fd56f5e9a68ab99b2042ddcc6e90a5eb5009cf7ac4897d",
type = "zip",
url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/mac-amd64/+/git_revision:248c53429427034f45705af60d47f3b1090c4799",
)

http_archive(
name = "clang_mac-aarch64",
build_file = "//bazel/toolchain:clang.BUILD",
sha256 = "53184680db7e0043a8fba1556c7644b8f5e6c8cdffa4436a92a8e8adb0f45b8d",
type = "zip",
url = "https://chrome-infra-packages.appspot.com/dl/fuchsia/third_party/clang/mac-arm64/+/git_revision:248c53429427034f45705af60d47f3b1090c4799",
)

# TODO: Provide tinyusb as a proper Bazel module.
http_archive(
name = "tinyusb",
build_file = "//src/rp2_common/tinyusb:tinyusb.BUILD",
sha256 = "d64728aef58b80d5ce3747cad133f520da46e2b7ea3aadfda0e981aba6b658b3",
strip_prefix = "tinyusb-4232642899362fa5e9cf0dc59bad6f1f6d32c563",
url = "https://github.com/hathach/tinyusb/archive/4232642899362fa5e9cf0dc59bad6f1f6d32c563.tar.gz",
)

# TODO: Provide btstack as a proper Bazel module.
http_archive(
name = "btstack",
build_file = "//src/rp2_common/pico_btstack:btstack.BUILD",
sha256 = "64e86d9cf82b346e743fe1d4818b9380712b17abdb3f2c3524e92464b5ef3d19",
strip_prefix = "btstack-2b49e57bd1fae85ac32ac1f41cdb7c794de335f6",
url = "https://github.com/bluekitchen/btstack/archive/2b49e57bd1fae85ac32ac1f41cdb7c794de335f6.tar.gz",
)

# TODO: Provide btstack as a proper Bazel module.
http_archive(
name = "cyw43-driver",
build_file = "//src/rp2_common/pico_cyw43_driver:cyw43-driver.BUILD",
sha256 = "0fcc7707fef95dd562d5572604713266613a27caeeae2f10afeccee9592a53ce",
strip_prefix = "cyw43-driver-faf36381bad1f668a30172b6336c9a970966ef4c",
url = "https://github.com/georgerobotics/cyw43-driver/archive/faf36381bad1f668a30172b6336c9a970966ef4c.tar.gz",
)

# TODO: Provide lwip as a proper Bazel module.
http_archive(
name = "lwip",
build_file = "//src/rp2_common/pico_lwip:lwip.BUILD",
sha256 = "72856d557f72911cf6826ef745c23c54822df83a474557823241164a1d1361aa",
strip_prefix = "lwip-0a0452b2c39bdd91e252aef045c115f88f6ca773",
url = "https://github.com/lwip-tcpip/lwip/archive/0a0452b2c39bdd91e252aef045c115f88f6ca773.tar.gz",
)

register_toolchains(
"//bazel/toolchain:linux-x86_64-rp2040",
"//bazel/toolchain:linux-x86_64-rp2350",
"//bazel/toolchain:win-x86_64-rp2040",
"//bazel/toolchain:win-x86_64-rp2350",
"//bazel/toolchain:mac-x86_64-rp2040",
"//bazel/toolchain:mac-x86_64-rp2350",
"//bazel/toolchain:mac-aarch64-rp2040",
"//bazel/toolchain:mac-aarch64-rp2350",
# Require users to opt-in to the Pico SDK's toolchains.
dev_dependency = True,
)
Loading