93 lines
3.1 KiB
C
Raw Normal View History

2025-04-30 16:24:29 +08:00
/****************************************************************************/
/* Copyright (c) 2008,<2C><><EFBFBD>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾ */
/* All rights reserved. */
/* */
/* ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
/** ʱ<><EFBFBD><E4B4A6>ģ<EFBFBD><C4A3>,MMS_UTC_TIME MMS_BTIME6<45><36><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
* @file ai_time.h */
/* */
/* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ע<><D7A2> */
/* 2008/09/22 DJF <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>,<2C><>cosmos<6F><73>ֲ */
/****************************************************************************/
#ifndef INC_ACSITIME_H_HEADER_INCLUDED_BE050203
#define INC_ACSITIME_H_HEADER_INCLUDED_BE050203
//#include "ai_def.h"
#include "glbtypes.h"
#include "sysincs.h"
//#include "uca_obj.h"
#include "asn1r.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( MMS_UTC_TIME * 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( MMS_UTC_TIME * curtime, MMS_UTC_TIME * 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( MMS_UTC_TIME * 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( MMS_BTIME6 * entrytime );
/**
* <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>MMS_UTC_TIME<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( MMS_UTC_TIME * timestamp, MMS_BTIME6 * entrytime );
/**
* <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>EntryTime<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>ΪMMS_UTC_TIMEʱ<EFBFBD><EFBFBD>
* @param timestamp timestampʱ<EFBFBD><EFBFBD>
* @param entrytime entrytimeʱ<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
ST_VOID convert_entrytime_to_timestamp( MMS_BTIME6 * entrytime, MMS_UTC_TIME * timestamp );
#ifdef __cplusplus
}
#endif
#endif /* end of 'already included' */