@@ -46,9 +46,10 @@ extern "C" {
4646#include " pico/binary_info.h"
4747}
4848
49- #if !defined(ARDUINO_RASPBERRY_PI_PICO_2)
49+ #if !defined(ARDUINO_RASPBERRY_PI_PICO_2) && \
50+ !defined (ARDUINO_RASPBERRY_PI_PICO_2W)
5051#include < pico_sleep.h>
51- #endif /* ARDUINO_RASPBERRY_PI_PICO_2 */
52+ #endif /* ARDUINO_RASPBERRY_PI_PICO_2 or 2W */
5253#else
5354extern " C"
5455{
@@ -308,7 +309,9 @@ static void RP2xxx_setup()
308309 SPI1.setRX (SOC_GPIO_PIN_MISO);
309310 SPI1.setTX (SOC_GPIO_PIN_MOSI);
310311 SPI1.setSCK (SOC_GPIO_PIN_SCK);
311- #if !defined(ARDUINO_RASPBERRY_PI_PICO) && !defined(ARDUINO_RASPBERRY_PI_PICO_W)
312+ #if !defined(ARDUINO_RASPBERRY_PI_PICO) && \
313+ !defined (ARDUINO_RASPBERRY_PI_PICO_W) && \
314+ !defined (ARDUINO_RASPBERRY_PI_PICO_2W)
312315 SPI1.setCS (SOC_GPIO_PIN_SS);
313316#endif /* ARDUINO_RASPBERRY_PI_PICO or ARDUINO_RASPBERRY_PI_PICO_W */
314317
@@ -336,6 +339,8 @@ static void RP2xxx_setup()
336339#endif /* EXCLUDE_WIFI */
337340#elif defined(ARDUINO_RASPBERRY_PI_PICO_W)
338341 RP2xxx_board = rp2040.isPicoW () ? RP2040_RPIPICO_W : RP2040_RPIPICO;
342+ #elif defined(ARDUINO_RASPBERRY_PI_PICO_2W)
343+ RP2xxx_board = rp2040.isPicoW () ? RP2040_RPIPICO_2W : RP2040_RPIPICO;
339344#endif /* ARDUINO_RASPBERRY_PI_PICO */
340345
341346 RP2xxx_board = (SoC->getChipId () == 0xcf516424 ) ?
@@ -502,7 +507,7 @@ static void RP2xxx_loop()
502507#endif /* SOC_GPIO_RADIO_LED_RX */
503508}
504509
505- #if defined(ARDUINO_RASPBERRY_PI_PICO_W)
510+ #if defined(ARDUINO_RASPBERRY_PI_PICO_W) || defined(ARDUINO_RASPBERRY_PI_PICO_2W)
506511#include < pico/cyw43_arch.h>
507512#include < boards/pico_w.h>
508513#endif /* ARDUINO_RASPBERRY_PI_PICO_W */
@@ -511,10 +516,12 @@ static void RP2xxx_fini(int reason)
511516{
512517 Wire.end ();
513518
514- #if defined(ARDUINO_RASPBERRY_PI_PICO_W)
519+ #if defined(ARDUINO_RASPBERRY_PI_PICO_W) || defined(ARDUINO_RASPBERRY_PI_PICO_2W)
515520 if (RP2xxx_board == RP2040_RPIPICO_W) {
516521 if (cyw43_is_initialized (&cyw43_state)) cyw43_arch_deinit ();
522+ #if !(ARDUINO_PICO_MAJOR == 4 && ARDUINO_PICO_MINOR == 3 && ARDUINO_PICO_REVISION == 0)
517523 pinMode (CYW43_PIN_WL_REG_ON, INPUT_PULLDOWN);
524+ #endif
518525 }
519526#endif /* ARDUINO_RASPBERRY_PI_PICO_W */
520527
@@ -550,7 +557,9 @@ static void RP2xxx_fini(int reason)
550557 USBDevice.detach ();
551558#endif /* USE_TINYUSB */
552559
553- #if !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_RASPBERRY_PI_PICO_2)
560+ #if !defined(ARDUINO_ARCH_MBED) && \
561+ !defined (ARDUINO_RASPBERRY_PI_PICO_2) && \
562+ !defined (ARDUINO_RASPBERRY_PI_PICO_2W)
554563 sleep_run_from_xosc ();
555564
556565#if SOC_GPIO_PIN_BUTTON != SOC_UNUSED_PIN
@@ -993,7 +1002,9 @@ static float RP2xxx_Battery_param(uint8_t param)
9931002 pin29_func = gpio_get_function (SOC_GPIO_PIN_BATTERY);
9941003 adc_gpio_init (SOC_GPIO_PIN_BATTERY);
9951004
996- #if defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
1005+ #if defined(ARDUINO_RASPBERRY_PI_PICO) || \
1006+ defined (ARDUINO_RASPBERRY_PI_PICO_W) || \
1007+ defined (ARDUINO_RASPBERRY_PI_PICO_2W)
9971008 pin25_dir = gpio_get_dir (SOC_GPIO_PIN_CYW43_EN);
9981009 pin25_func = gpio_get_function (SOC_GPIO_PIN_CYW43_EN);
9991010 pinMode (SOC_GPIO_PIN_CYW43_EN, OUTPUT);
@@ -1004,7 +1015,9 @@ static float RP2xxx_Battery_param(uint8_t param)
10041015 mV = (analogRead (SOC_GPIO_PIN_BATTERY) * 3300UL ) >> 12 ;
10051016
10061017 if (RP2xxx_board == RP2040_RPIPICO_W) {
1007- #if defined(ARDUINO_RASPBERRY_PI_PICO) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
1018+ #if defined(ARDUINO_RASPBERRY_PI_PICO) || \
1019+ defined (ARDUINO_RASPBERRY_PI_PICO_W) || \
1020+ defined (ARDUINO_RASPBERRY_PI_PICO_2W)
10081021 gpio_set_function (SOC_GPIO_PIN_CYW43_EN, pin25_func);
10091022 gpio_set_dir (SOC_GPIO_PIN_CYW43_EN, pin25_dir);
10101023#endif /* PICO or PICO W */
@@ -1354,6 +1367,8 @@ void setup1() {
13541367 pio_cfg.pio_rx_num = 0 ;
13551368 pio_cfg.pio_tx_num = 1 ;
13561369 pio_cfg.tx_ch = 9 ;
1370+ #elif defined(ARDUINO_RASPBERRY_PI_PICO_2W)
1371+ /* TBD */
13571372#endif /* ARDUINO_RASPBERRY_PI_PICO_W */
13581373
13591374 USBHost.configure_pio_usb (1 , &pio_cfg);
0 commit comments