Fix TuyaMCU v1 exception 28 regression from v15.1.0.1 reverted PR24063 (#24220)
This commit is contained in:
parent
a40d778795
commit
bb0cc4fa5b
@ -9,8 +9,11 @@ All notable changes to this project will be documented in this file.
|
|||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
- Vid6608 library from v1.0.2 to v1.0.3 (#24218)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
- DALI watchdog exception
|
||||||
|
- TuyaMCU v1 exception 28 regression from v15.1.0.1 reverted PR24063 (#24220)
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
|||||||
@ -116,5 +116,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
|||||||
### Added
|
### Added
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
- Vid6608 library from v1.0.2 to v1.0.3 [#24218](https://github.com/arendst/Tasmota/issues/24218)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
- DALI watchdog exception
|
||||||
|
- TuyaMCU v1 exception 28 regression from v15.1.0.1 reverted PR24063 [#24220](https://github.com/arendst/Tasmota/issues/24220)
|
||||||
|
|||||||
@ -1097,32 +1097,12 @@ void TuyaNormalPowerModePacketProcess(void)
|
|||||||
case TUYA_CMD_STATE:
|
case TUYA_CMD_STATE:
|
||||||
TuyaProcessStatePacket();
|
TuyaProcessStatePacket();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case TUYA_CMD_WIFI_RESET:
|
||||||
case TUYA_CMD_WIFI_SELECT:
|
case TUYA_CMD_WIFI_SELECT:
|
||||||
case TUYA_CMD_WIFI_RESET: {
|
AddLog(LOG_LEVEL_DEBUG, PSTR("TYA: RX WiFi Reset"));
|
||||||
const bool is_select = (Tuya.buffer[3] == TUYA_CMD_WIFI_SELECT);
|
|
||||||
const uint16_t payload_len = ((uint16_t)Tuya.buffer[4] << 8) | Tuya.buffer[5];
|
|
||||||
|
|
||||||
// Establish pairing mode - WIFI_RESET is assumed to be AP mode
|
|
||||||
uint8_t first = 0x01;
|
|
||||||
if (is_select && !(payload_len >= 1 && Tuya.buffer[6] == 0x01)) {
|
|
||||||
first = 0x00;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Send ACK, then WIFI_STATE ramp up to cloud connected to re-enable MCU control
|
|
||||||
TuyaSendCmd(is_select ? TUYA_CMD_WIFI_SELECT : TUYA_CMD_WIFI_RESET);
|
|
||||||
uint8_t st = first; TuyaSendCmd(TUYA_CMD_WIFI_STATE, &st, 1);
|
|
||||||
st = 0x02; TuyaSendCmd(TUYA_CMD_WIFI_STATE, &st, 1);
|
|
||||||
st = 0x03; TuyaSendCmd(TUYA_CMD_WIFI_STATE, &st, 1);
|
|
||||||
st = 0x04; TuyaSendCmd(TUYA_CMD_WIFI_STATE, &st, 1);
|
|
||||||
|
|
||||||
AddLog(LOG_LEVEL_DEBUG, PSTR("TYA: WIFI_%s received (%s), sent WIFI_STATE ramp"),
|
|
||||||
is_select ? PSTR("SELECT") : PSTR("RESET"),
|
|
||||||
(first == 0x01) ? "AP" : "EZ");
|
|
||||||
|
|
||||||
// Now actually reset Tasmota WiFi
|
|
||||||
TuyaResetWifi();
|
TuyaResetWifi();
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
case TUYA_CMD_WIFI_STATE:
|
case TUYA_CMD_WIFI_STATE:
|
||||||
AddLog(LOG_LEVEL_DEBUG, PSTR("TYA: RX WiFi LED set ACK"));
|
AddLog(LOG_LEVEL_DEBUG, PSTR("TYA: RX WiFi LED set ACK"));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user