mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-25 19:56:30 +00:00
Merge branch 'development' into pre-release-12.3
This commit is contained in:
commit
f7d227c280
@ -21,6 +21,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
- RCSwitch exception 0/6 on some protocols (#17285)
|
- RCSwitch exception 0/6 on some protocols (#17285)
|
||||||
- ESP32 exception 28 when RtcNtpServer is enabled on restart (#17338)
|
- ESP32 exception 28 when RtcNtpServer is enabled on restart (#17338)
|
||||||
- Analog MQ exception 28 on restart (#17271)
|
- Analog MQ exception 28 on restart (#17271)
|
||||||
|
- ESP32 fix ``Ping``
|
||||||
|
|
||||||
## [12.2.0.5] 20221129
|
## [12.2.0.5] 20221129
|
||||||
### Added
|
### Added
|
||||||
|
@ -517,8 +517,14 @@ void WifiDumpAddressesIPv6(void)
|
|||||||
// Check to see if we have any routable IP address
|
// Check to see if we have any routable IP address
|
||||||
bool WifiHasIP(void) {
|
bool WifiHasIP(void) {
|
||||||
#ifdef USE_IPV6
|
#ifdef USE_IPV6
|
||||||
|
#ifdef ESP32
|
||||||
return !WiFi.localIP().isAny();
|
return !WiFi.localIP().isAny();
|
||||||
|
#else // ESP32
|
||||||
|
const ip_addr_t &ipaddr = (ip_addr_t)WiFi.localIP();
|
||||||
|
return !ip_addr_isany_val(ipaddr);
|
||||||
|
#endif // ESP32
|
||||||
#else
|
#else
|
||||||
|
// IPv4 only
|
||||||
return (uint32_t)WiFi.localIP() != 0;
|
return (uint32_t)WiFi.localIP() != 0;
|
||||||
#endif // USE_IPV6
|
#endif // USE_IPV6
|
||||||
}
|
}
|
||||||
@ -526,12 +532,13 @@ bool WifiHasIP(void) {
|
|||||||
void WifiCheckIp(void) {
|
void WifiCheckIp(void) {
|
||||||
#ifdef USE_IPV6
|
#ifdef USE_IPV6
|
||||||
if (WL_CONNECTED == WiFi.status()) {
|
if (WL_CONNECTED == WiFi.status()) {
|
||||||
|
#ifdef ESP32
|
||||||
if (!Wifi.ipv6_local_link_called) {
|
if (!Wifi.ipv6_local_link_called) {
|
||||||
WiFi.enableIpV6();
|
WiFi.enableIpV6();
|
||||||
Wifi.ipv6_local_link_called = true;
|
Wifi.ipv6_local_link_called = true;
|
||||||
// AddLog(LOG_LEVEL_DEBUG, PSTR("WIF: calling enableIpV6"));
|
// AddLog(LOG_LEVEL_DEBUG, PSTR("WIF: calling enableIpV6"));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif // USE_IPV6
|
#endif // USE_IPV6
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ extern "C" {
|
|||||||
return 0; // don't eat the packet and ignore it
|
return 0; // don't eat the packet and ignore it
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pbuf_header( p, -PBUF_IP_HLEN)==0) {
|
if (pbuf_header( p, -PBUF_TRANSPORT_HLEN)==0) {
|
||||||
struct icmp_echo_hdr *iecho;
|
struct icmp_echo_hdr *iecho;
|
||||||
iecho = (struct icmp_echo_hdr *)p->payload;
|
iecho = (struct icmp_echo_hdr *)p->payload;
|
||||||
|
|
||||||
|
@ -2376,7 +2376,7 @@ void SML_Decode(uint8_t index) {
|
|||||||
mp++;
|
mp++;
|
||||||
} else {
|
} else {
|
||||||
uint16_t pos = smltbuf[mindex][2] + 3;
|
uint16_t pos = smltbuf[mindex][2] + 3;
|
||||||
if (pos > 32) pos = 32;
|
if (pos > (SML_BSIZ-2)) pos = SML_BSIZ-2;
|
||||||
uint16_t crc = MBUS_calculateCRC(&smltbuf[mindex][0], pos, 0xFFFF);
|
uint16_t crc = MBUS_calculateCRC(&smltbuf[mindex][0], pos, 0xFFFF);
|
||||||
if (lowByte(crc) != smltbuf[mindex][pos]) goto nextsect;
|
if (lowByte(crc) != smltbuf[mindex][pos]) goto nextsect;
|
||||||
if (highByte(crc) != smltbuf[mindex][pos + 1]) goto nextsect;
|
if (highByte(crc) != smltbuf[mindex][pos + 1]) goto nextsect;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user