diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.autotools b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.autotools
index 83a250c..e29d320 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.autotools
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.autotools
@@ -1,83 +1,83 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.settings/language.settings.xml b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.settings/language.settings.xml
index 77fe3bf..9ded83d 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.settings/language.settings.xml
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/FreeRTOS/.settings/language.settings.xml
@@ -6,7 +6,7 @@
-
+
@@ -18,7 +18,7 @@
-
+
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/Makefile b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/Makefile
index 37f991e..1f4d19c 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/Makefile
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/Makefile
@@ -39,7 +39,6 @@ MemoryDevice.o \
nhd0420.o \
Observable.o \
PID.o \
-Power6V5Supply.o \
storm700.o \
TeslaGunSafety.o
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/inc/Power6V5Supply.h b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/inc/Power6V5Supply.h
deleted file mode 100644
index 085cb0c..0000000
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/inc/Power6V5Supply.h
+++ /dev/null
@@ -1,121 +0,0 @@
-// -----------------------------------------------------------------------------
-/// @file Power6V5Supply.h
-/// @brief File description
-// -----------------------------------------------------------------------------
-// Micro-Key bv
-// Industrieweg 28, 9804 TG Noordhorn
-// Postbus 92, 9800 AB Zuidhorn
-// The Netherlands
-// Tel: +31 594 503020
-// Fax: +31 594 505825
-// Email: support@microkey.nl
-// Web: www.microkey.nl
-// -----------------------------------------------------------------------------
-/// $Revision$
-/// $Author$
-/// $Date$
-// (c) 2015 Micro-Key bv
-// -----------------------------------------------------------------------------
-
-/// @defgroup {group_name} {group_description}
-/// Description
-
-/// @file Power6V5Supply.h
-/// @ingroup {group_name}
-
-#ifndef INC_POWER6V5SUPPLY_H_
-#define INC_POWER6V5SUPPLY_H_
-
-
-// -----------------------------------------------------------------------------
-// Include files
-// -----------------------------------------------------------------------------
-
-#include
-
-#include "stm32f10x.h"
-
-#include "platform.h"
-#include "gpio.h"
-
-// -----------------------------------------------------------------------------
-// Constant and macro definitions
-// -----------------------------------------------------------------------------
-
-
-
-// -----------------------------------------------------------------------------
-// Type definitions.
-// -----------------------------------------------------------------------------
-
-
-// -----------------------------------------------------------------------------
-// Function declarations
-// -----------------------------------------------------------------------------
-
-
-/** ----------------------------------------------------------------------------
- * Power6V5Supply_construct
- * Constructor for a 6V5 power supply
- *
- * @param self
- * @param solenoidGpio
-
- * @return ErrorStatus
- *
- * @todo
- * -----------------------------------------------------------------------------
- */
-extern ErrorStatus Power6V5Supply_construct(struct Gpio* gpio);
-
-
-/** ----------------------------------------------------------------------------
- * Power6V5Supply_destruct
- * Destructor for a 6V5 power supply
- *
- * @return ErrorStatus
- *
- * @todo
- * -----------------------------------------------------------------------------
- */
-extern void Power6V5Supply_destruct(void);
-
-
-/** ----------------------------------------------------------------------------
- * Power6V5Supply_unlock
- * Disables the 6V5 power supply
- *
- * @return ErrorStatus
- *
- * @todo
- * -----------------------------------------------------------------------------
- */
-extern ErrorStatus Power6V5Supply_off(void);
-
-
-/** ----------------------------------------------------------------------------
- * Power6V5Supply_on
- * Enables the 6V5 power supply
- *
- * @return ErrorStatus
- *
- * @todo
- * -----------------------------------------------------------------------------
- */
-extern ErrorStatus Power6V5Supply_on(void);
-
-
-/** ----------------------------------------------------------------------------
- * Power6V5Supply_getGPIO
- * Description of function
- *
- * @param
- * @param
- * @return struct Gpio*
- *
- * @todo
- * -----------------------------------------------------------------------------
- */
-extern struct Gpio* Power6V5Supply_getGPIO(void);
-
-#endif /* INC_POWER6V5SUPPLY_H_ */
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/src/Power6V5Supply.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/src/Power6V5Supply.c
deleted file mode 100644
index 98bfcdf..0000000
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/HAL/src/Power6V5Supply.c
+++ /dev/null
@@ -1,120 +0,0 @@
-// -----------------------------------------------------------------------------
-/// @file Power6V5Supply.c
-/// @brief Description
-// -----------------------------------------------------------------------------
-// Micro-Key bv
-// Industrieweg 28, 9804 TG Noordhorn
-// Postbus 92, 9800 AB Zuidhorn
-// The Netherlands
-// Tel: +31 594 503020
-// Fax: +31 594 505825
-// Email: support@microkey.nl
-// Web: www.microkey.nl
-// -----------------------------------------------------------------------------
-/// $Revision$
-/// $Author$
-/// $Date$
-// (c) 2017 Micro-Key bv
-// -----------------------------------------------------------------------------
-
-/// @file Power6V5Supply.c
-/// @ingroup {group_name}
-
-
-// -----------------------------------------------------------------------------
-// Include files
-// -----------------------------------------------------------------------------
-
-#include "Power6V5Supply.h"
-
-// -----------------------------------------------------------------------------
-// Constant and macro definitions
-// -----------------------------------------------------------------------------
-
-
-
-// -----------------------------------------------------------------------------
-// Type definitions
-// -----------------------------------------------------------------------------
-
-struct Power6V5Supply
-{
- bool initialized;
- struct Gpio* gpio;
-};
-
-// -----------------------------------------------------------------------------
-// File-scope variables
-// -----------------------------------------------------------------------------
-
-static struct Power6V5Supply self = {.initialized = false};
-
-// -----------------------------------------------------------------------------
-// Function declarations
-// -----------------------------------------------------------------------------
-
-
-
-// -----------------------------------------------------------------------------
-// Function definitions
-// -----------------------------------------------------------------------------
-
-ErrorStatus Power6V5Supply_construct(struct Gpio* gpio)
-{
- ErrorStatus returnValue = SUCCESS;
- if (!self.initialized)
- {
- self.gpio = gpio;
- self.initialized = true;
- }
- else
- {
- returnValue = ERROR;
- }
- return returnValue;
-}
-
-
-void Power6V5Supply_destruct(void)
-{
- if (self.initialized)
- {
- self.initialized = false;
- }
-}
-
-
-ErrorStatus Power6V5Supply_off(void)
-{
- ErrorStatus returnValue = SUCCESS;
- if (self.initialized)
- {
- returnValue = GPIO_setValue(self.gpio, true);
- }
- else
- {
- returnValue = ERROR;
- }
- return returnValue;
-}
-
-
-ErrorStatus Power6V5Supply_on(void)
-{
- ErrorStatus returnValue = SUCCESS;
- if (self.initialized)
- {
- returnValue = GPIO_setValue(self.gpio, false);
- }
- else
- {
- returnValue = ERROR;
- }
- return returnValue;
-}
-
-
-struct Gpio* Power6V5Supply_getGPIO(void)
-{
- return self.gpio;
-}
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/Platform/src/oli_stm32_h107.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/Platform/src/oli_stm32_h107.c
index ab7fa1f..e42dabf 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/Platform/src/oli_stm32_h107.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/Platform/src/oli_stm32_h107.c
@@ -31,8 +31,10 @@
#include "stm32f10x_adc.h"
#include "stm32f10x_bkp.h"
#include "stm32f10x_dma.h"
+#include "stm32f10x_exti.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_pwr.h"
+#include "stm32f10x_rcc.h"
#include "stm32f10x_it.h"
#include "Logger.h"
@@ -48,7 +50,6 @@
#include "MAX5715.h"
#include "nhd0420.h"
#include "PCBA.h"
-#include "Power6V5Supply.h"
#include "rtc.h"
#include "spi.h"
#include "spiDevice.h"
@@ -78,9 +79,9 @@
// SPI1 settings
// SPI3 settings (LCD / EEPROM)
-#define SPI_LCD_EEPROM_Direction (SPI_Direction_2Lines_FullDuplex)
-#define SPI_LCD_EEPROM_RX_QUEUE (32)
-#define SPI_LCD_EEPROM_TX_QUEUE (32)
+#define SPI_LCD_Direction (SPI_Direction_2Lines_FullDuplex)
+#define SPI_LCD_RX_QUEUE (32)
+#define SPI_LCD_TX_QUEUE (32)
// Keypad Settings
#define KEYPAD_DEBOUNCE_TIME_MS (20)
@@ -124,9 +125,7 @@ static struct SpiDevice _spiDAC = {.initialized = false};
static struct SpiParameters _spi1DACParameters;
static struct Spi _spi3 = {.initialized = false};
static struct SpiParameters _spi3DisplayParameters;
-static struct SpiParameters _spi3EEPROMParameters;
static struct SpiDevice _spiDisplay = {.initialized = false};
-static struct SpiDevice _spiEEPROM = {.initialized = false};
// Keypad
static struct Keypad _keypad = {.initialized = false};
@@ -138,7 +137,6 @@ static struct InternalFlash _iFlash = {.initialized = false};
// GPIOs
static struct Gpio _ledGreen = {.initialized = false};
static struct Gpio _ledOrange = {.initialized = false};
-static struct Gpio _power6v5Enable = {.initialized = false};
static struct Gpio _interlockNO = {.initialized = false};
static EXTI_InitTypeDef _interlockNOEXTI;
static struct Gpio _interlockNC = {.initialized = false};
@@ -180,8 +178,6 @@ struct SpiDevice* const spiDAC = &_spiDAC;
struct SpiParameters* const spiDACParam = &_spi1DACParameters;
struct SpiDevice* const spiDisplay = &_spiDisplay;
struct SpiParameters* const spiDisplayParam = &_spi3DisplayParameters;
-struct SpiDevice* const spiEEPROM = &_spiEEPROM;
-struct SpiParameters* const spiEEPROMParam = &_spi3EEPROMParameters;
struct Keypad* const keypad = &_keypad;
struct Storm700* const storm700 = &_storm700;
@@ -369,164 +365,83 @@ static ErrorStatus initIO (void)
/* SPI initialisation ----------------------------------------------------*/
// SPI1 CLK
- _spi1.SPI_CLK.GPIO_Typedef = GPIOA;
- _spi1.SPI_CLK.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- _spi1.SPI_CLK.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
- _spi1.SPI_CLK.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spi1.SPI_CLK.GPIO_Typedef, &_spi1.SPI_CLK.GPIO_InitStruct);
+ spi1->SPI_CLK = configureGPIO(GPIOA, GPIO_Mode_AF_PP, GPIO_Speed_50MHz, GPIO_Pin_5);
// SPI1 MISO
- _spi1.SPI_MISO.GPIO_Typedef = GPIOA;
- _spi1.SPI_MISO.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
- _spi1.SPI_MISO.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;
- GPIO_Init(_spi1.SPI_MISO.GPIO_Typedef, &_spi1.SPI_MISO.GPIO_InitStruct);
+ spi1->SPI_MISO = configureGPIO(GPIOA, GPIO_Mode_IN_FLOATING, GPIO_Speed_50MHz, GPIO_Pin_6);
// SPI1 MOSI
- _spi1.SPI_MOSI.GPIO_Typedef = GPIOA;
- _spi1.SPI_MOSI.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- _spi1.SPI_MOSI.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_7;
- _spi1.SPI_MOSI.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spi1.SPI_MOSI.GPIO_Typedef, &_spi1.SPI_MOSI.GPIO_InitStruct);
- // SPI1 CE
- _spiDAC.SPI_CE.GPIO_Typedef = GPIOA;
- _spiDAC.SPI_CE.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- _spiDAC.SPI_CE.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
- _spiDAC.SPI_CE.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spiDAC.SPI_CE.GPIO_Typedef, &_spiDAC.SPI_CE.GPIO_InitStruct);
+ spi1->SPI_MOSI = configureGPIO(GPIOA, GPIO_Mode_AF_PP, GPIO_Speed_50MHz, GPIO_Pin_7);
- spiDAC->spi = &_spi1;
+ // Assign spi1 to purpose
+ spiDAC->spi = spi1;
+ // SPIDAC specific CE
+ spiDAC->SPI_CE = configureGPIO(GPIOA, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_4);
// SPI3 CLK
- _spi3.SPI_CLK.GPIO_Typedef = GPIOC;
- _spi3.SPI_CLK.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- _spi3.SPI_CLK.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
- _spi3.SPI_CLK.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spi3.SPI_CLK.GPIO_Typedef, &_spi3.SPI_CLK.GPIO_InitStruct);
+ spi3->SPI_CLK = configureGPIO(GPIOC, GPIO_Mode_AF_PP, GPIO_Speed_50MHz, GPIO_Pin_10);
// SPI3 MISO
- _spi3.SPI_MISO.GPIO_Typedef = GPIOC;
- _spi3.SPI_MISO.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- _spi3.SPI_MISO.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_11;
- _spi3.SPI_MISO.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spi3.SPI_MISO.GPIO_Typedef, &_spi3.SPI_MISO.GPIO_InitStruct);
+ spi3->SPI_MISO = configureGPIO(GPIOC, GPIO_Mode_IN_FLOATING, GPIO_Speed_50MHz, GPIO_Pin_11);
// SPI3 MOSI
- _spi3.SPI_MOSI.GPIO_Typedef = GPIOC;
- _spi3.SPI_MOSI.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
- _spi3.SPI_MOSI.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12;
- _spi3.SPI_MOSI.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spi3.SPI_MOSI.GPIO_Typedef, &_spi3.SPI_MOSI.GPIO_InitStruct);
+ spi3->SPI_MOSI = configureGPIO(GPIOC, GPIO_Mode_AF_PP, GPIO_Speed_50MHz, GPIO_Pin_12);
// Apply pin-remapping for SPI3 I/Os (alternative I/Os usage)
GPIO_PinRemapConfig(GPIO_Remap_SPI3, ENABLE);
// SPI3 Display shares all parameters with SPI3 but the ChipEnable, which is different
- _spiDisplay.spi = &_spi3;
- // SPI3 CE EEPROM
- _spiDisplay.SPI_CE.GPIO_Typedef = GPIOE;
- _spiDisplay.SPI_CE.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- _spiDisplay.SPI_CE.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
- _spiDisplay.SPI_CE.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spiDisplay.SPI_CE.GPIO_Typedef, &_spiDisplay.SPI_CE.GPIO_InitStruct);
-
- // SPI3 EEPROM shares all parameters with SPI3 but the ChipEnable, which is different
- _spiEEPROM.spi = &_spi3;
- // SPI3 CE EEPROM
- _spiEEPROM.SPI_CE.GPIO_Typedef = GPIOE;
- _spiEEPROM.SPI_CE.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- _spiEEPROM.SPI_CE.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
- _spiEEPROM.SPI_CE.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(_spiEEPROM.SPI_CE.GPIO_Typedef, &_spiEEPROM.SPI_CE.GPIO_InitStruct);
+ spiDisplay->spi = spi3;
+ // SPI Display specific CE
+ spiDisplay->SPI_CE = configureGPIO(GPIOE, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_0);
/* KEYPAD initialisation -------------------------------------------------*/
// Row1
- keypad->row[0].gpio.GPIO_Typedef = GPIOD;
- keypad->row[0].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- keypad->row[0].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
- keypad->row[0].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->row[0].gpio.GPIO_Typedef, &keypad->row[0].gpio.GPIO_InitStruct);
-
+ keypad->row[0].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_0);
// Row2
- keypad->row[1].gpio.GPIO_Typedef = GPIOD;
- keypad->row[1].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- keypad->row[1].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;
- keypad->row[1].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->row[1].gpio.GPIO_Typedef, &keypad->row[1].gpio.GPIO_InitStruct);
+ keypad->row[1].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_1);
// Row3
- keypad->row[2].gpio.GPIO_Typedef = GPIOD;
- keypad->row[2].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- keypad->row[2].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;
- keypad->row[2].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->row[2].gpio.GPIO_Typedef, &keypad->row[2].gpio.GPIO_InitStruct);
+ keypad->row[2].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_2);
// Row4
- keypad->row[3].gpio.GPIO_Typedef = GPIOD;
- keypad->row[3].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
- keypad->row[3].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;
- keypad->row[3].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->row[3].gpio.GPIO_Typedef, &keypad->row[3].gpio.GPIO_InitStruct);
+ keypad->row[3].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_3);
// Column1
- keypad->column[0].gpio.GPIO_Typedef = GPIOD;
- keypad->column[0].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
- keypad->column[0].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_4;
- keypad->column[0].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->column[0].gpio.GPIO_Typedef, &keypad->column[0].gpio.GPIO_InitStruct);
- GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource4);
-
+ keypad->column[0].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_4);
// Column2
- keypad->column[1].gpio.GPIO_Typedef = GPIOD;
- keypad->column[1].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
- keypad->column[1].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
- keypad->column[1].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->column[1].gpio.GPIO_Typedef, &keypad->column[1].gpio.GPIO_InitStruct);
- GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource5);
-
+ keypad->column[1].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_5);
// Column3
- keypad->column[2].gpio.GPIO_Typedef = GPIOD;
- keypad->column[2].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
- keypad->column[2].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;
- keypad->column[2].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->column[2].gpio.GPIO_Typedef, &keypad->column[2].gpio.GPIO_InitStruct);
- GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource6);
-
+ keypad->column[2].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_6);
// Column4
- keypad->column[3].gpio.GPIO_Typedef = GPIOD;
- keypad->column[3].gpio.GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;
- keypad->column[3].gpio.GPIO_InitStruct.GPIO_Pin = GPIO_Pin_7;
- keypad->column[3].gpio.GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(keypad->column[3].gpio.GPIO_Typedef, &keypad->column[3].gpio.GPIO_InitStruct);
- GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource7);
+ keypad->column[3].gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_7);
/* GPIO initialisation ---------------------------------------------------*/
- // 6V5 enable -> PE12 output
- _power6v5Enable.gpio = configureGPIO(GPIOE, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_12);
// Interlock1 - PB0 input
- _interlockNO.gpio = configureGPIO(GPIOB, GPIO_Mode_IPU, GPIO_Speed_50MHz, GPIO_Pin_0);
+ _interlockNO.gpio = configureGPIO(GPIOB, GPIO_Mode_IPU, GPIO_Speed_50MHz, GPIO_Pin_0);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);
// Interlock2 - PB1 input
- _interlockNC.gpio = configureGPIO(GPIOB, GPIO_Mode_IPU, GPIO_Speed_50MHz, GPIO_Pin_1);
+ _interlockNC.gpio = configureGPIO(GPIOB, GPIO_Mode_IPU, GPIO_Speed_50MHz, GPIO_Pin_1);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource1);
// Solenoid - PB5 output
- _solenoid.gpio = configureGPIO(GPIOB, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_5);
+ _solenoid.gpio = configureGPIO(GPIOB, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_5);
if (PCBA_getInstance()->pcba == PCBA_CathodeMCP)
{
// MCP0Relay - PD8 output
- _mcp0Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_8);
+ _mcp0Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_8);
// MCP1Relay - PD9 output
- _mcp1Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_9);
+ _mcp1Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_9);
// MCP2Relay - PD10 output
- _mcp2Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_10);
+ _mcp2Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_10);
// CAT0Relay - PD11 output
- _cat0Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_11);
+ _cat0Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_11);
// CAT1Relay - PD12 output
- _cat1Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_12);
+ _cat1Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_12);
// CAT2Relay - PD13 output
- _cat2Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_13);
+ _cat2Relay.gpio = configureGPIO(GPIOD, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_13);
}
if (PCBA_getInstance()->pcba == PCBA_Tesla)
{
- // Tesla Gun relay PB9 (or 10???)
- _teslaRelay.gpio = configureGPIO(GPIOB, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_9);
+ // Tesla Gun relay PB9
+ _teslaRelay.gpio = configureGPIO(GPIOB, GPIO_Mode_Out_PP, GPIO_Speed_50MHz, GPIO_Pin_9);
}
return returnValue;
}
@@ -657,13 +572,12 @@ static ErrorStatus initPeriphery(void)
// Use full-duples instead of TX only, because the EEPROM is both write- and readable
spiDisplayParam->SPI_Direction = SPI_Direction_2Lines_FullDuplex;
// Adjust the RX and TX queues for multiple use
- spiDisplayParam->rxQueueSize = SPI_LCD_EEPROM_RX_QUEUE;
- spiDisplayParam->txQueueSize = SPI_LCD_EEPROM_TX_QUEUE;
+ spiDisplayParam->rxQueueSize = SPI_LCD_RX_QUEUE;
+ spiDisplayParam->txQueueSize = SPI_LCD_TX_QUEUE;
///TODO SPI_CE should be initialized individually
GPIO_SetBits(spiDisplay->SPI_CE.GPIO_Typedef, spiDisplay->SPI_CE.GPIO_InitStruct.GPIO_Pin);
- GPIO_SetBits(spiEEPROM->SPI_CE.GPIO_Typedef, spiEEPROM->SPI_CE.GPIO_InitStruct.GPIO_Pin);
SpiDevice_construct(spiDisplay, spi3, spiDisplayParam);
- SpiDevice_construct(spiEEPROM, spi3, spiEEPROMParam);
+
/* --------------------------------------------------------------------*/
/* KEYPAD COLUMNS */
@@ -703,7 +617,6 @@ static ErrorStatus initPeriphery(void)
InternalFlash_construct(iFlash);
-
/* --------------------------------------------------------------------*/
/* GPIOs */
/* --------------------------------------------------------------------*/
@@ -711,8 +624,6 @@ static ErrorStatus initPeriphery(void)
GPIO_construct(ledGreen, OUTPUT, ledGreen->gpio);
// Orange LED
GPIO_construct(ledOrange, OUTPUT, ledOrange->gpio);
- // 6V5 Power Enable
- GPIO_construct(&_power6v5Enable, OUTPUT, _power6v5Enable.gpio);
IRQ_setInterruptProperties(EXTI0_IRQn, 12, 0, ENABLE);
IRQ_setInterruptProperties(EXTI1_IRQn, 12, 0, ENABLE);
@@ -765,11 +676,6 @@ static ErrorStatus initPlatformDevices (void)
Interlock_construct(interlock, COMMON_INTERLOCK, &_interlockNO, _interlockNOEXTI, &_interlockNC, _interlockNCEXTI, INTERLOCK_DEBOUNCE_TIME_MS);
}
- if (returnValue == SUCCESS)
- {
- Power6V5Supply_construct(&_power6v5Enable);
- }
-
if (returnValue == SUCCESS)
{
CoverSolenoid_construct(&_solenoid);
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/STM32F10x_StdPeriph_Lib_V3.5.0/.settings/language.settings.xml b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/STM32F10x_StdPeriph_Lib_V3.5.0/.settings/language.settings.xml
index 9d2154f..4c1e526 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/STM32F10x_StdPeriph_Lib_V3.5.0/.settings/language.settings.xml
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/STM32F10x_StdPeriph_Lib_V3.5.0/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/buglist.txt b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/buglist.txt
index effe6aa..a96c5b1 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/buglist.txt
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/buglist.txt
@@ -2,10 +2,12 @@
- Display cursor unstable
- repairMenu has bad reference to getmainrepairmenu
- Makefile extention to have output file name corresponding to langugage and build targets
+- Display misses first character (row1/column1) when starting. Should be a delay problem in creating the start screen. (between putting cursor home and write action)
FIXED
+0.9.0.4
- PIN change verification not functional
- Multi-Language support added to menu. All strings/messages outsourced to dedicated file. MakeFile adapted
- NumberOfStages Macro for presets not implemented well. It will be ignored when generating DEFAULT presets
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/.settings/language.settings.xml b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/.settings/language.settings.xml
index 695e355..0087b6c 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/.settings/language.settings.xml
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/.settings/language.settings.xml
@@ -6,7 +6,7 @@
-
+
@@ -18,7 +18,7 @@
-
+
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/MenuText.h b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/MenuText.h
index a1c9ce5..628abd9 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/MenuText.h
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/inc/MenuText.h
@@ -56,6 +56,7 @@
// -----------------------
static const char MenuText_WARNING[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 17 CHARACTERS
{
"!!WARNING!!"
},
@@ -66,6 +67,7 @@ static const char MenuText_WARNING[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_P
static const char MenuText_WARNING_COVER_OPEN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"COVER OPEN"
},
@@ -80,6 +82,7 @@ static const char MenuText_WARNING_COVER_OPEN[MENUTEXT_NUMBER_OF_LANGUAGES][MENU
// -----------------------
static const char MenuText_ERROR[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 17 CHARACTERS
{
"!!ERROR!!"
},
@@ -90,6 +93,7 @@ static const char MenuText_ERROR[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POP
static const char MenuText_ERROR_COVER_OPEN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"COVER OPEN"
},
@@ -101,6 +105,7 @@ static const char MenuText_ERROR_COVER_OPEN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTE
static const char MenuText_ERROR_PROCESS_FAILED[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"PROCESS FAILED"
},
@@ -111,6 +116,7 @@ static const char MenuText_ERROR_PROCESS_FAILED[MENUTEXT_NUMBER_OF_LANGUAGES][ME
static const char MenuText_ERROR_CRC_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"PIN CRC ERROR"
},
@@ -121,6 +127,7 @@ static const char MenuText_ERROR_CRC_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_
static const char MenuText_ERROR_CRC_PARAMETERS[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"PARAMETERS CRC ERROR"
},
@@ -131,6 +138,7 @@ static const char MenuText_ERROR_CRC_PARAMETERS[MENUTEXT_NUMBER_OF_LANGUAGES][ME
static const char MenuText_ERROR_CRC_PRESETS[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"PRESETS CRC ERROR"
},
@@ -145,6 +153,7 @@ static const char MenuText_ERROR_CRC_PRESETS[MENUTEXT_NUMBER_OF_LANGUAGES][MENUT
static const char MenuText_X_CONTINUE[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Hit X to continue"
},
@@ -155,6 +164,7 @@ static const char MenuText_X_CONTINUE[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POP
static const char MenuText_REPAIR_SCREEN[MENUTEXT_NUMBER_OF_LANGUAGES][4][MENUTEXT_REPAIRSCREEN_LENGTH] =
{
+ // MAX 7 CHARACTERS
{
"total", // Indicates the total repair time
"remain", // Indicates the remaining repair time
@@ -168,6 +178,7 @@ static const char MenuText_REPAIR_SCREEN[MENUTEXT_NUMBER_OF_LANGUAGES][4][MENUTE
static const char MenuText_REPAIR_SCREEN_INIT[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 17 CHARACTERS
{
"Initialising" // Indicates start of a repair
},
@@ -178,6 +189,7 @@ static const char MenuText_REPAIR_SCREEN_INIT[MENUTEXT_NUMBER_OF_LANGUAGES][MENU
static const char MenuText_PAUSE[MENUTEXT_NUMBER_OF_LANGUAGES][5][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"REPAIR BUSY",
"Hit X to PAUSE",
@@ -192,6 +204,7 @@ static const char MenuText_PAUSE[MENUTEXT_NUMBER_OF_LANGUAGES][5][MENUTEXT_POPUP
static const char MenuText_FINISH[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"REPAIR FINISHED",
"Hit ENT to continue",
@@ -203,6 +216,7 @@ static const char MenuText_FINISH[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_POPU
static const char MenuText_PRINT_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][5][MENUTEXT_PRESET_MAX_LENGTH] =
{
+ // MAX 7 CHARACTERS - MIND THE COLON, IT MUST BE CALCULATED INTO THE MAX CHARACTERS
{
"Preset",
"info",
@@ -217,6 +231,7 @@ static const char MenuText_PRINT_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][5][MENUTEX
static const char MenuText_CHANGE_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_CHANGEPIN_MAX_LENGTH] =
{
+ // MAX 15 CHARACTERS
{
" New PIN:",
" Repeat PIN:"
@@ -228,6 +243,7 @@ static const char MenuText_CHANGE_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_
static const char MenuText_INTERLOCK_STATUS[MENUTEXT_NUMBER_OF_LANGUAGES][3][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Cover Interlock is",
"closed",
@@ -240,6 +256,7 @@ static const char MenuText_INTERLOCK_STATUS[MENUTEXT_NUMBER_OF_LANGUAGES][3][MEN
static const char MenuText_CONFIRM_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"PIN OK",
"PIN DENIED"
@@ -251,6 +268,7 @@ static const char MenuText_CONFIRM_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT
static const char MenuText_CONFIRM_NEW_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"New PIN accepted",
"New PIN denied"
@@ -262,6 +280,7 @@ static const char MenuText_CONFIRM_NEW_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENU
static const char MenuText_SAFE_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Preset saved"
},
@@ -272,6 +291,7 @@ static const char MenuText_SAFE_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_PO
static const char MenuText_SELECT_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH - 3] =
{
+ // MAX 17 CHARACTERS
{
"Selected preset:"
},
@@ -283,6 +303,7 @@ static const char MenuText_SELECT_PRESET[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_
static const char MenuText_SAFE_CONSTANTS[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Constants saved"
},
@@ -293,6 +314,7 @@ static const char MenuText_SAFE_CONSTANTS[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT
static const char MenuText_INSERT_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Insert PIN"
},
@@ -303,6 +325,7 @@ static const char MenuText_INSERT_PIN[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_POP
static const char MenuText_VOLTAGE_IN_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 16 CHARACTERS
{
"Get voltage in"
},
@@ -313,6 +336,7 @@ static const char MenuText_VOLTAGE_IN_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENUT
static const char MenuText_VOLTAGE_OUT_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 16 CHARACTERS
{
"Set voltage out"
},
@@ -323,6 +347,7 @@ static const char MenuText_VOLTAGE_OUT_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENU
static const char MenuText_VOLTAGE_ROW[MENUTEXT_NUMBER_OF_LANGUAGES][5] =
{
+ // MAX 5 CHARACTERS
{
"Row"
},
@@ -333,6 +358,7 @@ static const char MenuText_VOLTAGE_ROW[MENUTEXT_NUMBER_OF_LANGUAGES][5] =
static const char MenuText_CONSTANTS_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTEXT_ROW1_POPUP_MAX_LENGTH] =
{
+ // MAX 16 CHARACTERS
{
"PID constants"
},
@@ -343,6 +369,7 @@ static const char MenuText_CONSTANTS_HEADER[MENUTEXT_NUMBER_OF_LANGUAGES][MENUTE
static const char MenuText_VOLTAGE_OUT_CLEANUP[MENUTEXT_NUMBER_OF_LANGUAGES][2][MENUTEXT_POPUP_MESSAGE_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"All rows reset to 0V",
"Press X to continue"
@@ -357,6 +384,7 @@ static const char MenuText_VOLTAGE_OUT_CLEANUP[MENUTEXT_NUMBER_OF_LANGUAGES][2][
// -----------------------
static const char MenuText_MAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"",
" 1.Tube repair",
@@ -370,6 +398,7 @@ static const char MenuText_MAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_N
static const char MenuText_CATHODEMCP_SELECT[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Tube repair",
" 1.Cathode repair",
@@ -382,6 +411,7 @@ static const char MenuText_CATHODEMCP_SELECT[MENUTEXT_NUMBER_OF_LANGUAGES][MENUC
static const char MenuText_ADMIN_CATHODEMCP_SELECT[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Administration",
" 1.Cathode",
@@ -395,6 +425,7 @@ static const char MenuText_ADMIN_CATHODEMCP_SELECT[MENUTEXT_NUMBER_OF_LANGUAGES]
static const char MenuText_REPAIRMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Tube repair",
" 1.Select preset",
@@ -408,6 +439,7 @@ static const char MenuText_REPAIRMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX
static const char MenuText_PRESETMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Select preset",
" 1.Preset 1",
@@ -433,6 +465,7 @@ static const char MenuText_PRESETMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX
// Administration main screen
static const char MenuText_ADMINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Administration",
" 1.Change Pin",
@@ -449,6 +482,7 @@ static const char MenuText_ADMINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_
// Administration main screen
static const char MenuText_ADMINCHANGEPINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Change PIN",
},
@@ -460,6 +494,7 @@ static const char MenuText_ADMINCHANGEPINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENU
// Administration I/O Control screen
static const char MenuText_ADMINIOMAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"I/O control",
" 1.Read interlock",
@@ -477,6 +512,7 @@ static const char MenuText_ADMINIOMAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCOR
// Administration I/O Control screen
static const char MenuText_ADMINIOINTERLOCKMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Read interlock",
},
@@ -489,6 +525,7 @@ static const char MenuText_ADMINIOINTERLOCKMENU[MENUTEXT_NUMBER_OF_LANGUAGES][ME
// Administration solenoids toggle screen
static const char MenuText_ADMINSOLENOIDMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Solenoids",
" Hold 0 to toggle",
@@ -504,6 +541,7 @@ static const char MenuText_ADMINSOLENOIDMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUC
// Administration Get Voltage output screen
static const char MenuText_ADMINVOLTAGOUTMAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Set voltage out",
" 1.Channel 1",
@@ -520,6 +558,7 @@ static const char MenuText_ADMINVOLTAGOUTMAINMENU[MENUTEXT_NUMBER_OF_LANGUAGES][
// Administration solenoids toggle screen
static const char MenuText_ADMINTESLAGUNMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Teslagun relais",
" Hold 0 to toggle",
@@ -535,6 +574,7 @@ static const char MenuText_ADMINTESLAGUNMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUC
// Administration Preset configuration
static const char MenuText_ADMINPRESETCONFIGSELECTMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Preset config",
" 1.Preset 1 config",
@@ -556,6 +596,7 @@ static const char MenuText_ADMINPRESETCONFIGSELECTMENU[MENUTEXT_NUMBER_OF_LANGUA
// Administration INFO&VERSION
static const char MenuText_ADMININFOMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS
{
"Info & Version",
},
@@ -570,6 +611,7 @@ static const char MenuText_ADMININFOMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_
// -----------------------
static const char MenuText_CALIBRATIONMENU[MENUTEXT_NUMBER_OF_LANGUAGES][MENUCORE_MAX_NUMBER_OF_ROWS][MENUCORE_DISPLAY_ROW_LENGTH] =
{
+ // MAX 20 CHARACTERS - MIND THE TWO BLANKS AT STRING START - THIS IS WHERE THE CURSOR IS PUT
{
"Calibration",
" 1.NOTHING YET",
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/MenuCore.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/MenuCore.c
index 9e1e409..09479a2 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/MenuCore.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/MenuCore.c
@@ -167,15 +167,13 @@ static void MenuCore_task(void* parameters)
if (MenuCore_performAction(self, key, keyState) == SUCCESS)
{
// The key had an action
- // Clear the screen for a new menu
-// Display_clearScreen(self->display);
// Print menu content to output device
MenuCore_printMenu(self);
// Add cursor if necessary
MenuCore_printCursor(self);
}
}
- vTaskDelay(50);
+ vTaskDelay(100);
}
LOGGER_INFO(mainLog, "Deleting MenuCore task");
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/hsb-mrts.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/hsb-mrts.c
index 29f09a9..381cd21 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/hsb-mrts.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/hsb-mrts.c
@@ -43,7 +43,6 @@
#include "Interlock.h"
#include "Logger.h"
#include "PCBA.h"
-#include "Power6V5Supply.h"
#include "TeslaGunSafety.h"
#include "Version.h"
@@ -140,13 +139,6 @@ ErrorStatus hsb_enableSafetyWithError(void)
}
}
- // if Interlock(s) closed, continue procedure
- if (returnValue == SUCCESS)
- {
- // Power the circuit
- returnValue = Power6V5Supply_on();
- }
-
if (returnValue == SUCCESS)
{
_hsb_safetyIsEnabled = true;
@@ -193,13 +185,6 @@ ErrorStatus hsb_enableSafetyWithWarning(void)
}
}
- // if Interlock(s) closed, continue procedure
- if (returnValue == SUCCESS)
- {
- // Power the circuit
- returnValue = Power6V5Supply_on();
- }
-
if (returnValue == SUCCESS)
{
_hsb_safetyIsEnabled = true;
@@ -239,8 +224,6 @@ ErrorStatus hsb_disableSafety(void)
DAConverter_setOutputVoltage(dacRow2, 0);
DAConverter_setOutputVoltage(dacRow3, 0);
- // Un-Power the circuit
- Power6V5Supply_off();
if (PCBA_getInstance()->pcba != PCBA_Tesla)
{
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/main.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/main.c
index f073c01..8d66e79 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/main.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/main.c
@@ -52,7 +52,6 @@
#include "Interlock.h"
#include "Logger.h"
#include "nhd0420.h"
-#include "Power6V5Supply.h"
#include "TeslaGunSafety.h"
#include "PCBA.h"
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairMenu.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairMenu.c
index 313f59e..21c3333 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairMenu.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairMenu.c
@@ -52,7 +52,6 @@
#include "Interlock.h"
#include "internalADC.h"
#include "MAX5715.h"
-#include "Power6V5Supply.h"
#include "TeslaGunSafety.h"
#include "KeyboardDevice.h"
@@ -576,7 +575,6 @@ static void repairMenu_configPresetFirstSoftstart(struct MenuCore* self)
static void repairMenu_configVoltageOutput(struct MenuCore* self)
{
- Power6V5Supply_on();
repairMenu_clearInsertString(self);
// In case of CathodeMCP, the insert value must be negative
repairMenu_fillInsertStringWithValue(self, DAConverter_getCurrentValue(dacRow1));
@@ -1097,10 +1095,7 @@ void repairMenu_menuStateHandle(struct MenuCore* self)
// repair is finished
MenuCore_changeState(self, RM_FINISH_CONTROL);
}
-// else if (remainingTime == 0xFFFFFFFF)
-// {
-// Error_postError(REPAIR_FAIL);
-// }
+
else
{
// Create the repair screen
@@ -1180,14 +1175,13 @@ void repairMenu_menuStateHandle(struct MenuCore* self)
snprintf(buffer, sizeof(buffer) / sizeof(buffer[0]), "%5sm", self->insertString);
Display_write(self->display, buffer, 2, MENUTEXT_PRESET_MAX_LENGTH + 1);
vTaskDelay(2);
- Display_setCursorToPosition(self->display, 2, MENUTEXT_PRESET_MAX_LENGTH + 1 + 5);
+ Display_setCursorToPosition(self->display, 2, MENUTEXT_PRESET_MAX_LENGTH + 5);
vTaskDelay(2);
Display_setBlinkingCursorState(self->display, ON);
}
else if (self->menuState == RM_ADMIN_PRESET_CONFIG_FIRST_DURATION)
{
-// repairMenu_printConfigPreset(self);
repairMenu_printPreset(self);
char buffer[7];
@@ -1204,14 +1198,13 @@ void repairMenu_menuStateHandle(struct MenuCore* self)
snprintf(buffer, sizeof(buffer) / sizeof(buffer[0]), "%5sm", self->insertString);
Display_write(self->display, buffer, 3, MENUTEXT_PRESET_MAX_LENGTH + 1);
vTaskDelay(2);
- Display_setCursorToPosition(self->display, 3, MENUTEXT_PRESET_MAX_LENGTH + 1 + 5);
+ Display_setCursorToPosition(self->display, 3, MENUTEXT_PRESET_MAX_LENGTH + 5);
vTaskDelay(2);
Display_setBlinkingCursorState(self->display, ON);
}
else if (self->menuState == RM_ADMIN_PRESET_CONFIG_FIRST_VOLTAGE)
{
-// repairMenu_printConfigPreset(self);
repairMenu_printPreset(self);
char buffer[7];
@@ -1528,7 +1521,6 @@ void repairMenu_menuStateHandle(struct MenuCore* self)
DAConverter_setOutputVoltage(dacRow2, 0);
DAConverter_setOutputVoltage(dacRow3, 0);
- Power6V5Supply_off();
Display_writeCentered(self->display, MenuText_VOLTAGE_OUT_CLEANUP[languageIndex][0], 3);
Display_writeCentered(self->display, MenuText_VOLTAGE_OUT_CLEANUP[languageIndex][1], 4);
diff --git a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairProcesses.c b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairProcesses.c
index 8914b06..a400436 100644
--- a/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairProcesses.c
+++ b/S - Software/0 - HSB MRTS Kathode-MCP/3 - Implementation/0 - Code/hsb-mrts/src/repairProcesses.c
@@ -31,7 +31,6 @@
#include "Interlock.h"
#include "Logger.h"
#include "PCBA.h"
-#include "Power6V5Supply.h"
#include "rtc.h"
// -----------------------------------------------------------------------------