aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/FPGA
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-08-26 11:04:13 +0300
committerAvi Levkovich <avi@twine-s.com>2020-08-26 11:04:13 +0300
commitce95311e3ca782c405591d12da7cf4366c8dcfb2 (patch)
treefecccbd960dacbca0384c830956aad3c8c17f320 /Software/Embedded_SW/Embedded/Drivers/FPGA
parent089997906dccbde0028b7fc81088739ca8c6d25e (diff)
downloadTango-ce95311e3ca782c405591d12da7cf4366c8dcfb2.tar.gz
Tango-ce95311e3ca782c405591d12da7cf4366c8dcfb2.zip
Add support of WHS fan controller with slave address 0x5E .
Add option to read 2 more dancers for 4 winders demo
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers/FPGA')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c15
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.h7
2 files changed, 22 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
index 96598ef31..782949fd0 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.c
@@ -14,6 +14,8 @@
#include "PMR/Hardware/HardwareDancerType.pb-c.h"
+static short DummyBusy = 0;
+
static FpgaDancerMap_t FpgaRotEncMap[NUM_OF_ROTENC] =
{
@@ -22,10 +24,19 @@ static FpgaDancerMap_t FpgaRotEncMap[NUM_OF_ROTENC] =
{&F1_RDANCER_ROTENC_DATA_p_TX , &F1_RDANCER_ROTENC_DATA_p_RX_msb , &F1_RDANCER_ROTENC_DATA_p_RX_lsb ,&F1_SPI_Busy1_D},
// {&F1_LSPARE_ROTENC_DATA_p_TX , &F1_LSPARE_ROTENC_DATA_p_RX_msb , &F1_LSPARE_ROTENC_DATA_p_RX_lsb ,&F1_SPI_Busy1_D},//Dryer_ENC
// {&F1_RSPARE_ROTENC_DATA_p_TX , &F1_RSPARE_ROTENC_DATA_p_RX_msb , &F1_RSPARE_ROTENC_DATA_p_RX_lsb ,&F1_SPI_Busy1_D},
+#ifdef FOUR_WINDERS
+ {&F2_DISPENSER_ROTENC_DATA_p_6_TX , &F2_DISPENSER_ROTENC_DATA_p_6_RX_msb , &F2_DISPENSER_ROTENC_DATA_p_6_RX_lsb ,&DummyBusy},//We don't have Busy bit in FPGA & It is not in use
+ {&F3_SPARE2_ROTENC_DATA_p_2_TX , &F3_SPARE2_ROTENC_DATA_p_2_RX_msb , &F3_SPARE2_ROTENC_DATA_p_2_RX_lsb ,&DummyBusy},//We don't have Busy bit in FPGA & It is not in use
+#endif
+
};
+#ifdef FOUR_WINDERS
+uint8_t FPGA_SSI_Transmit(Dancers_4_Winders _RotEncId)
+#else
uint8_t FPGA_SSI_Transmit(HardwareDancerType _RotEncId)
+#endif
{
//if(*FpgaRotEncMap[_RotEncId].SSI_Busy == NOTBUSY)
{
@@ -36,7 +47,11 @@ uint8_t FPGA_SSI_Transmit(HardwareDancerType _RotEncId)
return OK;
}
+#ifdef FOUR_WINDERS
+uint8_t FPGA_SSI_Receive(Dancers_4_Winders _RotEncId)
+#else
uint8_t FPGA_SSI_Receive(HardwareDancerType _RotEncId)
+#endif
{
INT2SHORT Int2Short;
unsigned int temp;
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.h
index cec4c4de3..d51576778 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.h
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SSI_Comm.h
@@ -51,9 +51,16 @@ typedef struct
} FpgaDancerMap_t;
+
+
+#ifdef FOUR_WINDERS
+uint8_t FPGA_SSI_Transmit(Dancers_4_Winders _RotEncId);
+uint8_t FPGA_SSI_Receive(Dancers_4_Winders _RotEncId);
+#else
uint8_t FPGA_SSI_Transmit(HardwareDancerType _RotEncId);
uint8_t FPGA_SSI_Receive(HardwareDancerType _RotEncId);
+#endif
uint8_t FPGA_SSI_Speed_Sensor_Transnit();