aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2021-01-06 14:43:13 +0200
committerAvi Levkovich <avi@twine-s.com>2021-01-06 14:43:13 +0200
commit69865fad49ccbc47868882a3055a8fc2dd8cf672 (patch)
tree3e9fa823af6d0431b9ac445929354a913aa16e4f /Software/Embedded_SW
parentfd8f317b9843a6928c24cb2a034afbfa451fd375 (diff)
downloadTango-69865fad49ccbc47868882a3055a8fc2dd8cf672.tar.gz
Tango-69865fad49ccbc47868882a3055a8fc2dd8cf672.zip
Write to pannels leds only when there is a change from the previous mode
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c25
1 files changed, 25 insertions, 0 deletions
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;