Skip to content
This repository was archived by the owner on Jun 28, 2025. It is now read-only.

Commit 289e79d

Browse files
Chrisc110antimonyBTheSpaceDragonNavtajh04Ayounggie
authored
Basic sm failsafe (#38)
Co-authored-by: Anthony Bertnyk <[email protected]> Co-authored-by: TheSpaceDragon <[email protected]> Co-authored-by: Navtaj Hundal <[email protected]> Co-authored-by: unknown <[email protected]> Co-authored-by: WARG-Laptop <[email protected]> Co-authored-by: Aidan Bowers <[email protected]> Co-authored-by: Hardy <[email protected]>
1 parent 548078a commit 289e79d

28 files changed

+596
-146
lines changed

.DS_Store

0 Bytes
Binary file not shown.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,4 @@
2424
.DS_Store/
2525
Tools/*/build
2626
Debug/
27+
/.metadata/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}}

Boardfiles/discoveryl562qe/Core/Src/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ SD_HandleTypeDef hsd1;
5959

6060
SPI_HandleTypeDef hspi1;
6161

62+
TIM_HandleTypeDef htim2;
6263
TIM_HandleTypeDef htim4;
6364
TIM_HandleTypeDef htim16;
6465
TIM_HandleTypeDef htim17;

Boardfiles/nucleol552zeq/.mxproject

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

Boardfiles/nucleol552zeq/.settings/language.settings.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
8-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1342465184571275188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1682148698121324352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>
@@ -16,7 +16,7 @@
1616
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
1717
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
1818
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
19-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1342465184571275188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
19+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1682148698121324352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
2020
<language-scope id="org.eclipse.cdt.core.gcc"/>
2121
<language-scope id="org.eclipse.cdt.core.g++"/>
2222
</provider>
@@ -27,7 +27,7 @@
2727
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
2828
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
2929
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
30-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1342465184571275188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
30+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1682148698121324352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
3131
<language-scope id="org.eclipse.cdt.core.gcc"/>
3232
<language-scope id="org.eclipse.cdt.core.g++"/>
3333
</provider>
@@ -38,7 +38,7 @@
3838
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
3939
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
4040
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
41-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1342465184571275188" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
41+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1682148698121324352" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
4242
<language-scope id="org.eclipse.cdt.core.gcc"/>
4343
<language-scope id="org.eclipse.cdt.core.g++"/>
4444
</provider>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
635E684B79701B039C64EA45C3F84D30=133CEB6F04A68B38073C17D67206B6A5
22
66BE74F758C12D739921AEA421D593D3=0
33
8DF89ED150041C4CBC7CB9A9CAA90856=26D62537746E9FFBD9A8CC3638B113BC
4-
DC22A860405A8BF2F2C095E5B6529F12=E03D1377FF9DFAFFEE5681C9DDDBDE4E
4+
DC22A860405A8BF2F2C095E5B6529F12=26D62537746E9FFBD9A8CC3638B113BC
55
eclipse.preferences.version=1

Boardfiles/nucleol552zeq/Core/Inc/stm32l5xx_it.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,11 @@ void DebugMon_Handler(void);
5555
void DMA1_Channel1_IRQHandler(void);
5656
void DMA1_Channel2_IRQHandler(void);
5757
void DMA1_Channel3_IRQHandler(void);
58+
void DMA1_Channel4_IRQHandler(void);
5859
void TIM5_IRQHandler(void);
5960
void USART3_IRQHandler(void);
61+
void DMA1_Channel4_IRQHandler(void);
62+
void USART2_IRQHandler(void);
6063
/* USER CODE BEGIN EFP */
6164

6265
/* USER CODE END EFP */

Boardfiles/nucleol552zeq/Core/Inc/tim.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ extern TIM_HandleTypeDef htim1;
3636

3737
extern TIM_HandleTypeDef htim2;
3838

39+
extern TIM_HandleTypeDef htim3;
40+
3941
extern TIM_HandleTypeDef htim4;
4042

4143
extern TIM_HandleTypeDef htim5;
@@ -46,6 +48,7 @@ extern TIM_HandleTypeDef htim5;
4648

4749
void MX_TIM1_Init(void);
4850
void MX_TIM2_Init(void);
51+
void MX_TIM3_Init(void);
4952
void MX_TIM4_Init(void);
5053
void MX_TIM5_Init(void);
5154

Boardfiles/nucleol552zeq/Core/Src/dma.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ void MX_DMA_Init(void)
5353
/* DMA1_Channel3_IRQn interrupt configuration */
5454
HAL_NVIC_SetPriority(DMA1_Channel3_IRQn, 5, 0);
5555
HAL_NVIC_EnableIRQ(DMA1_Channel3_IRQn);
56+
/* DMA1_Channel4_IRQn interrupt configuration */
57+
HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 5, 0);
58+
HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
5659

