forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-15 d14dd3a2106de793fbe08dc5a12cf80defd3258a
Soft/sizhu_ctrl_word.h
@@ -2,6 +2,41 @@
#define _SIZHU_CTRL_WORD_H
#include "define_all.h"
#define __SYS_STATUS_BYTES_GET(__HANDLE__) (system_status_word_g.status_word.__HANDLE__)
#define __SYS_STATUS_BYTES_STATUS(__HANDLE__, __FLAG__, __ID__)      \
  do                                                                 \
  {                                                                  \
    if (__SYS_STATUS_BYTES_GET(__HANDLE__) != __FLAG__)              \
    {                                                                \
      (system_status_word_g.status_word.__HANDLE__ = __FLAG__);      \
         if(__FLAG__ == RESET)                                                               \
            Alarm_List_Node_Deleted(&pList_head,__ID__);                           \
    }                                                                \
  } while (0)
#define __SYS_ALARM_BYTES_SET(__HANDLE__, __FLAG__) (system_alarm_word_g.alarm_word.__HANDLE__ = __FLAG__)
#define __SYS_STATUS_ALARM_BYTES_SET(__HANDLE__)                  \
  do                                                              \
  {                                                               \
    if (__SYS_STATUS_BYTES_GET(__HANDLE__) != SET)                \
      system_status_word_g.status_word.__HANDLE__ =               \
          system_alarm_word_g.alarm_word.__HANDLE__ = SET;        \
  } while (0)
