aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/FPGA
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-08-25 10:08:01 +0300
committerAvi Levkovich <avi@twine-s.com>2020-08-25 10:08:01 +0300
commit338edba081dba2a2aefb634811be1cc84ec93d64 (patch)
tree0021538796c254a8eab8527e8461a2e831e68c1c /Software/Embedded_SW/Embedded/Drivers/FPGA
parent49ddda1cc22d6cbb72f499b37e5db32c95252dfa (diff)
downloadTango-338edba081dba2a2aefb634811be1cc84ec93d64.tar.gz
Tango-338edba081dba2a2aefb634811be1cc84ec93d64.zip
merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers/FPGA')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c15
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h5
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/ispvme/hardware.c3
3 files changed, 19 insertions, 4 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 1528473a1..f8e8d7b9e 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
@@ -11,7 +11,6 @@
#include <DataDef.h>
#include "modules/control/millisecTask.h"
#include "modules/thread/thread.h"
-#include "delay.h"
#include "FPGA_GPIO.h"
#include "drivers/FPGA/FPGA.h"
#include "StateMachines/Printing/PrintingSTM.h"
@@ -19,6 +18,7 @@
#include "Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h"
#include <Drivers/I2C_Communication/I2C_Task.h>
+#include <Utilities/delay.h>
FPGA_GPI FPGA_Gpi;
@@ -434,6 +434,12 @@ bool FPGA_Read_limit_Switches(FPGA_GPI_ENUM Limit_Switch)
case GPI_LS_LSPARE2:
LM_Status = LS_Left.bits.F1_LS_LSPARE2;
break;
+ case GPI_LS_SPARE2_2:
+ LM_Status = LS_Spare.bits.F3_LS_SPARE2_2;
+ break;
+ case GPI_LS_SPARE1_2:
+ LM_Status = LS_Spare.bits.F3_LS_SPARE1_2;
+ break;
case I2C_HEADCARD_COVER_LS_FRONT:
case I2C_HEADCARD_ARC_LS_ACTUATOR:
LM_Status = !(Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT_ARC_ACT);
@@ -537,9 +543,10 @@ uint32_t MagnetCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
if(Head_Type == HEAD_TYPE_FLAT)
Trigger_Head_Magnet(DISABLE_MAGNET);
//HeadCard_HeadMagnet_Disable();
+#ifndef FOUR_WINDERS
else
MotorStop(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,Hard_Hiz );
-
+#endif
if (SafeRemoveControlCallback(MagnetControlId, MagnetCallBackFunction )==OK)
MagnetControlId = 0xFF;
else
@@ -563,6 +570,7 @@ uint32_t ActivateHeadMagnet()
F2_CTRL = F2_CTRL_Reg.ushort;
#endif
}
+#ifndef FOUR_WINDERS
if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM))
{
if (MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_RLOADARM].DriverType == CombinrdMotDriver)
@@ -570,6 +578,7 @@ uint32_t ActivateHeadMagnet()
else
MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_CLOSE );
}
+#endif
MagnetControlId = AddControlCallback(NULL, MagnetCallBackFunction, 2* eOneSecond, TemplateDataReadCBFunction,0,0, 0 );
return OK;
}
@@ -597,6 +606,7 @@ uint32_t DeActivateHeadMagnet()
#endif
}
Report("DeActivateHeadMagnet - open the lid magnet",__FILE__,__LINE__,(int)HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,RpWarning,(int)DH_LID_CLOSE,0);
+#ifndef FOUR_WINDERS
if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM))
{
if (MotorDriverResponse[HARDWARE_MOTOR_TYPE__MOTO_RLOADARM].DriverType == CombinrdMotDriver)
@@ -605,6 +615,7 @@ uint32_t DeActivateHeadMagnet()
MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_OPEN );
//MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM, DH_LID_OPEN, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RLOADARM], NULL,1000);
}
+#endif
//MagnetControlId = AddControlCallback(NULL, MagnetCallBackFunction, 2* eOneSecond, TemplateDataReadCBFunction,0,0, 0 );
Task_sleep(500);
return OK;
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
index a7999ea2e..e707a9b39 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h
@@ -158,6 +158,11 @@ typedef enum
GPI_EXTWINDER_Direct_BIT13, //125
GPI_EXTWINDER_Direct_BIT14, //126
GPI_EXTWINDER_Direct_BIT15, //127
+
+ //LS_Spare
+ GPI_LS_SPARE2_2, //128
+ GPI_LS_SPARE1_2, //129
+
//-------------------------------
I2C_HEADCARD_COVER_LS_FRONT,
I2C_HEADCARD_COVER_LS_REAR,
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/ispvme/hardware.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/ispvme/hardware.c
index 2e3b3c3ff..549a41477 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/ispvme/hardware.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/ispvme/hardware.c
@@ -29,13 +29,12 @@
#include <stdio.h>
#include <stdint.h>
#include <string.h>
+#include <Utilities/delay.h>
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h"
-#include "delay.h"
-
#include "vmopcode.h"
#include "Drivers/FPGA/Full_vme/FPGA_Programming_Up.h"