5760
}
5861

Boardfiles/nucleol552zeq/Core/Src/gpio.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ void MX_GPIO_Init(void)
4646
GPIO_InitTypeDef GPIO_InitStruct = {0};
4747

4848
/* GPIO Ports Clock Enable */
49+
__HAL_RCC_GPIOE_CLK_ENABLE();
4950
__HAL_RCC_GPIOC_CLK_ENABLE();
5051
__HAL_RCC_GPIOF_CLK_ENABLE();
5152
__HAL_RCC_GPIOA_CLK_ENABLE();
52-
__HAL_RCC_GPIOE_CLK_ENABLE();
5353
__HAL_RCC_GPIOB_CLK_ENABLE();
5454
__HAL_RCC_GPIOD_CLK_ENABLE();
5555
__HAL_RCC_GPIOG_CLK_ENABLE();

Boardfiles/nucleol552zeq/Core/Src/iwdg.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ void MX_IWDG_Init(void)
3838

3939
/* USER CODE END IWDG_Init 1 */
4040
hiwdg.Instance = IWDG;
41-
hiwdg.Init.Prescaler = IWDG_PRESCALER_4;
41+
hiwdg.Init.Prescaler = IWDG_PRESCALER_8;
4242
hiwdg.Init.Window = 4095;
43-
hiwdg.Init.Reload = 4095;
43+
hiwdg.Init.Reload = 3999;
4444
if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
4545
{
4646
Error_Handler();

Boardfiles/nucleol552zeq/Core/Src/main.c renamed to Boardfiles/nucleol552zeq/Core/Src/main.cpp

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434

3535
/* Private includes ----------------------------------------------------------*/
3636
/* USER CODE BEGIN Includes */
37-
37+
#include "SystemManager.hpp"
38+
#include "drivers_config.hpp"
39+
#include "independent_watchdog.h"
3840
/* USER CODE END Includes */
3941

4042
/* Private typedef -----------------------------------------------------------*/
@@ -59,15 +61,21 @@
5961
/* USER CODE END PV */
6062

6163
/* Private function prototypes -----------------------------------------------*/
62-
void SystemClock_Config(void);
63-
void MX_FREERTOS_Init(void);
64+
extern "C" {
65+
void SystemClock_Config(void);
66+
void MX_FREERTOS_Init(void);
67+
}
6468
/* USER CODE BEGIN PFP */
6569

6670
/* USER CODE END PFP */
6771

6872
/* Private user code ---------------------------------------------------------*/
6973
/* USER CODE BEGIN 0 */
74+
void SMTask(void *pvParameters) {
75+
SystemManager SM;
76+
SM.flyManually();
7077

78+
}
7179
/* USER CODE END 0 */
7280

7381
/**
@@ -118,8 +126,16 @@ int main(void)
118126
MX_ADC1_Init();
119127
MX_ICACHE_Init();
120128
MX_IWDG_Init();
129+
MX_TIM3_Init();
121130
/* USER CODE BEGIN 2 */
122131

132+
133+
134+
135+
TaskHandle_t hSM = NULL;
136+
xTaskCreate(SMTask, "SM", 500U, NULL, osPriorityNormal, &hSM);
137+
138+
123139
/* USER CODE END 2 */
124140

125141
/* Init scheduler */

Boardfiles/nucleol552zeq/Core/Src/spi.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,11 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
110110

111111
__HAL_RCC_GPIOA_CLK_ENABLE();
112112
/**SPI1 GPIO Configuration
113-
PA1 ------> SPI1_SCK
113+
PA5 ------> SPI1_SCK
114114
PA6 ------> SPI1_MISO
115115
PA7 ------> SPI1_MOSI
116116
*/
117-
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_7;
117+
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
118118
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
119119
GPIO_InitStruct.Pull = GPIO_NOPULL;
120120
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@@ -180,11 +180,11 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
180180
__HAL_RCC_SPI1_CLK_DISABLE();
181181

182182
/**SPI1 GPIO Configuration
183-
PA1 ------> SPI1_SCK
183+
PA5 ------> SPI1_SCK
184184
PA6 ------> SPI1_MISO
185185
PA7 ------> SPI1_MOSI
186186
*/
187-
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_6|GPIO_PIN_7);
187+
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
188188

