Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
16dbc4f
Setup DashPanel base project with basic things -- currently untested …
dchansen06 Feb 3, 2026
a4be817
Automatic CMake Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
c5e9b65
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
c55c369
Enable ITM in main function
dchansen06 Feb 3, 2026
a703e99
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
90aebe5
Missing semicolon for enabling ITM
dchansen06 Feb 3, 2026
8bffa44
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
6b174f4
initialize dash panel can stuff
horizon-ab Feb 6, 2026
a77a2b2
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 6, 2026
497a26a
Did some things
DavidUzunov Feb 6, 2026
d9003fc
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 6, 2026
e69574a
delete placeholder files
horizon-ab Feb 10, 2026
77ce64c
basic gpio interrupt handler setup
horizon-ab Feb 10, 2026
e97c8de
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 10, 2026
5d9ca76
more candler stuff
horizon-ab Feb 10, 2026
a329902
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 10, 2026
79c4bcb
move CAN send to main loop
horizon-ab Feb 13, 2026
1b7f2e7
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
9858b60
include gr old node
horizon-ab Feb 13, 2026
6f38b01
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
5b06c35
including stuff
horizon-ab Feb 13, 2026
33cb3a6
Automatic CMake Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
4a626a5
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
06f232b
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
1c286cd
yeah
horizon-ab Feb 13, 2026
8ac5bdf
get rid of git merge stuff
horizon-ab Feb 13, 2026
ebcfe99
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
8b68ad8
Setup logomatic
dchansen06 Feb 14, 2026
6675056
Correct `#ifdef` to `#ifndef` for header guard for dash utils
dchansen06 Feb 14, 2026
1681251
Reset arbitrary changes to `G4PERTESTING` that should not be on this …
dchansen06 Feb 14, 2026
b529c0b
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 16, 2026
d72a726
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 16, 2026
e22ae1d
Update build command in tasks.json to use presets
dchansen06 Feb 16, 2026
d6caf7c
Mark size parameter in CAN callback as unused with a FIXME comment
dchansen06 Feb 18, 2026
13f1119
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
a075d06
Fix comment
dchansen06 Feb 18, 2026
369dc2f
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
bc7b02c
Need sleep before committing tiny changes
dchansen06 Feb 18, 2026
7f0124e
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
121c666
Setup DashPanel base project with basic things -- currently untested …
dchansen06 Feb 3, 2026
16d6ec7
Automatic CMake Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
3f9304e
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
3704e86
Enable ITM in main function
dchansen06 Feb 3, 2026
7bbee26
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
dae3bf1
Missing semicolon for enabling ITM
dchansen06 Feb 3, 2026
1bc759d
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 3, 2026
ba7a955
initialize dash panel can stuff
horizon-ab Feb 6, 2026
ce45f0a
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 6, 2026
dbdbb86
Did some things
DavidUzunov Feb 6, 2026
bc96f3b
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 6, 2026
c071edb
delete placeholder files
horizon-ab Feb 10, 2026
9b31e70
basic gpio interrupt handler setup
horizon-ab Feb 10, 2026
b45900e
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 10, 2026
d6ca806
more candler stuff
horizon-ab Feb 10, 2026
1e64eed
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 10, 2026
4c436b6
move CAN send to main loop
horizon-ab Feb 13, 2026
6ed77ec
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
e76fb07
include gr old node
horizon-ab Feb 13, 2026
381d5e2
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
4fe161a
including stuff
horizon-ab Feb 13, 2026
de0e425
Automatic CMake Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
925ab83
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
abab4c3
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
c24eb20
yeah
horizon-ab Feb 13, 2026
5b0bd54
get rid of git merge stuff
horizon-ab Feb 13, 2026
3342d28
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 13, 2026
14ce3c6
Setup logomatic
dchansen06 Feb 14, 2026
d7e26ae
Correct `#ifdef` to `#ifndef` for header guard for dash utils
dchansen06 Feb 14, 2026
51ce61f
Reset arbitrary changes to `G4PERTESTING` that should not be on this …
dchansen06 Feb 14, 2026
9c2cf1b
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 16, 2026
896d714
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 16, 2026
3062f71
Update build command in tasks.json to use presets
dchansen06 Feb 16, 2026
168700e
Mark size parameter in CAN callback as unused with a FIXME comment
dchansen06 Feb 18, 2026
4f4467c
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
e149e6c
Fix comment
dchansen06 Feb 18, 2026
7709259
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
b2a871b
Need sleep before committing tiny changes
dchansen06 Feb 18, 2026
bd8cca3
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 18, 2026
a5929bb
Merge branch 'DashPanel' of github.com:Gaucho-Racing/Firmware into Da…
anthony9975 Feb 20, 2026
a4c8166
kinda set up the send msg
horizon-ab Feb 20, 2026
06296e1
Merge branch 'DashPanel' of github.com:Gaucho-Racing/Firmware into Da…
anthony9975 Feb 20, 2026
ade87e7
hypothetically can works
horizon-ab Feb 20, 2026
4508b13
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 20, 2026
dac1735
silly mistake
horizon-ab Feb 20, 2026
2649f8f
Merge branch 'main' into DashPanel
dchansen06 Feb 20, 2026
93f4820
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 20, 2026
cc3c643
Get rid of files no longer needed
dchansen06 Feb 20, 2026
8fb538a
Fixed pinout and associated for user button on stm32 nucleo
dchansen06 Feb 20, 2026
f0660cf
Added EXTI interrupt to toggle LED when blue button pressed
anthony9975 Feb 24, 2026
937e901
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 24, 2026
eb688f7
External Interrupts for PA4 works with Logomatic, PA3 should work but…
anthony9975 Feb 24, 2026
36bc974
Merge branch 'DashPanel' of github.com:Gaucho-Racing/Firmware into Da…
anthony9975 Feb 24, 2026
a9465c8
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 24, 2026
577a76e
Merge branch 'main' into DashPanel
dchansen06 Feb 24, 2026
4e3730f
Fix indentation of cmake it was bugging me
dchansen06 Feb 24, 2026
7ac42e8
Automatic CMake Format: Standardized formatting automatically
github-actions[bot] Feb 24, 2026
ca0624f
Make button trip things
dchansen06 Feb 24, 2026
032fca8
Use internal loopback and fix pins and clock
dchansen06 Feb 24, 2026
dc475cf
Automatic Clang-Format: Standardized formatting automatically
github-actions[bot] Feb 24, 2026
0f44512
update dash planel
horizon-ab Feb 24, 2026
1585498
Merge branch 'main' into DashPanel
dchansen06 Feb 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,37 @@
]
}
},
{
"cwd": "${workspaceFolder}",
"executable": "${command:cmake.buildDirectory}/DashPanel.elf",
"name": "DashPanel",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"configFiles": [
"interface/stlink.cfg",
"target/stm32g4x.cfg"
],
"searchDir": [],
"preLaunchTask": "CMake: configure and build DashPanel",
"showDevDebugOutput": "raw",
"svdPath": "${workspaceFolder}/Lib/Vendor/CMSIS_5/SVD/STM32G474.svd",
"swoConfig": {
"enabled": true,
"cpuFrequency": 170000000,
"swoFrequency": 2000000,
"source": "probe",
"decoders": [
{
"type": "console",
"label": "ITM",
"showOnStartup": true,
"port": 0,
"encoding": "ascii"
}
]
}
},
{
"cwd": "${workspaceFolder}",
"executable": "${command:cmake.buildDirectory}/G4HELLO.elf",
Expand Down
9 changes: 9 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@
],
"command": "cmake --build --preset ${command:cmake.activeBuildPresetName} --target CCU"
},
{
"label": "CMake: configure and build DashPanel",
"type": "shell",
"dependsOrder": "sequence",
"dependsOn": [
"CMake: configure"
],
"command": "cmake --build --preset ${command:cmake.activeBuildPresetName} --target DashPanel"
},
{
"label": "CMake: configure and build G4HELLO",
"type": "shell",
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ message(
add_gr_project(STM32G474xE ECU)
add_gr_project(STM32G474xE CCU)
add_gr_project(STM32G474xE AnalogCalibration)
add_gr_project(STM32G474xE DashPanel)

# Development
add_gr_project(STM32G474xE G4ADCTESTING)
Expand Down
32 changes: 32 additions & 0 deletions DashPanel/Application/Inc/CANdler.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#ifndef CANDLER_H
#define CANDLER_H
#include "GR_OLD_MSG_ID.h"
#include "GR_OLD_NODE_ID.h"
#include "can.h"

typedef struct {
uint16_t vehicleSpeed;
uint8_t ECUState;
uint8_t TSActiveButton;
uint8_t RTDButton;
} DashStatus;
typedef struct {
uint16_t vehicleSpeed;
uint8_t ECUState;
} CAN_RECEIVE_ECU;

typedef struct {
uint8_t TSActiveButton;
uint8_t RTDButton;
} CAN_SEND_ECU;

extern DashStatus dashStatus;
extern CANHandle *can_handler;
extern bool canReadyToSend;

void CANInitialize();
void CAN_sendPing(GR_OLD_NODE_ID to);
void CAN_callback(uint32_t ID, void *data, uint32_t size);
void CAN_sendECU(CANHandle *c, CAN_SEND_ECU *msg, GR_OLD_NODE_ID to);

#endif
8 changes: 8 additions & 0 deletions DashPanel/Application/Inc/dashutils.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <stdint.h>

#ifndef DASHPANEL_UTILS_H
#define DASHPANEL_UTILS_H

uint32_t MillisecondsSinceBoot(void);

#endif // DASHPANEL_UTILS_H
112 changes: 112 additions & 0 deletions DashPanel/Application/Src/CANdler.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
#include "CANdler.h"

#include "GR_OLD_MSG_ID.h"
#include "GR_OLD_NODE_ID.h"
#include "Unused.h"
#include "can.h"
#include "dashutils.h"
#include "main.h"
#include "stm32g4xx_hal_fdcan.h"

#define ECU_ID GR_ECU // ID of correct ECU message - TODO: change with correct ID
#define PING_ID MSG_PING // ID of ping message - TODO: change with correct ID

CANHandle *can_handler;
DashStatus dashStatus = {0};
bool canReadyToSend;

void CANInitialize()
{
canReadyToSend = false;

CANConfig canCfg;

canCfg.hal_fdcan_init.ClockDivider = FDCAN_CLOCK_DIV1;
canCfg.hal_fdcan_init.FrameFormat = FDCAN_FRAME_FD_NO_BRS;
canCfg.hal_fdcan_init.TxFifoQueueMode = FDCAN_TX_FIFO_OPERATION;
canCfg.hal_fdcan_init.Mode = FDCAN_MODE_INTERNAL_LOOPBACK; // TODO Change
canCfg.hal_fdcan_init.AutoRetransmission = ENABLE;
canCfg.hal_fdcan_init.TransmitPause = DISABLE;
canCfg.hal_fdcan_init.ProtocolException = ENABLE;
canCfg.hal_fdcan_init.NominalPrescaler = 1;
canCfg.hal_fdcan_init.NominalSyncJumpWidth = 16;
canCfg.hal_fdcan_init.NominalTimeSeg1 = 127; // Updated for 170MHz: (1+127+42)*1 = 170 ticks -> 1 Mbps
canCfg.hal_fdcan_init.NominalTimeSeg2 = 42;
canCfg.hal_fdcan_init.DataPrescaler = 8;
canCfg.hal_fdcan_init.DataSyncJumpWidth = 16;
canCfg.hal_fdcan_init.DataTimeSeg1 = 15; // Updated for 170MHz: (1+15+5)*8 = 168 ticks -> ~5 Mbps
canCfg.hal_fdcan_init.DataTimeSeg2 = 5;
canCfg.hal_fdcan_init.StdFiltersNbr = 1;
canCfg.hal_fdcan_init.ExtFiltersNbr = 0;

canCfg.rx_callback = CAN_callback; // PLEASE SET
canCfg.rx_interrupt_priority = 0; // PLEASE SET
canCfg.tx_interrupt_priority = 0; // PLEASE SET
canCfg.tx_buffer_length = 3; // PLEASE SET

canCfg.fdcan_instance = FDCAN1;
canCfg.rx_gpio = GPIOA;
canCfg.init_rx_gpio.Pin = GPIO_PIN_11;
canCfg.init_rx_gpio.Alternate = GPIO_AF9_FDCAN1;

canCfg.tx_gpio = GPIOA;
canCfg.init_tx_gpio.Pin = GPIO_PIN_12;
canCfg.init_tx_gpio.Alternate = GPIO_AF9_FDCAN1;

can_handler = can_init(&canCfg);
HAL_FDCAN_ConfigGlobalFilter(can_handler->hal_fdcanP, 0, 0, 0, 0);
can_set_clksource(LL_RCC_FDCAN_CLKSOURCE_PCLK1);

can_start(can_handler);
}

void CAN_sendPing(GR_OLD_NODE_ID to)
{
FDCANTxMessage pingMsg;
pingMsg.tx_header.Identifier = (GR_DASH_PANEL << 20) | (MSG_PING << 8) | to;
pingMsg.tx_header.IdType = FDCAN_STANDARD_ID;
pingMsg.tx_header.TxFrameType = FDCAN_DATA_FRAME;
pingMsg.tx_header.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
pingMsg.tx_header.DataLength = 4;
pingMsg.tx_header.BitRateSwitch = FDCAN_BRS_OFF;
pingMsg.tx_header.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
pingMsg.tx_header.MessageMarker = 0;

((uint32_t *)(pingMsg.data))[0] = MillisecondsSinceBoot();
can_send(can_handler, &pingMsg);
}

void CAN_sendECU(CANHandle *c, CAN_SEND_ECU *msg, GR_OLD_NODE_ID to)
{

FDCANTxMessage sendECUMsg;
sendECUMsg.tx_header.Identifier = (GR_DASH_PANEL << 20) | (MSG_DASH_STATUS << 8) | to; // TODO: replace identifier with correct values
sendECUMsg.tx_header.IdType = FDCAN_STANDARD_ID;
sendECUMsg.tx_header.TxFrameType = FDCAN_DATA_FRAME;
sendECUMsg.tx_header.ErrorStateIndicator = FDCAN_ESI_ACTIVE;
sendECUMsg.tx_header.DataLength = sizeof(CAN_SEND_ECU);
sendECUMsg.tx_header.BitRateSwitch = FDCAN_BRS_OFF;
sendECUMsg.tx_header.TxEventFifoControl = FDCAN_NO_TX_EVENTS;
sendECUMsg.tx_header.MessageMarker = 0;

((uint32_t *)(sendECUMsg.data))[0] = (uint32_t)msg;

can_send(c, &sendECUMsg);
}

void CAN_callback(uint32_t ID, void *data, uint32_t size)
{
UNUSED(size); // FIXME Validate actual size versus expected size for different messages!

// Process data
if (ID == ECU_ID) {
CAN_RECEIVE_ECU *ecu_data = (CAN_RECEIVE_ECU *)data;
dashStatus.vehicleSpeed = ecu_data->vehicleSpeed;
dashStatus.ECUState = ecu_data->ECUState;
// Process data
} else if (ID == PING_ID) {
// process ping
// TODO: fix ping
CAN_sendPing();
}
}
11 changes: 11 additions & 0 deletions DashPanel/Application/Src/dashutils.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include "dashutils.h"

#include "main.h"

// from ECU
uint32_t MillisecondsSinceBoot(void)
{
// For some reason, GetTickFreq returns period in millisecon instead of frequency
// See https://community.st.com/t5/stm32-mcus-embedded-software/name-amp-description-of-hal-gettickfreq-misleading/td-p/242457
return HAL_GetTick() * HAL_GetTickFreq();
}
51 changes: 51 additions & 0 deletions DashPanel/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
cmake_minimum_required(VERSION 3.25)

# Setup compiler settings
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)

# Define the build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()

# what, does in fact not get the filename of somthing but rather the name of the project from the path
get_filename_component(GR_PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)

# Enable CMake support for ASM and C languages
enable_language(
C
ASM
)

# Core project settings
project(${CMAKE_PROJECT_NAME})

add_library(${GR_PROJECT_NAME}_USER_CODE INTERFACE)
target_sources(
${GR_PROJECT_NAME}_USER_CODE
INTERFACE
# Core
Core/Src/main.c
Core/Src/stm32g4xx_it.c
# Application
Application/Src/CANdler.c
Application/Src/dashutils.c
# TODO
)

target_link_libraries(
${GR_PROJECT_NAME}_USER_CODE
INTERFACE
GR_OLD_CAN_MESSAGES
PERIPHERAL_CAN_LIB
CircularBuffer_Lib
)

target_include_directories(
${GR_PROJECT_NAME}_USER_CODE
INTERFACE
Application/Inc
Core/Inc
)
104 changes: 104 additions & 0 deletions DashPanel/Core/Inc/main.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
* Copyright (c) 2026 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "stm32g4xx_ll_bus.h"
#include "stm32g4xx_ll_cortex.h"
#include "stm32g4xx_ll_crs.h"
#include "stm32g4xx_ll_dma.h"
#include "stm32g4xx_ll_exti.h"
#include "stm32g4xx_ll_gpio.h"
#include "stm32g4xx_ll_lpuart.h"
#include "stm32g4xx_ll_pwr.h"
#include "stm32g4xx_ll_rcc.h"
#include "stm32g4xx_ll_system.h"
#include "stm32g4xx_ll_utils.h"

#if defined(USE_FULL_ASSERT)
#include "stm32_assert.h"
#endif /* USE_FULL_ASSERT */

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */

/* USER CODE END Includes */

/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */

/* USER CODE END ET */

/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */

/* USER CODE END EC */

/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */

/* USER CODE END EM */

/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);

