Skip to content

Commit 2b6249b

Browse files
authored
Merge branch 'master' into 7b29bac+LilyGo_T_Relay_S3_board_definition
2 parents b9541d4 + 205781b commit 2b6249b

File tree

15 files changed

+309
-73
lines changed

15 files changed

+309
-73
lines changed

boards.txt

+114
Original file line numberDiff line numberDiff line change
@@ -7705,6 +7705,120 @@ lolin_c3_mini.menu.EraseFlash.all.upload.erase_cmd=-e
77057705

77067706
##############################################################
77077707

7708+
lolin_c3_pico.name=LOLIN C3 Pico
7709+
lolin_c3_pico.vid.0=0x303a
7710+
lolin_c3_pico.pid.0=0x1001
7711+
7712+
lolin_c3_pico.bootloader.tool=esptool_py
7713+
lolin_c3_pico.bootloader.tool.default=esptool_py
7714+
7715+
lolin_c3_pico.upload.tool=esptool_py
7716+
lolin_c3_pico.upload.tool.default=esptool_py
7717+
lolin_c3_pico.upload.tool.network=esp_ota
7718+
7719+
lolin_c3_pico.upload.maximum_size=1310720
7720+
lolin_c3_pico.upload.maximum_data_size=327680
7721+
lolin_c3_pico.upload.flags=
7722+
lolin_c3_pico.upload.extra_flags=
7723+
lolin_c3_pico.upload.use_1200bps_touch=false
7724+
lolin_c3_pico.upload.wait_for_upload_port=false
7725+
7726+
lolin_c3_pico.serial.disableDTR=true
7727+
lolin_c3_pico.serial.disableRTS=true
7728+
7729+
lolin_c3_pico.build.tarch=riscv32
7730+
lolin_c3_pico.build.target=esp
7731+
lolin_c3_pico.build.mcu=esp32c3
7732+
lolin_c3_pico.build.core=esp32
7733+
lolin_c3_pico.build.variant=lolin_c3_pico
7734+
lolin_c3_pico.build.board=LOLIN_C3_PICO
7735+
lolin_c3_pico.build.bootloader_addr=0x0
7736+
7737+
lolin_c3_pico.build.cdc_on_boot=1
7738+
lolin_c3_pico.build.f_cpu=160000000L
7739+
lolin_c3_pico.build.flash_size=4MB
7740+
lolin_c3_pico.build.flash_freq=80m
7741+
lolin_c3_pico.build.flash_mode=dio
7742+
lolin_c3_pico.build.boot=qio
7743+
lolin_c3_pico.build.partitions=default
7744+
lolin_c3_pico.build.defines=
7745+
7746+
lolin_c3_pico.menu.CDCOnBoot.default=Enabled
7747+
lolin_c3_pico.menu.CDCOnBoot.default.build.cdc_on_boot=1
7748+
lolin_c3_pico.menu.CDCOnBoot.dis_cdc=Disabled
7749+
lolin_c3_pico.menu.CDCOnBoot.dis_cdc.build.cdc_on_boot=0
7750+
7751+
lolin_c3_pico.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
7752+
lolin_c3_pico.menu.PartitionScheme.default.build.partitions=default
7753+
lolin_c3_pico.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
7754+
lolin_c3_pico.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
7755+
lolin_c3_pico.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
7756+
lolin_c3_pico.menu.PartitionScheme.no_ota.build.partitions=no_ota
7757+
lolin_c3_pico.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
7758+
lolin_c3_pico.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
7759+
lolin_c3_pico.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
7760+
lolin_c3_pico.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
7761+
lolin_c3_pico.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
7762+
lolin_c3_pico.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
7763+
lolin_c3_pico.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
7764+
lolin_c3_pico.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
7765+
lolin_c3_pico.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
7766+
lolin_c3_pico.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
7767+
lolin_c3_pico.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
7768+
lolin_c3_pico.menu.PartitionScheme.huge_app.build.partitions=huge_app
7769+
lolin_c3_pico.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
7770+
7771+
lolin_c3_pico.menu.CPUFreq.160=160MHz (WiFi)
7772+
lolin_c3_pico.menu.CPUFreq.160.build.f_cpu=160000000L
7773+
lolin_c3_pico.menu.CPUFreq.80=80MHz (WiFi)
7774+
lolin_c3_pico.menu.CPUFreq.80.build.f_cpu=80000000L
7775+
lolin_c3_pico.menu.CPUFreq.40=40MHz
7776+
lolin_c3_pico.menu.CPUFreq.40.build.f_cpu=40000000L
7777+
lolin_c3_pico.menu.CPUFreq.20=20MHz
7778+
lolin_c3_pico.menu.CPUFreq.20.build.f_cpu=20000000L
7779+
lolin_c3_pico.menu.CPUFreq.10=10MHz
7780+
lolin_c3_pico.menu.CPUFreq.10.build.f_cpu=10000000L
7781+
7782+
lolin_c3_pico.menu.FlashFreq.80=80MHz
7783+
lolin_c3_pico.menu.FlashFreq.80.build.flash_freq=80m
7784+
lolin_c3_pico.menu.FlashFreq.40=40MHz
7785+
lolin_c3_pico.menu.FlashFreq.40.build.flash_freq=40m
7786+
7787+
lolin_c3_pico.menu.UploadSpeed.921600=921600
7788+
lolin_c3_pico.menu.UploadSpeed.921600.upload.speed=921600
7789+
lolin_c3_pico.menu.UploadSpeed.115200=115200
7790+
lolin_c3_pico.menu.UploadSpeed.115200.upload.speed=115200
7791+
lolin_c3_pico.menu.UploadSpeed.256000.windows=256000
7792+
lolin_c3_pico.menu.UploadSpeed.256000.upload.speed=256000
7793+
lolin_c3_pico.menu.UploadSpeed.230400.windows.upload.speed=256000
7794+
lolin_c3_pico.menu.UploadSpeed.230400=230400
7795+
lolin_c3_pico.menu.UploadSpeed.230400.upload.speed=230400
7796+
lolin_c3_pico.menu.UploadSpeed.460800.linux=460800
7797+
lolin_c3_pico.menu.UploadSpeed.460800.macosx=460800
7798+
lolin_c3_pico.menu.UploadSpeed.460800.upload.speed=460800
7799+
lolin_c3_pico.menu.UploadSpeed.512000.windows=512000
7800+
lolin_c3_pico.menu.UploadSpeed.512000.upload.speed=512000
7801+
7802+
lolin_c3_pico.menu.DebugLevel.none=None
7803+
lolin_c3_pico.menu.DebugLevel.none.build.code_debug=0
7804+
lolin_c3_pico.menu.DebugLevel.error=Error
7805+
lolin_c3_pico.menu.DebugLevel.error.build.code_debug=1
7806+
lolin_c3_pico.menu.DebugLevel.warn=Warn
7807+
lolin_c3_pico.menu.DebugLevel.warn.build.code_debug=2
7808+
lolin_c3_pico.menu.DebugLevel.info=Info
7809+
lolin_c3_pico.menu.DebugLevel.info.build.code_debug=3
7810+
lolin_c3_pico.menu.DebugLevel.debug=Debug
7811+
lolin_c3_pico.menu.DebugLevel.debug.build.code_debug=4
7812+
lolin_c3_pico.menu.DebugLevel.verbose=Verbose
7813+
lolin_c3_pico.menu.DebugLevel.verbose.build.code_debug=5
7814+
7815+
lolin_c3_pico.menu.EraseFlash.none=Disabled
7816+
lolin_c3_pico.menu.EraseFlash.none.upload.erase_cmd=
7817+
lolin_c3_pico.menu.EraseFlash.all=Enabled
7818+
lolin_c3_pico.menu.EraseFlash.all.upload.erase_cmd=-e
7819+
7820+
##############################################################
7821+
77087822
lolin_s2_mini.name=LOLIN S2 Mini
77097823
lolin_s2_mini.vid.0=0x303a
77107824
lolin_s2_mini.pid.0=0x80C2

