|
|
|
|
/****************************************************************************/
|
|
|
|
|
/* Copyright (c) 2007,<2C><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾ */
|
|
|
|
|
/* All rights reserved. */
|
|
|
|
|
/* */
|
|
|
|
|
/* ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
|
|
|
|
/** ʱ<>䴦<EFBFBD><E4B4A6>ģ<EFBFBD><C4A3>,ST_TIMESTAMP ST_ENTRYTIME<4D><45><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
|
|
|
|
|
* @file timeutil.h */
|
|
|
|
|
/* */
|
|
|
|
|
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ע<><D7A2> */
|
|
|
|
|
/* 2007/09/13 ZYZ <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>,<2C><><EFBFBD>ϰ<EFBFBD>copy */
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
#ifndef INC_ACSITIME_H_HEADER_INCLUDED_BE050203
|
|
|
|
|
#define INC_ACSITIME_H_HEADER_INCLUDED_BE050203
|
|
|
|
|
|
|
|
|
|
#include "ai_def.h"
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ȡ<EFBFBD><EFBFBD>UTime<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﲻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param curtime <EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Time<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @retval <EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID get_system_curtime(ST_TIMESTAMP *curtime);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>侫<EFBFBD><EFBFBD>TimeAccuracy <EFBFBD>Ѻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪUTCTime<EFBFBD><EFBFBD>Fraction.
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>24λ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD>ȷ<EFBFBD>ȱ<EFBFBD>֤Ϊ0.1ms
|
|
|
|
|
* @param milsecond <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
* @param time_precision ʱ<EFBFBD>侫<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval ST_UINT32 UTCTime<EFBFBD><EFBFBD>Fraction
|
|
|
|
|
*/
|
|
|
|
|
ST_UINT32 convert_milsec_to_timefrac(ST_FLOAT milsecond, ST_INT32 time_precision);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>侫<EFBFBD><EFBFBD>TimeAccuracy <EFBFBD><EFBFBD>61850<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Fractionת<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Float32
|
|
|
|
|
* @param frac 61850<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Fraction
|
|
|
|
|
* @param time_precision ʱ<EFBFBD>侫<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval ST_FLOAT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_FLOAT convert_timefrac_to_milsec(ST_UINT32 frac, ST_INT32 time_precision);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>timeStampʱ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @param curtime <EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param destime <EFBFBD>Ժ<EFBFBD>ʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval ST_FLOAT <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_UINT32 calculate_timespan(ST_TIMESTAMP *curtime, ST_TIMESTAMP *destime);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param curtime <EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param tmspan ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @retval <EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID add_timespan_to_curtm(ST_TIMESTAMP *curtime, ST_UINT32 tmspan);
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>EntryTimeʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param entrytime <EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ENTRYTIME<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
* @retval <EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID get_current_entrytime(ST_ENTRYTIME *entrytime);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ST_TIMESTAMP<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪEntryTimeʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param timestamp timestampʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param entrytime entrytimeʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval <EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID convert_timestamp_to_entrytime(ST_TIMESTAMP *timestamp, ST_ENTRYTIME *entrytime);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>EntryTime<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪST_TIMESTAMPʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param timestamp timestampʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @param entrytime entrytimeʱ<EFBFBD><EFBFBD>
|
|
|
|
|
* @retval <EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
ST_VOID convert_entrytime_to_timestamp(ST_ENTRYTIME *entrytime, ST_TIMESTAMP *timestamp);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* end of 'already included' */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|