/* USER CODE BEGIN EFP */

/* USER CODE END EFP */

/* Private defines -----------------------------------------------------------*/
#define TS_ACTIVE_BTN_Pin LL_GPIO_PIN_3
#define TS_ACTIVE_BTN_GPIO_Port GPIOA
#define RTD_BTN_Pin LL_GPIO_PIN_4
#define RTD_BTN_GPIO_Port GPIOA
#ifndef NVIC_PRIORITYGROUP_0
#define NVIC_PRIORITYGROUP_0 \
((uint32_t)0x00000007) /*!< 0 bit for pre-emption priority, \
4 bits for subpriority */
#define NVIC_PRIORITYGROUP_1 \
((uint32_t)0x00000006) /*!< 1 bit for pre-emption priority, \
3 bits for subpriority */
#define NVIC_PRIORITYGROUP_2 \
((uint32_t)0x00000005) /*!< 2 bits for pre-emption priority, \
2 bits for subpriority */
#define NVIC_PRIORITYGROUP_3 \
((uint32_t)0x00000004) /*!< 3 bits for pre-emption priority, \
1 bit for subpriority */
#define NVIC_PRIORITYGROUP_4 \
((uint32_t)0x00000003) /*!< 4 bits for pre-emption priority, \
0 bit for subpriority */
#endif

/* USER CODE BEGIN Private defines */

/* USER CODE END Private defines */

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */
Loading
Loading