cores/esp32/Server.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
class Server: public Print
2626
{
2727
public:
28-
virtual void begin(uint16_t port=0) =0;
28+
virtual void begin() =0;
2929
};
3030

3131
#endif

libraries/Ethernet/src/ETH.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void ETHClass::_onEthEvent(int32_t event_id, void* event_data){
107107
} else if (event_id == ETHERNET_EVENT_STOP) {
108108
log_v("%s Stopped", desc());
109109
arduino_event.event_id = ARDUINO_EVENT_ETH_STOP;
110-
clearStatusBits(ESP_NETIF_STARTED_BIT | ESP_NETIF_CONNECTED_BIT | ESP_NETIF_HAS_IP_BIT | ESP_NETIF_HAS_LOCAL_IP6_BIT | ESP_NETIF_HAS_GLOBAL_IP6_BIT);
110+
clearStatusBits(ESP_NETIF_STARTED_BIT | ESP_NETIF_CONNECTED_BIT | ESP_NETIF_HAS_IP_BIT | ESP_NETIF_HAS_LOCAL_IP6_BIT | ESP_NETIF_HAS_GLOBAL_IP6_BIT | ESP_NETIF_HAS_STATIC_IP_BIT);
111111
}
112112

113113
if(arduino_event.event_id < ARDUINO_EVENT_MAX){

libraries/Network/src/NetworkInterface.cpp

+7-4
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ bool NetworkInterface::connected() const {
281281
}
282282

283283
bool NetworkInterface::hasIP() const {
284-
return (getStatusBits() & ESP_NETIF_HAS_IP_BIT) != 0;
284+
return (getStatusBits() & (ESP_NETIF_HAS_IP_BIT | ESP_NETIF_HAS_STATIC_IP_BIT)) != 0;
285285
}
286286

287287
bool NetworkInterface::hasLinkLocalIPv6() const {
@@ -451,7 +451,7 @@ bool NetworkInterface::config(IPAddress local_ip, IPAddress gateway, IPAddress s
451451
return false;
452452
}
453453

454-
clearStatusBits(ESP_NETIF_HAS_IP_BIT);
454+
clearStatusBits(ESP_NETIF_HAS_IP_BIT | ESP_NETIF_HAS_STATIC_IP_BIT);
455455

456456
// Set IPv4, Netmask, Gateway
457457
err = esp_netif_set_ip_info(_esp_netif, &info);
@@ -473,7 +473,7 @@ bool NetworkInterface::config(IPAddress local_ip, IPAddress gateway, IPAddress s
473473
return false;
474474
}
475475
} else {
476-
setStatusBits(ESP_NETIF_HAS_IP_BIT);
476+
setStatusBits(ESP_NETIF_HAS_STATIC_IP_BIT);
477477
}
478478
}
479479

