forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-04-18 de0f427ee76ab84d3afb22c92a2b065b1ce06d3e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#ifndef _SYSTEM_GENERAL_PARA_H
#define _SYSTEM_GENERAL_PARA_H
#include "define_all.h"
 
/**************************************************
*Ö÷Òª¶¨ÒåһЩͨÓõĺ¯Êý¡¢±äÁ¿
*
***************************************************/
 
/*****************ͨÓÃö¾Ù******************************/
typedef enum
{
  DM_NONE = 0U,
  DM_HM_UFG610, // HM = HOLISTIC_METER
  DM_HM_UFG620,
  DM_HCM_UFG210,
  DM_SCM_SZV101,
  DM_SM_DTU100,
  DM_SCM_SZV102,
    DM_SCM_SZV103,
    DM_HM_UFG630,
    DM_HM_UFG220,     //Á÷Á¿¼Æ
    DM_HCM_UFG220 = 0x10U,    //È¼Æø±í
    DM_HCM_UFG620,
    DM_HCM_UFG630,
} DEVICE_MODEL; // É豸ÐͺÅ
 
typedef enum
{
    DN50_TYPE    = 1U,
    DN80_TYPE,
    DN100_TYPE,
    DN150_TYPE,
    DN200_TYPE,
        
    DN25_TYPE,
    DN32_TYPE,
    DN40_TYPE,
} CALIBER_MODEL; // ¿Ú¾¶
 
typedef enum
{
    VM_NONE    = 0U,
    VM_PENGSHENG,  //ÅôÊ¢·§Ìå
    VM_HADE,             //¹þµÂ·§Ìå
} VALVE_MODEL; // ·§ÃÅÐͺÅ
 
 
typedef enum
{
    EM_NONE    = 0U,
    EM_IFRTT,  //Ò»ÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë
    EM_IFRCT,    //Ò»ÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë
    EM_SIFRTT,  //·ÖÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë
    EM_SIFRCT,    //·ÖÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë
} EQUIPMENT_MODEL; // ·§ÃÅÐͺÅ
 
typedef enum
{
  VALVE_NONE = 0U,
  VALVE_OP,
  VALVE_CL,
  VALVE_OPENING,
  VALVE_CLOSING,
  VALVE_ERROR,
    VALVE_MISSING = 99U
} VALVE_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
 
typedef enum
{
  VL_UNLOCK = 0U,
    VL_LOCK
} VALVE_LOCK_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
 
 
 
//ͨÓýṹÌå²ÎÊý
 
 
 
//Êý¾ÝÀàÐÍ´óС¶Ë
typedef enum
{
  LITTLE_ENDIAN = 0U,
    BIG_ENDIAN
} BIG_OR_LITTLE_ENDIAN; // ·§ÃÅ״̬ÀàÐÍ
 
 
 
#define    BCD_2_DECIMAL(__BCD__)     ((__BCD__ / 16) * 10 + __BCD__ % 16)
 
#define    DECIMAL_2_BCD(__DECIMAL__)     ((__DECIMAL__ / 16) * 10 + __DECIMAL__ % 16)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
//ÈÕÖ¾ÔËÐвÎÊý
typedef struct log_sizhu_run_t
{
    uint16_t       log_count;
  uint32_t      log_addr_save;
  uint32_t      log_addr_begin;
    
}LOG_SIZHU_RUN_T;
 
 
//extern uint8_t read_data_buf_A_l[200];
//extern uint8_t read_data_buf_B_l[200];
//extern uint8_t read_data_buf_C_l[200];
 
ErrorStatus  ucharcmp(uint8_t *dataA,uint8_t *dataB,u16 data_length);
void arrayA_2_arrayB(uint8_t * aA , uint8_t * aB, u16 len, BIG_OR_LITTLE_ENDIAN mode) ;
 
 
 
 
int mem_cmp_aray( const void * cs, const void * ct, u32 count );
 
uint8_t    TwoTimeCompara(uint8_t* TimeBCD1, uint8_t* TimeBCD2);//6×Ö½ÚBCDʱ¼äÓ뵱ǰʱ¼ä±È½Ï£¬µ±Ç°Ê±¼ä´ó·µ»Ø0£¬ÏàµÈ·µ»Ø1£¬µ±Ç°Ê±¼äС·µ»Ø2¡£  ´ËÍ⣬ËÑË÷µÄʱ¼ä¸ñʽÎÞЧҲ·µ»Ø0£¬¼ÌÐøËÑË÷¡£
 
//unsigned char BCD2HEX(unsigned char bcd_data) ;   //BCD??HEX???    
//unsigned char HEX2BCD(unsigned char hex_data)  ; //HEX??BCD???     
void    dou26Byte( double data, unsigned char *array );
 
#endif