RTU/release/inc/lib60870_inc/lib60870_public.h

65 lines
3.2 KiB
C

/******************************************************************************
版权所有 (C), 2013-2023, 科大智能电气有限公司
******************************************************************************
文 件 名 : lib60870_public.h
版 本 号 : V1.0
生成日期 : 2022年04月07日
最近修改 :
功能描述 : lib60870_public.c的头文件 101及104规约实现中的任务管理及校验等功能
函数列表 :
修改历史 :
1.日 期 : 2022年04月07日
修改内容 : 创建文件
******************************************************************************/
#ifndef __LIB60870_PUBLIC_H
#define __LIB60870_PUBLIC_H
/**************************************文件包含*******************************/
#include <stdlib.h>
#include <stdio.h>
#include "lib60870_common.h"
/**************************************宏定义*********************************/
#define TAG_TPYE_BOOL 1 //布尔
#define TAG_TPYE_INT 2 //整形
#define TAG_TPYE_STR 4 //字符串
#define TAG_TPYE_UTINY 32 //无符号小整形
#define TAG_TPYE_SHORT 33 //短整形
#define TAG_TPYE_UINT 35 //无符号整形
#define TAG_TPYE_LONG 36 //长整形
#define TAG_TPYE_ULONG 37 //无符号长整形
#define TAG_TPYE_FLOAT 38 //单精度浮点
#define TAG_TPYE_DOUBLE 39 //双精度浮点
#define TAG_TPYE_TINY 43 //小整形
#define TAG_TPYE_USHORT 45 //无符号短整形
/************************************数据结构定义*****************************/
/**
* @brief
*/
/**************************************数据声明*******************************/
/**************************************内部函数声明***************************/
/************************************外部接口函数声明*************************/
extern unsigned char CS10x_SendTask(CS10xHandle_t pstSelf);
extern void SetSendTask(CS10xHandle_t pstSelf, unsigned int uiFlagNo, unsigned short usParam_low, unsigned short usParam_hig);
extern void SetTaskFlag(VFLAGS *pstFlags, unsigned int uiFlagNo);
extern unsigned int GetTaskFlag(VFLAGS *pstFlags, unsigned int uiFlagNo);
extern void ClearTaskFlag(VFLAGS *pstFlags, unsigned int uiFlagNo);
extern int CheckClearTaskFlag(VFLAGS *pstFlags, unsigned int uiFlagNo);
extern void ClearAllTaskflgs(CS10xHandle_t pstSelf);
extern unsigned char checksum_8(unsigned char *pucBuf, unsigned char ucLen);
extern int CheckParamTagAndLen(unsigned char ucTag, unsigned char ucLen);
extern unsigned char CP56Time2a_Pack2Buf(unsigned char *pucOutBuf, const __CP56Time2a *pstCp56);
extern unsigned char CP56Time2a_GetFromBuf(const unsigned char *pucInBuf, __CP56Time2a *pstCp56);
extern unsigned char IntBytes_Pack2Buf(unsigned char *pucOutBuf, unsigned int uiVal, unsigned char ucSize);
extern unsigned int IntBytes_GetFromBuf(const unsigned char *pucInBuf, unsigned char ucSize);
extern unsigned char Float_Pack2Buf(unsigned char *pucOutBuf, float fVal);
extern float Float_GetFromBuf(const unsigned char *pucInBuf);
extern unsigned char U16_Pack2Buf(unsigned char *pucOutBuf, unsigned short usVal);
extern unsigned short U16_GetFromBuf(const unsigned char *pucInBuf);
#endif