@@ -671,7 +671,10 @@ IPAddress NetworkInterface::globalIPv6() const
671671

672672
size_t NetworkInterface::printTo(Print & out) const {
673673
size_t bytes = 0;
674-
bytes += out.print(esp_netif_get_desc(_esp_netif));
674+
const char * dscr = esp_netif_get_desc(_esp_netif);
675+
if(dscr != NULL){
676+
bytes += out.print(dscr);
677+
}
675678
bytes += out.print(":");
676679
if(esp_netif_is_netif_up(_esp_netif)){
677680
bytes += out.print(" <UP");

libraries/Network/src/NetworkInterface.h

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ static const int ESP_NETIF_HAS_IP_BIT = BIT2;
2727
static const int ESP_NETIF_HAS_LOCAL_IP6_BIT = BIT3;
2828
static const int ESP_NETIF_HAS_GLOBAL_IP6_BIT = BIT4;
2929
static const int ESP_NETIF_WANT_IP6_BIT = BIT5;
30+
static const int ESP_NETIF_HAS_STATIC_IP_BIT = BIT6;
3031

3132
#define ESP_NETIF_ID_ETH ESP_NETIF_ID_ETH0
3233

libraries/Update/src/HttpsOTAUpdate.h

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
/* OTA task
2+
3+
This example code is in the Public Domain (or CC0 licensed, at your option.)
4+
5+
Unless required by applicable law or agreed to in writing, this
6+
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
7+
CONDITIONS OF ANY KIND, either express or implied.
8+
*/
19
#ifndef HTTPSOTAUPDATE_H
210
#define HTTPSOTAUPDATE_H
311
#include "esp_http_client.h"

libraries/Update/src/Update.h

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
17
#ifndef ESP32UPDATER_H
28
#define ESP32UPDATER_H
39

libraries/Update/src/Updater.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
17
#include "Update.h"
28
#include "Arduino.h"
39
#include "spi_flash_mmap.h"

libraries/WiFi/src/AP.cpp

+22-24
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,13 @@ static void _ap_event_cb(void* arg, esp_event_base_t event_base, int32_t event_i
8282
}
8383
}
8484

85-
static void _onApArduinoEvent(arduino_event_id_t event, arduino_event_info_t info)
85+
static void _onApArduinoEvent(arduino_event_t *ev)
8686
{
87-
if(_ap_network_if == NULL || event < ARDUINO_EVENT_WIFI_AP_START || event > ARDUINO_EVENT_WIFI_AP_GOT_IP6){
87+
if(_ap_network_if == NULL || ev->event_id < ARDUINO_EVENT_WIFI_AP_START || ev->event_id > ARDUINO_EVENT_WIFI_AP_GOT_IP6){
8888
return;
8989
}
90-
log_d("Arduino AP Event: %d - %s", event, Network.eventName(event));
91-
if(event == ARDUINO_EVENT_WIFI_AP_START) {
90+
log_d("Arduino AP Event: %d - %s", ev->event_id, Network.eventName(ev->event_id));
91+
if(ev->event_id == ARDUINO_EVENT_WIFI_AP_START) {
9292
if (_ap_network_if->getStatusBits() & ESP_NETIF_WANT_IP6_BIT){
9393
esp_err_t err = esp_netif_create_ip6_linklocal(_ap_network_if->netif());
9494
if(err != ESP_OK){
@@ -157,37 +157,21 @@ APClass::~APClass(){
157157
_ap_network_if = NULL;
158158
}
159159

160-
bool APClass::begin(){
161-
162-
Network.begin();
160+
bool APClass::onEnable(){
163161
if(_ap_ev_instance == NULL && esp_event_handler_instance_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &_ap_event_cb, this, &_ap_ev_instance)){
164162
log_e("event_handler_instance_register for WIFI_EVENT Failed!");
165163
return false;
166164
}
167165
if(_esp_netif == NULL){
168166
Network.onSysEvent(_onApArduinoEvent);
169-
}
170-
171-
if(!WiFi.enableAP(true)) {
172-
log_e("AP enable failed!");
173-
return false;
174-
}
175-
176-
// attach events and esp_netif here
177-
if(_esp_netif == NULL){
178167
_esp_netif = get_esp_interface_netif(ESP_IF_WIFI_AP);
179168
/* attach to receive events */
180169
initNetif(ESP_NETIF_ID_AP);
181170
}
182-
183171
return true;
184172
}
185173

186-
bool APClass::end(){
187-
if(!WiFi.enableAP(false)) {
188-
log_e("AP disable failed!");
189-
return false;
190-
}
174+
bool APClass::onDisable(){
191175
Network.removeEvent(_onApArduinoEvent);
192176
// we just set _esp_netif to NULL here, so destroyNetif() does not try to destroy it.
193177
// That would be done by WiFi.enableAP(false) if STA is not enabled, or when it gets disabled
@@ -200,15 +184,29 @@ bool APClass::end(){
200184
return true;
201185
}
202186

187+
bool APClass::begin(){
188+
if(!WiFi.enableAP(true)) {
189+
log_e("AP enable failed!");
190+
return false;
191+
}
192+
return true;
193+
}
194+
195+
bool APClass::end(){
196+
if(!WiFi.enableAP(false)) {
197+
log_e("AP disable failed!");
198+
return false;
199+
}
200+
return true;
201+
}
202+
203203
bool APClass::create(const char* ssid, const char* passphrase, int channel, int ssid_hidden, int max_connection, bool ftm_responder){
204204
if(!ssid || *ssid == 0) {
205-
// fail SSID missing
206205
log_e("SSID missing!");
207206
return false;
208207
}
209208

210209
if(passphrase && (strlen(passphrase) > 0 && strlen(passphrase) < 8)) {
211-
// fail passphrase too short
212210
log_e("passphrase too short!");
213211
return false;
214212
}

0 commit comments

Comments
 (0)