189189
/* USER CODE BEGIN SPI1_MspDeInit 1 */
190190

Boardfiles/nucleol552zeq/Core/Src/stm32l5xx_it.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@
5959
/* External variables --------------------------------------------------------*/
6060
extern DMA_HandleTypeDef hdma_usart3_rx;
6161
extern UART_HandleTypeDef huart3;
62+
extern DMA_HandleTypeDef hdma_usart2_rx;
63+
extern DMA_HandleTypeDef hdma_usart2_tx;
64+
extern UART_HandleTypeDef huart2;
6265
extern DMA_HandleTypeDef hdma_tim5_ch1;
6366
extern DMA_HandleTypeDef hdma_tim5_ch2;
6467
extern TIM_HandleTypeDef htim5;
@@ -201,11 +204,26 @@ void DMA1_Channel3_IRQHandler(void)
201204

202205
/* USER CODE END DMA1_Channel3_IRQn 0 */
203206
HAL_DMA_IRQHandler(&hdma_usart3_rx);
207+
HAL_DMA_IRQHandler(&hdma_usart2_rx);
204208
/* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
205209

206210
/* USER CODE END DMA1_Channel3_IRQn 1 */
207211
}
208212

213+
/**
214+
* @brief This function handles DMA1 channel4 global interrupt.
215+
*/
216+
void DMA1_Channel4_IRQHandler(void)
217+
{
218+
/* USER CODE BEGIN DMA1_Channel4_IRQn 0 */
219+
220+
/* USER CODE END DMA1_Channel4_IRQn 0 */
221+
HAL_DMA_IRQHandler(&hdma_usart2_tx);
222+
/* USER CODE BEGIN DMA1_Channel4_IRQn 1 */
223+
224+
/* USER CODE END DMA1_Channel4_IRQn 1 */
225+
}
226+
209227
/**
210228
* @brief This function handles TIM5 global interrupt.
211229
*/
@@ -234,6 +252,20 @@ void USART3_IRQHandler(void)
234252
/* USER CODE END USART3_IRQn 1 */
235253
}
236254

255+
/**
256+
* @brief This function handles USART2 global interrupt / USART2 wake-up interrupt through EXTI line 27.
257+
*/
258+
void USART2_IRQHandler(void)
259+
{
260+
/* USER CODE BEGIN USART2_IRQn 0 */
261+
262+
/* USER CODE END USART2_IRQn 0 */
263+
HAL_UART_IRQHandler(&huart2);
264+
/* USER CODE BEGIN USART2_IRQn 1 */
265+
266+
/* USER CODE END USART2_IRQn 1 */
267+
}
268+
237269
/* USER CODE BEGIN 1 */
238270

239271
/* USER CODE END 1 */

0 commit comments

Comments
 (0)