You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
3.0 KiB
C

1 year ago
/****************************************************************************/
/* 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' */