void pp_soft_wdt_feed_local() { struct rst_info rst_info; rst_info.exccause = RSR(EXCCAUSE); rst_info.epc1 = RSR(EPC1); rst_info.epc2 = RSR(EPC2); rst_info.epc3 = RSR(EPC3); rst_info.excvaddr = RSR(EXCVADDR); rst_info.depc = RSR(DEPC); if(wdt_flg == true) { rst_info.reason = REASON_SOFT_WDT_RST; // =3 system_rtc_mem_write(0, &rst_info, sizeof(rst_info)); ets_intr_lock(); Wait_SPI_Idle(flashchip); Cache_Read_Enable_New(); system_restart_local(); } else { rst_info.reason = REASON_WDT_RST; // =1 system_rtc_mem_write(0, &rst_info, sizeof(rst_info)); #if DEF_SDK_VERSION >= 1119 wDev_MacTim1Arm(soft_wdt_interval); #else ets_timer_disarm(SoftWdtTimer); ets_timer_arm_new(SoftWdtTimer, soft_wdt_interval, 0, 1); #endif wdt_flg = true; pp_post(12); } }
void pp_soft_wdt_feed() { struct rst_info rst_info; rst_info.exccause = RSR(EXCCAUSE); rst_info.epc1 = RSR(EPC1); rst_info.epc2 = RSR(EPC2); rst_info.epc3 = RSR(EPC3); rst_info.excvaddr = RSR(EXCVADDR); rst_info.depc = RSR(DEPC); rst_info.reason = WDT_RST_FLAG; system_rtc_mem_write(0, &rst_info, sizeof(rst_info)); if(wdt_flg == true) { Cache_Read_Disable(); Cache_Read_Enable_New(); system_restart_local(); } else { #if SDK_VERSION >= 1119 wDev_MacTim1Arm(soft_wdt_interval); #else ets_timer_disarm(SoftWdtTimer); ets_timer_arm_new(SoftWdtTimer, soft_wdt_interval, 0, 1); #endif wdt_flg = true; pp_post(12); } }