Skip to content

Commit 454b477

Browse files
Adding initial zephyr support for connection handler
1 parent 721039b commit 454b477

File tree

4 files changed

+52
-22
lines changed

4 files changed

+52
-22
lines changed

src/ConnectionHandlerDefinitions.h

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
#endif
2626

2727
#if defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_NANO_33_IOT) || \
28-
defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined (ARDUINO_NANO_RP2040_CONNECT)
28+
defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined (ARDUINO_NANO_RP2040_CONNECT) && \
29+
!defined(ARDUINO_ARCH_ZEPHYR)
2930

3031
#define BOARD_HAS_WIFI
3132
#define NETWORK_HARDWARE_ERROR WL_NO_MODULE
@@ -34,7 +35,7 @@
3435
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_LATEST_VERSION
3536
#endif
3637

37-
#if defined(ARDUINO_PORTENTA_H7_M7)
38+
#if defined(ARDUINO_PORTENTA_H7_M7) && !defined(ARDUINO_ARCH_ZEPHYR)
3839
#define BOARD_HAS_WIFI
3940
#define BOARD_HAS_ETHERNET
4041
#define BOARD_HAS_CATM1_NBIOT
@@ -46,7 +47,7 @@
4647
#define NETWORK_CONNECTED WL_CONNECTED
4748
#endif
4849

49-
#if defined(ARDUINO_PORTENTA_C33)
50+
#if defined(ARDUINO_PORTENTA_C33) && !defined(ARDUINO_ARCH_ZEPHYR)
5051
#define BOARD_HAS_WIFI
5152
#define BOARD_HAS_ETHERNET
5253
#define BOARD_HAS_CELLULAR
@@ -56,48 +57,49 @@
5657
#define NETWORK_CONNECTED WL_CONNECTED
5758
#endif
5859

59-
#if defined(ARDUINO_NICLA_VISION)
60+
#if defined(ARDUINO_NICLA_VISION) && !defined(ARDUINO_ARCH_ZEPHYR)
6061
#define BOARD_HAS_WIFI
6162
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
6263
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
6364
#define NETWORK_CONNECTED WL_CONNECTED
6465
#endif
6566

66-
#if defined(ARDUINO_OPTA)
67+
#if defined(ARDUINO_OPTA) && !defined(ARDUINO_ARCH_ZEPHYR)
6768
#define BOARD_HAS_WIFI
6869
#define BOARD_HAS_ETHERNET
6970
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
7071
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
7172
#define NETWORK_CONNECTED WL_CONNECTED
7273
#endif
7374

74-
#if defined(ARDUINO_GIGA)
75+
#if defined(ARDUINO_GIGA) && !defined(ARDUINO_ARCH_ZEPHYR)
7576

7677
#define BOARD_HAS_WIFI
7778
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
7879
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
7980
#define NETWORK_CONNECTED WL_CONNECTED
8081
#endif
8182

82-
#ifdef ARDUINO_SAMD_MKRGSM1400
83+
#ifdef ARDUINO_SAMD_MKRGSM1400 && !defined(ARDUINO_ARCH_ZEPHYR)
8384
#define BOARD_HAS_GSM
8485
#define NETWORK_HARDWARE_ERROR GPRS_PING_ERROR
8586
#define NETWORK_IDLE_STATUS GSM3_NetworkStatus_t::IDLE
8687
#define NETWORK_CONNECTED GSM3_NetworkStatus_t::GPRS_READY
8788
#endif
8889

89-
#ifdef ARDUINO_SAMD_MKRNB1500
90+
#ifdef ARDUINO_SAMD_MKRNB1500 && !defined(ARDUINO_ARCH_ZEPHYR)
9091
#define BOARD_HAS_NB
9192
#define NETWORK_HARDWARE_ERROR
9293
#define NETWORK_IDLE_STATUS NB_NetworkStatus_t::IDLE
9394
#define NETWORK_CONNECTED NB_NetworkStatus_t::GPRS_READY
9495
#endif
9596

96-
#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310)
97+
#if defined(ARDUINO_SAMD_MKRWAN1300) || defined(ARDUINO_SAMD_MKRWAN1310) && \
98+
!defined(ARDUINO_ARCH_ZEPHYR)
9799
#define BOARD_HAS_LORA
98100
#endif
99101

100-
#if defined(ARDUINO_ARCH_ESP8266)
102+
#if defined(ARDUINO_ARCH_ESP8266) && !defined(ARDUINO_ARCH_ZEPHYR)
101103

102104
#define BOARD_HAS_WIFI
103105
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
@@ -106,15 +108,15 @@
106108
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_REQUIRED
107109
#endif
108110

109-
#if defined(ARDUINO_ARCH_ESP32)
111+
#if defined(ARDUINO_ARCH_ESP32) && !defined(ARDUINO_ARCH_ZEPHYR)
110112
#define BOARD_HAS_WIFI
111113
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
112114
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
113115
#define NETWORK_CONNECTED WL_CONNECTED
114116
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_REQUIRED
115117
#endif
116118