#define __SYS_FUNC_CFG_BYTES_GET(__HANDLE__) (system_function_ctrl_word_g.fun_ctrl_word.__HANDLE__)
#define __SYS_ALARM_CTL_BYTES_GET(__HANDLE__)   (system_alarm_ctrl_word_g.alarm_ctl_word.__HANDLE__)
#define __SYS_ALARM_REPORT_CTL_BYTES_GET(__HANDLE__)   (system_alarm_report_ctrl_word_g.alarm_report_ctrl_word.__HANDLE__)
#define   SYSTEM_SINGLE_BIT_SET1                     0x0001
#define   SYSTEM_SINGLE_BIT_SET0                     0x0000
@@ -52,8 +87,93 @@
#define   SFCW_BILLING_TYPE_NONE                   0x0000
#define   SFCW_BILLING_TYPE_TERMINAL               0x0001
#define   SFCW_BILLING_TYPE_CENTER                 0x0002
/*******************************˼ÖþÐÂϵͳ¹¦ÄÜ¿ØÖÆ×Ö******************************/
/*******************************±¨¾¯ID******************************/
typedef enum
{
  ALARM_ID_NORMAL = 0x0U,
  ALARM_ID_SYSTEM_START, // ¸´Î» ½ö½öÊDZ¨¾¯ÀàÐͲ»²úÉú¹Ø·§
  ALARM_ID_EX_POWER_STATUS_CHANGE,
   ALARM_ID_COVER_OPEN,//¿ª¸Ç1ÊÇ¿ª¸Ç
   ALARM_ID_MAINBOARD_REMOVAL,//¿ª¸Ç2ÊÇÖ÷°åÒÆ³ý
   ALARM_ID_GPRS_FAILED,
  ALARM_ID_LCD_NUMBER_OVERRUN,
  ALARM_ID_LITH_BAT_LOW = 0x10, // ï®µçµÍµç±¨¾¯/¹Ø·§
  ALARM_ID_LITH_BAT_DOWN,
  ALARM_ID_LITH_BAT_REMOVAL,
  ALARM_ID_ALKA_BAT_LOW,
  ALARM_ID_ALKA_BAT_DOWN,
  ALARM_ID_ALKA_BAT_REMOVAL,
   ALARM_ID_VALVE_BAT_LOW,
   ALARM_ID_VALVE_BAT_DOWN,
   ALARM_ID_RTC_BAT_LOW,
  ALARM_ID_TEM_TRANSMITTER_FAILURE = 0x20, // Î¶ÈÒì³£±¨¾¯/¹Ø·§
  ALARM_ID_TEM_EXCEED_UP_LIMIT,
  ALARM_ID_TEM_EXCEED_UP_UP_LIMIT,
  ALARM_ID_TEM_EXCEED_LOW_LIMIT,
  ALARM_ID_TEM_EXCEED_LOW_LOW_LIMIT,
  ALARM_ID_PRE_TRANSMITTER_FAILURE,
  ALARM_ID_PRE_EXCEED_UP_LIMIT,
  ALARM_ID_PRE_EXCEED_UP_UP_LIMIT,
  ALARM_ID_PRE_EXCEED_LOW_LIMIT,
  ALARM_ID_PRE_EXCEED_LOW_LOW_LIMIT,
  ALARM_ID_AMBIENT_TEM_EXCEED_UP_LIMIT = 0x30,
  ALARM_ID_AMBIENT_TEM_EXCEED_LOW_LIMIT,
   ALARM_ID_AMBIENT_TEM_SUDDEN_CHANGE,//»·Î¾ç±ä
   ALARM_ID_LCD_AMBIENT_TEM_EXCEED_LOW_LIMIT,//ÒºÏÔµÍÎÂ
  ALARM_ID_MEASURE_SONIC_SENSOR_LOSS = 0x40, // Ì½Í·¶ªÊ§±¨¾¯/¹Ø·§
  ALARM_ID_MEASURE_FLOW_VELOCITY_ABNORMAL,//Á÷ËÙÒì³£
  ALARM_ID_MEASURE_TIME_DIFF_ABNORMAL,//ʱ¼ä²îÒì³£
  ALARM_ID_MEASURE_SOUND_VELOCITY_ABNORMAL,//ÉùËÙÒì³£
  ALARM_ID_MEASURE_SNR_ABNORMAL,//ÐÅÔë±ÈÒì³£
  ALARM_ID_MEASURE_SIHNAL_OVERFLOW_ABNORMAL,//ÐźÅÒç³öÒì³£
  ALARM_ID_MEASURE_THRESHOLD_ABNORMAL,//ÐźÅãÐÖµÒì³£
  ALARM_ID_MEASURE_GAIN_ABNORMAL,//ÐźÅÔöÒæÒì³£
   ALARM_ID_MEDIUM_WATER,//½øË®
  ALARM_ID_MEDIUM_ABNORMAL,//½éÖÊÒì³£
  ALARM_ID_DISMANTLE_METER_ABNORMAL = 0x50,//²ð±íÒì³£
  ALARM_ID_METERING_UNIT_ABNORMAL , // ¼ÆÁ¿µ¥ÔªÒì³£
   ALARM_ID_MEASURE_CHANNEL_REMOVAL,//ÉùµÀÇгý
   ALARM_ID_FLOW_EXCEED_UP_LIMIT = 0x60,//Á÷Á¿³¬ÏÞ1
   ALARM_ID_FLOW_EXCEED_UP_UP_LIMIT,//Á÷Á¿³¬ÏÞ2
   ALARM_ID_FLOW_EXCEED_UP_UP_LIMIT2,//Á÷Á¿³¬ÏÞ3
   ALARM_ID_FLOW_BIDIRECTIONAL,//·´ÏòÁ÷Á¿
   ALARM_ID_FLOW_CONSTANT,//ºãÁ÷
   ALARM_ID_FLOW_SMALL,//СÁ÷Á¿
   ALARM_ID_GAS_LEAK,//ÆøÌåй©
   ALARM_ID_VALVE_ABNORMAL = 0x70,//·§ÃÅÒì³£±¨¾¯
   ALARM_ID_VALVE_CLOSE_GAS_RUNNING_ABNORMAL,//¹Ø·§×߯ø
   ALARM_ID_FLOW_BAT_LOW = 0x80,//¶Ô½ÓÉ豸µÍµç
   ALARM_ID_FLOW_BAT_DOWN,//¶Ô½ÓÉ豸µôµç
   ALARM_ID_PULSE_BROKEN,//Âö³åÏß¶ÏÏß
   ALARM_ID_E2P_W_ABNORMAL,//eepromдÒì³£
   ALARM_ID_E2P_R_ABNORMAL,//eeprom¶ÁÒì³£
   ALARM_ID_READ_485_ABNORMAL,//¶Á485Òì³£
   ALARM_ID_485_READING_SMALLER_ABNORMAL,//485¶ÁÊýÒì³£±äС
   ALARM_ID_BALANCE_SMALLER1 = 0x90,//Óà¶îÉÙ¶î
  ALARM_ID_BALANCE_SMALLER2, // Óà¶îÉÙ¶î1±¨¾¯/¹Ø·§
  ALARM_ID_BALANCE_SMALLER3,
  ALARM_ID_BALANCE_SMALLER4,
  ALARM_ID_BALANCE_SMALLER5,
  ALARM_ID_CUMULATIVE_GAS_ARRIVE,//ÀÛ»ýÆøÁ¿µ½
  ALARM_ID_N_DAYS_NO_GAS_ARRIVE,//¶àÌìÎÞÓÃÆø
  ALARM_ID_N_DAYS_NO_REPORT_ARRIVE,//¶àÌìÎÞÉϱ¨
  ALARM_ID_OP_VALVE_KEY = 0x996, // ½ö½öÊǹط§ÀàÐͲ»²úÉú±¨¾¯
  ALARM_ID_CL_VALVE_KEY,
  ALARM_ID_OP_VALVE_CMD,
  ALARM_ID_CL_VALVE_CMD,
} SYS_ALARM_VALVE_T; // ±¨¾¯ºÍ¹Ø·§ÀàÐÍID
#pragma pack(1)
/*********************************ϵͳ״̬×ÖÏà¹Ø**************************************/
@@ -91,12 +211,15 @@
  uint16_t alka_low : 1;
  uint16_t alka_down : 1;
  uint16_t alka_remove : 1;
  uint16_t : 2;
  uint16_t flow_meter_low_pwr: 1;
   uint16_t flow_meter_under_pwr: 1;
  uint16_t gprs_status : 1;
  uint16_t : 3;
  uint16_t RS485_status : 2;
   uint16_t broken_line : 1;
  uint16_t valve_bat_low: 1;
  uint16_t valve_bat_down: 1;
  uint16_t : 2;
   uint16_t rtc_err: 1;
  uint16_t : 1;
  uint16_t temp_err : 1;
  uint16_t temp_up : 1;
