#include "key_operate.h" #include "All_define.h" #include "lcd_task.h" #include "MB_RTU_deal_task.h" uint16_t fuji_or_shuiji = 0; extern void Control_Save(uint8_t *Data_need_write); extern uint8_t AirCondition_Sheiled_Set(void); extern uint8_t FloorHeating_Sheiled_Set(void); extern uint8_t AirFresh_Sheiled_Set(void); static uint8_t LCD_Lock_operate(Key_Operate_t Key_Operate) { if (dis_page_param.face_plate_param.Full_Half_Lock == 0) { if (dis_page_param.face_plate_param.Lock_screen == 0) { return 0; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { if (Key_Operate == Key_Switch_OnOff || Key_Operate == Key_switch || Key_Operate == Key_Lock) { return 0; } else { return 1; } } } else if (dis_page_param.face_plate_param.Full_Half_Lock == 1) { if (dis_page_param.face_plate_param.Lock_screen == 0) { return 0; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { if (Key_Operate == Key_Lock) { return 0; } else { return 1; } } } return 1; } void Key_Handle_air_conditioning_close(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } printf("Key_Operate %d\r\n", Key_Operate); dis_page_param.sleep_times = 0; switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; break; case Key_Switch_OnOff: if (AirCondition_Sheiled_Set()) { return; } dis_page_num.display_page = dis_air_Conditioning; dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; dis_page_param.face_plate_param.Air_condition_switch = 0x01; Control_Save(Data_need_write); Air_Open_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1; break; default: break; } } void Key_Handle_air_conditioning_open(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.sleep_times = 0; switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_air_Conditioning; break; case Key_Subtract: if (AirCondition_Sheiled_Set()) { return; } if (dis_page_param.face_plate_param.Air_set_temp > Air_set_temp_Down_limit) { if (dis_page_param.face_plate_param.Air_condition_mode != 2) { dis_page_param.face_plate_param.Air_set_temp--; Control_Save(Data_need_write); Air_set_temp_data_Send(); } } break; case Key_Add: if (AirCondition_Sheiled_Set()) { return; } if (dis_page_param.face_plate_param.Air_set_temp < Air_set_temp_up_limit) { if (dis_page_param.face_plate_param.Air_condition_mode != 2) { dis_page_param.face_plate_param.Air_set_temp++; Control_Save(Data_need_write); Air_set_temp_data_Send(); } } break; case Key_Mode_Switch: if (dis_page_param.face_plate_param.Air_condition_mode < 3) { dis_page_param.face_plate_param.Air_condition_mode++; } else { dis_page_param.face_plate_param.Air_condition_mode = 0; } /*if(dis_page_param.face_plate_param.Air_condition_mode == 2 && dis_page_param.face_plate_param.Air_wind_speed == 0x0100) { dis_page_param.face_plate_param.Air_wind_speed = 0x0001; }*/ Control_Save(Data_need_write); Air_Mode_data_Send(); break; case Key_Wind_Speed: if (dis_page_param.face_plate_param.Air_wind_speed != 0) { if (dis_page_param.face_plate_param.Air_wind_speed < 0x0003) { dis_page_param.face_plate_param.Air_wind_speed++; } else if (dis_page_param.face_plate_param.Air_wind_speed == 0x0003) { if (dis_page_param.face_plate_param.Air_condition_mode == 2) { dis_page_param.face_plate_param.Air_wind_speed = 0x0001; } else { dis_page_param.face_plate_param.Air_wind_speed = 0x0100; } } else if (dis_page_param.face_plate_param.Air_wind_speed == 0x0100) { dis_page_param.face_plate_param.Air_wind_speed = 0x0001; } Control_Save(Data_need_write); Air_speed_data_Send(); } break; case Key_switch: dis_page_num.display_page = dis_message_read; dis_page_param.Last_device_page_num = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: if (FloorHeating_Sheiled_Set()) { return; } dis_page_num.display_page = dis_floor_heating; break; case Key_Fresh_Air: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; break; case Key_Switch_OnOff: if (AirCondition_Sheiled_Set()) { return; } dis_page_num.display_page = dis_air_Conditioning; dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; dis_page_param.face_plate_param.Air_condition_switch = 0x00; Control_Save(Data_need_write); Air_Close_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1; break; default: break; } } void Key_Handle_air_conditioning_sleep(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_air_Conditioning; if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } break; case Key_Subtract: case Key_Air_Conditioning_Mode: case Key_Add: case Key_Mode_Switch: case Key_Wind_Speed: if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } break; case Key_switch: dis_page_num.display_page = dis_message_read; dis_page_param.Last_device_page_num = dis_air_Conditioning; if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } break; case Key_Floor_Heating_Mode: if (FloorHeating_Sheiled_Set()) { return; } dis_page_num.display_page = dis_floor_heating; if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } break; case Key_Fresh_Air: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } break; case Key_Switch_OnOff: if (AirCondition_Sheiled_Set()) { return; } dis_page_num.display_page = dis_air_Conditioning; if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_param.face_plate_param.Air_condition_switch |= 0x01; dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } else if (dis_page_param.face_plate_param.Air_condition_switch != 0) { dis_page_param.face_plate_param.Air_condition_switch &= 0xf0; dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } Control_Save(Data_need_write); Air_Open_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Air_condition_switch == 0) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_close; } else if (dis_page_param.face_plate_param.Air_condition_switch == 1) { dis_page_num.Dis_air_Conditioning = dis_air_Conditioning_open; } *Data_need_write += 1; break; default: break; } } void Key_Handle_floor_heating_close(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.sleep_times = 0; switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_floor_heating; break; case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; break; case Key_Switch_OnOff: if (FloorHeating_Sheiled_Set()) { return; } dis_page_num.display_page = dis_floor_heating; dis_page_num.Dis_floor_heating = dis_floor_heating_open; dis_page_param.face_plate_param.Floor_heating_switch = 1; Control_Save(Data_need_write); Floor_heating_Open_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1; break; default: break; } } void Key_Handle_floor_heating_open(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.sleep_times = 0; switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_floor_heating; break; case Key_Subtract: if (dis_page_param.face_plate_param.Floor_heating_set_temp > Air_set_temp_Down_limit) { dis_page_param.face_plate_param.Floor_heating_set_temp--; Control_Save(Data_need_write); Floor_heating_set_temp_data_Send(); } break; case Key_Add: if (dis_page_param.face_plate_param.Floor_heating_set_temp < Air_set_temp_up_limit) { dis_page_param.face_plate_param.Floor_heating_set_temp++; Control_Save(Data_need_write); Floor_heating_set_temp_data_Send(); } break; case Key_Air_Conditioning_Mode: if (AirCondition_Sheiled_Set()) { return; } dis_page_num.display_page = dis_air_Conditioning; break; case Key_Fresh_Air: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; break; case Key_switch: dis_page_num.display_page = dis_message_read; dis_page_param.Last_device_page_num = dis_floor_heating; break; case Key_Switch_OnOff: if (FloorHeating_Sheiled_Set()) { return; } dis_page_num.display_page = dis_floor_heating; dis_page_num.Dis_floor_heating = dis_floor_heating_close; dis_page_param.face_plate_param.Floor_heating_switch = 0; Control_Save(Data_need_write); Floor_heating_Open_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1; break; default: break; } } void Key_Handle_floor_heating_sleep(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_floor_heating; if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } break; case Key_Subtract: case Key_Floor_Heating_Mode: case Key_Add: case Key_Mode_Switch: case Key_Wind_Speed: if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } break; case Key_switch: dis_page_num.display_page = dis_message_read; dis_page_param.Last_device_page_num = dis_floor_heating; if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } break; case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } break; case Key_Switch_OnOff: if (FloorHeating_Sheiled_Set()) { return; } dis_page_num.display_page = dis_floor_heating; if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_param.face_plate_param.Floor_heating_switch = 1; dis_page_num.Dis_floor_heating = dis_floor_heating_open; Floor_heating_Open_data_Send(); } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_param.face_plate_param.Floor_heating_switch = 0; dis_page_num.Dis_floor_heating = dis_floor_heating_close; Floor_heating_Open_data_Send(); } Control_Save(Data_need_write); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Floor_heating_switch == 0) { dis_page_num.Dis_floor_heating = dis_floor_heating_close; } else if (dis_page_param.face_plate_param.Floor_heating_switch == 1) { dis_page_num.Dis_floor_heating = dis_floor_heating_open; } *Data_need_write += 1; break; default: break; } } void Key_Handle_fresh_air_close(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.sleep_times = 0; printf("uint16_t Key_Operate %d\r\n", Key_Operate); switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_fresh_air; break; case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Switch_OnOff: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; dis_page_num.Dis_fresh_air = dis_fresh_air_open; dis_page_param.face_plate_param.Fresh_air_switch = 1; Control_Save(Data_need_write); Fresh_air_Open_data_Send(); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) /*{ dis_page_param.face_plate_param.Lock_screen = 1; } else if(dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1;*/ break; default: break; } } void Key_Handle_fresh_air_open(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.sleep_times = 0; switch (Key_Operate) { case Key_Advanced_setting: // dis_page_num.display_page = dis_advanced_set; // dis_page_param.Last_device_page_num = dis_fresh_air; break; case Key_Wind_Speed: if (AirFresh_Sheiled_Set()) { return; } if (dis_page_param.face_plate_param.Fresh_air_speed != 0) { if (dis_page_param.face_plate_param.Fresh_air_speed < 3) { dis_page_param.face_plate_param.Fresh_air_speed++; (*Data_need_write)++; } else { dis_page_param.face_plate_param.Fresh_air_speed = 1; (*Data_need_write)++; } Control_Save(Data_need_write); Fresh_air_speed_data_Send(); } break; case Key_switch: // dis_page_num.display_page = dis_message_read; // dis_page_param.Last_device_page_num = dis_floor_heating; break; case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Switch_OnOff: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; dis_page_num.Dis_fresh_air = dis_fresh_air_close; dis_page_param.face_plate_param.Fresh_air_switch = 0; Control_Save(Data_need_write); Fresh_air_Open_data_Send(); break; case Key_Lock: /*if(dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if(dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } *Data_need_write += 1; */ break; case Key_Subtract: if (fuji_or_shuiji == 0) return; if (dis_page_param.face_plate_param.Fresh_set_temp > Air_set_temp_Down_limit) { dis_page_param.face_plate_param.Fresh_set_temp--; Control_Save(Data_need_write); Air_set_temp_data_Send(); } break; case Key_Add: if (fuji_or_shuiji == 0) return; if (dis_page_param.face_plate_param.Fresh_set_temp < Air_set_temp_up_limit) { dis_page_param.face_plate_param.Fresh_set_temp++; Control_Save(Data_need_write); Air_set_temp_data_Send(); } break; case Key_Mode_Switch: if (fuji_or_shuiji == 0) return; dis_page_param.face_plate_param.Fresh_condition_mode=!dis_page_param.face_plate_param.Fresh_condition_mode; Control_Save(Data_need_write); Air_Mode_data_Send(); break; default: break; } } void Key_Handle_fresh_air_sleep(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } switch (Key_Operate) { case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; dis_page_param.Last_device_page_num = dis_fresh_air; if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } break; case Key_Subtract: case Key_Fresh_Air: case Key_Add: case Key_Mode_Switch: case Key_Wind_Speed: if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } break; case Key_switch: dis_page_num.display_page = dis_message_read; dis_page_param.Last_device_page_num = dis_fresh_air; if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } break; case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } break; case Key_Switch_OnOff: if (AirFresh_Sheiled_Set()) { return; } dis_page_num.display_page = dis_fresh_air; if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_param.face_plate_param.Fresh_air_switch = 1; dis_page_num.Dis_fresh_air = dis_fresh_air_open; Fresh_air_Open_data_Send(); } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_param.face_plate_param.Fresh_air_switch = 0; dis_page_num.Dis_fresh_air = dis_fresh_air_close; Fresh_air_Open_data_Send(); } Control_Save(Data_need_write); break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } *Data_need_write += 1; break; default: break; } } void Key_Handle_real_time_temp(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.Message_sleep_times = 0; switch (Key_Operate) { case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; break; case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; break; case Key_switch: dis_page_num.Dis_message_read = dis_real_time_humidity; break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } *Data_need_write += 1; default: break; } } void Key_Handle_real_time_humidity(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.Message_sleep_times = 0; switch (Key_Operate) { case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; break; case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; break; case Key_switch: dis_page_num.Dis_message_read = dis_slave_addr; break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } *Data_need_write += 1; default: break; } } void Key_Handle_slave_addr(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.Message_sleep_times = 0; switch (Key_Operate) { case Key_Air_Conditioning_Mode: dis_page_num.display_page = dis_air_Conditioning; break; case Key_Floor_Heating_Mode: dis_page_num.display_page = dis_floor_heating; break; case Key_Fresh_Air: dis_page_num.display_page = dis_fresh_air; break; case Key_Advanced_setting: dis_page_num.display_page = dis_advanced_set; break; case Key_switch: dis_page_num.Dis_message_read = dis_real_time_temp; break; case Key_Lock: if (dis_page_param.face_plate_param.Lock_screen == 0) { dis_page_param.face_plate_param.Lock_screen = 1; } else if (dis_page_param.face_plate_param.Lock_screen == 1) { dis_page_param.face_plate_param.Lock_screen = 0; } if (dis_page_param.face_plate_param.Fresh_air_switch == 0) { dis_page_num.Dis_fresh_air = dis_fresh_air_close; } else if (dis_page_param.face_plate_param.Fresh_air_switch == 1) { dis_page_num.Dis_fresh_air = dis_fresh_air_open; } *Data_need_write += 1; default: break; } } void Key_Handle_compensates_temp_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Subtract: { if (dis_page_param.advanced_param.compensates_temp_wei == 0) { dis_page_param.advanced_param.compensates_temp_wei = 1; } else { dis_page_param.advanced_param.compensates_temp_wei = 0; } } break; case Key_Add: { if (dis_page_param.advanced_param.compensates_temp_wei == 0) { if (dis_page_param.face_plate_param.Compensates_temp == 0) { if (dis_page_param.advanced_param.compensates_temp_character == 0) { dis_page_param.advanced_param.compensates_temp_character = 1; } else if (dis_page_param.advanced_param.compensates_temp_character == 1) { dis_page_param.advanced_param.compensates_temp_character = 0; } } else if (dis_page_param.face_plate_param.Compensates_temp < 0) { dis_page_param.advanced_param.compensates_temp_character = 0; dis_page_param.face_plate_param.Compensates_temp = -dis_page_param.face_plate_param.Compensates_temp; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Compensates_temp > 0) { dis_page_param.advanced_param.compensates_temp_character = 1; dis_page_param.face_plate_param.Compensates_temp = -dis_page_param.face_plate_param.Compensates_temp; (*Data_need_write)++; } } if (dis_page_param.advanced_param.compensates_temp_wei == 1) { if (dis_page_param.face_plate_param.Compensates_temp == 0) { if (dis_page_param.advanced_param.compensates_temp_character == 0) { dis_page_param.face_plate_param.Compensates_temp = 1; } else if (dis_page_param.advanced_param.compensates_temp_character == 1) { dis_page_param.face_plate_param.Compensates_temp = -1; } } else if (dis_page_param.face_plate_param.Compensates_temp < 0) { if (dis_page_param.face_plate_param.Compensates_temp >= -9) { dis_page_param.face_plate_param.Compensates_temp--; } else { dis_page_param.face_plate_param.Compensates_temp = 0; } (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Compensates_temp > 0) { if (dis_page_param.face_plate_param.Compensates_temp <= 0x09) { dis_page_param.face_plate_param.Compensates_temp++; } else { dis_page_param.face_plate_param.Compensates_temp = 0; } (*Data_need_write)++; } } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_slave_addr_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_slave_addr_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Subtract: { if (dis_page_param.advanced_param.slave_addr_wei == 0) { dis_page_param.advanced_param.slave_addr_wei = 1; } else { dis_page_param.advanced_param.slave_addr_wei = 0; } } break; case Key_Add: { if (dis_page_param.advanced_param.slave_addr_wei == 0) { if ((dis_page_param.face_plate_param.Device_Slave_addr & 0xf) < 0x0f) { dis_page_param.face_plate_param.Device_Slave_addr += 1; (*Data_need_write)++; } else if ((dis_page_param.face_plate_param.Device_Slave_addr & 0xf) >= 0x0f) { dis_page_param.face_plate_param.Device_Slave_addr &= 0xf0; (*Data_need_write)++; } } else if (dis_page_param.advanced_param.slave_addr_wei == 1) { if ((dis_page_param.face_plate_param.Device_Slave_addr & 0xf0) < 0xf0) { dis_page_param.face_plate_param.Device_Slave_addr += 0x10; (*Data_need_write)++; } else if ((dis_page_param.face_plate_param.Device_Slave_addr & 0xf0) >= 0xf0) { dis_page_param.face_plate_param.Device_Slave_addr &= 0x0f; (*Data_need_write)++; } } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_led_brightness_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_led_brightness_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Subtract: { if (dis_page_param.advanced_param.led_brightness_wei == 0) { dis_page_param.advanced_param.led_brightness_wei = 1; } else { dis_page_param.advanced_param.led_brightness_wei = 0; } } break; case Key_Add: { if (dis_page_param.advanced_param.led_brightness_wei == 0) { uint16_t Low_value = dis_page_param.face_plate_param.Led_Brightness & 0x0f00; if (Low_value == 0x0100) { dis_page_param.face_plate_param.Led_Brightness &= 0x00FF; (*Data_need_write)++; } else if (Low_value == 0x0000) { dis_page_param.face_plate_param.Led_Brightness |= 0x0100; (*Data_need_write)++; } } else if (dis_page_param.advanced_param.led_brightness_wei == 1) { uint16_t Hight_value = dis_page_param.face_plate_param.Led_Brightness & 0x000f; if (Hight_value < 0x06) { dis_page_param.face_plate_param.Led_Brightness += 1; (*Data_need_write)++; } else if (Hight_value >= 0x06) { dis_page_param.face_plate_param.Led_Brightness &= 0x0F00; dis_page_param.face_plate_param.Led_Brightness |= 0x0001; (*Data_need_write)++; } } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_sleep_time_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_sleep_time_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Add: { if (dis_page_param.face_plate_param.Sleep_time_addr < 5) { dis_page_param.face_plate_param.Sleep_time_addr += 1; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Sleep_time_addr == 5) { dis_page_param.face_plate_param.Sleep_time_addr = 0x0f; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Sleep_time_addr == 0x0f) { dis_page_param.face_plate_param.Sleep_time_addr = 0; (*Data_need_write)++; } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_LowTempProtect_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_LowTempProtect_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Add: { if (dis_page_param.face_plate_param.Ltemp_Protection_valve < 5) { dis_page_param.face_plate_param.Ltemp_Protection_valve += 1; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Ltemp_Protection_valve == 5) { dis_page_param.face_plate_param.Ltemp_Protection_valve = 0x0f; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Ltemp_Protection_valve == 0x0f) { dis_page_param.face_plate_param.Ltemp_Protection_valve = 0; (*Data_need_write)++; } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_HeatingProtect_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_HeatingProtect_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Add: { if (dis_page_param.face_plate_param.Floor_Heating_Protecton_value < 5) { dis_page_param.face_plate_param.Floor_Heating_Protecton_value += 1; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Floor_Heating_Protecton_value >= 5) { dis_page_param.face_plate_param.Floor_Heating_Protecton_value = 0x01; (*Data_need_write)++; } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_lcd_brightness_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_lcd_brightness_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Add: { if (dis_page_param.face_plate_param.Env_Light < 7) { dis_page_param.face_plate_param.Env_Light += 1; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Env_Light >= 7) { dis_page_param.face_plate_param.Env_Light = 0x01; (*Data_need_write)++; } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_speed_relay_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } } void Key_Handle_speed_relay_set(u8 *Data_need_write, Key_Operate_t Key_Operate) { if (LCD_Lock_operate(Key_Operate)) { return; } dis_page_param.advanced_setting_time = 0; switch (Key_Operate) { case Key_Add: { if (dis_page_param.face_plate_param.Speed_Relay == 0) { dis_page_param.face_plate_param.Speed_Relay = 1; (*Data_need_write)++; } else if (dis_page_param.face_plate_param.Speed_Relay == 1) { dis_page_param.face_plate_param.Speed_Relay = 0; (*Data_need_write)++; } } break; case Key_Mode_Switch: dis_page_num.Dis_advanced_set = dis_compensates_temp_set; break; case Key_Wind_Speed: dis_page_num.display_page = dis_page_param.Last_device_page_num; break; default: break; } }