|
@@ -16,26 +16,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
#define IIC_INPUT_THRESHOLD_START (10)
|
|
#define IIC_INPUT_THRESHOLD_START (10)
|
|
|
-#define IIC_INPUT_THRESHOLD_LENTH (20)
|
|
|
|
|
|
|
+//#define IIC_INPUT_THRESHOLD_LENTH (20)
|
|
|
|
|
|
|
|
#define IIC_OUTPUT_THRESHOLD_START (50)
|
|
#define IIC_OUTPUT_THRESHOLD_START (50)
|
|
|
-#define IIC_OUTPUT_THRESHOLD_LENTH (30)
|
|
|
|
|
|
|
+//#define IIC_OUTPUT_THRESHOLD_LENTH (30)
|
|
|
|
|
|
|
|
-#define IIC_TEMPRATURE_THRESHOLD_START (100)
|
|
|
|
|
-#define IIC_TEMPRATURE_THRESHOLD_LENTH (4)
|
|
|
|
|
|
|
+#define IIC_TEMPRATURE_THRESHOLD_START (150)
|
|
|
|
|
+//#define IIC_TEMPRATURE_THRESHOLD_LENTH (4)
|
|
|
|
|
|
|
|
-#define IIC_OVER_FUNC_START (110)
|
|
|
|
|
|
|
+#define IIC_OVER_FUNC_START (170)
|
|
|
#define IIC_OVER_FUNC_LENTH (1)
|
|
#define IIC_OVER_FUNC_LENTH (1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+#define IIC_CONSUMER_START (200)
|
|
|
|
|
+//#define IIC_CONSUMER_LENTH (4)
|
|
|
|
|
|
|
|
|
|
+#define IIC_OUT_CHANNEL (210)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+#define INVALID_VALUE (10000000)
|
|
|
|
|
+#define SMALL_VALUE (500)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+enum{
|
|
|
|
|
+ INPUT_CHANNEL_1=0,
|
|
|
|
|
+ INPUT_CHANNEL_2,
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+enum {
|
|
|
|
|
+ CH448_CHANNEL_1 = 0,
|
|
|
|
|
+ CH448_CHANNEL_2,
|
|
|
|
|
+ CH448_CHANNEL_3,
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define VOLTAGE_MAX_EN (0x01)
|
|
|
|
|
+#define VOLTAGE_MIN_EN (0x02)
|
|
|
|
|
+#define CURRENT_MAX_EN (0x04)
|
|
|
|
|
+#define POWER_MAX_EN (0x08)
|
|
|
|
|
+#define CONSUMER_MAX_EN (0x10)
|
|
|
|
|
+#define FREQ_MAX_EN (0x20)
|
|
|
|
|
+#define FREQ_MIN_EN (0x40)
|
|
|
|
|
+
|
|
|
|
|
+#define VOLTAGLE_MAX_DIS_EN (~(VOLTAGE_MAX_EN))
|
|
|
|
|
+#define VOLTAGLE_MIN_DIS_EN (~(VOLTAGE_MIN_EN))
|
|
|
|
|
+#define CURRENT_MAX_DIS_EN (~(CURRENT_MAX_EN))
|
|
|
|
|
+#define POWER_MAX_DIS_EN (~(POWER_MAX_EN))
|
|
|
|
|
+#define CONSUMER_MAX_DIS_EN (~(CONSUMER_MAX_EN))
|
|
|
|
|
+#define FREQ_MAX_DIS_EN (~(FREQ_MAX_EN))
|
|
|
|
|
+#define FREQ_MIN_DIS_EN (~(FREQ_MIN_EN))
|
|
|
|
|
+
|
|
|
|
|
+#define IS_VOLTAGE_MAX_EN(reg) ((reg) & VOLTAGE_MAX_EN)
|
|
|
|
|
+#define IS_VOLTAGE_MIN_EN(reg) ((reg) & VOLTAGE_MIN_EN)
|
|
|
|
|
+#define IS_CURRENT_MAX_EN(reg) ((reg) & CURRENT_MAX_EN)
|
|
|
|
|
+#define IS_POWER_MAX_EN(reg) ((reg) & POWER_MAX_EN)
|
|
|
|
|
+#define IS_CONSUMER_MAX_EN(reg) ((reg) & CONSUMER_MAX_EN)
|
|
|
|
|
+#define IS_FREQ_MAX_EN(reg) ((reg) & FREQ_MAX_EN)
|
|
|
|
|
+#define IS_FREQ_MIN_EN(reg) ((reg) & FREQ_MIN_EN)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define SET_VOLTAGE_MAX_EN(reg) ((reg) |= VOLTAGE_MAX_EN)
|
|
|
|
|
+#define SET_VOLTAGE_MIN_EN(reg) ((reg) |= VOLTAGE_MIN_EN)
|
|
|
|
|
+#define SET_CURRENT_MAX_EN(reg) ((reg) |= CURRENT_MAX_EN)
|
|
|
|
|
+#define SET_POWER_MAX_EN(reg) ((reg) |= POWER_MAX_EN)
|
|
|
|
|
+#define SET_CONSUMER_MAX_EN(reg) ((reg) |= CONSUMER_MAX_EN)
|
|
|
|
|
+#define SET_FREQ_MAX_EN(reg) ((reg) |= FREQ_MAX_EN)
|
|
|
|
|
+#define SET_FREQ_MIN_EN(reg) ((reg) |= FREQ_MIN_EN)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define UNSET_VOLTAGE_MAX_EN(reg) ((reg) &= VOLTAGLE_MAX_DIS_EN)
|
|
|
|
|
+#define UNSET_VOLTAGE_MIN_EN(reg) ((reg) &= VOLTAGLE_MIN_DIS_EN)
|
|
|
|
|
+#define UNSET_CURRENT_MAX_EN(reg) ((reg) &= CURRENT_MAX_DIS_EN)
|
|
|
|
|
+#define UNSET_POWER_MAX_EN(reg) ((reg) &= POWER_MAX_DIS_EN)
|
|
|
|
|
+#define UNSET_CONSUMER_MAX_EN(reg) ((reg) &= CONSUMER_MAX_DIS_EN)
|
|
|
|
|
+#define UNSET_FREQ_MAX_EN(reg) ((reg) &= FREQ_MAX_DIS_EN)
|
|
|
|
|
+#define UNSET_FREQ_MIN_EN(reg) ((reg) &= FREQ_MIN_DIS_EN)
|
|
|
|
|
+
|
|
|
|
|
+#define SET_WANNING_VOLTAGE_MAX(reg) SET_VOLTAGE_MAX_EN(reg)
|
|
|
|
|
+#define SET_WANNING_VOLTAGE_MIN(reg) SET_VOLTAGE_MIN_EN(reg)
|
|
|
|
|
+#define SET_WANNING_CURRENT_MAX(reg) SET_CURRENT_MAX_EN(reg)
|
|
|
|
|
+#define SET_WANNING_POWER_MAX(reg) SET_POWER_MAX_EN(reg)
|
|
|
|
|
+#define SET_WANNING_CONSUMER_MAX(reg) SET_CONSUMER_MAX_EN(reg)
|
|
|
|
|
+#define SET_WANNING_FREQ_MAX(reg) SET_FREQ_MAX_EN(reg)
|
|
|
|
|
+#define SET_WANNING_FREQ_MIN(reg) SET_FREQ_MIN_EN(reg)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define UNSET_WANNING_VOLTAGE_MAX(reg) UNSET_VOLTAGE_MAX_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_VOLTAGE_MIN(reg) UNSET_VOLTAGE_MIN_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_CURRENT_MAX(reg) UNSET_CURRENT_MAX_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_POWER_MAX(reg) UNSET_POWER_MAX_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_CONSUMER_MAX(reg) UNSET_CONSUMER_MAX_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_FREQ_MAX(reg) UNSET_FREQ_MAX_EN(reg)
|
|
|
|
|
+#define UNSET_WANNING_FREQ_MIN(reg) UNSET_FREQ_MIN_EN(reg)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define IS_WANNING_VOLTAGE_MAX(reg) IS_VOLTAGE_MAX_EN(reg)
|
|
|
|
|
+#define IS_WANNING_VOLTAGE_MIN(reg) IS_VOLTAGE_MIN_EN(reg)
|
|
|
|
|
+#define IS_WANNING_CURRENT_MAX(reg) IS_CURRENT_MAX_EN(reg)
|
|
|
|
|
+#define IS_WANNING_POWER_MAX(reg) IS_POWER_MAX_EN(reg)
|
|
|
|
|
+#define IS_WANNING_CONSUMER_MAX(reg) IS_CONSUMER_MAX_EN(reg)
|
|
|
|
|
+#define IS_WANNING_FREQ_MAX(reg) IS_FREQ_MAX_EN(reg)
|
|
|
|
|
+#define IS_WANNING_FREQ_MIN(reg) IS_FREQ_MIN_EN(reg)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+#define STS_INPUT_HAS_WANNING(reg) ((IS_WANNING_VOLTAGE_MAX(reg)) || (IS_WANNING_VOLTAGE_MIN(reg)) \
|
|
|
|
|
+ || (IS_WANNING_FREQ_MAX(reg)) || (IS_WANNING_FREQ_MIN(reg)) )
|
|
|
|
|
|
|
|
|
|
|
|
|
//#pragma pack (2)
|
|
//#pragma pack (2)
|
|
@@ -125,22 +215,45 @@ typedef struct{
|
|
|
md_in_wanning input_wanning;
|
|
md_in_wanning input_wanning;
|
|
|
md_out_wanning output_waning;
|
|
md_out_wanning output_waning;
|
|
|
md_out_power_info out_power;
|
|
md_out_power_info out_power;
|
|
|
|
|
+ uint16_t out_status;
|
|
|
iic_in_threshold_t input_th[2];
|
|
iic_in_threshold_t input_th[2];
|
|
|
iic_out_threshold_t output_th;
|
|
iic_out_threshold_t output_th;
|
|
|
- iic_temp_threshold_t temprature;
|
|
|
|
|
|
|
+ iic_temp_threshold_t temprature_th;
|
|
|
iic_over_func over_func;
|
|
iic_over_func over_func;
|
|
|
}md_data_t;
|
|
}md_data_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+typedef struct sts_data sts_data_t;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-typedef struct{
|
|
|
|
|
|
|
+typedef struct sts_data{
|
|
|
uint8_t led_flag;
|
|
uint8_t led_flag;
|
|
|
uint8_t count_start_flag;
|
|
uint8_t count_start_flag;
|
|
|
uint8_t switch_flag;
|
|
uint8_t switch_flag;
|
|
|
uint8_t over_func_flag;
|
|
uint8_t over_func_flag;
|
|
|
- md_data_t data;
|
|
|
|
|
|
|
+ uint8_t read_ele_flag;
|
|
|
|
|
+ uint8_t beep_flag;
|
|
|
|
|
+ uint8_t switch_status;
|
|
|
|
|
+ md_data_t m_data;
|
|
|
|
|
+ float iic_consumer;
|
|
|
|
|
+ float temprature;
|
|
|
|
|
+ uint8_t input_wanning_en[2];
|
|
|
|
|
+ uint8_t output_wanning_en;
|
|
|
|
|
+ void (*choise_input)(uint8_t channel);
|
|
|
|
|
+ void (*open_output)();
|
|
|
|
|
+ void (*close_output)();
|
|
|
|
|
+ void (*read_ele)(uint8_t channel);
|
|
|
|
|
+ void (*read_input_level)(uint8_t channel);
|
|
|
|
|
+ void (*read_switch_level)();
|
|
|
|
|
+ void (*fans)(uint8_t on_off);
|
|
|
|
|
+ void (*beep)();
|
|
|
|
|
+ void (*led_flash)();
|
|
|
|
|
+ void (*read_eeprom)();
|
|
|
|
|
+ void (*read_at24)(uint16_t start,uint8_t *buff,uint16_t lenth);
|
|
|
|
|
+ void (*write_at24)(uint16_t start,uint8_t *buff,uint16_t lenth);
|
|
|
|
|
+ void (*read_temp)();
|
|
|
|
|
+ void (*check_wanning)(uint8_t channel);
|
|
|
}sts_data_t;
|
|
}sts_data_t;
|
|
|
|
|
|
|
|
//#pragma pack ()
|
|
//#pragma pack ()
|