Skip to content

Commit 9c01e69

Browse files
authored
chore: add automatic clang-format with pre-commit hooks (#70)
* chore: add automatic clang-format with pre-commit hooks * fix: make clang-format config compatible with older versions * style: apply clang-format to all C/C++ files * chore: change hook installer messages to English * fix: keep jinja templates intact and pin clang-format hook * style: apply formatter
1 parent 94e68fd commit 9c01e69

23 files changed

Lines changed: 2844 additions & 2741 deletions

.clang-format

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
BasedOnStyle: LLVM
2+
IndentWidth: 4
3+
TabWidth: 4
4+
UseTab: Never
5+
ColumnLimit: 100
6+
PointerAlignment: Left
7+
AccessModifierOffset: -4
8+
SortIncludes: Never
9+
AllowShortIfStatementsOnASingleLine: false
10+
AllowShortLoopsOnASingleLine: false
11+
Cpp11BracedListStyle: true
12+
BreakBeforeBraces: Attach
13+
BinPackArguments: false
14+
BinPackParameters: false
15+
AllowAllArgumentsOnNextLine: false
16+
AllowAllParametersOfDeclarationOnNextLine: false
17+
AlignAfterOpenBracket: BlockIndent
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Format Checks
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- '**.cpp'
8+
- '**.hpp'
9+
- '**.c'
10+
- '**.h'
11+
- '.pre-commit-config.yaml'
12+
- '.clang-format'
13+
- '.github/workflows/format-checks.yml'
14+
15+
jobs:
16+
format:
17+
name: Check code format
18+
runs-on: ubuntu-24.04
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
24+
- name: Setup Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: '3.12'
28+
29+
- name: Install tools
30+
run: |
31+
python -m pip install --upgrade pip
32+
python -m pip install pre-commit
33+
sudo apt-get update
34+
sudo apt-get install -y clang-format
35+
36+
- name: Run pre-commit
37+
run: pre-commit run --all-files --show-diff-on-failure

.pre-commit-config.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
minimum_pre_commit_version: "3.5.0"
2+
default_install_hook_types:
3+
- pre-commit
4+
- pre-push
5+
repos:
6+
- repo: https://github.com/pre-commit/mirrors-clang-format
7+
rev: v17.0.6
8+
hooks:
9+
- id: clang-format
10+
files: ^(Core/|tools/).*
11+
types_or:
12+
- c
13+
- c++
14+
exclude: ^Core/Inc/Code_generation/Packet_generation/.*Template\.hpp$|^tools/binary_metadata_template\.cpp$

Core/Inc/main.h

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
/* USER CODE BEGIN Header */
22
/**
3-
******************************************************************************
4-
* @file : main.h
5-
* @brief : Header for main.c file.
6-
* This file contains the common defines of the application.
7-
******************************************************************************
8-
* @attention
9-
*
10-
* Copyright (c) 2022 STMicroelectronics.
11-
* All rights reserved.
12-
*
13-
* This software is licensed under terms that can be found in the LICENSE file
14-
* in the root directory of this software component.
15-
* If no LICENSE file comes with this software, it is provided AS-IS.
16-
*
17-
******************************************************************************
18-
*/
3+
******************************************************************************
4+
* @file : main.h
5+
* @brief : Header for main.c file.
6+
* This file contains the common defines of the application.
7+
******************************************************************************
8+
* @attention
9+
*
10+
* Copyright (c) 2022 STMicroelectronics.
11+
* All rights reserved.
12+
*
13+
* This software is licensed under terms that can be found in the LICENSE file
14+
* in the root directory of this software component.
15+
* If no LICENSE file comes with this software, it is provided AS-IS.
16+
*
17+
******************************************************************************
18+
*/
1919
/* USER CODE END Header */
2020

2121
/* Define to prevent recursive inclusion -------------------------------------*/
@@ -49,7 +49,7 @@ extern "C" {
4949

5050
/* USER CODE END EM */
5151

52-
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
52+
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim);
5353

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

Core/Inc/stm32h7xx_hal_conf.h

Lines changed: 59 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ extern "C" {
108108
* PLL).
109109
*/
110110
#if !defined(HSE_VALUE)
111-
#define HSE_VALUE \
112-
(8000000UL) /*!< Value of the External oscillator in Hz : FPGA case fixed \
111+
#define HSE_VALUE \
112+
(8000000UL) /*!< Value of the External oscillator in Hz : FPGA case fixed \
113113
to 60MHZ */
114114
#endif /* HSE_VALUE */
115115

@@ -150,19 +150,20 @@ extern "C" {
150150

151151
#if !defined(LSI_VALUE)
152152
#define LSI_VALUE (32000UL) /*!< LSI Typical Value in Hz*/
153-
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz \
154-
The real value may vary depending on the variations \
155-
in voltage and temperature.*/
153+
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz \
154+
The real value may vary depending on the variations \
155+
in voltage and temperature.*/
156156

157157
/**
158158
* @brief External clock source for I2S peripheral
159159
* This value is used by the I2S HAL module to compute the I2S clock
160160
* source frequency, this source is inserted directly through I2S_CKIN pad.
161161
*/
162162
#if !defined(EXTERNAL_CLOCK_VALUE)
163-
#define EXTERNAL_CLOCK_VALUE 12288000UL /*!< Value of the External clock in \
164-
Hz*/
165-
#endif /* EXTERNAL_CLOCK_VALUE */
163+
#define EXTERNAL_CLOCK_VALUE \
164+
12288000UL /*!< Value of the External clock in \
165+
Hz*/
166+
#endif /* EXTERNAL_CLOCK_VALUE */
166167

167168
/* Tip: To avoid modifying this file each time you need to use different HSE,
168169
=== you can define the HSE value in your toolchain compiler preprocessor. */
@@ -177,102 +178,54 @@ extern "C" {
177178
#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */
178179
#define USE_SPI_CRC 0U /*!< use CRC in SPI */
179180

180-
#define USE_HAL_ADC_REGISTER_CALLBACKS \
181-
0U /* ADC register callback disabled */
182-
#define USE_HAL_CEC_REGISTER_CALLBACKS \
183-
0U /* CEC register callback disabled */
184-
#define USE_HAL_COMP_REGISTER_CALLBACKS \
185-
0U /* COMP register callback disabled */
186-
#define USE_HAL_CORDIC_REGISTER_CALLBACKS \
187-
0U /* CORDIC register callback disabled */
188-
#define USE_HAL_CRYP_REGISTER_CALLBACKS \
189-
0U /* CRYP register callback disabled */
190-
#define USE_HAL_DAC_REGISTER_CALLBACKS \
191-
0U /* DAC register callback disabled */
192-
#define USE_HAL_DCMI_REGISTER_CALLBACKS \
193-
0U /* DCMI register callback disabled */
194-
#define USE_HAL_DFSDM_REGISTER_CALLBACKS \
195-
0U /* DFSDM register callback disabled */
196-
#define USE_HAL_DMA2D_REGISTER_CALLBACKS \
197-
0U /* DMA2D register callback disabled */
198-
#define USE_HAL_DSI_REGISTER_CALLBACKS \
199-
0U /* DSI register callback disabled */
200-
#define USE_HAL_DTS_REGISTER_CALLBACKS \
201-
0U /* DTS register callback disabled */
202-
#define USE_HAL_ETH_REGISTER_CALLBACKS \
203-
0U /* ETH register callback disabled */
204-
#define USE_HAL_FDCAN_REGISTER_CALLBACKS \
205-
0U /* FDCAN register callback disabled */
206-
#define USE_HAL_FMAC_REGISTER_CALLBACKS \
207-
0U /* FMAC register callback disabled */
208-
#define USE_HAL_NAND_REGISTER_CALLBACKS \
209-
0U /* NAND register callback disabled */
210-
#define USE_HAL_NOR_REGISTER_CALLBACKS \
211-
0U /* NOR register callback disabled */
212-
#define USE_HAL_SDRAM_REGISTER_CALLBACKS \
213-
0U /* SDRAM register callback disabled */
214-
#define USE_HAL_SRAM_REGISTER_CALLBACKS \
215-
0U /* SRAM register callback disabled */
216-
#define USE_HAL_HASH_REGISTER_CALLBACKS \
217-
0U /* HASH register callback disabled */
218-
#define USE_HAL_HCD_REGISTER_CALLBACKS \
219-
0U /* HCD register callback disabled */
220-
#define USE_HAL_GFXMMU_REGISTER_CALLBACKS \
221-
0U /* GFXMMU register callback disabled */
222-
#define USE_HAL_HRTIM_REGISTER_CALLBACKS \
223-
0U /* HRTIM register callback disabled */
224-
#define USE_HAL_I2C_REGISTER_CALLBACKS \
225-
0U /* I2C register callback disabled */
226-
#define USE_HAL_I2S_REGISTER_CALLBACKS \
227-
0U /* I2S register callback disabled */
228-
#define USE_HAL_IRDA_REGISTER_CALLBACKS \
229-
0U /* IRDA register callback disabled */
230-
#define USE_HAL_JPEG_REGISTER_CALLBACKS \
231-
0U /* JPEG register callback disabled */
232-
#define USE_HAL_LPTIM_REGISTER_CALLBACKS \
233-
0U /* LPTIM register callback disabled */
234-
#define USE_HAL_LTDC_REGISTER_CALLBACKS \
235-
0U /* LTDC register callback disabled */
236-
#define USE_HAL_MDIOS_REGISTER_CALLBACKS \
237-
0U /* MDIO register callback disabled */
238-
#define USE_HAL_MMC_REGISTER_CALLBACKS \
239-
0U /* MMC register callback disabled */
240-
#define USE_HAL_OPAMP_REGISTER_CALLBACKS \
241-
0U /* MDIO register callback disabled */
242-
#define USE_HAL_OSPI_REGISTER_CALLBACKS \
243-
0U /* OSPI register callback disabled */
244-
#define USE_HAL_OTFDEC_REGISTER_CALLBACKS \
245-
0U /* OTFDEC register callback disabled */
246-
#define USE_HAL_PCD_REGISTER_CALLBACKS \
247-
0U /* PCD register callback disabled */
248-
#define USE_HAL_QSPI_REGISTER_CALLBACKS \
249-
0U /* QSPI register callback disabled */
250-
#define USE_HAL_RNG_REGISTER_CALLBACKS \
251-
0U /* RNG register callback disabled */
252-
#define USE_HAL_RTC_REGISTER_CALLBACKS \
253-
0U /* RTC register callback disabled */
254-
#define USE_HAL_SAI_REGISTER_CALLBACKS \
255-
0U /* SAI register callback disabled */
256-
#define USE_HAL_SD_REGISTER_CALLBACKS \
257-
0U /* SD register callback disabled */
258-
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS \
259-
0U /* SMARTCARD register callback disabled */
260-
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS \
261-
0U /* SPDIFRX register callback disabled */
262-
#define USE_HAL_SMBUS_REGISTER_CALLBACKS \
263-
0U /* SMBUS register callback disabled */
264-
#define USE_HAL_SPI_REGISTER_CALLBACKS \
265-
0U /* SPI register callback disabled */
266-
#define USE_HAL_SWPMI_REGISTER_CALLBACKS \
267-
0U /* SWPMI register callback disabled */
268-
#define USE_HAL_TIM_REGISTER_CALLBACKS \
269-
0U /* TIM register callback disabled */
270-
#define USE_HAL_UART_REGISTER_CALLBACKS \
271-
0U /* UART register callback disabled */
272-
#define USE_HAL_USART_REGISTER_CALLBACKS \
273-
0U /* USART register callback disabled */
274-
#define USE_HAL_WWDG_REGISTER_CALLBACKS \
275-
0U /* WWDG register callback disabled */
181+
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
182+
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
183+
#define USE_HAL_COMP_REGISTER_CALLBACKS 0U /* COMP register callback disabled */
184+
#define USE_HAL_CORDIC_REGISTER_CALLBACKS 0U /* CORDIC register callback disabled */
185+
#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */
186+
#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
187+
#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */
188+
#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */
189+
#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */
190+
#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */
191+
#define USE_HAL_DTS_REGISTER_CALLBACKS 0U /* DTS register callback disabled */
192+
#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
193+
#define USE_HAL_FDCAN_REGISTER_CALLBACKS 0U /* FDCAN register callback disabled */
194+
#define USE_HAL_FMAC_REGISTER_CALLBACKS 0U /* FMAC register callback disabled */
195+
#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
196+
#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
197+
#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */
198+
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
199+
#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */
200+
#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
201+
#define USE_HAL_GFXMMU_REGISTER_CALLBACKS 0U /* GFXMMU register callback disabled */
202+
#define USE_HAL_HRTIM_REGISTER_CALLBACKS 0U /* HRTIM register callback disabled */
203+
#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
204+
#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
205+
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
206+
#define USE_HAL_JPEG_REGISTER_CALLBACKS 0U /* JPEG register callback disabled */
207+
#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */
208+
#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */
209+
#define USE_HAL_MDIOS_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
210+
#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
211+
#define USE_HAL_OPAMP_REGISTER_CALLBACKS 0U /* MDIO register callback disabled */
212+
#define USE_HAL_OSPI_REGISTER_CALLBACKS 0U /* OSPI register callback disabled */
213+
#define USE_HAL_OTFDEC_REGISTER_CALLBACKS 0U /* OTFDEC register callback disabled */
214+
#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
215+
#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */
216+
#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */
217+
#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
218+
#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */
219+
#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
220+
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
221+
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
222+
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
223+
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
224+
#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */
225+
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
226+
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
227+
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
228+
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
276229

277230
/* ########################### Ethernet Configuration #########################
278231
*/
@@ -552,10 +505,9 @@ extern "C" {
552505
* If expr is true, it returns no value.
553506
* @retval None
554507
*/
555-
#define assert_param(expr) \
556-
((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
508+
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t*)__FILE__, __LINE__))
557509
/* Exported functions ------------------------------------------------------- */
558-
void assert_failed(uint8_t *file, uint32_t line);
510+
void assert_failed(uint8_t* file, uint32_t line);
559511
#else
560512
#define assert_param(expr) ((void)0U)
561513
#endif /* USE_FULL_ASSERT */
@@ -565,4 +517,3 @@ void assert_failed(uint8_t *file, uint32_t line);
565517
#endif
566518

567519
#endif /* STM32H7xx_HAL_CONF_H */
568-

Core/Inc/stm32h7xx_it.h

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
/* USER CODE BEGIN Header */
22
/**
3-
******************************************************************************
4-
* @file stm32h7xx_it.h
5-
* @brief This file contains the headers of the interrupt handlers.
6-
******************************************************************************
7-
* @attention
8-
*
9-
* Copyright (c) 2022 STMicroelectronics.
10-
* All rights reserved.
11-
*
12-
* This software is licensed under terms that can be found in the LICENSE file
13-
* in the root directory of this software component.
14-
* If no LICENSE file comes with this software, it is provided AS-IS.
15-
*
163
******************************************************************************
17-
*/
4+
* @file stm32h7xx_it.h
5+
* @brief This file contains the headers of the interrupt handlers.
6+
******************************************************************************
7+
* @attention
8+
*
9+
* Copyright (c) 2022 STMicroelectronics.
10+
* All rights reserved.
11+
*
12+
* This software is licensed under terms that can be found in the LICENSE file
13+
* in the root directory of this software component.
14+
* If no LICENSE file comes with this software, it is provided AS-IS.
15+
*
16+
******************************************************************************
17+
*/
1818
/* USER CODE END Header */
1919

2020
/* Define to prevent recursive inclusion -------------------------------------*/
2121
#ifndef __STM32H7xx_IT_H
2222
#define __STM32H7xx_IT_H
2323

2424
#ifdef __cplusplus
25-
extern "C" {
25+
extern "C" {
2626
#endif
2727

2828
/* Private includes ----------------------------------------------------------*/

0 commit comments

Comments
 (0)