Exemple #1
0
/**
  * @brief  Task which handles the update of the RTC

  * @param  None

  * @retval None
  */
void RTCUpdateHandler(void *pvParameters)
{
	while (1)
	{
		vTaskDelay(500 / portTICK_RATE_MS);
		Time_Get();
	}
}
/*******************************************************************************
函 数 名:	Upload
功能说明: 	设备属性状态上报
参	  数: 	无
返 回 值:	无
注    意:	2.5s-5.5s 离散度10ms-3000ms
*******************************************************************************/
void Upload(void)
{
	u32 time = 2500 + (Time_Get()%300)*10;
	Thread_Login(ONCEDELAY, 0, time, &Upload_Attr);
}
bool Uploader_Update(void){
	if(Debug_CharReadyToRead()){
		
		timeOutCounter = 0;
		command[0] = Debug_GetByte(false);
		
		if(command[0] == 'T'){	// supply the time
			if(Uploader_getTime()){
				UNIX_Time = Time_Get();
				timeIsValid = true;
			} else {
				timeIsValid = false;
				return false;
			}
		} else if(command[0] == 'S'){                          // request SSID
			if(!Uploader_sendSSID()){
				return false;
			}
		} else if(command[0] == 'A'){                          // request authorization type
			if(!Uploader_sendAuthType()){
				return false;
			}
		} else if(command[0] == 'K'){                          // request authorisation key
			if(!Uploader_sendKey()){
				return false;
			}
		} else if(command[0] == 'U'){                          // request user
			if(!Uploader_sendUser()){
				return false;
			}
		} else if(command[0] == 'N'){                           // request nickname
			if(!Uploader_sendNickname()){
				return false;
			}
		} else if(command[0] == 'F'){                           // request filename
			if(!Uploader_sendFilename()){
				return false;
			}
		} else if(command[0] == 'D'){                           // request data from file
			if(!Uploader_uploadFile()){
				return false;
			}
		} else if(command[0] == 'E'){							// erase file
			if(!Uploader_eraseFile()){
				return false;
			}
		} else if(command[0] == 'V'){							// request server for post
			if(!Uploader_sendServer()){
				return false;
			}
		} else if(command[0] == 'O'){							// request port for post
			if(!Uploader_sendPort()){
				return false;
			}
		}  else if(command[0] == 'R'){							// reset
			_delay_ms(5);
			Debug_SendByte('R');
			return false;
		}
	}
	_delay_ms(1);
	timeOutCounter++;
	if(timeOutCounter > 30000){
		return false;
	}
	return true;
}