117-
#if defined(ARDUINO_UNOR4_WIFI)
119+
#if defined(ARDUINO_UNOR4_WIFI) && !defined(ARDUINO_ARCH_ZEPHYR)
118120

119121
#define BOARD_HAS_WIFI
120122
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
@@ -123,19 +125,33 @@
123125
#define WIFI_FIRMWARE_VERSION_REQUIRED WIFI_FIRMWARE_LATEST_VERSION
124126
#endif
125127

126-
#ifdef ARDUINO_EDGE_CONTROL
128+
#ifdef ARDUINO_EDGE_CONTROL && !defined(ARDUINO_ARCH_ZEPHYR)
127129
#define BOARD_HAS_CATM1_NBIOT
128130
#define BOARD_HAS_PORTENTA_CATM1_NBIOT_SHIELD
129131
#define NETWORK_HARDWARE_ERROR
130132
#endif
131133

132-
#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
134+
#if defined(ARDUINO_RASPBERRY_PI_PICO_W) && !defined(ARDUINO_ARCH_ZEPHYR)
133135
#define BOARD_HAS_WIFI
134136
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
135137
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
136138
#define NETWORK_CONNECTED WL_CONNECTED
137139
#endif
138140

141+
#if defined(ARDUINO_ARCH_ZEPHYR)
142+
#if CONFIG_WIFI == 1
143+
#define BOARD_HAS_WIFI
144+
#endif
145+
146+
#if DT_HAS_COMPAT_STATUS_OKAY(ethernet_phy)
147+
#define BOARD_HAS_ETHERNET
148+
#endif
149+
150+
#define NETWORK_HARDWARE_ERROR WL_NO_SHIELD
151+
#define NETWORK_IDLE_STATUS WL_IDLE_STATUS
152+
#define NETWORK_CONNECTED WL_CONNECTED
153+
#endif
154+
139155
/******************************************************************************
140156
TYPEDEFS
141157
******************************************************************************/

src/EthernetConnectionHandler.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@
1717

1818
#include "ConnectionHandlerInterface.h"
1919

20-
#if defined(ARDUINO_PORTENTA_H7_M7)
20+
#if defined(ARDUINO_ARCH_ZEPHYR)
21+
#include <Ethernet.h>
22+
#include <ZephyrClient.h>
23+
#include <ZephyrUDP.h>
24+
25+
using EthernetClient = ZephyrClient;
26+
using EthernetUDP = ZephyrUDP;
27+
#elif defined(ARDUINO_PORTENTA_H7_M7)
2128
#include <Ethernet.h>
2229
#include <PortentaEthernet.h>
2330
#elif defined(ARDUINO_PORTENTA_C33)

src/WiFiConnectionHandler.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ WiFiConnectionHandler::WiFiConnectionHandler(char const * ssid, char const * pas
4646

4747
unsigned long WiFiConnectionHandler::getTime()
4848
{
49-
#if !defined(ARDUINO_ARCH_ESP8266) && !defined(ARDUINO_ARCH_ESP32)
49+
#if !defined(ARDUINO_ARCH_ESP8266) && !defined(ARDUINO_ARCH_ESP32) && !defined(ARDUINO_ARCH_ZEPHYR)
5050
return WiFi.getTime();
5151
#else
5252
return 0;
@@ -190,27 +190,27 @@ NetworkConnectionState WiFiConnectionHandler::update_handleDisconnected()
190190
}
191191

192192
int WiFiConnectionHandler::ping(IPAddress ip, uint8_t ttl, uint8_t count) {
193-
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
193+
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
194194
return 0;
195195
#else
196196
return WiFi.ping(ip);
197-
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
197+
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
198198
}
199199

200200
int WiFiConnectionHandler::ping(const String &hostname, uint8_t ttl, uint8_t count) {
201-
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
201+
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
202202
return 0;
203203
#else
204204
return WiFi.ping(hostname);
205-
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
205+
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
206206
}
207207

208208
int WiFiConnectionHandler::ping(const char* host, uint8_t ttl, uint8_t count) {
209-
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
209+
#if defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
210210
return 0;
211211
#else
212212
return WiFi.ping(host);
213-
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32)
213+
#endif // defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ZEPHYR)
214214
}
215215

216216
#endif /* #ifdef BOARD_HAS_WIFI */

src/WiFiConnectionHandler.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@
2020
#ifdef ARDUINO_SAMD_MKR1000
2121
#include <WiFi101.h>
2222
#include <WiFiUdp.h>
23+
#elif defined(ARDUINO_ARCH_ZEPHYR)
24+
#include <WiFi.h>
25+
#include <ZephyrClient.h>
26+
#include <ZephyrUDP.h>
27+
28+
using WiFiClient = ZephyrClient;
29+
using WiFiUDP = ZephyrUDP;
2330
#elif defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_NANO_33_IOT) || \
2431
defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined (ARDUINO_NANO_RP2040_CONNECT)
2532
#include <WiFiNINA.h>

0 commit comments

Comments
 (0)