From 69865fad49ccbc47868882a3055a8fc2dd8cf672 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Wed, 6 Jan 2021 14:43:13 +0200 Subject: Write to pannels leds only when there is a change from the previous mode --- .../Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'Software/Embedded_SW') diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c index 360eb3351..e72895d9b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c @@ -1060,6 +1060,7 @@ uint8_t Cartridges_LEDS(CARTREGE Cartridge, OPERATION_MODE LED_Mode) // CART1_LA return Status; } */ +uint8_t Last_Mode[7] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};//Leds uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mode) { uint8_t Status = OK; @@ -1092,29 +1093,53 @@ uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mo switch(Pannel_Led_Id) { case POWER_ON_OFF: + if(Last_Mode[POWER_ON_OFF] != LED_Mode) + { F3_low_var_LED1 = Low_Reg; F3_high_var_LED1 = High_Reg; Machine_Idle_Mode = false; + Last_Mode[POWER_ON_OFF] = LED_Mode; + } break; case THREAD_JOGGING: + if(Last_Mode[THREAD_JOGGING] != LED_Mode) + { F3_low_var_LED3 = Low_Reg; F3_high_var_LED3 = High_Reg; + Last_Mode[THREAD_JOGGING] = LED_Mode; + } break; case THREAD_LOAD: + if(Last_Mode[THREAD_LOAD] != LED_Mode) + { F3_low_var_LED2 = Low_Reg; F3_high_var_LED2 = High_Reg; + Last_Mode[THREAD_LOAD] = LED_Mode; + } break; case CART_1: + if(Last_Mode[CART_1] != LED_Mode) + { F3_LOw_Cart_Led1 = Low_Reg; F3_High_Cart_Led1 = High_Reg; + Last_Mode[CART_1] = LED_Mode; + } break; case CART_2: + if(Last_Mode[CART_2] != LED_Mode) + { F3_LOw_Cart_Led2 = Low_Reg; F3_High_Cart_Led2 = High_Reg; + Last_Mode[CART_2] = LED_Mode; + } break; case CART_3: + if(Last_Mode[CART_3] != LED_Mode) + { F3_LOw_Cart_Led3 = Low_Reg; F3_High_Cart_Led3 = High_Reg; + Last_Mode[CART_3] = LED_Mode; + } break; default: Status = ERROR; -- cgit v1.3.1