forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-17 6ea1a42391f86e72f53042a966dae970a3fd77cb
Soft/sizhu_ctrl_word.h
@@ -6,6 +6,7 @@
#define __SYS_STATUS_BYTES_GET(__HANDLE__) (system_status_word_g.status_word.__HANDLE__)
//ÒÔÏÂ״̬ÖÃλÊʺϵ¥bit״̬ÖÃ룬²»Êʺ϶àbit״̬£¬±ÈÈç·§ÃÅ״̬ռ¶à¸öbit£¬²»ÄÜÓÃ
#define __SYS_STATUS_BYTES_STATUS(__HANDLE__, __FLAG__, __ID__)      \
  do                                                                 \
  {                                                                  \
@@ -14,19 +15,25 @@
      (system_status_word_g.status_word.__HANDLE__ = __FLAG__);      \
         if(__FLAG__ == RESET)                                                               \
            Alarm_List_Node_Deleted(&pList_head,__ID__);                           \
         else if(__FLAG__ == SET)                                                            \
            Alarm_List_Node_PushBack(&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__)                  \
//ÒÔÏÂ״̬ÖÃλÊʺϵ¥bit״̬ÖÃ룬²»Êʺ϶àbit״̬£¬±ÈÈç·§ÃÅ״̬ռ¶à¸öbit£¬²»ÄÜÓÃ
#define __SYS_STATUS_ALARM_BYTES_SET(__HANDLE__,__ID__)                  \
  do                                                              \
  {                                                               \
    if (__SYS_STATUS_BYTES_GET(__HANDLE__) != SET)                \
      system_status_word_g.status_word.__HANDLE__ =               \
          system_alarm_word_g.alarm_word.__HANDLE__ = SET;        \
    if (__SYS_STATUS_BYTES_GET(__HANDLE__) != SET){                \
      system_status_word_g.status_word.__HANDLE__ =                              \
         system_alarm_word_for_valve_g.alarm_word.__HANDLE__ = SET;      \
         if(__SYS_ALARM_REPORT_CTL_BYTES_GET(__HANDLE__) ==SET){             \
               system_alarm_word_g.alarm_word.__HANDLE__ = SET; }          \
         Alarm_List_Node_PushBack(&pList_head,__ID__);                           \
      }                                                                                             \
  } while (0)
   
@@ -111,6 +118,7 @@
   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,
@@ -154,11 +162,12 @@
   
   ALARM_ID_FLOW_BAT_LOW = 0x80,//¶Ô½ÓÉ豸µÍµç
   ALARM_ID_FLOW_BAT_DOWN,//¶Ô½ÓÉ豸µôµç
   ALARM_ID_PULSE_BROKEN,//Âö³åÏß¶ÏÏß
   ALARM_ID_BROKEN_LINE,//¶ÏÏß±¨¾¯
   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_EX_TRIGGER_CLOSE_VALVE, //Íⲿ´¥·¢¹Ø·§
   
   ALARM_ID_BALANCE_SMALLER1 = 0x90,//Óà¶îÉÙ¶î
  ALARM_ID_BALANCE_SMALLER2, // Óà¶îÉÙ¶î1±¨¾¯/¹Ø·§
@@ -214,12 +223,13 @@
  uint16_t flow_meter_low_pwr: 1;
   uint16_t flow_meter_under_pwr: 1;
  uint16_t gprs_status : 1;
  uint16_t RS485_status : 2;
  uint16_t RS485_err : 1;            //RS485Òì³£
   uint16_t RS485_lessen : 1;  //RS485¶ÁÊý±äС
   uint16_t broken_line : 1;
  uint16_t valve_bat_low: 1;
  uint16_t valve_bat_down: 1;
   uint16_t rtc_err: 1;
  uint16_t : 1;
  uint16_t ex_trigger_close_valve :1;
  uint16_t temp_err : 1;
  uint16_t temp_up : 1;
@@ -367,7 +377,7 @@
   uint16_t valve_bat_low:1;
   uint16_t valve_bat_down:1;
   uint16_t rtc_err: 1;
  uint16_t : 1;
  uint16_t ex_trigger_close_valve :1;
  uint16_t temp_err : 1;
  uint16_t temp_up : 1;
@@ -713,6 +723,7 @@
extern SYSTEM_STATUS_WORD_T           system_status_word_g;
extern SYSTEM_FUNCTION_CTRL_WORD_T    system_function_ctrl_word_g;
extern SYSTEM_ALARM_WORD_T            system_alarm_word_g;
extern   SYSTEM_ALARM_WORD_T            system_alarm_word_for_valve_g; //ÓÃÓÚ·§¿Ø£¬Éϱ¨ÍêÇå³ý
extern SYSTEM_ALARM_CTRL_WORD_T       system_alarm_ctrl_word_g;
extern SYSTEM_ALARM_REPORT_CTRL_WORD_T     system_alarm_report_ctrl_word_g;
extern VALVE_CTL_BYTES_T valve_ctl_bytes_g;