X2UWaterWmbusEEI/app/UWater_Frame/UWater_frame_func_ReplyWT.h

123 lines
5.9 KiB
C
Raw Normal View History

2024-06-03 15:49:39 +08:00
#ifndef UWATER_FRAME_FUNC_REPLAY_WT_H
#define UWATER_FRAME_FUNC_REPLAY_WT_H
#include "type.h"
/************************************************ˮ̨<CBAE>ӹ<EFBFBD>Լ********************************************/
//<2F>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ//CRC
#define MFM_SOLIDIFY_MAC_ARGUMENT_CTRL 0x10
#define MFM_SOLIDIFY_MAC_REPLY_CTRL 0x90
#define MFM_SOLIDIFY_MAC_DI0 0x1C
#define MFM_SOLIDIFY_MAC_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ŵ<EFBFBD>ַ----------------------------------------------------------
#define MFM_READ_ADDR_ARGUMENT_CTRL 0x03
#define MFM_READ_ADDR_REPLY_CTRL 0x83
#define MFM_READ_ADDR_DI0 0x0A
#define MFM_READ_ADDR_DI1 0x81
//<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MFM_SET_ADDR_ARGUMENT_CTRL 0x15
#define MFM_SET_ADDR_REPLY_CTRL 0x95
#define MFM_SET_ADDR_DI0 0x18
#define MFM_SET_ADDR_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>------------------------------------------------------------
#define MFM_READ_SERIALNUM_ARGUMENT_CTRL 0x31
#define MFM_READ_SERIALNUM_REPLY_CTRL 0xE1
#define MFM_READ_SERIALNUM_DI0 0x01
#define MFM_READ_SERIALNUM_DI1 0x89
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>--------------------------------------------------------------
#define MFM_READ_TEMPERATURECOEFFICIENT_ARGUMENT_CTRL 0X4A
#define MFM_READ_TEMPERATURECOEFFICIENT_REPLY_CTRL 0xBA
#define MFM_READ_TEMPERATURECOEFFICIENT_DI0 0x3A
#define MFM_READ_TEMPERATURECOEFFICIENT_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>--------------------------------------------------------------
#define MFM_READ_FLOWCOEFFICIENT_ARGUMENT_CTRL 0x48
#define MFM_READ_FLOWCOEFFICIENT_REPLY_CTRL 0xB8
#define MFM_READ_FLOWCOEFFICIENT_DI0 0x38
#define MFM_READ_FLOWCOEFFICIENT_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB6A8><EFBFBD><EFBFBD>--------------------------------------------------------------
#define MFM_READ_VERIFICATIONDATA_ARGUMENT_CTRL 0x4C
#define MFM_READ_VERIFICATIONDATA_REPLY_CTRL 0xBC
#define MFM_READ_VERIFICATIONDATA_DI0 0x3C
#define MFM_READ_VERIFICATIONDATA_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ:<3A>˳<EFBFBD><CBB3>춨״̬-------------------------------------------------------------
#define MFM_OUT_VERIFICATIONSTATE_ARGUMENT_CTRL 0x57
#define MFM_OUT_VERIFICATIONSTATE_REPLY_CTRL 0xC7
#define MFM_OUT_VERIFICATIONSTATE_DI0 0x45
#define MFM_OUT_VERIFICATIONSTATE_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ģϵ<C4A3><CFB5>--------------------------------------------------------
#define FM_READ_POLYNOMIALCOEFFICIENT_ARGUMENT_CTRL 0x65
#define FM_READ_POLYNOMIALCOEFFICIENT_REPLY_CTRL 0xF1
#define FM_READ_POLYNOMIALCOEFFICIENT_DI0 0x61
#define FM_READ_POLYNOMIALCOEFFICIENT_DI1 0xA0
/************************************************ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ܵ<EFBFBD>******************************/
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ--------------------------------------------------------
#define MFM_READ_MAC_ARGUMENT_CTRL 0x11
#define MFM_READ_MAC_REPLY_CTRL 0x91
#define MFM_READ_MAC_DI0 0x1D
#define MFM_READ_MAC_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC>д<EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>-----------------------------------------------------
#define MFM_SET_TEMPERATURECOEFFICIENT_ARGUMENT_CTRL 0x45
#define MFM_SET_TEMPERATURECOEFFICIENT_REPLY_CTRL 0xB5
#define MFM_SET_TEMPERATURECOEFFICIENT_DI0 0x35
#define MFM_SET_TEMPERATURECOEFFICIENT_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC>д<EFBFBD><D0B4><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>------------------------------------------------------
#define MFM_SET_FLOWCOEFFICIENT_ARGUMENT_CTRL 0x46
#define MFM_SET_FLOWCOEFFICIENT_REPLY_CTRL 0xB6
#define MFM_SET_FLOWCOEFFICIENT_DI0 0x36
#define MFM_SET_FLOWCOEFFICIENT_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>춨״̬//CRC--------------------------------------------------
//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD>춨״̬//CRC
#define MFM_SET_VERIFICATIONSTATE_ARGUMENT_CTRL 0x49
#define MFM_SET_VERIFICATIONSTATE_REPLY_CTRL 0xB9
#define MFM_SET_VERIFICATIONSTATE_DI0 0x39
#define MFM_SET_VERIFICATIONSTATE_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><><D6BB><EFBFBD><EFBFBD><EFBFBD>ڼ춨״̬)--------------------------------------------
#define MFM_START_OR_STOP_TEST_ARGUMENT_CTRL 0x51
#define MFM_START_OR_STOP_TEST_REPLY_CTRL 0xC1
#define MFM_START_OR_STOP_TEST_DI0 0x3F
#define MFM_START_OR_STOP_TEST_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC>(<28><>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--------------------------------------------------------------
#define MFM_START_OR_CLEAR_USING_ARGUMENT_CTRL 0x54
#define MFM_START_OR_CLEAR_USING_REPLY_CTRL 0xC4
#define MFM_START_OR_CLEAR_USING_DI0 0x42
#define MFM_START_OR_CLEAR_USING_DI1 0xA0
//ģ<><C4A3>/ˮ̨<CBAE>ӹ<EFBFBD>Լ<EFBFBD><D4BC> д<><D0B4><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>ģϵ<C4A3><CFB5>--------------------------------------------------------
#define FM_SET_POLYNOMIALCOEFFICIENT_ARGUMENT_CTRL 0x64
#define FM_SET_POLYNOMIALCOEFFICIENT_REPLY_CTRL 0xF0
#define FM_SET_POLYNOMIALCOEFFICIENT_DI0 0x60
#define FM_SET_POLYNOMIALCOEFFICIENT_DI1 0xA0
typedef struct
{
u8 head_site; //֡ͷλ<CDB7><CEBB>
u8 ctrl;
u8 ack_ctrl;
u8 len;
u8 DI0;
u8 DI1;
u8 serial_num0;
u8 serial_num1;
u8 key_num;
u8 end_site; //֡βλ<CEB2><CEBB>
u8 check_len; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
u8 sta; //GPRS<52><53><EFBFBD><EFBFBD>״̬0x80<38><30><EFBFBD><EFBFBD> 0x40 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(BIT2 = 0Ӧ<30><D3A6>֡)
u8 met_type;
} STRUCT_FRAME_MBUS;//<2F><EFBFBD><E6B4A2><EFBFBD><EFBFBD>֡<EFBFBD><D6A1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
u8 up_deal_code_mbus(void);
u8 crack_frame_MBUS(u16 frame_lenth,u8 *frame_buffer);
void Frame_ResetDealState_Mbus(void);
void Frame_CreatCrcCs_Ack(u8* p_send_buf, u16* p_send_len);
#endif