aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2018-12-30 15:12:56 +0200
committerAvi Levkovich <avi@twine-s.com>2018-12-30 15:12:56 +0200
commitee5d4bc104bb575faeadc8d0594fdd0a32010faf (patch)
tree599ce905bee9434ef263aad31bafaf04df0a4c44 /Software/Embedded_SW/Embedded/Drivers
parent5be3a10ea6a9f392bb3923b03975636a678ef8b9 (diff)
downloadTango-ee5d4bc104bb575faeadc8d0594fdd0a32010faf.tar.gz
Tango-ee5d4bc104bb575faeadc8d0594fdd0a32010faf.zip
Add Cartridges indication
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c36
2 files changed, 39 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h
index 4f50e88c3..539c55712 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_Comm.h
@@ -636,6 +636,9 @@
//WATCHDOG
#define F3_Watchdog_reg (*((volatile short *)(FPGA3_BASE | 0x140)))//Watchdog enable bit, watchdog value - F3_GPO_01_bus BIT4 DYEINGH_SSR11_CTRL HeadHeaterZ6
+//GPO
+#define F3_GPO_02_bus (*((volatile short *)(FPGA3_BASE | 0x150)))//General purpose GPIO register
+
//SPI_MOTO_RLOADING_A1
#define F3_MOTO_SPARE1_1_A1_TX_00 (*((volatile short *)(FPGA3_BASE | 0x200))) //The second register to be shifted out of the spi. The msb bit of this register is shifted out first.
#define F3_MOTO_SPARE1_1_A1_TX_01 (*((volatile short *)(FPGA3_BASE | 0x202))) //The first register to be shifted out of the spi. The msb bit of this register is shifted out first.
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 e2e532428..79d1a17a4 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
@@ -557,3 +557,39 @@ bool Read_PWR_Button()//TODO move to GPIO folder
return IsPowerPressed;
}
+uint8_t Cartridges_LEDS(CARTREGE Cartridge, OPERATION_MODE LED_Mode)
+{
+ uint8_t Status = OK;
+
+ switch(LED_Mode)
+ {
+ case MODE_ON:
+ F3_GPO_02_bus |= (0x01 << Cartridge);
+ break;
+ case MODE_OFF:
+ F3_GPO_02_bus &= ~(0x01 << Cartridge);
+ break;
+ default:
+ Status = ERROR;
+ break;
+ }
+
+ return Status;
+}
+
+bool Read_Cartridge_Button(CARTREGE Cartridge)//TODO Update the polarity!!!
+{
+ bool IsCartPressed = false;
+
+ if((Cartridge == CART1) && (F3_CARTx_PRES_02_Direct & BIT7))
+ IsCartPressed = true;
+ else
+ if((Cartridge == CART2) && (F3_CARTx_PRES_02_Direct & BIT6))
+ IsCartPressed = true;
+ else
+ if((Cartridge == CART3) && (F3_CARTx_PRES_02_Direct & BIT5))
+ IsCartPressed = true;
+
+ return IsCartPressed;
+}
+