CYW43 support only if PICO_BOARD=pico_w #979

Open
opened 2022-08-18 11:44:14 -05:00 by Memotech-Bill · 4 comments
Memotech-Bill commented 2022-08-18 11:44:14 -05:00 (Migrated from github.com)

The various CMake link library options pico_cyw43_arch_... only have any affect if the CMake call defines PICO_BOARD=pico_w. Otherwise they default to no-op.

This causes problems if (for example) the Pico W is plugged into a VGA Demo Board. Creating a vgaboard_w.h file, which is a copy of vgaboard.h, but with the #include "boards/pico.h" replaced by #include "boards/pico_w.h" does not resolve the problem.

The simplest work around I have found is to include the following very early in the CMake file:

set(PICO_CYW43_SUPPORTED 1)

I have yet to work out whether this needs to be above pico_sdk_init() or above include(pico_sdk_import.cmake).

The various CMake link library options **pico_cyw43_arch_...** only have any affect if the CMake call defines **PICO_BOARD=pico_w**. Otherwise they default to no-op. This causes problems if (for example) the Pico W is plugged into a VGA Demo Board. Creating a **vgaboard_w.h** file, which is a copy of **vgaboard.h**, but with the **#include "boards/pico.h"** replaced by **#include "boards/pico_w.h"** does not resolve the problem. The simplest work around I have found is to include the following very early in the CMake file: set(PICO_CYW43_SUPPORTED 1) I have yet to work out whether this needs to be above **pico_sdk_init()** or above **include(pico_sdk_import.cmake)**.
erdometo commented 2023-06-04 23:03:03 -05:00 (Migrated from github.com)

If you are building from command line, no problem. But VSCode uses its own cmake extension to lint errors. That extension has no setting to pass extra arguments. Only fix is set(PICO_CYW43_SUPPORTED 1) in cmakelists.txt.

If you are building from command line, no problem. But VSCode uses its own cmake extension to lint errors. That extension has no setting to pass extra arguments. Only fix is set(PICO_CYW43_SUPPORTED 1) in cmakelists.txt.
kilograham commented 2024-08-09 14:19:06 -05:00 (Migrated from github.com)

We plan to add a PICO_CARRIER_BOARD or similar in the future

We plan to add a `PICO_CARRIER_BOARD` or similar in the future
kilograham commented 2025-07-02 10:06:17 -05:00 (Migrated from github.com)

Note you can create a top-level board header yourself, and place the following in it:

 // pico_cmake_set PICO_CYW43_SUPPORTED = 1

or assuming you are using develop branch, the now preferred style:

 pico_board_cmake_set(PICO_CYW43_SUPPORTED, 1)
Note you can create a top-level board header yourself, and place the following in it: ``` // pico_cmake_set PICO_CYW43_SUPPORTED = 1 ``` or assuming you are using `develop` branch, the now preferred style: ``` pico_board_cmake_set(PICO_CYW43_SUPPORTED, 1) ```
lurch commented 2025-07-02 10:47:47 -05:00 (Migrated from github.com)

This is also (briefly) mentioned in https://datasheets.raspberrypi.com/rm2/rm2-datasheet.pdf 🙂

This is also (briefly) mentioned in https://datasheets.raspberrypi.com/rm2/rm2-datasheet.pdf 🙂
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk#979
No description provided.