THREAD(Uart0KeyEvents, arg) { //LogMsg_P(LOG_INFO, PSTR("UART-Thread Start")); NutThreadSetPriority(200); // low prio for (;;) { char *result = ""; char rst[] = "reset\n"; if (stream==NULL) { //LogMsg_P(LOG_INFO, PSTR("Stream is NULL!")); NutSleep(2000); //Mhe continue; } result = fgets(result, 16, stream); short _reset_received = strcmp(rst, result); if (_reset_received == 0){ LogMsg_P(LOG_INFO, PSTR(">>>>>> RESET COMMAND RECEIVED")); //RESET SIR! WatchDogStart(0); } } }
/******************************************************************************* ** Name: WDTDevShellTest ** Input:HDC dev, uint8 * pstr ** Return: rk_err_t ** Owner:wrm ** Date: 2015.5.19 ** Time: 10:16:13 *******************************************************************************/ _DRIVER_WATCHDOG_WATCHDOGDEVICE_SHELL_ SHELL FUN rk_err_t WDTDevShellTest(HDC dev, uint8 * pstr) { HDC hWDTDev; uint32 DevID; //Get WDTDev ID... if(StrCmpA(pstr, "0", 1) == 0) { DevID = 0; } else if(StrCmpA(pstr, "1", 1) == 0) { DevID = 1; } else { DevID = 0; } //Open WDTDev... hWDTDev = RKDev_Open(DEV_CLASS_WDT, 0, NOT_CARE); if((hWDTDev == NULL) || (hWDTDev == (HDC)RK_ERROR) || (hWDTDev == (HDC)RK_PARA_ERR)) { rk_print_string("WDTDev open failure"); return RK_SUCCESS; } //do test.... rk_printf ("Test WatchDog Device\n"); IsWatchDogTestClearInt= 0; WatchDogInit(RESP_MODE_INT_RESET, PCLK_CYCLES_128, PERIOD_RANGE_0X07FFFFFF); WatchDogStart(); //close WDTDev... RKDev_Close(hWDTDev); return RK_SUCCESS; }