feat: Support Arduino Nano 33 IoT, MKR WIFI 1010 (#898)
This commit is contained in:
@@ -99,6 +99,12 @@
|
||||
#define WEBSOCKETS_YIELD() yield()
|
||||
#define WEBSOCKETS_YIELD_MORE() delay(1)
|
||||
|
||||
#elif defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_NANO_33_IOT)
|
||||
|
||||
#define WEBSOCKETS_MAX_DATA_SIZE (15 * 1024)
|
||||
#define WEBSOCKETS_YIELD() yield()
|
||||
#define WEBSOCKETS_YIELD_MORE() delay(1)
|
||||
|
||||
#else
|
||||
|
||||
// atmega328p has only 2KB ram!
|
||||
@@ -121,6 +127,8 @@
|
||||
#define NETWORK_ESP32_ETH (5)
|
||||
#define NETWORK_RP2040 (6)
|
||||
#define NETWORK_UNOWIFIR4 (7)
|
||||
#define NETWORK_WIFI_NINA (8)
|
||||
|
||||
|
||||
// max size of the WS Message Header
|
||||
#define WEBSOCKETS_MAX_HEADER_SIZE (14)
|
||||
@@ -142,6 +150,9 @@
|
||||
#elif defined(ARDUINO_UNOWIFIR4)
|
||||
#define WEBSOCKETS_NETWORK_TYPE NETWORK_UNOWIFIR4
|
||||
|
||||
#elif defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_NANO_33_IOT)
|
||||
#define WEBSOCKETS_NETWORK_TYPE NETWORK_WIFI_NINA
|
||||
|
||||
#else
|
||||
#define WEBSOCKETS_NETWORK_TYPE NETWORK_W5100
|
||||
|
||||
@@ -241,6 +252,18 @@
|
||||
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
|
||||
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
||||
|
||||
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
|
||||
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
||||
|
||||
#elif(WEBSOCKETS_NETWORK_TYPE == NETWORK_WIFI_NINA)
|
||||
#if __has_include(<WiFiNINA.h>)
|
||||
#include <WiFiNINA.h>
|
||||
#else
|
||||
#error "Please install WiFiNINA library!"
|
||||
#endif
|
||||
|
||||
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
|
||||
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
||||
#else
|
||||
#error "no network type selected!"
|
||||
#endif
|
||||
|
||||
@@ -534,7 +534,11 @@ void WebSocketsClient::clientDisconnect(WSclient_t * client) {
|
||||
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC)
|
||||
client->status = WSC_NOT_CONNECTED;
|
||||
#else
|
||||
delete client->tcp;
|
||||
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_WIFI_NINA)
|
||||
// does not support delete (no destructor)
|
||||
#else
|
||||
delete client->tcp;
|
||||
#endif
|
||||
#endif
|
||||
client->tcp = NULL;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,11 @@ WebSocketsServerCore::~WebSocketsServerCore() {
|
||||
}
|
||||
|
||||
WebSocketsServer::~WebSocketsServer() {
|
||||
delete _server;
|
||||
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_WIFI_NINA)
|
||||
// does not support delete (no destructor)
|
||||
#else
|
||||
delete _server;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -539,6 +543,8 @@ void WebSocketsServerCore::dropNativeClient(WSclient_t * client) {
|
||||
}
|
||||
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_ESP8266_ASYNC)
|
||||
client->status = WSC_NOT_CONNECTED;
|
||||
#elif(WEBSOCKETS_NETWORK_TYPE == NETWORK_WIFI_NINA)
|
||||
// does not support delete (no destructor)
|
||||
#else
|
||||
delete client->tcp;
|
||||
#endif
|
||||
@@ -655,7 +661,12 @@ void WebSocketsServer::handleNewClients(void) {
|
||||
#endif
|
||||
|
||||
// store new connection
|
||||
WEBSOCKETS_NETWORK_CLASS * tcpClient = new WEBSOCKETS_NETWORK_CLASS(_server->accept());
|
||||
#if(WEBSOCKETS_NETWORK_TYPE == NETWORK_WIFI_NINA)
|
||||
WEBSOCKETS_NETWORK_CLASS * tcpClient = new WEBSOCKETS_NETWORK_CLASS(_server->available());
|
||||
#else
|
||||
WEBSOCKETS_NETWORK_CLASS * tcpClient = new WEBSOCKETS_NETWORK_CLASS(_server->accept());
|
||||
#endif
|
||||
|
||||
if(!tcpClient) {
|
||||
DEBUG_WEBSOCKETS("[WS-Client] creating Network class failed!");
|
||||
return;
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
#ifndef WEBSOCKETSVERSION_H_
|
||||
#define WEBSOCKETSVERSION_H_
|
||||
|
||||
#define WEBSOCKETS_VERSION "2.5.2"
|
||||
#define WEBSOCKETS_VERSION "2.5.3"
|
||||
|
||||
#define WEBSOCKETS_VERSION_MAJOR 2
|
||||
#define WEBSOCKETS_VERSION_MINOR 5
|
||||
#define WEBSOCKETS_VERSION_PATCH 2
|
||||
#define WEBSOCKETS_VERSION_PATCH 3
|
||||
|
||||
#define WEBSOCKETS_VERSION_INT 2005002
|
||||
#define WEBSOCKETS_VERSION_INT 2005003
|
||||
|
||||
#endif /* WEBSOCKETSVERSION_H_ */
|
||||
|
||||
Reference in New Issue
Block a user