Skip to content

Commit 6bef122

Browse files
committed
Initial: add pi pico w support
1 parent 55b2db6 commit 6bef122

File tree

7 files changed

+19
-4
lines changed

7 files changed

+19
-4
lines changed

src/AIoTC_Config.h

+5
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@
137137
#define HAS_TCP
138138
#endif
139139

140+
#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
141+
#define BOARD_HAS_SECRET_KEY
142+
#define HAS_TCP
143+
#endif
144+
140145
#if defined(BOARD_HAS_SOFTSE) || defined(BOARD_HAS_OFFLOADED_ECCX08) || defined(BOARD_HAS_ECCX08) || defined(BOARD_HAS_SE050)
141146
#define BOARD_HAS_SECURE_ELEMENT
142147
#endif

src/tls/AIoTCUPCert.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
******************************************************************************/
2525

2626
#include <AIoTC_Config.h>
27-
#if defined(ARDUINO_ARCH_ESP32) || defined (ARDUINO_EDGE_CONTROL)
27+
#if defined(ARDUINO_ARCH_ESP32) || defined (ARDUINO_EDGE_CONTROL) || defined (ARDUINO_RASPBERRY_PI_PICO_W)
2828

2929
/******************************************************************************
3030
* CONSTANTS
@@ -163,6 +163,6 @@ static const char AIoTUPCert[] =
163163
"-----END CERTIFICATE-----\n";
164164
#else
165165

166-
#endif /* #ifdef ARDUINO_ARCH_ESP32 */
166+
#endif /* #ifdef ARDUINO_ARCH_ESP32 || ARDUINO_EDGE_CONTROL || ARDUINO_RASPBERRY_PI_PICO_W */
167167

168168
#endif /* _AIOTC_UP_CERT_H_ */

src/tls/utility/TLSClientMqtt.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ void TLSClientMqtt::begin(ConnectionHandler & connection, ArduinoIoTAuthenticati
6969
if (authMode == ArduinoIoTAuthenticationMode::CERTIFICATE) {
7070
setCACert(AIoTSSCert);
7171
}
72+
#elif defined(ARDUINO_RASPBERRY_PI_PICO_W)
73+
setCACert(AIoTUPCert);
7274
#elif defined(ARDUINO_ARCH_ESP32)
7375
(void)authMode;
7476
setCACert(AIoTUPCert);

src/tls/utility/TLSClientMqtt.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ enum class ArduinoIoTAuthenticationMode
6161
*/
6262
#include <WiFiSSLClient.h>
6363
class TLSClientMqtt : public WiFiSSLClient {
64-
#elif defined(BOARD_ESP)
64+
#elif defined(BOARD_ESP) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
6565
/*
6666
* ESP32*
6767
* ESP82*
68+
* PICOW
6869
*/
6970
#include <WiFiClientSecure.h>
7071
class TLSClientMqtt : public WiFiClientSecure {

src/tls/utility/TLSClientOta.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ void TLSClientOta::begin(ConnectionHandler &connection) {
5555
* https://github.com/arduino-libraries/Arduino_ESP32_OTA/blob/fc755e7d1d3946232107e2590662ee08d6ccdec4/src/tls/amazon_root_ca.h
5656
*/
5757
(void)connection;
58+
#elif defined(ARDUINO_RASPBERRY_PI_PICO_W)
59+
setCACert(AIoTUPCert);
5860
#elif defined(ARDUINO_ARCH_ESP32)
5961
setCACert(AIoTUPCert);
6062
#elif defined(ARDUINO_ARCH_ESP8266)

src/tls/utility/TLSClientOta.h

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@
5555
*/
5656
#include <WiFiSSLClient.h>
5757
class TLSClientOta : public WiFiSSLClient {
58-
#elif defined(BOARD_ESP)
58+
#elif defined(BOARD_ESP) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
5959
/*
6060
* ESP32*
6161
* ESP82*
62+
* PICOW
6263
*/
6364
#include <WiFiClientSecure.h>
6465
class TLSClientOta : public WiFiClientSecure {

src/utility/time/TimeService.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ void TimeServiceClass::initRTC()
355355
esp8266_initRTC();
356356
#elif defined (ARDUINO_ARCH_RENESAS)
357357
renesas_initRTC();
358+
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
358359
#else
359360
#error "RTC not available for this architecture"
360361
#endif
@@ -374,6 +375,7 @@ void TimeServiceClass::setRTC(unsigned long time)
374375
esp8266_setRTC(time);
375376
#elif defined (ARDUINO_ARCH_RENESAS)
376377
renesas_setRTC(time);
378+
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
377379
#else
378380
#error "RTC not available for this architecture"
379381
#endif
@@ -393,6 +395,8 @@ unsigned long TimeServiceClass::getRTC()
393395
return esp8266_getRTC();
394396
#elif defined (ARDUINO_ARCH_RENESAS)
395397
return renesas_getRTC();
398+
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
399+
return 1;
396400
#else
397401
#error "RTC not available for this architecture"
398402
#endif

0 commit comments

Comments
 (0)