Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit 18ad864

Browse files
authored
v1.7.0 to fix Portenta_H7 bug
### Releases v1.7.0 1. Fix issue with Portenta_H7 core v2.7.2+. Check [[Portenta_H7] WiFi WebServer extremely slow from core v2.7.2 - v3.0.1 #441](arduino/ArduinoCore-mbed#441) 2. Rewrite to avoid `multiple-definitions` linker error for multiple-file project 3. Add example [multiFileProject](examples/multiFileProject) to demo how to avoid `multiple-definitions` linker error for multiple-file project 4. Update `Packages' Patches`
1 parent bb5d294 commit 18ad864

32 files changed

+902
-583
lines changed

CONTRIBUTING.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ If you don't find anything, please [open a new issue](https://github.com/khoih-p
1515
Please ensure to specify the following:
1616

1717
* Arduino IDE version (e.g. 1.8.19) or Platform.io version
18-
* Board Core Version (e.g. Arduino SAMDUE core v1.6.12, ESP8266 core v3.0.2, ArduinoCore-mbed v2.7.2, etc.)
18+
* Board Core Version (e.g. Arduino SAMDUE core v1.6.12, ESP8266 core v3.0.2, ArduinoCore-mbed v3.0.1, etc.)
1919
* Contextual information (e.g. what you were trying to achieve)
2020
* Simplest possible steps to reproduce
2121
* Anything that might be relevant in your opinion, such as:
@@ -28,9 +28,9 @@ Please ensure to specify the following:
2828
```
2929
Arduino IDE version: 1.8.19
3030
RASPBERRY_PI_PICO board
31-
ArduinoCore-mbed v2.7.2
31+
ArduinoCore-mbed v3.0.1
3232
OS: Ubuntu 20.04 LTS
33-
Linux xy-Inspiron-3593 5.4.0-100-generic #113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
33+
Linux xy-Inspiron-3593 5.13.0-39-generic #44~20.04.1-Ubuntu SMP Thu Mar 24 16:43:35 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3434
3535
Context:
3636
I encountered an endless loop while trying to connect to Local WiFi.
@@ -53,3 +53,4 @@ There are usually some outstanding feature requests in the [existing issues list
5353

5454
Pull Requests with changes and fixes are also welcome!
5555

56+

README.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@
6767
* [14. WebClient](examples/WebClient)
6868
* [15. WebClientRepeating](examples/WebClientRepeating)
6969
* [16. WebServer](examples/WebServer)
70-
* [17. WiFiUdpNtpClient](examples/WiFiUdpNtpClient).
70+
* [17. WiFiUdpNtpClient](examples/WiFiUdpNtpClient)
71+
* [18. multiFileProject](examples/multiFileProject) **New**
7172
* [HTTP and WebSocket Client New Examples](#http-and-websocket-client-new-examples)
7273
* [ 1. BasicAuthGet](examples/HTTPClient/BasicAuthGet)
7374
* [ 2. CustomHeader](examples/HTTPClient/CustomHeader)
@@ -210,9 +211,9 @@ This [**WiFiWebServer library**](https://github.com/khoih-prog/WiFiWebServer) cu
210211

211212
11. [`Arduino Core for STM32 v2.2.0+`](https://github.com/stm32duino/Arduino_Core_STM32) for STM32F/L/H/G/WB/MP1 boards. [![GitHub release](https://img.shields.io/github/release/stm32duino/Arduino_Core_STM32.svg)](https://github.com/stm32duino/Arduino_Core_STM32/releases/latest)
212213

213-
12. [`Earle Philhower's arduino-pico core v1.12.0+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [![GitHub release](https://img.shields.io/github/release/earlephilhower/arduino-pico.svg)](https://github.com/earlephilhower/arduino-pico/releases/latest)
214+
12. [`Earle Philhower's arduino-pico core v1.13.1+`](https://github.com/earlephilhower/arduino-pico) for RP2040-based boards such as **RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040**, etc. [![GitHub release](https://img.shields.io/github/release/earlephilhower/arduino-pico.svg)](https://github.com/earlephilhower/arduino-pico/releases/latest)
214215

215-
13. [`ArduinoCore-mbed mbed_rp2040, mbed_nano, mbed_portenta core 2.7.2+`](https://github.com/arduino/ArduinoCore-mbed) for Arduino (Use Arduino Board Manager) **Portenta_H7, RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO**. [![GitHub release](https://img.shields.io/github/release/arduino/ArduinoCore-mbed.svg)](https://github.com/arduino/ArduinoCore-mbed/releases/latest)
216+
13. [`ArduinoCore-mbed mbed_rp2040, mbed_nano, mbed_portenta core 3.0.1+`](https://github.com/arduino/ArduinoCore-mbed) for Arduino (Use Arduino Board Manager) **Portenta_H7, RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO**. [![GitHub release](https://img.shields.io/github/release/arduino/ArduinoCore-mbed.svg)](https://github.com/arduino/ArduinoCore-mbed/releases/latest)
216217

217218
14. [`Arduino megaAVR core 1.8.7+`](https://github.com/arduino/ArduinoCore-megaavr/releases) for Arduino megaAVR boards such as **UNO_WIFI_REV2, NANO_EVERY**
218219

@@ -460,12 +461,12 @@ With core after v1.5.0, this step is not necessary anymore thanks to the PR [Add
460461

461462
#### 9. For Portenta_H7 boards using Arduino IDE in Linux
462463

463-
**To be able to upload firmware to Portenta_H7 using Arduino IDE in Linux (Ubuntu, etc.)**, you have to copy the file [portenta_post_install.sh](Packages_Patches/arduino/hardware/mbed_portenta/2.7.2/portenta_post_install.sh) into mbed_portenta directory (~/.arduino15/packages/arduino/hardware/mbed_portenta/2.7.2/portenta_post_install.sh).
464+
**To be able to upload firmware to Portenta_H7 using Arduino IDE in Linux (Ubuntu, etc.)**, you have to copy the file [portenta_post_install.sh](Packages_Patches/arduino/hardware/mbed_portenta/3.0.1/portenta_post_install.sh) into mbed_portenta directory (~/.arduino15/packages/arduino/hardware/mbed_portenta/3.0.1/portenta_post_install.sh).
464465

465466
Then run the following command using `sudo`
466467

467468
```
468-
$ cd ~/.arduino15/packages/arduino/hardware/mbed_portenta/2.7.2
469+
$ cd ~/.arduino15/packages/arduino/hardware/mbed_portenta/3.0.1
469470
$ chmod 755 portenta_post_install.sh
470471
$ sudo ./portenta_post_install.sh
471472
```
@@ -478,9 +479,9 @@ This will create the file `/etc/udev/rules.d/49-portenta_h7.rules` as follows:
478479
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="035b", GROUP="plugdev", MODE="0666"
479480
```
480481

481-
Supposing the ArduinoCore-mbed core version is 2.7.2. Now only one file must be copied into the directory:
482+
Supposing the ArduinoCore-mbed core version is 3.0.1. Now only one file must be copied into the directory:
482483

483-
- `~/.arduino15/packages/arduino/hardware/mbed_portenta/2.7.2/portenta_post_install.sh`
484+
- `~/.arduino15/packages/arduino/hardware/mbed_portenta/3.0.1/portenta_post_install.sh`
484485

485486
Whenever a new version is installed, remember to copy this files into the new version directory. For example, new version is x.yy.zz
486487

@@ -750,6 +751,7 @@ Example:
750751
15. [WebClientRepeating](examples/WebClientRepeating)
751752
16. [WebServer](examples/WebServer)
752753
17. [WiFiUdpNtpClient](examples/WiFiUdpNtpClient)
754+
18. [multiFileProject](examples/multiFileProject) **New**
753755

754756
#### HTTP and WebSocket Client New Examples
755757

@@ -774,14 +776,12 @@ Example:
774776
#### 1. File [AdvancedWebServer.ino](examples/AdvancedWebServer/AdvancedWebServer.ino)
775777

776778

777-
https://github.com/khoih-prog/WiFiWebServer/blob/6ffb7741516073c50f45edbd5a46c5cd514b9fda/examples/AdvancedWebServer/AdvancedWebServer.ino#L40-L297
778-
779-
779+
https://github.com/khoih-prog/WiFiWebServer/blob/e91bb1ce7051d6b2abb97a8d17220d70e470238f/examples/AdvancedWebServer/AdvancedWebServer.ino#L40-L297
780780

781781
#### 2. File [defines.h](examples/AdvancedWebServer/defines.h)
782782

783-
https://github.com/khoih-prog/WiFiWebServer/blob/6ffb7741516073c50f45edbd5a46c5cd514b9fda/examples/AdvancedWebServer/defines.h#L12-L386
784783

784+
https://github.com/khoih-prog/WiFiWebServer/blob/e91bb1ce7051d6b2abb97a8d17220d70e470238f/examples/AdvancedWebServer/defines.h#L12-L384
785785

786786
---
787787
---
@@ -798,7 +798,7 @@ The following are debug terminal output and screen shot when running example [**
798798

799799
```
800800
Starting AdvancedServer on SAMD_NANO_33_IOT
801-
WiFiWebServer v1.6.3
801+
WiFiWebServer v1.7.0
802802
[NN] ===============================
803803
[NN]
804804
Used/default SPI pinout:
@@ -952,7 +952,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
952952

953953
```
954954
Starting SimpleWebSocket on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
955-
WiFiWebServer v1.6.3
955+
WiFiWebServer v1.7.0
956956
Connecting to SSID: HueNet1
957957
You're connected to the network, IP = 192.168.2.98
958958
SSID: HueNet1, Signal strength (RSSI):-24 dBm
@@ -986,7 +986,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
986986

987987
```
988988
Starting SimpleHTTPExample on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
989-
WiFiWebServer v1.6.3
989+
WiFiWebServer v1.7.0
990990
Connecting to SSID: HueNet1
991991
You're connected to the network, IP = 192.168.2.98
992992
SSID: HueNet1, Signal strength (RSSI):-21 dBm
@@ -1046,7 +1046,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
10461046

10471047
```
10481048
Starting DweetPost on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
1049-
WiFiWebServer v1.6.3
1049+
WiFiWebServer v1.7.0
10501050
Connecting to SSID: HueNet1
10511051
You're connected to the network, IP = 192.168.2.98
10521052
SSID: HueNet1, Signal strength (RSSI):-22 dBm
@@ -1069,7 +1069,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
10691069

10701070
```
10711071
Starting DweetGet on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
1072-
WiFiWebServer v1.6.3
1072+
WiFiWebServer v1.7.0
10731073
Connecting to SSID: HueNet1
10741074
You're connected to the network, IP = 192.168.2.98
10751075
SSID: HueNet1, Signal strength (RSSI):-25 dBm
@@ -1099,7 +1099,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
10991099

11001100
```
11011101
Starting MQTTClient_Auth on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
1102-
WiFiWebServer v1.6.3
1102+
WiFiWebServer v1.7.0
11031103
Please upgrade the firmware
11041104
Connecting to WPA SSID: HueNet1
11051105
Connected! IP address: 192.168.2.98
@@ -1120,7 +1120,7 @@ The terminal output of **SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic L
11201120
```
11211121
Start MQTT_ThingStream on SAMD_NANO_33_IOT
11221122
Starting MQTTClient_Auth on SAMD_NANO_33_IOT with WiFiNINA using WiFiNINA_Generic Library
1123-
WiFiWebServer v1.6.3
1123+
WiFiWebServer v1.7.0
11241124
Please upgrade the firmware
11251125
Connecting to WPA SSID: HueNet1
11261126
Connected! IP address: 192.168.2.98
@@ -1148,7 +1148,7 @@ The terminal output of **RASPBERRY_PI_PICO with Custom WiFi (ESP8266-AT) using C
11481148

11491149
```
11501150
Starting WebClientRepeating on RASPBERRY_PI_PICO with Custom WiFi using Custom WiFi Library
1151-
WiFiWebServer v1.6.3
1151+
WiFiWebServer v1.7.0
11521152
WiFi shield init done
11531153
Connecting to SSID: HueNet1
11541154
You're connected to the network, IP = 192.168.2.76
@@ -1221,7 +1221,7 @@ The following are debug terminal output and screen shot when running example [**
12211221

12221222
```
12231223
Starting AdvancedServer on Nano RP2040 Connect with WiFiNINA using WiFiNINA_Generic Library
1224-
WiFiWebServer v1.6.3
1224+
WiFiWebServer v1.7.0
12251225
Connecting to WPA SSID: HueNet1
12261226
HTTP server started @ 192.168.2.130
12271227
H[WIFI] handleClient: New Client
@@ -1350,7 +1350,7 @@ The terminal output of **ESP32_DEV** running [SimpleHTTPExample example](example
13501350

13511351
```
13521352
Starting SimpleHTTPExample on ESP32_DEV with ESP WiFi using WiFi Library
1353-
WiFiWebServer v1.6.3
1353+
WiFiWebServer v1.7.0
13541354
Connecting to SSID: HueNet1
13551355
You're connected to the network, IP = 192.168.2.80
13561356
SSID: HueNet1, Signal strength (RSSI):-23 dBm
@@ -1417,7 +1417,7 @@ The following are debug terminal output and screen shot when running example [**
14171417

14181418
```
14191419
Starting AdvancedServer on PORTENTA_H7_M7 with Portenta_H7 WiFi
1420-
WiFiWebServer v1.6.3
1420+
WiFiWebServer v1.7.0
14211421
Connecting to WPA SSID: HueNet1
14221422
HTTP server started @ 192.168.2.138
14231423
H[WIFI] String Len = 0, extend to 2048
@@ -1433,7 +1433,7 @@ The terminal output of **PORTENTA_H7_M7 with Portenta_H7 WiFi** running [MQTTCli
14331433

14341434
```
14351435
Starting MQTTClient_Auth on PORTENTA_H7_M7 with Portenta_H7 WiFi
1436-
WiFiWebServer v1.6.3
1436+
WiFiWebServer v1.7.0
14371437
Connecting to SSID: HueNet1
14381438
Connected! IP address: 192.168.2.130
14391439
Attempting MQTT connection to broker.emqx.io...connected
@@ -1453,7 +1453,7 @@ The terminal output of **PORTENTA_H7_M7 with Portenta_H7 WiFi** running [WebClie
14531453

14541454
```
14551455
Starting WebClientRepeating on PORTENTA_H7_M7 with Portenta_H7 WiFi
1456-
WiFiWebServer v1.6.3
1456+
WiFiWebServer v1.7.0
14571457
Connecting to SSID: HueNet1
14581458
You're connected to the network, IP = 192.168.2.130
14591459
SSID: HueNet1, Signal strength (RSSI):-33 dBm
@@ -1527,7 +1527,7 @@ The following are debug terminal output and screen shot when running example [**
15271527

15281528
```
15291529
Starting AdvancedWebServer on ESP32C3_DEV with ESP WiFi using WiFi Library
1530-
WiFiWebServer v1.6.3
1530+
WiFiWebServer v1.7.0
15311531
Connecting to WPA SSID: HueNet1
15321532
HTTP server started @ 192.168.2.86
15331533
HH
@@ -1546,7 +1546,7 @@ The following are debug terminal output and screen shot when running example [**
15461546

15471547
```
15481548
Starting AdvancedWebServer on ESP32S3_DEV with ESP WiFi using WiFi Library
1549-
WiFiWebServer v1.6.3
1549+
WiFiWebServer v1.7.0
15501550
Connecting to WPA SSID: HueNet1
15511551
HTTP server started @ 192.168.2.86
15521552
HH
@@ -1610,7 +1610,7 @@ Submit issues to: [WiFiWebServer issues](https://github.com/khoih-prog/WiFiWebSe
16101610
16. Optimize library code and examples by using **reference-passing instead of value-passing**.
16111611
17. Add support to new **ESP32-S3** and **ESP32_C3**
16121612
18. Add support to megaAVR boards (UNO_WIFI_REV2, NANO_EVERY) using [Arduino megaAVR core](https://github.com/arduino/ArduinoCore-megaavr)
1613-
1613+
19. Rewrite library and add example [multiFileProject](examples/multiFileProject) to demo for multiple-file project to fix `multiple-definitions` linker error
16141614

16151615
---
16161616
---

changelog.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
## Table of Contents
1313

1414
* [Changelog](#changelog)
15+
* [Releases v1.7.0](#releases-v170)
1516
* [Releases v1.6.3](#releases-v163)
1617
* [Releases v1.6.2](#releases-v162)
1718
* [Releases v1.6.1](#releases-v161)
@@ -43,6 +44,13 @@
4344

4445
## Changelog
4546

47+
### Releases v1.7.0
48+
49+
1. Fix issue with Portenta_H7 core v2.7.2+. Check [[Portenta_H7] WiFi WebServer extremely slow from core v2.7.2 - v3.0.1 #441](https://github.com/arduino/ArduinoCore-mbed/issues/441)
50+
2. Rewrite to avoid `multiple-definitions` linker error for multiple-file project
51+
3. Add example [multiFileProject](examples/multiFileProject) to demo how to avoid `multiple-definitions` linker error for multiple-file project
52+
4. Update `Packages' Patches`
53+
4654
### Releases v1.6.3
4755

4856
1. Fix decoding error bug when using special `&` in data fields. Check [Decoding Error. two times called urlDecode in Parsing-impl.h. #17](https://github.com/khoih-prog/WiFiWebServer/issues/17)

keywords.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,3 @@ DIGEST_AUTH LITERAL1
209209

210210
AUTHORIZATION_HEADER LITERAL1
211211

212-
213-
214-
215-
216-

library.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "WiFiWebServer",
3-
"version": "1.6.3",
3+
"version": "1.7.0",
44
"keywords": "wifi, wi-fi, WebServer, WiFiNINA, WiFi101, ESP32, Portenta-H7, SAM-DUE, SAMD, STM32, nRF52, rpi-pico, rp2040, HTTP-Client, WebSocket-Client, server, client, websocket, AVR, mega-avr",
55
"description": "Simple WiFiWebServer, HTTP Client and WebSocket Client library for AVR Mega, Portenta_H7, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, RP2040-based (Nano-RP2040-Connect, RASPBERRY_PI_PICO, ESP32/ESP8266, etc.) boards using WiFi, such as WiFiNINA, WiFi101, U-Blox W101, W102, ESP8266/ESP32-AT modules/shields, with functions similar to those of ESP8266/ESP32 WebServer libraries.",
66
"authors":
@@ -57,5 +57,5 @@
5757
"frameworks": "*",
5858
"platforms": "*",
5959
"examples": "examples/*/*/*.ino",
60-
"headers": ["WiFiWebServer.h", "WiFiHttpClient.h"]
60+
"headers": ["WiFiWebServer.h", "WiFiWebServer.hpp", "WiFiHttpClient.h"]
6161
}

library.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=WiFiWebServer
2-
version=1.6.3
2+
version=1.7.0
33
author=Khoi Hoang
44
license=MIT
55
maintainer=Khoi Hoang <[email protected]>
@@ -9,4 +9,4 @@ category=Communication
99
url=https://github.com/khoih-prog/WiFiWebServer
1010
architectures=*
1111
depends=Functional-Vlpp,WiFiNINA_Generic,ESP_AT_Lib,WiFiEspAT
12-
includes=WiFiWebServer.h,WiFiHttpClient.h
12+
includes=WiFiWebServer.h, WiFiWebServer.hpp, WiFiHttpClient.h

0 commit comments

Comments
 (0)