@@ -235,12 +358,16 @@
  uint16_t alka_low : 1;
  uint16_t alka_down : 1;
  uint16_t alka_remove : 1;
  uint16_t : 2;
  uint16_t flow_meter_low_pwr: 1;
   uint16_t flow_meter_under_pwr: 1;
  uint16_t gprs_status : 1;
  uint16_t : 3;
   uint16_t RS485_err : 1;
  uint16_t RS485_lessen : 1; //485¶ÁÊé±äС
   uint16_t broken_line : 1;
   uint16_t valve_bat_low:1;
   uint16_t valve_bat_down:1;
  uint16_t : 2;
   uint16_t rtc_err: 1;
  uint16_t : 1;
  uint16_t temp_err : 1;
  uint16_t temp_up : 1;
@@ -315,8 +442,8 @@
typedef union
{
  uint16_t alarm_ctl_send_union[SYSTEM_ALARM_WORD_INF_LENGTH >> 1];
  SYS_ALARM_T alarm_ctl_send_word;
} SYSTEM_ALARM_REPORT_CTRL_WORD_T; // ±¨¾¯Éϱ¨×Ö
  SYS_ALARM_T alarm_report_ctrl_word;
} SYSTEM_ALARM_REPORT_CTRL_WORD_T; // ±¨¾¯Éϱ¨¿ØÖÆ
/*********************************±¨¾¯¿ØÖÆ×ÖÏà¹Ø**************************************/