diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100x8_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100x8_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..6aea04528
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100x8_gpio_v1_0_Modes.xml
@@ -0,0 +1,1651 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM16_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM17_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+ __HAL_AFIO_REMAP_CEC_ENABLE
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100xC_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100xC_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..f8dc58b5f
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F100xC_gpio_v1_0_Modes.xml
@@ -0,0 +1,1963 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM16_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM17_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM13_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM14_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+ __HAL_AFIO_REMAP_CEC_ENABLE
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM12_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM12_ENABLE
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
+
+ AFIO_EVENTOUT_PORT_F
+
+
+ GPIOF
+
+
+
+
+ AFIO_EVENTOUT_PORT_G
+
+
+ GPIOG
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x4_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x4_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..4b9ba3346
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x4_gpio_v1_0_Modes.xml
@@ -0,0 +1,1257 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM12_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM12_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM15_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x8_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x8_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..8ade7aff1
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103x8_gpio_v1_0_Modes.xml
@@ -0,0 +1,1640 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xC_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xC_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..0b2ec112c
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xC_gpio_v1_0_Modes.xml
@@ -0,0 +1,1982 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
+
+ AFIO_EVENTOUT_PORT_F
+
+
+ GPIOF
+
+
+
+
+ AFIO_EVENTOUT_PORT_G
+
+
+ GPIOG
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xF_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xF_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..4658ab601
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F103xF_gpio_v1_0_Modes.xml
@@ -0,0 +1,2042 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_TIM9_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM9_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM10_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM11_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM13_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM14_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
+
+ AFIO_EVENTOUT_PORT_F
+
+
+ GPIOF
+
+
+
+
+ AFIO_EVENTOUT_PORT_G
+
+
+ GPIOG
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F107_gpio_v1_0_Modes.xml b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F107_gpio_v1_0_Modes.xml
new file mode 100644
index 000000000..b44a39db0
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/resources/AF/doesntWork/GPIO-STM32F107_gpio_v1_0_Modes.xml
@@ -0,0 +1,1812 @@
+
+
+ GPIO: General Purpose Input Output
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+ GPIO_MODE_ANALOG
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_NOPULL
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLUP
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+ GPIO_PULLDOWN
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+
+ GPIODefaultOutputPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_OUTPUT_PP
+ GPIO_MODE_OUTPUT_OD
+
+
+
+
+
+
+ GPIO
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_INPUT
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultPP
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunction
+ PinRemapConfig
+
+
+ GPIO_SPEED_FREQ_HIGH
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionHighSpeedDefault
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+
+
+
+
+ EXTI
+ PinRemapConfig
+
+
+
+
+
+
+ EventConfig
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_PP
+ GPIO_MODE_AF_OD
+
+
+
+
+ AlternateFunctionDefaultOD
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+ GPIO_MODE_AF_PP
+
+
+
+
+ AlternateFunctionNoPullOrPullUp
+ PinRemapConfig
+
+
+
+
+ GPIO_MODE_AF_OD
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_PARTIAL
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_2
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_PARTIAL_1
+
+
+
+
+ __HAL_AFIO_REMAP_TIM2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_CAN2_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI1_ENABLE
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_CAN2_ENABLE
+
+
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_2
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_I2C1_ENABLE
+
+
+
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_SPI3_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_PARTIAL
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ __HAL_AFIO_REMAP_CAN1_3
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_PD01_ENABLE
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM4_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_USART2_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_ETH_ENABLE
+
+
+
+
+
+
+ __HAL_AFIO_REMAP_USART3_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_0
+
+
+ AFIO_EVENTOUT_PIN_0
+
+
+
+
+ GPIO_PIN_1
+
+
+ AFIO_EVENTOUT_PIN_1
+
+
+
+
+ GPIO_PIN_10
+
+
+ AFIO_EVENTOUT_PIN_10
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_11
+
+
+ AFIO_EVENTOUT_PIN_11
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_12
+
+
+ AFIO_EVENTOUT_PIN_12
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_13
+
+
+ AFIO_EVENTOUT_PIN_13
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_14
+
+
+ AFIO_EVENTOUT_PIN_14
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_15
+
+
+ AFIO_EVENTOUT_PIN_15
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_2
+
+
+ AFIO_EVENTOUT_PIN_2
+
+
+
+
+ GPIO_PIN_3
+
+
+ AFIO_EVENTOUT_PIN_3
+
+
+
+
+ GPIO_PIN_4
+
+
+ AFIO_EVENTOUT_PIN_4
+
+
+
+
+ GPIO_PIN_5
+
+
+ AFIO_EVENTOUT_PIN_5
+
+
+
+
+ GPIO_PIN_6
+
+
+ AFIO_EVENTOUT_PIN_6
+
+
+
+
+ GPIO_PIN_7
+
+
+ AFIO_EVENTOUT_PIN_7
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_8
+
+
+ AFIO_EVENTOUT_PIN_8
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ GPIO_PIN_9
+
+
+ AFIO_EVENTOUT_PIN_9
+
+
+
+
+ __HAL_AFIO_REMAP_TIM1_ENABLE
+
+
+
+
+
+
+ AFIO_EVENTOUT_PORT_A
+
+
+ GPIOA
+
+
+
+
+ AFIO_EVENTOUT_PORT_B
+
+
+ GPIOB
+
+
+
+
+ AFIO_EVENTOUT_PORT_C
+
+
+ GPIOC
+
+
+
+
+ AFIO_EVENTOUT_PORT_D
+
+
+ GPIOD
+
+
+
+
+ AFIO_EVENTOUT_PORT_E
+
+
+ GPIOE
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/afTable.py b/receivers/native/arm/implementations/no-os-stm32/src/main/afTable.py
index 9be000253..19096cd58 100755
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/afTable.py
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/afTable.py
@@ -2,11 +2,14 @@
import sys
import csv
import re
-
+import datetime
peripheralInheritenceInject = {} # peripherals which share a numbering system
peripheralInheritenceIncrement = {} # peripherals which don't
+maxOfPeripheral = {}
+peripheralPinTypes = {}
+
#find peripherals which can be treated as smaller peripherals - e.g. USART/UART
with open(sys.argv[1], newline='') as csvfile:
reader = csv.reader(csvfile, delimiter='\t')
@@ -21,6 +24,8 @@
peripheralInheritenceIncrement[row[0]] = rest
+funcNameRegex = '^([^_-]*[^\d_-][^\d]*[^\d_-]*)\d*[_-].*|([^_-]*[^\d_-])'
+funcType = '^[^_-]*[^\d_-][^\d]*[^\d_-]*\d*[_-](.*)'
for i in range(2, len(sys.argv)):
functions = set()
@@ -31,11 +36,20 @@
functionChildren = {}
+ # find all the types of pin from a given function type, to prepare pin checkers
+ for func in functions:
+ strFuncName = re.search(funcNameRegex, func).expand('\\1\\2')
+ if not strFuncName in peripheralPinTypes:
+ peripheralPinTypes[strFuncName] = set()
+ funcTypeM = re.search(funcType, func)
+ if(funcTypeM):
+ peripheralPinTypes[strFuncName].add(funcTypeM.expand('\\1'))
+
# add peripherals which do share numbering systems
extraFuncs = set()
for func in sorted(functions):
functionChildren[func] = set()
- strFuncName = re.search('^[^\d]+', func).group(0)
+ strFuncName = re.search(funcNameRegex, func).expand('\\1\\2')
if(strFuncName in peripheralInheritenceInject):
for alt in peripheralInheritenceInject[strFuncName]:
newFunc = alt+re.search('\d.*', func).group(0)
@@ -52,10 +66,10 @@
highestByType = {} # the highest label of each peripheral type
for func in functions:
- plainName = re.search('^[^\d]+', func).group(0)
- match = re.search('\d+', func)
- if(match):
- number = int(match.group(0))
+ plainName = re.search(funcNameRegex, func).expand('\\1\\2')
+ numberM = re.search('\d+', func) # if the peripheral doesn't have a number, we don't care
+ if(numberM):
+ number = int(numberM.group(0))
if((not plainName in highestByType) or number > highestByType[plainName]):
highestByType[plainName] = number
@@ -63,10 +77,10 @@
functionInjectNumberMap = {} # preserves the numbering for given original peripherals
extraFuncs = set()
for func in sorted(functions):
- strFuncName = re.search('^[^\d]+', func).group(0)
- match = re.search('\d+', func)
- if(match and (strFuncName in peripheralInheritenceIncrement)):
- origNumber = match.group(0)
+ strFuncName = re.search(funcNameRegex, func).expand('\\1\\2')
+ numberM = re.search('\d+', func)
+ if(numberM and (strFuncName in peripheralInheritenceIncrement)):
+ origNumber = numberM.group(0)
for alt in peripheralInheritenceIncrement[strFuncName]:
if (not alt in functionInjectNumberMap):
functionInjectNumberMap[alt] = {}
@@ -82,6 +96,17 @@
functions |= extraFuncs
+ # find all the maximum count of every given function
+ for func in functions:
+ strFuncName = re.search(funcNameRegex, func).expand('\\1\\2')
+ if strFuncName in highestByType:
+ if((not strFuncName in maxOfPeripheral) or highestByType[strFuncName]>maxOfPeripheral[strFuncName]):
+ maxOfPeripheral[strFuncName] = highestByType[strFuncName]
+ else:
+ if((not strFuncName in maxOfPeripheral) or 1>maxOfPeripheral[strFuncName]):
+ maxOfPeripheral[strFuncName] = 1
+
+
functionPins = {}
functionPinAF = {}
@@ -89,6 +114,7 @@
functionPins[func] = []
functionPinAF[func] = {}
+ # find what pins can do what functions
for pin in root.iter("{http://mcd.rou.st.com/modules.php?name=mcu}GPIO_Pin"):
pinName = pin.get("Name")
if pinName.find('-')>=0:
@@ -107,18 +133,53 @@
outputName = re.search('STM32[^_]*', sys.argv[i])
outputName = outputName.group(0)+".h"
with open(outputName, "w") as out:
- name = re.search('STM32[^_]*', sys.argv[i])
- name = name.group(0)
- out.write("/*\n * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE\n*/\n\n")
+ out.write("/*\n * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
+
out.write("#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION\n")
out.write("#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION\n\n")
for func in sorted(functions):
+ usableFuncName = func.replace("-", "_")
for pin in functionPins[func]:
- out.write("#define "+func+"_"+pin+"_ "+pin+",GPIO_AF"+str(functionPinAF[func][pin])+"\n");
+ out.write("#define "+usableFuncName+"_"+pin+"_ "+pin+",GPIO_AF"+str(functionPinAF[func][pin])+"\n");
for pin in functionPins[func]:
- out.write("#define _"+func+"_"+pin+"_ 1\n");
+ out.write("#define _"+usableFuncName+"_"+pin+"_ 1\n");
out.write('\n')
out.write("#endif /* LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION */")
+for func in sorted(peripheralPinTypes):
+ with open("peripheralPinCheck_"+func.lower()+".h", "w") as out:
+ out.write("/*\n * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
-
+ for type in sorted(peripheralPinTypes[func]):
+ out.write("#define FIND_VALUE_"+func+"_"+type+"_inner(INDEX,PIN) I2C##_"+func+"_##PIN\n")
+ out.write("#define FIND_VALUE_"+func+"_"+type+"(INDEX,PIN) FIND_VALUE_"+func+"_"+type+"_inner(INDEX,PIN)\n\n")
+ for i in range(maxOfPeripheral[func]):
+ periphName = func+str(i)
+ out.write("#ifdef USE_"+periphName+"\n")
+ for type in sorted(peripheralPinTypes[func]):
+ out.write("#if !FIND_VALUE_"+func+"_"+type+"(_"+periphName+", "+periphName+"_"+type+")\n");
+ out.write("#error Invalid pin assignment for "+periphName+" "+type+" pin: "+periphName+"_"+type+"\n");
+ out.write("#endif\n");
+ out.write("#endif\n\n");
+
+
+with open("peripheralPinCheck.h", "w") as out:
+ out.write("/*\n * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
+ for func in sorted(peripheralPinTypes):
+ out.write("#include \"PeripheralChecks/peripheralPinCheck_"+func.lower()+".h\"\n");
+
+
+
+
+
+
+
+
+
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/llPinCheck.hpp b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/llPinCheck.hpp
new file mode 100644
index 000000000..69836e970
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/llPinCheck.hpp
@@ -0,0 +1,18 @@
+/*
+ * llPinCheck.hpp
+ *
+ * Created on: 19 Dec 2022
+ * Author: alicia
+ */
+
+#include
+
+#ifndef SKIP_PERIPHERAL_PIN_CHECKS
+
+#ifdef STM32
+#include "stm32/peripheralPinCheck.h"
+#else
+#error No supported manufacturer selected
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32C0xx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32C0xx.h
index 8e934956e..dc2ca3622 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32C0xx.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32C0xx.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.926209
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F031.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F031.h
index 52915dcd4..f96653a92 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F031.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F031.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.930720
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F042.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F042.h
index 4ebdd1c9f..e82b18c03 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F042.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F042.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.934281
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F051.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F051.h
index e546ddbba..4100e3ccf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F051.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F051.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.938090
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F052.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F052.h
index e7e84665c..f718cba02 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F052.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F052.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.943346
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -237,14 +238,14 @@
#define _SPI2_SCK_PB13_ 1
#define _SPI2_SCK_PD1_ 1
-#define SYS_- functionality on new pin (forecasted in Stingray 64K pinout file)_PD8_ PD8,GPIO_AF4
-#define _SYS_- functionality on new pin (forecasted in Stingray 64K pinout file)_PD8_ 1
+#define SYS__ functionality on new pin (forecasted in Stingray 64K pinout file)_PD8_ PD8,GPIO_AF4
+#define _SYS__ functionality on new pin (forecasted in Stingray 64K pinout file)_PD8_ 1
-#define SYS_- new functionality (not forecasted in Stingray 64K pinout file)_PD4_ PD4,GPIO_AF4
-#define _SYS_- new functionality (not forecasted in Stingray 64K pinout file)_PD4_ 1
+#define SYS__ new functionality (not forecasted in Stingray 64K pinout file)_PD4_ PD4,GPIO_AF4
+#define _SYS__ new functionality (not forecasted in Stingray 64K pinout file)_PD4_ 1
-#define SYS_- new pin (not existing on Stingray 64K)_PD3_ PD3,GPIO_AF4
-#define _SYS_- new pin (not existing on Stingray 64K)_PD3_ 1
+#define SYS__ new pin (not existing on Stingray 64K)_PD3_ PD3,GPIO_AF4
+#define _SYS__ new pin (not existing on Stingray 64K)_PD3_ 1
#define SYS_CAN_PC15_ PC15,GPIO_AF7
#define _SYS_CAN_PC15_ 1
@@ -258,8 +259,8 @@
#define SYS_I2C_PC0_ PC0,GPIO_AF7
#define _SYS_I2C_PC0_ 1
-#define SYS_IR-Out_PC13_ PC13,GPIO_AF7
-#define _SYS_IR-Out_PC13_ 1
+#define SYS_IR_Out_PC13_ PC13,GPIO_AF7
+#define _SYS_IR_Out_PC13_ 1
#define SYS_SPI_PC1_ PC1,GPIO_AF7
#define _SYS_SPI_PC1_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F091.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F091.h
index d7c06d97f..2e69ff5f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F091.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F091.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.949024
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F217.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F217.h
index dc8faffb6..81de7cdf9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F217.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F217.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.957260
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -673,17 +674,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F302.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F302.h
index 1cbeb0d51..5a9182b3b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F302.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F302.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.961862
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -274,17 +275,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_NJTRST_PB4_ PB4,GPIO_AF0
#define _SYS_NJTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303.h
index 58cc0d281..41cee7f67 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.975453
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -375,17 +376,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_NJTRST_PB4_ PB4,GPIO_AF0
#define _SYS_NJTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303E.h
index 3cb629ff7..9c309d723 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F303E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.969590
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -682,17 +683,17 @@
#define _SPI4_SCK_PE12_ 1
#define _SPI4_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_NJTRST_PB4_ PB4,GPIO_AF0
#define _SYS_NJTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F333.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F333.h
index 776ba897a..ac7f05382 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F333.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F333.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.979808
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -256,17 +257,17 @@
#define _SPI1_SCK_PA5_ 1
#define _SPI1_SCK_PB3_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_NJTRST_PB4_ PB4,GPIO_AF0
#define _SYS_NJTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F373.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F373.h
index ac1ace641..c736356ff 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F373.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F373.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.986363
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -454,17 +455,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_NJTRST_PB4_ PB4,GPIO_AF0
#define _SYS_NJTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F401.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F401.h
index 2676932be..5143999c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F401.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F401.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.990360
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -234,17 +235,17 @@
#define _SPI4_SCK_PE12_ 1
#define _SPI4_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F410.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F410.h
index 7f8431e9b..379a85b5b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F410.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F410.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.993169
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -304,17 +305,17 @@
#define SPI5_SCK_PB0_ PB0,GPIO_AF6
#define _SPI5_SCK_PB0_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F411.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F411.h
index 17de77aa4..58760c241 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F411.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F411.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:16.996968
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -353,17 +354,17 @@
#define _SPI5_SCK_PE12_ 1
#define _SPI5_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F412.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F412.h
index 47d9ccb04..6ae5fae0c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F412.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F412.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.004458
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1027,17 +1028,17 @@
#define _SPI5_SCK_PE12_ 1
#define _SPI5_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F413.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F413.h
index 205e1baf4..02abc494a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F413.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F413.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.013559
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1214,17 +1215,17 @@
#define _SPI5_SCK_PE12_ 1
#define _SPI5_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F417.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F417.h
index a50ebb543..c373f2dd0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F417.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F417.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.021964
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -685,17 +686,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F427.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F427.h
index f12bb67a3..bec131a87 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F427.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F427.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.032268
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1059,17 +1060,17 @@
#define SPI6_SCK_PG13_ PG13,GPIO_AF5
#define _SPI6_SCK_PG13_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F446.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F446.h
index d2a0bacd1..e59c7bf49 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F446.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F446.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.041284
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -831,17 +832,17 @@
#define _SPI4_SCK_PE2_ 1
#define _SPI4_SCK_PG11_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F469.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F469.h
index 5eeeb4bb7..6e3fd7a08 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F469.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F469.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.051775
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1132,17 +1133,17 @@
#define SPI6_SCK_PG13_ PG13,GPIO_AF5
#define _SPI6_SCK_PG13_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F72x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F72x.h
index 45762267f..d5d0cd823 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F72x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F72x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.061656
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -828,17 +829,17 @@
#define _SPI5_SCK_PF7_ 1
#define _SPI5_SCK_PH6_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F746.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F746.h
index c4424f972..efd94d3bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F746.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F746.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.073053
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1251,17 +1252,17 @@
#define SPI6_SCK_PG13_ PG13,GPIO_AF5
#define _SPI6_SCK_PG13_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F76x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F76x.h
index 728c9777c..206034e71 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F76x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32F76x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.088557
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1535,17 +1536,17 @@
#define _SPI6_SCK_PB3_ 1
#define _SPI6_SCK_PG13_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G03x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G03x.h
index 200af94fd..87310dc58 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G03x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G03x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.092979
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G05x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G05x.h
index d5925ae83..8f552bdc2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G05x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G05x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.096658
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G07x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G07x.h
index 30407570e..652da5ca6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G07x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G07x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.101532
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G0Bx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G0Bx.h
index c508198b2..19f0f5d3e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G0Bx.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G0Bx.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.108385
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G43x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G43x.h
index fe815f2ca..9e1788b24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G43x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G43x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.114746
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -553,17 +554,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G47x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G47x.h
index 703467262..7f9a55b0f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G47x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G47x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.124516
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1105,17 +1106,17 @@
#define _SPI4_SCK_PE12_ 1
#define _SPI4_SCK_PE2_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G49x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G49x.h
index 162564956..5e2397b57 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G49x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32G49x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.131613
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -626,17 +627,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H72.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H72.h
index 2a9d1da80..d4e5862c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H72.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H72.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.148246
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -128,17 +129,17 @@
#define _DCMI_VSYNC_PB7_ 1
#define _DCMI_VSYNC_PG9_ 1
-#define DEBUG_JTCK-SWCLK_PA14(JTCK/SWCLK)_ PA14(JTCK/SWCLK),GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14(JTCK/SWCLK)_ 1
+#define DEBUG_JTCK_SWCLK_PA14(JTCK/SWCLK)_ PA14(JTCK/SWCLK),GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14(JTCK/SWCLK)_ 1
#define DEBUG_JTDI_PA15(JTDI)_ PA15(JTDI),GPIO_AF0
#define _DEBUG_JTDI_PA15(JTDI)_ 1
-#define DEBUG_JTDO-SWO_PB3(JTDO/TRACESWO)_ PB3(JTDO/TRACESWO),GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3(JTDO/TRACESWO)_ 1
+#define DEBUG_JTDO_SWO_PB3(JTDO/TRACESWO)_ PB3(JTDO/TRACESWO),GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3(JTDO/TRACESWO)_ 1
-#define DEBUG_JTMS-SWDIO_PA13(JTMS/SWDIO)_ PA13(JTMS/SWDIO),GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13(JTMS/SWDIO)_ 1
+#define DEBUG_JTMS_SWDIO_PA13(JTMS/SWDIO)_ PA13(JTMS/SWDIO),GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13(JTMS/SWDIO)_ 1
#define DEBUG_JTRST_PB4(NJTRST)_ PB4(NJTRST),GPIO_AF0
#define _DEBUG_JTRST_PB4(NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H747.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H747.h
index fa65349e6..75bcad718 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H747.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H747.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.168254
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -141,17 +142,17 @@
#define _DCMI_VSYNC_PG9_ 1
#define _DCMI_VSYNC_PI5_ 1
-#define DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define DEBUG_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _DEBUG_JTDI_PA15 (JTDI)_ 1
-#define DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define DEBUG_TRACECLK_PE2_ PE2,GPIO_AF0
#define _DEBUG_TRACECLK_PE2_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H7A2.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H7A2.h
index 394d6f068..e99d6c337 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H7A2.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32H7A2.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.185090
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -144,17 +145,17 @@
#define _DCMI_VSYNC_PG9_ 1
#define _DCMI_VSYNC_PI5_ 1
-#define DEBUG_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14_ 1
+#define DEBUG_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14_ 1
#define DEBUG_JTDI_PA15_ PA15,GPIO_AF0
#define _DEBUG_JTDI_PA15_ 1
-#define DEBUG_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3_ 1
+#define DEBUG_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3_ 1
-#define DEBUG_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13_ 1
+#define DEBUG_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13_ 1
#define DEBUG_TRACECLK_PE2_ PE2,GPIO_AF0
#define _DEBUG_TRACECLK_PE2_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L021.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L021.h
index a2515ca58..b0f519742 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L021.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L021.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.188486
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L031.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L031.h
index c9ce9d7ce..f9d4b3de5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L031.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L031.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.190575
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L051.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L051.h
index 9e894920e..f8015143b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L051.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L051.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.195131
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L071.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L071.h
index 3f860ae9e..c062a41f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L071.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L071.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.201035
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152x8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152x8.h
index 24386bae3..ce9d846a9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152x8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152x8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.206175
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -273,17 +274,17 @@
#define _SPI2_SCK_PB13_ 1
#define _SPI2_SCK_PD1_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152xC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152xC.h
index 715385dc9..4c7c8d821 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152xC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L152xC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.211899
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -335,17 +336,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L15xxA.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L15xxA.h
index 715385dc9..85eb30631 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L15xxA.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L15xxA.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.217713
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -335,17 +336,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xD.h
index 60e487ef6..6c68b2519 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.225720
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -572,17 +573,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xE.h
index 7bee41d21..3f4f60633 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L162xE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.232458
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -406,17 +407,17 @@
#define _SPI3_SCK_PB3_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-TRACESWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-TRACESWO_PB3_ 1
+#define SYS_JTDO_TRACESWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_TRACESWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L41x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L41x.h
index d36e19d0f..f0c0f4976 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L41x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L41x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.237153
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -331,17 +332,17 @@
#define _SPI2_SCK_PB10_ 1
#define _SPI2_SCK_PB13_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L43x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L43x.h
index 21d971482..081fa45d1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L43x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L43x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.244502
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -768,17 +769,17 @@
#define _SWPMI1_TX_PA13 (JTMS_ 1
#define _SWPMI1_TX_PB13_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK_ PA14 (JTCK,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK_ PA14 (JTCK,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO_ PB3 (JTDO,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO_ PB3 (JTDO,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS_ PA13 (JTMS,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS_ PA13 (JTMS,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L45x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L45x.h
index 1bf2b88ea..180af388a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L45x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L45x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.252953
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -665,17 +666,17 @@
#define _SPI3_SCK_PB3 (JTDO/TRACESWO)_ 1
#define _SPI3_SCK_PC10_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L47x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L47x.h
index a448be0bd..c59d5a374 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L47x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L47x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.264031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1149,17 +1150,17 @@
#define SWPMI1_TX_PB13_ PB13,GPIO_AF12
#define _SWPMI1_TX_PB13_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK_ PA14 (JTCK,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK_ PA14 (JTCK,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO_ PB3 (JTDO,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO_ PB3 (JTDO,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS_ PA13 (JTMS,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS_ PA13 (JTMS,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L49x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L49x.h
index 44a8419b8..71e1c587e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L49x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L49x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.276870
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1489,17 +1490,17 @@
#define _SWPMI1_TX_PA13 (JTMS/SWDIO)_ 1
#define _SWPMI1_TX_PB13_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4P.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4P.h
index a76b2455e..d7a7cf751 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4P.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4P.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.290069
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1736,17 +1737,17 @@
#define _SPI3_SCK_PC10_ 1
#define _SPI3_SCK_PG9_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4Rx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4Rx.h
index 0d34263e6..82b8ca6d9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4Rx.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L4Rx.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.302226
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -1537,17 +1538,17 @@
#define _SPI3_SCK_PC10_ 1
#define _SPI3_SCK_PG9_ 1
-#define SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define SYS_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _SYS_JTDI_PA15 (JTDI)_ 1
-#define SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _SYS_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _SYS_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define SYS_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _SYS_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L55x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L55x.h
index af7921cff..bc43f9273 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L55x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32L55x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.313005
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -20,17 +21,17 @@
#define _CRS_SYNC_PA10_ 1
#define _CRS_SYNC_PB3 (JTDO/TRACESWO)_ 1
-#define DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define DEBUG_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _DEBUG_JTDI_PA15 (JTDI)_ 1
-#define DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define DEBUG_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _DEBUG_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MP13x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MP13x.h
index 7d1c46fec..469c18dfe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MP13x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MP13x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.327222
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MPU.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MPU.h
index 6f7a35385..e7df4982f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MPU.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32MPU.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.344859
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U59x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U59x.h
index b502137df..763c429f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U59x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U59x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.360170
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -161,17 +162,17 @@
#define _DCMI_VSYNC_PB7_ 1
#define _DCMI_VSYNC_PI5_ 1
-#define DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define DEBUG_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _DEBUG_JTDI_PA15 (JTDI)_ 1
-#define DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define DEBUG_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _DEBUG_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U5x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U5x.h
index 4a142976a..f54f82bf4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U5x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32U5x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.373690
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -157,17 +158,17 @@
#define _DCMI_VSYNC_PB7_ 1
#define _DCMI_VSYNC_PI5_ 1
-#define DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14 (JTCK/SWCLK)_ 1
+#define DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ PA14 (JTCK/SWCLK),GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14 (JTCK/SWCLK)_ 1
#define DEBUG_JTDI_PA15 (JTDI)_ PA15 (JTDI),GPIO_AF0
#define _DEBUG_JTDI_PA15 (JTDI)_ 1
-#define DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3 (JTDO/TRACESWO)_ 1
+#define DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ PB3 (JTDO/TRACESWO),GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3 (JTDO/TRACESWO)_ 1
-#define DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13 (JTMS/SWDIO)_ 1
+#define DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ PA13 (JTMS/SWDIO),GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13 (JTMS/SWDIO)_ 1
#define DEBUG_JTRST_PB4 (NJTRST)_ PB4 (NJTRST),GPIO_AF0
#define _DEBUG_JTRST_PB4 (NJTRST)_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB35x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB35x.h
index 6b81beda0..b778b8b24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB35x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB35x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.377749
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -202,17 +203,17 @@
#define _SPI1_SCK_PA5_ 1
#define _SPI1_SCK_PB3_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB3x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB3x.h
index f3355fc98..c64e6c357 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB3x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB3x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.381058
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -286,17 +287,17 @@
#define _SPI1_SCK_PA5_ 1
#define _SPI1_SCK_PB3_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB55x.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB55x.h
index 1988a1562..9c8833b7f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB55x.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB55x.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.387067
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -665,17 +666,17 @@
#define _SPI2_SCK_PD1_ 1
#define _SPI2_SCK_PD3_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB5Mx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB5Mx.h
index f93834a56..c46b48f8c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB5Mx.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WB5Mx.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.393388
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -669,17 +670,17 @@
#define _SPI2_SCK_PD1_ 1
#define _SPI2_SCK_PD3_ 1
-#define SYS_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _SYS_JTCK-SWCLK_PA14_ 1
+#define SYS_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _SYS_JTCK_SWCLK_PA14_ 1
#define SYS_JTDI_PA15_ PA15,GPIO_AF0
#define _SYS_JTDI_PA15_ 1
-#define SYS_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _SYS_JTDO-SWO_PB3_ 1
+#define SYS_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _SYS_JTDO_SWO_PB3_ 1
-#define SYS_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _SYS_JTMS-SWDIO_PA13_ 1
+#define SYS_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _SYS_JTMS_SWDIO_PA13_ 1
#define SYS_JTRST_PB4_ PB4,GPIO_AF0
#define _SYS_JTRST_PB4_ 1
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WL.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WL.h
index 428ec41e4..7cba42157 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WL.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/AlternateFunction/STM32WL.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.397798
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
#define LOWLEVEL_INCLUDE_DEVICE_ALTERNATE_FUNCTION
@@ -108,56 +109,56 @@
#define _COMP2_OUT_PB11_ 1
#define _COMP2_OUT_PB5_ 1
-#define DEBUG_JTCK-SWCLK_PA14_ PA14,GPIO_AF0
-#define _DEBUG_JTCK-SWCLK_PA14_ 1
+#define DEBUG_JTCK_SWCLK_PA14_ PA14,GPIO_AF0
+#define _DEBUG_JTCK_SWCLK_PA14_ 1
#define DEBUG_JTDI_PA15_ PA15,GPIO_AF0
#define _DEBUG_JTDI_PA15_ 1
-#define DEBUG_JTDO-SWO_PB3_ PB3,GPIO_AF0
-#define _DEBUG_JTDO-SWO_PB3_ 1
+#define DEBUG_JTDO_SWO_PB3_ PB3,GPIO_AF0
+#define _DEBUG_JTDO_SWO_PB3_ 1
-#define DEBUG_JTMS-SWDIO_PA13_ PA13,GPIO_AF0
-#define _DEBUG_JTMS-SWDIO_PA13_ 1
+#define DEBUG_JTMS_SWDIO_PA13_ PA13,GPIO_AF0
+#define _DEBUG_JTMS_SWDIO_PA13_ 1
-#define DEBUG_PWR-LDORDY_PA2_ PA2,GPIO_AF13
-#define _DEBUG_PWR-LDORDY_PA2_ 1
+#define DEBUG_PWR_LDORDY_PA2_ PA2,GPIO_AF13
+#define _DEBUG_PWR_LDORDY_PA2_ 1
-#define DEBUG_PWR-REGLP1S_PA0_ PA0,GPIO_AF13
-#define _DEBUG_PWR-REGLP1S_PA0_ 1
+#define DEBUG_PWR_REGLP1S_PA0_ PA0,GPIO_AF13
+#define _DEBUG_PWR_REGLP1S_PA0_ 1
-#define DEBUG_PWR-REGLP2S_PA1_ PA1,GPIO_AF13
-#define _DEBUG_PWR-REGLP2S_PA1_ 1
+#define DEBUG_PWR_REGLP2S_PA1_ PA1,GPIO_AF13
+#define _DEBUG_PWR_REGLP2S_PA1_ 1
-#define DEBUG_RF-BUSY_PA12_ PA12,GPIO_AF6
-#define _DEBUG_RF-BUSY_PA12_ 1
+#define DEBUG_RF_BUSY_PA12_ PA12,GPIO_AF6
+#define _DEBUG_RF_BUSY_PA12_ 1
-#define DEBUG_RF-DTB1_PB3_ PB3,GPIO_AF13
-#define _DEBUG_RF-DTB1_PB3_ 1
+#define DEBUG_RF_DTB1_PB3_ PB3,GPIO_AF13
+#define _DEBUG_RF_DTB1_PB3_ 1
-#define DEBUG_RF-HSE32RDY_PA10_ PA10,GPIO_AF13
-#define _DEBUG_RF-HSE32RDY_PA10_ 1
+#define DEBUG_RF_HSE32RDY_PA10_ PA10,GPIO_AF13
+#define _DEBUG_RF_HSE32RDY_PA10_ 1
-#define DEBUG_RF-LDORDY_PB4_ PB4,GPIO_AF13
-#define _DEBUG_RF-LDORDY_PB4_ 1
+#define DEBUG_RF_LDORDY_PB4_ PB4,GPIO_AF13
+#define _DEBUG_RF_LDORDY_PB4_ 1
-#define DEBUG_RF-NRESET_PA11_ PA11,GPIO_AF13
-#define _DEBUG_RF-NRESET_PA11_ 1
+#define DEBUG_RF_NRESET_PA11_ PA11,GPIO_AF13
+#define _DEBUG_RF_NRESET_PA11_ 1
-#define DEBUG_RF-SMPSRDY_PB2_ PB2,GPIO_AF13
-#define _DEBUG_RF-SMPSRDY_PB2_ 1
+#define DEBUG_RF_SMPSRDY_PB2_ PB2,GPIO_AF13
+#define _DEBUG_RF_SMPSRDY_PB2_ 1
-#define DEBUG_SUBGHZSPI-MISOOUT_PA6_ PA6,GPIO_AF13
-#define _DEBUG_SUBGHZSPI-MISOOUT_PA6_ 1
+#define DEBUG_SUBGHZSPI_MISOOUT_PA6_ PA6,GPIO_AF13
+#define _DEBUG_SUBGHZSPI_MISOOUT_PA6_ 1
-#define DEBUG_SUBGHZSPI-MOSIOUT_PA7_ PA7,GPIO_AF13
-#define _DEBUG_SUBGHZSPI-MOSIOUT_PA7_ 1
+#define DEBUG_SUBGHZSPI_MOSIOUT_PA7_ PA7,GPIO_AF13
+#define _DEBUG_SUBGHZSPI_MOSIOUT_PA7_ 1
-#define DEBUG_SUBGHZSPI-NSSOUT_PA4_ PA4,GPIO_AF13
-#define _DEBUG_SUBGHZSPI-NSSOUT_PA4_ 1
+#define DEBUG_SUBGHZSPI_NSSOUT_PA4_ PA4,GPIO_AF13
+#define _DEBUG_SUBGHZSPI_NSSOUT_PA4_ 1
-#define DEBUG_SUBGHZSPI-SCKOUT_PA5_ PA5,GPIO_AF13
-#define _DEBUG_SUBGHZSPI-SCKOUT_PA5_ 1
+#define DEBUG_SUBGHZSPI_SCKOUT_PA5_ PA5,GPIO_AF13
+#define _DEBUG_SUBGHZSPI_SCKOUT_PA5_ 1
#define I2C1_SCL_PA9_ PA9,GPIO_AF4
#define I2C1_SCL_PB6_ PB6,GPIO_AF4
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_adf.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_adf.h
new file mode 100644
index 000000000..25fab6112
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_adf.h
@@ -0,0 +1,26 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.397968
+ */
+
+#define FIND_VALUE_ADF_CCK0_inner(INDEX,PIN) I2C##_ADF_##PIN
+#define FIND_VALUE_ADF_CCK0(INDEX,PIN) FIND_VALUE_ADF_CCK0_inner(INDEX,PIN)
+
+#define FIND_VALUE_ADF_CCK1_inner(INDEX,PIN) I2C##_ADF_##PIN
+#define FIND_VALUE_ADF_CCK1(INDEX,PIN) FIND_VALUE_ADF_CCK1_inner(INDEX,PIN)
+
+#define FIND_VALUE_ADF_SDI0_inner(INDEX,PIN) I2C##_ADF_##PIN
+#define FIND_VALUE_ADF_SDI0(INDEX,PIN) FIND_VALUE_ADF_SDI0_inner(INDEX,PIN)
+
+#ifdef USE_ADF0
+#if !FIND_VALUE_ADF_CCK0(_ADF0, ADF0_CCK0)
+#error Invalid pin assignment for ADF0 CCK0 pin: ADF0_CCK0
+#endif
+#if !FIND_VALUE_ADF_CCK1(_ADF0, ADF0_CCK1)
+#error Invalid pin assignment for ADF0 CCK1 pin: ADF0_CCK1
+#endif
+#if !FIND_VALUE_ADF_SDI0(_ADF0, ADF0_SDI0)
+#error Invalid pin assignment for ADF0 SDI0 pin: ADF0_SDI0
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_audioclk.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_audioclk.h
new file mode 100644
index 000000000..b0c5a5af2
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_audioclk.h
@@ -0,0 +1,8 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.397989
+ */
+
+#ifdef USE_AUDIOCLK0
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_can.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_can.h
new file mode 100644
index 000000000..61226e5d5
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_can.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398004
+ */
+
+#define FIND_VALUE_CAN_RX_inner(INDEX,PIN) I2C##_CAN_##PIN
+#define FIND_VALUE_CAN_RX(INDEX,PIN) FIND_VALUE_CAN_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_CAN_TX_inner(INDEX,PIN) I2C##_CAN_##PIN
+#define FIND_VALUE_CAN_TX(INDEX,PIN) FIND_VALUE_CAN_TX_inner(INDEX,PIN)
+
+#ifdef USE_CAN0
+#if !FIND_VALUE_CAN_RX(_CAN0, CAN0_RX)
+#error Invalid pin assignment for CAN0 RX pin: CAN0_RX
+#endif
+#if !FIND_VALUE_CAN_TX(_CAN0, CAN0_TX)
+#error Invalid pin assignment for CAN0 TX pin: CAN0_TX
+#endif
+#endif
+
+#ifdef USE_CAN1
+#if !FIND_VALUE_CAN_RX(_CAN1, CAN1_RX)
+#error Invalid pin assignment for CAN1 RX pin: CAN1_RX
+#endif
+#if !FIND_VALUE_CAN_TX(_CAN1, CAN1_TX)
+#error Invalid pin assignment for CAN1 TX pin: CAN1_TX
+#endif
+#endif
+
+#ifdef USE_CAN2
+#if !FIND_VALUE_CAN_RX(_CAN2, CAN2_RX)
+#error Invalid pin assignment for CAN2 RX pin: CAN2_RX
+#endif
+#if !FIND_VALUE_CAN_TX(_CAN2, CAN2_TX)
+#error Invalid pin assignment for CAN2 TX pin: CAN2_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cec.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cec.h
new file mode 100644
index 000000000..758284fda
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cec.h
@@ -0,0 +1,8 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398022
+ */
+
+#ifdef USE_CEC0
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cm.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cm.h
new file mode 100644
index 000000000..c03f2de6c
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_cm.h
@@ -0,0 +1,32 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398034
+ */
+
+#define FIND_VALUE_CM_EVENTOUT_inner(INDEX,PIN) I2C##_CM_##PIN
+#define FIND_VALUE_CM_EVENTOUT(INDEX,PIN) FIND_VALUE_CM_EVENTOUT_inner(INDEX,PIN)
+
+#ifdef USE_CM0
+#if !FIND_VALUE_CM_EVENTOUT(_CM0, CM0_EVENTOUT)
+#error Invalid pin assignment for CM0 EVENTOUT pin: CM0_EVENTOUT
+#endif
+#endif
+
+#ifdef USE_CM1
+#if !FIND_VALUE_CM_EVENTOUT(_CM1, CM1_EVENTOUT)
+#error Invalid pin assignment for CM1 EVENTOUT pin: CM1_EVENTOUT
+#endif
+#endif
+
+#ifdef USE_CM2
+#if !FIND_VALUE_CM_EVENTOUT(_CM2, CM2_EVENTOUT)
+#error Invalid pin assignment for CM2 EVENTOUT pin: CM2_EVENTOUT
+#endif
+#endif
+
+#ifdef USE_CM3
+#if !FIND_VALUE_CM_EVENTOUT(_CM3, CM3_EVENTOUT)
+#error Invalid pin assignment for CM3 EVENTOUT pin: CM3_EVENTOUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp.h
new file mode 100644
index 000000000..144a9a4b1
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp.h
@@ -0,0 +1,98 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398050
+ */
+
+#define FIND_VALUE_COMP_INM_inner(INDEX,PIN) I2C##_COMP_##PIN
+#define FIND_VALUE_COMP_INM(INDEX,PIN) FIND_VALUE_COMP_INM_inner(INDEX,PIN)
+
+#define FIND_VALUE_COMP_INP_inner(INDEX,PIN) I2C##_COMP_##PIN
+#define FIND_VALUE_COMP_INP(INDEX,PIN) FIND_VALUE_COMP_INP_inner(INDEX,PIN)
+
+#define FIND_VALUE_COMP_OUT_inner(INDEX,PIN) I2C##_COMP_##PIN
+#define FIND_VALUE_COMP_OUT(INDEX,PIN) FIND_VALUE_COMP_OUT_inner(INDEX,PIN)
+
+#ifdef USE_COMP0
+#if !FIND_VALUE_COMP_INM(_COMP0, COMP0_INM)
+#error Invalid pin assignment for COMP0 INM pin: COMP0_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP0, COMP0_INP)
+#error Invalid pin assignment for COMP0 INP pin: COMP0_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP0, COMP0_OUT)
+#error Invalid pin assignment for COMP0 OUT pin: COMP0_OUT
+#endif
+#endif
+
+#ifdef USE_COMP1
+#if !FIND_VALUE_COMP_INM(_COMP1, COMP1_INM)
+#error Invalid pin assignment for COMP1 INM pin: COMP1_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP1, COMP1_INP)
+#error Invalid pin assignment for COMP1 INP pin: COMP1_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP1, COMP1_OUT)
+#error Invalid pin assignment for COMP1 OUT pin: COMP1_OUT
+#endif
+#endif
+
+#ifdef USE_COMP2
+#if !FIND_VALUE_COMP_INM(_COMP2, COMP2_INM)
+#error Invalid pin assignment for COMP2 INM pin: COMP2_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP2, COMP2_INP)
+#error Invalid pin assignment for COMP2 INP pin: COMP2_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP2, COMP2_OUT)
+#error Invalid pin assignment for COMP2 OUT pin: COMP2_OUT
+#endif
+#endif
+
+#ifdef USE_COMP3
+#if !FIND_VALUE_COMP_INM(_COMP3, COMP3_INM)
+#error Invalid pin assignment for COMP3 INM pin: COMP3_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP3, COMP3_INP)
+#error Invalid pin assignment for COMP3 INP pin: COMP3_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP3, COMP3_OUT)
+#error Invalid pin assignment for COMP3 OUT pin: COMP3_OUT
+#endif
+#endif
+
+#ifdef USE_COMP4
+#if !FIND_VALUE_COMP_INM(_COMP4, COMP4_INM)
+#error Invalid pin assignment for COMP4 INM pin: COMP4_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP4, COMP4_INP)
+#error Invalid pin assignment for COMP4 INP pin: COMP4_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP4, COMP4_OUT)
+#error Invalid pin assignment for COMP4 OUT pin: COMP4_OUT
+#endif
+#endif
+
+#ifdef USE_COMP5
+#if !FIND_VALUE_COMP_INM(_COMP5, COMP5_INM)
+#error Invalid pin assignment for COMP5 INM pin: COMP5_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP5, COMP5_INP)
+#error Invalid pin assignment for COMP5 INP pin: COMP5_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP5, COMP5_OUT)
+#error Invalid pin assignment for COMP5 OUT pin: COMP5_OUT
+#endif
+#endif
+
+#ifdef USE_COMP6
+#if !FIND_VALUE_COMP_INM(_COMP6, COMP6_INM)
+#error Invalid pin assignment for COMP6 INM pin: COMP6_INM
+#endif
+#if !FIND_VALUE_COMP_INP(_COMP6, COMP6_INP)
+#error Invalid pin assignment for COMP6 INP pin: COMP6_INP
+#endif
+#if !FIND_VALUE_COMP_OUT(_COMP6, COMP6_OUT)
+#error Invalid pin assignment for COMP6 OUT pin: COMP6_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp_tim.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp_tim.h
new file mode 100644
index 000000000..b30c5d206
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_comp_tim.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398076
+ */
+
+#define FIND_VALUE_COMP_TIM_BKIN_inner(INDEX,PIN) I2C##_COMP_TIM_##PIN
+#define FIND_VALUE_COMP_TIM_BKIN(INDEX,PIN) FIND_VALUE_COMP_TIM_BKIN_inner(INDEX,PIN)
+
+#ifdef USE_COMP_TIM0
+#if !FIND_VALUE_COMP_TIM_BKIN(_COMP_TIM0, COMP_TIM0_BKIN)
+#error Invalid pin assignment for COMP_TIM0 BKIN pin: COMP_TIM0_BKIN
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_crs.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_crs.h
new file mode 100644
index 000000000..92212a4e2
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_crs.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398088
+ */
+
+#define FIND_VALUE_CRS_SYNC_inner(INDEX,PIN) I2C##_CRS_##PIN
+#define FIND_VALUE_CRS_SYNC(INDEX,PIN) FIND_VALUE_CRS_SYNC_inner(INDEX,PIN)
+
+#ifdef USE_CRS0
+#if !FIND_VALUE_CRS_SYNC(_CRS0, CRS0_SYNC)
+#error Invalid pin assignment for CRS0 SYNC pin: CRS0_SYNC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmi.h
new file mode 100644
index 000000000..95666b48b
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmi.h
@@ -0,0 +1,758 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398101
+ */
+
+#define FIND_VALUE_DCMI_D0_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D0(INDEX,PIN) FIND_VALUE_DCMI_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D1_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D1(INDEX,PIN) FIND_VALUE_DCMI_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D10_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D10(INDEX,PIN) FIND_VALUE_DCMI_D10_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D11_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D11(INDEX,PIN) FIND_VALUE_DCMI_D11_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D12_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D12(INDEX,PIN) FIND_VALUE_DCMI_D12_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D13_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D13(INDEX,PIN) FIND_VALUE_DCMI_D13_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D2_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D2(INDEX,PIN) FIND_VALUE_DCMI_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D3_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D3(INDEX,PIN) FIND_VALUE_DCMI_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D4_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D4(INDEX,PIN) FIND_VALUE_DCMI_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D5_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D5(INDEX,PIN) FIND_VALUE_DCMI_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D6_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D6(INDEX,PIN) FIND_VALUE_DCMI_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D7_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D7(INDEX,PIN) FIND_VALUE_DCMI_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D8_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D8(INDEX,PIN) FIND_VALUE_DCMI_D8_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_D9_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_D9(INDEX,PIN) FIND_VALUE_DCMI_D9_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_HSYNC_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_HSYNC(INDEX,PIN) FIND_VALUE_DCMI_HSYNC_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_PIXCLK_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_PIXCLK(INDEX,PIN) FIND_VALUE_DCMI_PIXCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMI_VSYNC_inner(INDEX,PIN) I2C##_DCMI_##PIN
+#define FIND_VALUE_DCMI_VSYNC(INDEX,PIN) FIND_VALUE_DCMI_VSYNC_inner(INDEX,PIN)
+
+#ifdef USE_DCMI0
+#if !FIND_VALUE_DCMI_D0(_DCMI0, DCMI0_D0)
+#error Invalid pin assignment for DCMI0 D0 pin: DCMI0_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI0, DCMI0_D1)
+#error Invalid pin assignment for DCMI0 D1 pin: DCMI0_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI0, DCMI0_D10)
+#error Invalid pin assignment for DCMI0 D10 pin: DCMI0_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI0, DCMI0_D11)
+#error Invalid pin assignment for DCMI0 D11 pin: DCMI0_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI0, DCMI0_D12)
+#error Invalid pin assignment for DCMI0 D12 pin: DCMI0_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI0, DCMI0_D13)
+#error Invalid pin assignment for DCMI0 D13 pin: DCMI0_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI0, DCMI0_D2)
+#error Invalid pin assignment for DCMI0 D2 pin: DCMI0_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI0, DCMI0_D3)
+#error Invalid pin assignment for DCMI0 D3 pin: DCMI0_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI0, DCMI0_D4)
+#error Invalid pin assignment for DCMI0 D4 pin: DCMI0_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI0, DCMI0_D5)
+#error Invalid pin assignment for DCMI0 D5 pin: DCMI0_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI0, DCMI0_D6)
+#error Invalid pin assignment for DCMI0 D6 pin: DCMI0_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI0, DCMI0_D7)
+#error Invalid pin assignment for DCMI0 D7 pin: DCMI0_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI0, DCMI0_D8)
+#error Invalid pin assignment for DCMI0 D8 pin: DCMI0_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI0, DCMI0_D9)
+#error Invalid pin assignment for DCMI0 D9 pin: DCMI0_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI0, DCMI0_HSYNC)
+#error Invalid pin assignment for DCMI0 HSYNC pin: DCMI0_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI0, DCMI0_PIXCLK)
+#error Invalid pin assignment for DCMI0 PIXCLK pin: DCMI0_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI0, DCMI0_VSYNC)
+#error Invalid pin assignment for DCMI0 VSYNC pin: DCMI0_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI1
+#if !FIND_VALUE_DCMI_D0(_DCMI1, DCMI1_D0)
+#error Invalid pin assignment for DCMI1 D0 pin: DCMI1_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI1, DCMI1_D1)
+#error Invalid pin assignment for DCMI1 D1 pin: DCMI1_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI1, DCMI1_D10)
+#error Invalid pin assignment for DCMI1 D10 pin: DCMI1_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI1, DCMI1_D11)
+#error Invalid pin assignment for DCMI1 D11 pin: DCMI1_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI1, DCMI1_D12)
+#error Invalid pin assignment for DCMI1 D12 pin: DCMI1_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI1, DCMI1_D13)
+#error Invalid pin assignment for DCMI1 D13 pin: DCMI1_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI1, DCMI1_D2)
+#error Invalid pin assignment for DCMI1 D2 pin: DCMI1_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI1, DCMI1_D3)
+#error Invalid pin assignment for DCMI1 D3 pin: DCMI1_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI1, DCMI1_D4)
+#error Invalid pin assignment for DCMI1 D4 pin: DCMI1_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI1, DCMI1_D5)
+#error Invalid pin assignment for DCMI1 D5 pin: DCMI1_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI1, DCMI1_D6)
+#error Invalid pin assignment for DCMI1 D6 pin: DCMI1_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI1, DCMI1_D7)
+#error Invalid pin assignment for DCMI1 D7 pin: DCMI1_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI1, DCMI1_D8)
+#error Invalid pin assignment for DCMI1 D8 pin: DCMI1_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI1, DCMI1_D9)
+#error Invalid pin assignment for DCMI1 D9 pin: DCMI1_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI1, DCMI1_HSYNC)
+#error Invalid pin assignment for DCMI1 HSYNC pin: DCMI1_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI1, DCMI1_PIXCLK)
+#error Invalid pin assignment for DCMI1 PIXCLK pin: DCMI1_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI1, DCMI1_VSYNC)
+#error Invalid pin assignment for DCMI1 VSYNC pin: DCMI1_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI2
+#if !FIND_VALUE_DCMI_D0(_DCMI2, DCMI2_D0)
+#error Invalid pin assignment for DCMI2 D0 pin: DCMI2_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI2, DCMI2_D1)
+#error Invalid pin assignment for DCMI2 D1 pin: DCMI2_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI2, DCMI2_D10)
+#error Invalid pin assignment for DCMI2 D10 pin: DCMI2_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI2, DCMI2_D11)
+#error Invalid pin assignment for DCMI2 D11 pin: DCMI2_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI2, DCMI2_D12)
+#error Invalid pin assignment for DCMI2 D12 pin: DCMI2_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI2, DCMI2_D13)
+#error Invalid pin assignment for DCMI2 D13 pin: DCMI2_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI2, DCMI2_D2)
+#error Invalid pin assignment for DCMI2 D2 pin: DCMI2_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI2, DCMI2_D3)
+#error Invalid pin assignment for DCMI2 D3 pin: DCMI2_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI2, DCMI2_D4)
+#error Invalid pin assignment for DCMI2 D4 pin: DCMI2_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI2, DCMI2_D5)
+#error Invalid pin assignment for DCMI2 D5 pin: DCMI2_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI2, DCMI2_D6)
+#error Invalid pin assignment for DCMI2 D6 pin: DCMI2_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI2, DCMI2_D7)
+#error Invalid pin assignment for DCMI2 D7 pin: DCMI2_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI2, DCMI2_D8)
+#error Invalid pin assignment for DCMI2 D8 pin: DCMI2_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI2, DCMI2_D9)
+#error Invalid pin assignment for DCMI2 D9 pin: DCMI2_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI2, DCMI2_HSYNC)
+#error Invalid pin assignment for DCMI2 HSYNC pin: DCMI2_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI2, DCMI2_PIXCLK)
+#error Invalid pin assignment for DCMI2 PIXCLK pin: DCMI2_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI2, DCMI2_VSYNC)
+#error Invalid pin assignment for DCMI2 VSYNC pin: DCMI2_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI3
+#if !FIND_VALUE_DCMI_D0(_DCMI3, DCMI3_D0)
+#error Invalid pin assignment for DCMI3 D0 pin: DCMI3_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI3, DCMI3_D1)
+#error Invalid pin assignment for DCMI3 D1 pin: DCMI3_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI3, DCMI3_D10)
+#error Invalid pin assignment for DCMI3 D10 pin: DCMI3_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI3, DCMI3_D11)
+#error Invalid pin assignment for DCMI3 D11 pin: DCMI3_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI3, DCMI3_D12)
+#error Invalid pin assignment for DCMI3 D12 pin: DCMI3_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI3, DCMI3_D13)
+#error Invalid pin assignment for DCMI3 D13 pin: DCMI3_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI3, DCMI3_D2)
+#error Invalid pin assignment for DCMI3 D2 pin: DCMI3_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI3, DCMI3_D3)
+#error Invalid pin assignment for DCMI3 D3 pin: DCMI3_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI3, DCMI3_D4)
+#error Invalid pin assignment for DCMI3 D4 pin: DCMI3_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI3, DCMI3_D5)
+#error Invalid pin assignment for DCMI3 D5 pin: DCMI3_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI3, DCMI3_D6)
+#error Invalid pin assignment for DCMI3 D6 pin: DCMI3_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI3, DCMI3_D7)
+#error Invalid pin assignment for DCMI3 D7 pin: DCMI3_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI3, DCMI3_D8)
+#error Invalid pin assignment for DCMI3 D8 pin: DCMI3_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI3, DCMI3_D9)
+#error Invalid pin assignment for DCMI3 D9 pin: DCMI3_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI3, DCMI3_HSYNC)
+#error Invalid pin assignment for DCMI3 HSYNC pin: DCMI3_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI3, DCMI3_PIXCLK)
+#error Invalid pin assignment for DCMI3 PIXCLK pin: DCMI3_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI3, DCMI3_VSYNC)
+#error Invalid pin assignment for DCMI3 VSYNC pin: DCMI3_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI4
+#if !FIND_VALUE_DCMI_D0(_DCMI4, DCMI4_D0)
+#error Invalid pin assignment for DCMI4 D0 pin: DCMI4_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI4, DCMI4_D1)
+#error Invalid pin assignment for DCMI4 D1 pin: DCMI4_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI4, DCMI4_D10)
+#error Invalid pin assignment for DCMI4 D10 pin: DCMI4_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI4, DCMI4_D11)
+#error Invalid pin assignment for DCMI4 D11 pin: DCMI4_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI4, DCMI4_D12)
+#error Invalid pin assignment for DCMI4 D12 pin: DCMI4_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI4, DCMI4_D13)
+#error Invalid pin assignment for DCMI4 D13 pin: DCMI4_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI4, DCMI4_D2)
+#error Invalid pin assignment for DCMI4 D2 pin: DCMI4_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI4, DCMI4_D3)
+#error Invalid pin assignment for DCMI4 D3 pin: DCMI4_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI4, DCMI4_D4)
+#error Invalid pin assignment for DCMI4 D4 pin: DCMI4_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI4, DCMI4_D5)
+#error Invalid pin assignment for DCMI4 D5 pin: DCMI4_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI4, DCMI4_D6)
+#error Invalid pin assignment for DCMI4 D6 pin: DCMI4_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI4, DCMI4_D7)
+#error Invalid pin assignment for DCMI4 D7 pin: DCMI4_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI4, DCMI4_D8)
+#error Invalid pin assignment for DCMI4 D8 pin: DCMI4_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI4, DCMI4_D9)
+#error Invalid pin assignment for DCMI4 D9 pin: DCMI4_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI4, DCMI4_HSYNC)
+#error Invalid pin assignment for DCMI4 HSYNC pin: DCMI4_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI4, DCMI4_PIXCLK)
+#error Invalid pin assignment for DCMI4 PIXCLK pin: DCMI4_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI4, DCMI4_VSYNC)
+#error Invalid pin assignment for DCMI4 VSYNC pin: DCMI4_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI5
+#if !FIND_VALUE_DCMI_D0(_DCMI5, DCMI5_D0)
+#error Invalid pin assignment for DCMI5 D0 pin: DCMI5_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI5, DCMI5_D1)
+#error Invalid pin assignment for DCMI5 D1 pin: DCMI5_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI5, DCMI5_D10)
+#error Invalid pin assignment for DCMI5 D10 pin: DCMI5_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI5, DCMI5_D11)
+#error Invalid pin assignment for DCMI5 D11 pin: DCMI5_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI5, DCMI5_D12)
+#error Invalid pin assignment for DCMI5 D12 pin: DCMI5_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI5, DCMI5_D13)
+#error Invalid pin assignment for DCMI5 D13 pin: DCMI5_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI5, DCMI5_D2)
+#error Invalid pin assignment for DCMI5 D2 pin: DCMI5_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI5, DCMI5_D3)
+#error Invalid pin assignment for DCMI5 D3 pin: DCMI5_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI5, DCMI5_D4)
+#error Invalid pin assignment for DCMI5 D4 pin: DCMI5_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI5, DCMI5_D5)
+#error Invalid pin assignment for DCMI5 D5 pin: DCMI5_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI5, DCMI5_D6)
+#error Invalid pin assignment for DCMI5 D6 pin: DCMI5_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI5, DCMI5_D7)
+#error Invalid pin assignment for DCMI5 D7 pin: DCMI5_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI5, DCMI5_D8)
+#error Invalid pin assignment for DCMI5 D8 pin: DCMI5_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI5, DCMI5_D9)
+#error Invalid pin assignment for DCMI5 D9 pin: DCMI5_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI5, DCMI5_HSYNC)
+#error Invalid pin assignment for DCMI5 HSYNC pin: DCMI5_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI5, DCMI5_PIXCLK)
+#error Invalid pin assignment for DCMI5 PIXCLK pin: DCMI5_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI5, DCMI5_VSYNC)
+#error Invalid pin assignment for DCMI5 VSYNC pin: DCMI5_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI6
+#if !FIND_VALUE_DCMI_D0(_DCMI6, DCMI6_D0)
+#error Invalid pin assignment for DCMI6 D0 pin: DCMI6_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI6, DCMI6_D1)
+#error Invalid pin assignment for DCMI6 D1 pin: DCMI6_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI6, DCMI6_D10)
+#error Invalid pin assignment for DCMI6 D10 pin: DCMI6_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI6, DCMI6_D11)
+#error Invalid pin assignment for DCMI6 D11 pin: DCMI6_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI6, DCMI6_D12)
+#error Invalid pin assignment for DCMI6 D12 pin: DCMI6_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI6, DCMI6_D13)
+#error Invalid pin assignment for DCMI6 D13 pin: DCMI6_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI6, DCMI6_D2)
+#error Invalid pin assignment for DCMI6 D2 pin: DCMI6_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI6, DCMI6_D3)
+#error Invalid pin assignment for DCMI6 D3 pin: DCMI6_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI6, DCMI6_D4)
+#error Invalid pin assignment for DCMI6 D4 pin: DCMI6_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI6, DCMI6_D5)
+#error Invalid pin assignment for DCMI6 D5 pin: DCMI6_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI6, DCMI6_D6)
+#error Invalid pin assignment for DCMI6 D6 pin: DCMI6_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI6, DCMI6_D7)
+#error Invalid pin assignment for DCMI6 D7 pin: DCMI6_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI6, DCMI6_D8)
+#error Invalid pin assignment for DCMI6 D8 pin: DCMI6_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI6, DCMI6_D9)
+#error Invalid pin assignment for DCMI6 D9 pin: DCMI6_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI6, DCMI6_HSYNC)
+#error Invalid pin assignment for DCMI6 HSYNC pin: DCMI6_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI6, DCMI6_PIXCLK)
+#error Invalid pin assignment for DCMI6 PIXCLK pin: DCMI6_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI6, DCMI6_VSYNC)
+#error Invalid pin assignment for DCMI6 VSYNC pin: DCMI6_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI7
+#if !FIND_VALUE_DCMI_D0(_DCMI7, DCMI7_D0)
+#error Invalid pin assignment for DCMI7 D0 pin: DCMI7_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI7, DCMI7_D1)
+#error Invalid pin assignment for DCMI7 D1 pin: DCMI7_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI7, DCMI7_D10)
+#error Invalid pin assignment for DCMI7 D10 pin: DCMI7_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI7, DCMI7_D11)
+#error Invalid pin assignment for DCMI7 D11 pin: DCMI7_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI7, DCMI7_D12)
+#error Invalid pin assignment for DCMI7 D12 pin: DCMI7_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI7, DCMI7_D13)
+#error Invalid pin assignment for DCMI7 D13 pin: DCMI7_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI7, DCMI7_D2)
+#error Invalid pin assignment for DCMI7 D2 pin: DCMI7_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI7, DCMI7_D3)
+#error Invalid pin assignment for DCMI7 D3 pin: DCMI7_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI7, DCMI7_D4)
+#error Invalid pin assignment for DCMI7 D4 pin: DCMI7_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI7, DCMI7_D5)
+#error Invalid pin assignment for DCMI7 D5 pin: DCMI7_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI7, DCMI7_D6)
+#error Invalid pin assignment for DCMI7 D6 pin: DCMI7_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI7, DCMI7_D7)
+#error Invalid pin assignment for DCMI7 D7 pin: DCMI7_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI7, DCMI7_D8)
+#error Invalid pin assignment for DCMI7 D8 pin: DCMI7_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI7, DCMI7_D9)
+#error Invalid pin assignment for DCMI7 D9 pin: DCMI7_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI7, DCMI7_HSYNC)
+#error Invalid pin assignment for DCMI7 HSYNC pin: DCMI7_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI7, DCMI7_PIXCLK)
+#error Invalid pin assignment for DCMI7 PIXCLK pin: DCMI7_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI7, DCMI7_VSYNC)
+#error Invalid pin assignment for DCMI7 VSYNC pin: DCMI7_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI8
+#if !FIND_VALUE_DCMI_D0(_DCMI8, DCMI8_D0)
+#error Invalid pin assignment for DCMI8 D0 pin: DCMI8_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI8, DCMI8_D1)
+#error Invalid pin assignment for DCMI8 D1 pin: DCMI8_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI8, DCMI8_D10)
+#error Invalid pin assignment for DCMI8 D10 pin: DCMI8_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI8, DCMI8_D11)
+#error Invalid pin assignment for DCMI8 D11 pin: DCMI8_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI8, DCMI8_D12)
+#error Invalid pin assignment for DCMI8 D12 pin: DCMI8_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI8, DCMI8_D13)
+#error Invalid pin assignment for DCMI8 D13 pin: DCMI8_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI8, DCMI8_D2)
+#error Invalid pin assignment for DCMI8 D2 pin: DCMI8_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI8, DCMI8_D3)
+#error Invalid pin assignment for DCMI8 D3 pin: DCMI8_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI8, DCMI8_D4)
+#error Invalid pin assignment for DCMI8 D4 pin: DCMI8_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI8, DCMI8_D5)
+#error Invalid pin assignment for DCMI8 D5 pin: DCMI8_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI8, DCMI8_D6)
+#error Invalid pin assignment for DCMI8 D6 pin: DCMI8_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI8, DCMI8_D7)
+#error Invalid pin assignment for DCMI8 D7 pin: DCMI8_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI8, DCMI8_D8)
+#error Invalid pin assignment for DCMI8 D8 pin: DCMI8_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI8, DCMI8_D9)
+#error Invalid pin assignment for DCMI8 D9 pin: DCMI8_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI8, DCMI8_HSYNC)
+#error Invalid pin assignment for DCMI8 HSYNC pin: DCMI8_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI8, DCMI8_PIXCLK)
+#error Invalid pin assignment for DCMI8 PIXCLK pin: DCMI8_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI8, DCMI8_VSYNC)
+#error Invalid pin assignment for DCMI8 VSYNC pin: DCMI8_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI9
+#if !FIND_VALUE_DCMI_D0(_DCMI9, DCMI9_D0)
+#error Invalid pin assignment for DCMI9 D0 pin: DCMI9_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI9, DCMI9_D1)
+#error Invalid pin assignment for DCMI9 D1 pin: DCMI9_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI9, DCMI9_D10)
+#error Invalid pin assignment for DCMI9 D10 pin: DCMI9_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI9, DCMI9_D11)
+#error Invalid pin assignment for DCMI9 D11 pin: DCMI9_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI9, DCMI9_D12)
+#error Invalid pin assignment for DCMI9 D12 pin: DCMI9_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI9, DCMI9_D13)
+#error Invalid pin assignment for DCMI9 D13 pin: DCMI9_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI9, DCMI9_D2)
+#error Invalid pin assignment for DCMI9 D2 pin: DCMI9_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI9, DCMI9_D3)
+#error Invalid pin assignment for DCMI9 D3 pin: DCMI9_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI9, DCMI9_D4)
+#error Invalid pin assignment for DCMI9 D4 pin: DCMI9_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI9, DCMI9_D5)
+#error Invalid pin assignment for DCMI9 D5 pin: DCMI9_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI9, DCMI9_D6)
+#error Invalid pin assignment for DCMI9 D6 pin: DCMI9_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI9, DCMI9_D7)
+#error Invalid pin assignment for DCMI9 D7 pin: DCMI9_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI9, DCMI9_D8)
+#error Invalid pin assignment for DCMI9 D8 pin: DCMI9_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI9, DCMI9_D9)
+#error Invalid pin assignment for DCMI9 D9 pin: DCMI9_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI9, DCMI9_HSYNC)
+#error Invalid pin assignment for DCMI9 HSYNC pin: DCMI9_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI9, DCMI9_PIXCLK)
+#error Invalid pin assignment for DCMI9 PIXCLK pin: DCMI9_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI9, DCMI9_VSYNC)
+#error Invalid pin assignment for DCMI9 VSYNC pin: DCMI9_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI10
+#if !FIND_VALUE_DCMI_D0(_DCMI10, DCMI10_D0)
+#error Invalid pin assignment for DCMI10 D0 pin: DCMI10_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI10, DCMI10_D1)
+#error Invalid pin assignment for DCMI10 D1 pin: DCMI10_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI10, DCMI10_D10)
+#error Invalid pin assignment for DCMI10 D10 pin: DCMI10_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI10, DCMI10_D11)
+#error Invalid pin assignment for DCMI10 D11 pin: DCMI10_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI10, DCMI10_D12)
+#error Invalid pin assignment for DCMI10 D12 pin: DCMI10_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI10, DCMI10_D13)
+#error Invalid pin assignment for DCMI10 D13 pin: DCMI10_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI10, DCMI10_D2)
+#error Invalid pin assignment for DCMI10 D2 pin: DCMI10_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI10, DCMI10_D3)
+#error Invalid pin assignment for DCMI10 D3 pin: DCMI10_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI10, DCMI10_D4)
+#error Invalid pin assignment for DCMI10 D4 pin: DCMI10_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI10, DCMI10_D5)
+#error Invalid pin assignment for DCMI10 D5 pin: DCMI10_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI10, DCMI10_D6)
+#error Invalid pin assignment for DCMI10 D6 pin: DCMI10_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI10, DCMI10_D7)
+#error Invalid pin assignment for DCMI10 D7 pin: DCMI10_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI10, DCMI10_D8)
+#error Invalid pin assignment for DCMI10 D8 pin: DCMI10_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI10, DCMI10_D9)
+#error Invalid pin assignment for DCMI10 D9 pin: DCMI10_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI10, DCMI10_HSYNC)
+#error Invalid pin assignment for DCMI10 HSYNC pin: DCMI10_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI10, DCMI10_PIXCLK)
+#error Invalid pin assignment for DCMI10 PIXCLK pin: DCMI10_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI10, DCMI10_VSYNC)
+#error Invalid pin assignment for DCMI10 VSYNC pin: DCMI10_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI11
+#if !FIND_VALUE_DCMI_D0(_DCMI11, DCMI11_D0)
+#error Invalid pin assignment for DCMI11 D0 pin: DCMI11_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI11, DCMI11_D1)
+#error Invalid pin assignment for DCMI11 D1 pin: DCMI11_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI11, DCMI11_D10)
+#error Invalid pin assignment for DCMI11 D10 pin: DCMI11_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI11, DCMI11_D11)
+#error Invalid pin assignment for DCMI11 D11 pin: DCMI11_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI11, DCMI11_D12)
+#error Invalid pin assignment for DCMI11 D12 pin: DCMI11_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI11, DCMI11_D13)
+#error Invalid pin assignment for DCMI11 D13 pin: DCMI11_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI11, DCMI11_D2)
+#error Invalid pin assignment for DCMI11 D2 pin: DCMI11_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI11, DCMI11_D3)
+#error Invalid pin assignment for DCMI11 D3 pin: DCMI11_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI11, DCMI11_D4)
+#error Invalid pin assignment for DCMI11 D4 pin: DCMI11_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI11, DCMI11_D5)
+#error Invalid pin assignment for DCMI11 D5 pin: DCMI11_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI11, DCMI11_D6)
+#error Invalid pin assignment for DCMI11 D6 pin: DCMI11_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI11, DCMI11_D7)
+#error Invalid pin assignment for DCMI11 D7 pin: DCMI11_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI11, DCMI11_D8)
+#error Invalid pin assignment for DCMI11 D8 pin: DCMI11_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI11, DCMI11_D9)
+#error Invalid pin assignment for DCMI11 D9 pin: DCMI11_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI11, DCMI11_HSYNC)
+#error Invalid pin assignment for DCMI11 HSYNC pin: DCMI11_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI11, DCMI11_PIXCLK)
+#error Invalid pin assignment for DCMI11 PIXCLK pin: DCMI11_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI11, DCMI11_VSYNC)
+#error Invalid pin assignment for DCMI11 VSYNC pin: DCMI11_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMI12
+#if !FIND_VALUE_DCMI_D0(_DCMI12, DCMI12_D0)
+#error Invalid pin assignment for DCMI12 D0 pin: DCMI12_D0
+#endif
+#if !FIND_VALUE_DCMI_D1(_DCMI12, DCMI12_D1)
+#error Invalid pin assignment for DCMI12 D1 pin: DCMI12_D1
+#endif
+#if !FIND_VALUE_DCMI_D10(_DCMI12, DCMI12_D10)
+#error Invalid pin assignment for DCMI12 D10 pin: DCMI12_D10
+#endif
+#if !FIND_VALUE_DCMI_D11(_DCMI12, DCMI12_D11)
+#error Invalid pin assignment for DCMI12 D11 pin: DCMI12_D11
+#endif
+#if !FIND_VALUE_DCMI_D12(_DCMI12, DCMI12_D12)
+#error Invalid pin assignment for DCMI12 D12 pin: DCMI12_D12
+#endif
+#if !FIND_VALUE_DCMI_D13(_DCMI12, DCMI12_D13)
+#error Invalid pin assignment for DCMI12 D13 pin: DCMI12_D13
+#endif
+#if !FIND_VALUE_DCMI_D2(_DCMI12, DCMI12_D2)
+#error Invalid pin assignment for DCMI12 D2 pin: DCMI12_D2
+#endif
+#if !FIND_VALUE_DCMI_D3(_DCMI12, DCMI12_D3)
+#error Invalid pin assignment for DCMI12 D3 pin: DCMI12_D3
+#endif
+#if !FIND_VALUE_DCMI_D4(_DCMI12, DCMI12_D4)
+#error Invalid pin assignment for DCMI12 D4 pin: DCMI12_D4
+#endif
+#if !FIND_VALUE_DCMI_D5(_DCMI12, DCMI12_D5)
+#error Invalid pin assignment for DCMI12 D5 pin: DCMI12_D5
+#endif
+#if !FIND_VALUE_DCMI_D6(_DCMI12, DCMI12_D6)
+#error Invalid pin assignment for DCMI12 D6 pin: DCMI12_D6
+#endif
+#if !FIND_VALUE_DCMI_D7(_DCMI12, DCMI12_D7)
+#error Invalid pin assignment for DCMI12 D7 pin: DCMI12_D7
+#endif
+#if !FIND_VALUE_DCMI_D8(_DCMI12, DCMI12_D8)
+#error Invalid pin assignment for DCMI12 D8 pin: DCMI12_D8
+#endif
+#if !FIND_VALUE_DCMI_D9(_DCMI12, DCMI12_D9)
+#error Invalid pin assignment for DCMI12 D9 pin: DCMI12_D9
+#endif
+#if !FIND_VALUE_DCMI_HSYNC(_DCMI12, DCMI12_HSYNC)
+#error Invalid pin assignment for DCMI12 HSYNC pin: DCMI12_HSYNC
+#endif
+#if !FIND_VALUE_DCMI_PIXCLK(_DCMI12, DCMI12_PIXCLK)
+#error Invalid pin assignment for DCMI12 PIXCLK pin: DCMI12_PIXCLK
+#endif
+#if !FIND_VALUE_DCMI_VSYNC(_DCMI12, DCMI12_VSYNC)
+#error Invalid pin assignment for DCMI12 VSYNC pin: DCMI12_VSYNC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmipp.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmipp.h
new file mode 100644
index 000000000..16f025b69
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dcmipp.h
@@ -0,0 +1,962 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398234
+ */
+
+#define FIND_VALUE_DCMIPP_D0_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D0(INDEX,PIN) FIND_VALUE_DCMIPP_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D1_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D1(INDEX,PIN) FIND_VALUE_DCMIPP_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D10_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D10(INDEX,PIN) FIND_VALUE_DCMIPP_D10_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D11_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D11(INDEX,PIN) FIND_VALUE_DCMIPP_D11_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D12_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D12(INDEX,PIN) FIND_VALUE_DCMIPP_D12_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D13_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D13(INDEX,PIN) FIND_VALUE_DCMIPP_D13_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D14_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D14(INDEX,PIN) FIND_VALUE_DCMIPP_D14_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D15_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D15(INDEX,PIN) FIND_VALUE_DCMIPP_D15_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D2_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D2(INDEX,PIN) FIND_VALUE_DCMIPP_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D3_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D3(INDEX,PIN) FIND_VALUE_DCMIPP_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D4_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D4(INDEX,PIN) FIND_VALUE_DCMIPP_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D5_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D5(INDEX,PIN) FIND_VALUE_DCMIPP_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D6_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D6(INDEX,PIN) FIND_VALUE_DCMIPP_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D7_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D7(INDEX,PIN) FIND_VALUE_DCMIPP_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D8_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D8(INDEX,PIN) FIND_VALUE_DCMIPP_D8_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_D9_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_D9(INDEX,PIN) FIND_VALUE_DCMIPP_D9_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_HSYNC_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_HSYNC(INDEX,PIN) FIND_VALUE_DCMIPP_HSYNC_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_PIXCLK_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_PIXCLK(INDEX,PIN) FIND_VALUE_DCMIPP_PIXCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_DCMIPP_VSYNC_inner(INDEX,PIN) I2C##_DCMIPP_##PIN
+#define FIND_VALUE_DCMIPP_VSYNC(INDEX,PIN) FIND_VALUE_DCMIPP_VSYNC_inner(INDEX,PIN)
+
+#ifdef USE_DCMIPP0
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP0, DCMIPP0_D0)
+#error Invalid pin assignment for DCMIPP0 D0 pin: DCMIPP0_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP0, DCMIPP0_D1)
+#error Invalid pin assignment for DCMIPP0 D1 pin: DCMIPP0_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP0, DCMIPP0_D10)
+#error Invalid pin assignment for DCMIPP0 D10 pin: DCMIPP0_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP0, DCMIPP0_D11)
+#error Invalid pin assignment for DCMIPP0 D11 pin: DCMIPP0_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP0, DCMIPP0_D12)
+#error Invalid pin assignment for DCMIPP0 D12 pin: DCMIPP0_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP0, DCMIPP0_D13)
+#error Invalid pin assignment for DCMIPP0 D13 pin: DCMIPP0_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP0, DCMIPP0_D14)
+#error Invalid pin assignment for DCMIPP0 D14 pin: DCMIPP0_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP0, DCMIPP0_D15)
+#error Invalid pin assignment for DCMIPP0 D15 pin: DCMIPP0_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP0, DCMIPP0_D2)
+#error Invalid pin assignment for DCMIPP0 D2 pin: DCMIPP0_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP0, DCMIPP0_D3)
+#error Invalid pin assignment for DCMIPP0 D3 pin: DCMIPP0_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP0, DCMIPP0_D4)
+#error Invalid pin assignment for DCMIPP0 D4 pin: DCMIPP0_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP0, DCMIPP0_D5)
+#error Invalid pin assignment for DCMIPP0 D5 pin: DCMIPP0_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP0, DCMIPP0_D6)
+#error Invalid pin assignment for DCMIPP0 D6 pin: DCMIPP0_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP0, DCMIPP0_D7)
+#error Invalid pin assignment for DCMIPP0 D7 pin: DCMIPP0_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP0, DCMIPP0_D8)
+#error Invalid pin assignment for DCMIPP0 D8 pin: DCMIPP0_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP0, DCMIPP0_D9)
+#error Invalid pin assignment for DCMIPP0 D9 pin: DCMIPP0_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP0, DCMIPP0_HSYNC)
+#error Invalid pin assignment for DCMIPP0 HSYNC pin: DCMIPP0_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP0, DCMIPP0_PIXCLK)
+#error Invalid pin assignment for DCMIPP0 PIXCLK pin: DCMIPP0_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP0, DCMIPP0_VSYNC)
+#error Invalid pin assignment for DCMIPP0 VSYNC pin: DCMIPP0_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP1
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP1, DCMIPP1_D0)
+#error Invalid pin assignment for DCMIPP1 D0 pin: DCMIPP1_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP1, DCMIPP1_D1)
+#error Invalid pin assignment for DCMIPP1 D1 pin: DCMIPP1_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP1, DCMIPP1_D10)
+#error Invalid pin assignment for DCMIPP1 D10 pin: DCMIPP1_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP1, DCMIPP1_D11)
+#error Invalid pin assignment for DCMIPP1 D11 pin: DCMIPP1_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP1, DCMIPP1_D12)
+#error Invalid pin assignment for DCMIPP1 D12 pin: DCMIPP1_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP1, DCMIPP1_D13)
+#error Invalid pin assignment for DCMIPP1 D13 pin: DCMIPP1_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP1, DCMIPP1_D14)
+#error Invalid pin assignment for DCMIPP1 D14 pin: DCMIPP1_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP1, DCMIPP1_D15)
+#error Invalid pin assignment for DCMIPP1 D15 pin: DCMIPP1_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP1, DCMIPP1_D2)
+#error Invalid pin assignment for DCMIPP1 D2 pin: DCMIPP1_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP1, DCMIPP1_D3)
+#error Invalid pin assignment for DCMIPP1 D3 pin: DCMIPP1_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP1, DCMIPP1_D4)
+#error Invalid pin assignment for DCMIPP1 D4 pin: DCMIPP1_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP1, DCMIPP1_D5)
+#error Invalid pin assignment for DCMIPP1 D5 pin: DCMIPP1_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP1, DCMIPP1_D6)
+#error Invalid pin assignment for DCMIPP1 D6 pin: DCMIPP1_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP1, DCMIPP1_D7)
+#error Invalid pin assignment for DCMIPP1 D7 pin: DCMIPP1_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP1, DCMIPP1_D8)
+#error Invalid pin assignment for DCMIPP1 D8 pin: DCMIPP1_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP1, DCMIPP1_D9)
+#error Invalid pin assignment for DCMIPP1 D9 pin: DCMIPP1_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP1, DCMIPP1_HSYNC)
+#error Invalid pin assignment for DCMIPP1 HSYNC pin: DCMIPP1_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP1, DCMIPP1_PIXCLK)
+#error Invalid pin assignment for DCMIPP1 PIXCLK pin: DCMIPP1_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP1, DCMIPP1_VSYNC)
+#error Invalid pin assignment for DCMIPP1 VSYNC pin: DCMIPP1_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP2
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP2, DCMIPP2_D0)
+#error Invalid pin assignment for DCMIPP2 D0 pin: DCMIPP2_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP2, DCMIPP2_D1)
+#error Invalid pin assignment for DCMIPP2 D1 pin: DCMIPP2_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP2, DCMIPP2_D10)
+#error Invalid pin assignment for DCMIPP2 D10 pin: DCMIPP2_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP2, DCMIPP2_D11)
+#error Invalid pin assignment for DCMIPP2 D11 pin: DCMIPP2_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP2, DCMIPP2_D12)
+#error Invalid pin assignment for DCMIPP2 D12 pin: DCMIPP2_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP2, DCMIPP2_D13)
+#error Invalid pin assignment for DCMIPP2 D13 pin: DCMIPP2_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP2, DCMIPP2_D14)
+#error Invalid pin assignment for DCMIPP2 D14 pin: DCMIPP2_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP2, DCMIPP2_D15)
+#error Invalid pin assignment for DCMIPP2 D15 pin: DCMIPP2_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP2, DCMIPP2_D2)
+#error Invalid pin assignment for DCMIPP2 D2 pin: DCMIPP2_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP2, DCMIPP2_D3)
+#error Invalid pin assignment for DCMIPP2 D3 pin: DCMIPP2_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP2, DCMIPP2_D4)
+#error Invalid pin assignment for DCMIPP2 D4 pin: DCMIPP2_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP2, DCMIPP2_D5)
+#error Invalid pin assignment for DCMIPP2 D5 pin: DCMIPP2_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP2, DCMIPP2_D6)
+#error Invalid pin assignment for DCMIPP2 D6 pin: DCMIPP2_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP2, DCMIPP2_D7)
+#error Invalid pin assignment for DCMIPP2 D7 pin: DCMIPP2_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP2, DCMIPP2_D8)
+#error Invalid pin assignment for DCMIPP2 D8 pin: DCMIPP2_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP2, DCMIPP2_D9)
+#error Invalid pin assignment for DCMIPP2 D9 pin: DCMIPP2_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP2, DCMIPP2_HSYNC)
+#error Invalid pin assignment for DCMIPP2 HSYNC pin: DCMIPP2_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP2, DCMIPP2_PIXCLK)
+#error Invalid pin assignment for DCMIPP2 PIXCLK pin: DCMIPP2_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP2, DCMIPP2_VSYNC)
+#error Invalid pin assignment for DCMIPP2 VSYNC pin: DCMIPP2_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP3
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP3, DCMIPP3_D0)
+#error Invalid pin assignment for DCMIPP3 D0 pin: DCMIPP3_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP3, DCMIPP3_D1)
+#error Invalid pin assignment for DCMIPP3 D1 pin: DCMIPP3_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP3, DCMIPP3_D10)
+#error Invalid pin assignment for DCMIPP3 D10 pin: DCMIPP3_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP3, DCMIPP3_D11)
+#error Invalid pin assignment for DCMIPP3 D11 pin: DCMIPP3_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP3, DCMIPP3_D12)
+#error Invalid pin assignment for DCMIPP3 D12 pin: DCMIPP3_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP3, DCMIPP3_D13)
+#error Invalid pin assignment for DCMIPP3 D13 pin: DCMIPP3_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP3, DCMIPP3_D14)
+#error Invalid pin assignment for DCMIPP3 D14 pin: DCMIPP3_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP3, DCMIPP3_D15)
+#error Invalid pin assignment for DCMIPP3 D15 pin: DCMIPP3_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP3, DCMIPP3_D2)
+#error Invalid pin assignment for DCMIPP3 D2 pin: DCMIPP3_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP3, DCMIPP3_D3)
+#error Invalid pin assignment for DCMIPP3 D3 pin: DCMIPP3_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP3, DCMIPP3_D4)
+#error Invalid pin assignment for DCMIPP3 D4 pin: DCMIPP3_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP3, DCMIPP3_D5)
+#error Invalid pin assignment for DCMIPP3 D5 pin: DCMIPP3_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP3, DCMIPP3_D6)
+#error Invalid pin assignment for DCMIPP3 D6 pin: DCMIPP3_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP3, DCMIPP3_D7)
+#error Invalid pin assignment for DCMIPP3 D7 pin: DCMIPP3_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP3, DCMIPP3_D8)
+#error Invalid pin assignment for DCMIPP3 D8 pin: DCMIPP3_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP3, DCMIPP3_D9)
+#error Invalid pin assignment for DCMIPP3 D9 pin: DCMIPP3_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP3, DCMIPP3_HSYNC)
+#error Invalid pin assignment for DCMIPP3 HSYNC pin: DCMIPP3_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP3, DCMIPP3_PIXCLK)
+#error Invalid pin assignment for DCMIPP3 PIXCLK pin: DCMIPP3_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP3, DCMIPP3_VSYNC)
+#error Invalid pin assignment for DCMIPP3 VSYNC pin: DCMIPP3_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP4
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP4, DCMIPP4_D0)
+#error Invalid pin assignment for DCMIPP4 D0 pin: DCMIPP4_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP4, DCMIPP4_D1)
+#error Invalid pin assignment for DCMIPP4 D1 pin: DCMIPP4_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP4, DCMIPP4_D10)
+#error Invalid pin assignment for DCMIPP4 D10 pin: DCMIPP4_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP4, DCMIPP4_D11)
+#error Invalid pin assignment for DCMIPP4 D11 pin: DCMIPP4_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP4, DCMIPP4_D12)
+#error Invalid pin assignment for DCMIPP4 D12 pin: DCMIPP4_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP4, DCMIPP4_D13)
+#error Invalid pin assignment for DCMIPP4 D13 pin: DCMIPP4_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP4, DCMIPP4_D14)
+#error Invalid pin assignment for DCMIPP4 D14 pin: DCMIPP4_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP4, DCMIPP4_D15)
+#error Invalid pin assignment for DCMIPP4 D15 pin: DCMIPP4_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP4, DCMIPP4_D2)
+#error Invalid pin assignment for DCMIPP4 D2 pin: DCMIPP4_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP4, DCMIPP4_D3)
+#error Invalid pin assignment for DCMIPP4 D3 pin: DCMIPP4_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP4, DCMIPP4_D4)
+#error Invalid pin assignment for DCMIPP4 D4 pin: DCMIPP4_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP4, DCMIPP4_D5)
+#error Invalid pin assignment for DCMIPP4 D5 pin: DCMIPP4_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP4, DCMIPP4_D6)
+#error Invalid pin assignment for DCMIPP4 D6 pin: DCMIPP4_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP4, DCMIPP4_D7)
+#error Invalid pin assignment for DCMIPP4 D7 pin: DCMIPP4_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP4, DCMIPP4_D8)
+#error Invalid pin assignment for DCMIPP4 D8 pin: DCMIPP4_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP4, DCMIPP4_D9)
+#error Invalid pin assignment for DCMIPP4 D9 pin: DCMIPP4_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP4, DCMIPP4_HSYNC)
+#error Invalid pin assignment for DCMIPP4 HSYNC pin: DCMIPP4_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP4, DCMIPP4_PIXCLK)
+#error Invalid pin assignment for DCMIPP4 PIXCLK pin: DCMIPP4_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP4, DCMIPP4_VSYNC)
+#error Invalid pin assignment for DCMIPP4 VSYNC pin: DCMIPP4_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP5
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP5, DCMIPP5_D0)
+#error Invalid pin assignment for DCMIPP5 D0 pin: DCMIPP5_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP5, DCMIPP5_D1)
+#error Invalid pin assignment for DCMIPP5 D1 pin: DCMIPP5_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP5, DCMIPP5_D10)
+#error Invalid pin assignment for DCMIPP5 D10 pin: DCMIPP5_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP5, DCMIPP5_D11)
+#error Invalid pin assignment for DCMIPP5 D11 pin: DCMIPP5_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP5, DCMIPP5_D12)
+#error Invalid pin assignment for DCMIPP5 D12 pin: DCMIPP5_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP5, DCMIPP5_D13)
+#error Invalid pin assignment for DCMIPP5 D13 pin: DCMIPP5_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP5, DCMIPP5_D14)
+#error Invalid pin assignment for DCMIPP5 D14 pin: DCMIPP5_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP5, DCMIPP5_D15)
+#error Invalid pin assignment for DCMIPP5 D15 pin: DCMIPP5_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP5, DCMIPP5_D2)
+#error Invalid pin assignment for DCMIPP5 D2 pin: DCMIPP5_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP5, DCMIPP5_D3)
+#error Invalid pin assignment for DCMIPP5 D3 pin: DCMIPP5_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP5, DCMIPP5_D4)
+#error Invalid pin assignment for DCMIPP5 D4 pin: DCMIPP5_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP5, DCMIPP5_D5)
+#error Invalid pin assignment for DCMIPP5 D5 pin: DCMIPP5_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP5, DCMIPP5_D6)
+#error Invalid pin assignment for DCMIPP5 D6 pin: DCMIPP5_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP5, DCMIPP5_D7)
+#error Invalid pin assignment for DCMIPP5 D7 pin: DCMIPP5_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP5, DCMIPP5_D8)
+#error Invalid pin assignment for DCMIPP5 D8 pin: DCMIPP5_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP5, DCMIPP5_D9)
+#error Invalid pin assignment for DCMIPP5 D9 pin: DCMIPP5_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP5, DCMIPP5_HSYNC)
+#error Invalid pin assignment for DCMIPP5 HSYNC pin: DCMIPP5_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP5, DCMIPP5_PIXCLK)
+#error Invalid pin assignment for DCMIPP5 PIXCLK pin: DCMIPP5_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP5, DCMIPP5_VSYNC)
+#error Invalid pin assignment for DCMIPP5 VSYNC pin: DCMIPP5_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP6
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP6, DCMIPP6_D0)
+#error Invalid pin assignment for DCMIPP6 D0 pin: DCMIPP6_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP6, DCMIPP6_D1)
+#error Invalid pin assignment for DCMIPP6 D1 pin: DCMIPP6_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP6, DCMIPP6_D10)
+#error Invalid pin assignment for DCMIPP6 D10 pin: DCMIPP6_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP6, DCMIPP6_D11)
+#error Invalid pin assignment for DCMIPP6 D11 pin: DCMIPP6_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP6, DCMIPP6_D12)
+#error Invalid pin assignment for DCMIPP6 D12 pin: DCMIPP6_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP6, DCMIPP6_D13)
+#error Invalid pin assignment for DCMIPP6 D13 pin: DCMIPP6_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP6, DCMIPP6_D14)
+#error Invalid pin assignment for DCMIPP6 D14 pin: DCMIPP6_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP6, DCMIPP6_D15)
+#error Invalid pin assignment for DCMIPP6 D15 pin: DCMIPP6_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP6, DCMIPP6_D2)
+#error Invalid pin assignment for DCMIPP6 D2 pin: DCMIPP6_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP6, DCMIPP6_D3)
+#error Invalid pin assignment for DCMIPP6 D3 pin: DCMIPP6_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP6, DCMIPP6_D4)
+#error Invalid pin assignment for DCMIPP6 D4 pin: DCMIPP6_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP6, DCMIPP6_D5)
+#error Invalid pin assignment for DCMIPP6 D5 pin: DCMIPP6_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP6, DCMIPP6_D6)
+#error Invalid pin assignment for DCMIPP6 D6 pin: DCMIPP6_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP6, DCMIPP6_D7)
+#error Invalid pin assignment for DCMIPP6 D7 pin: DCMIPP6_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP6, DCMIPP6_D8)
+#error Invalid pin assignment for DCMIPP6 D8 pin: DCMIPP6_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP6, DCMIPP6_D9)
+#error Invalid pin assignment for DCMIPP6 D9 pin: DCMIPP6_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP6, DCMIPP6_HSYNC)
+#error Invalid pin assignment for DCMIPP6 HSYNC pin: DCMIPP6_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP6, DCMIPP6_PIXCLK)
+#error Invalid pin assignment for DCMIPP6 PIXCLK pin: DCMIPP6_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP6, DCMIPP6_VSYNC)
+#error Invalid pin assignment for DCMIPP6 VSYNC pin: DCMIPP6_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP7
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP7, DCMIPP7_D0)
+#error Invalid pin assignment for DCMIPP7 D0 pin: DCMIPP7_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP7, DCMIPP7_D1)
+#error Invalid pin assignment for DCMIPP7 D1 pin: DCMIPP7_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP7, DCMIPP7_D10)
+#error Invalid pin assignment for DCMIPP7 D10 pin: DCMIPP7_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP7, DCMIPP7_D11)
+#error Invalid pin assignment for DCMIPP7 D11 pin: DCMIPP7_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP7, DCMIPP7_D12)
+#error Invalid pin assignment for DCMIPP7 D12 pin: DCMIPP7_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP7, DCMIPP7_D13)
+#error Invalid pin assignment for DCMIPP7 D13 pin: DCMIPP7_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP7, DCMIPP7_D14)
+#error Invalid pin assignment for DCMIPP7 D14 pin: DCMIPP7_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP7, DCMIPP7_D15)
+#error Invalid pin assignment for DCMIPP7 D15 pin: DCMIPP7_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP7, DCMIPP7_D2)
+#error Invalid pin assignment for DCMIPP7 D2 pin: DCMIPP7_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP7, DCMIPP7_D3)
+#error Invalid pin assignment for DCMIPP7 D3 pin: DCMIPP7_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP7, DCMIPP7_D4)
+#error Invalid pin assignment for DCMIPP7 D4 pin: DCMIPP7_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP7, DCMIPP7_D5)
+#error Invalid pin assignment for DCMIPP7 D5 pin: DCMIPP7_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP7, DCMIPP7_D6)
+#error Invalid pin assignment for DCMIPP7 D6 pin: DCMIPP7_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP7, DCMIPP7_D7)
+#error Invalid pin assignment for DCMIPP7 D7 pin: DCMIPP7_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP7, DCMIPP7_D8)
+#error Invalid pin assignment for DCMIPP7 D8 pin: DCMIPP7_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP7, DCMIPP7_D9)
+#error Invalid pin assignment for DCMIPP7 D9 pin: DCMIPP7_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP7, DCMIPP7_HSYNC)
+#error Invalid pin assignment for DCMIPP7 HSYNC pin: DCMIPP7_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP7, DCMIPP7_PIXCLK)
+#error Invalid pin assignment for DCMIPP7 PIXCLK pin: DCMIPP7_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP7, DCMIPP7_VSYNC)
+#error Invalid pin assignment for DCMIPP7 VSYNC pin: DCMIPP7_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP8
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP8, DCMIPP8_D0)
+#error Invalid pin assignment for DCMIPP8 D0 pin: DCMIPP8_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP8, DCMIPP8_D1)
+#error Invalid pin assignment for DCMIPP8 D1 pin: DCMIPP8_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP8, DCMIPP8_D10)
+#error Invalid pin assignment for DCMIPP8 D10 pin: DCMIPP8_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP8, DCMIPP8_D11)
+#error Invalid pin assignment for DCMIPP8 D11 pin: DCMIPP8_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP8, DCMIPP8_D12)
+#error Invalid pin assignment for DCMIPP8 D12 pin: DCMIPP8_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP8, DCMIPP8_D13)
+#error Invalid pin assignment for DCMIPP8 D13 pin: DCMIPP8_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP8, DCMIPP8_D14)
+#error Invalid pin assignment for DCMIPP8 D14 pin: DCMIPP8_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP8, DCMIPP8_D15)
+#error Invalid pin assignment for DCMIPP8 D15 pin: DCMIPP8_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP8, DCMIPP8_D2)
+#error Invalid pin assignment for DCMIPP8 D2 pin: DCMIPP8_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP8, DCMIPP8_D3)
+#error Invalid pin assignment for DCMIPP8 D3 pin: DCMIPP8_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP8, DCMIPP8_D4)
+#error Invalid pin assignment for DCMIPP8 D4 pin: DCMIPP8_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP8, DCMIPP8_D5)
+#error Invalid pin assignment for DCMIPP8 D5 pin: DCMIPP8_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP8, DCMIPP8_D6)
+#error Invalid pin assignment for DCMIPP8 D6 pin: DCMIPP8_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP8, DCMIPP8_D7)
+#error Invalid pin assignment for DCMIPP8 D7 pin: DCMIPP8_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP8, DCMIPP8_D8)
+#error Invalid pin assignment for DCMIPP8 D8 pin: DCMIPP8_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP8, DCMIPP8_D9)
+#error Invalid pin assignment for DCMIPP8 D9 pin: DCMIPP8_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP8, DCMIPP8_HSYNC)
+#error Invalid pin assignment for DCMIPP8 HSYNC pin: DCMIPP8_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP8, DCMIPP8_PIXCLK)
+#error Invalid pin assignment for DCMIPP8 PIXCLK pin: DCMIPP8_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP8, DCMIPP8_VSYNC)
+#error Invalid pin assignment for DCMIPP8 VSYNC pin: DCMIPP8_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP9
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP9, DCMIPP9_D0)
+#error Invalid pin assignment for DCMIPP9 D0 pin: DCMIPP9_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP9, DCMIPP9_D1)
+#error Invalid pin assignment for DCMIPP9 D1 pin: DCMIPP9_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP9, DCMIPP9_D10)
+#error Invalid pin assignment for DCMIPP9 D10 pin: DCMIPP9_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP9, DCMIPP9_D11)
+#error Invalid pin assignment for DCMIPP9 D11 pin: DCMIPP9_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP9, DCMIPP9_D12)
+#error Invalid pin assignment for DCMIPP9 D12 pin: DCMIPP9_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP9, DCMIPP9_D13)
+#error Invalid pin assignment for DCMIPP9 D13 pin: DCMIPP9_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP9, DCMIPP9_D14)
+#error Invalid pin assignment for DCMIPP9 D14 pin: DCMIPP9_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP9, DCMIPP9_D15)
+#error Invalid pin assignment for DCMIPP9 D15 pin: DCMIPP9_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP9, DCMIPP9_D2)
+#error Invalid pin assignment for DCMIPP9 D2 pin: DCMIPP9_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP9, DCMIPP9_D3)
+#error Invalid pin assignment for DCMIPP9 D3 pin: DCMIPP9_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP9, DCMIPP9_D4)
+#error Invalid pin assignment for DCMIPP9 D4 pin: DCMIPP9_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP9, DCMIPP9_D5)
+#error Invalid pin assignment for DCMIPP9 D5 pin: DCMIPP9_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP9, DCMIPP9_D6)
+#error Invalid pin assignment for DCMIPP9 D6 pin: DCMIPP9_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP9, DCMIPP9_D7)
+#error Invalid pin assignment for DCMIPP9 D7 pin: DCMIPP9_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP9, DCMIPP9_D8)
+#error Invalid pin assignment for DCMIPP9 D8 pin: DCMIPP9_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP9, DCMIPP9_D9)
+#error Invalid pin assignment for DCMIPP9 D9 pin: DCMIPP9_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP9, DCMIPP9_HSYNC)
+#error Invalid pin assignment for DCMIPP9 HSYNC pin: DCMIPP9_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP9, DCMIPP9_PIXCLK)
+#error Invalid pin assignment for DCMIPP9 PIXCLK pin: DCMIPP9_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP9, DCMIPP9_VSYNC)
+#error Invalid pin assignment for DCMIPP9 VSYNC pin: DCMIPP9_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP10
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP10, DCMIPP10_D0)
+#error Invalid pin assignment for DCMIPP10 D0 pin: DCMIPP10_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP10, DCMIPP10_D1)
+#error Invalid pin assignment for DCMIPP10 D1 pin: DCMIPP10_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP10, DCMIPP10_D10)
+#error Invalid pin assignment for DCMIPP10 D10 pin: DCMIPP10_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP10, DCMIPP10_D11)
+#error Invalid pin assignment for DCMIPP10 D11 pin: DCMIPP10_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP10, DCMIPP10_D12)
+#error Invalid pin assignment for DCMIPP10 D12 pin: DCMIPP10_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP10, DCMIPP10_D13)
+#error Invalid pin assignment for DCMIPP10 D13 pin: DCMIPP10_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP10, DCMIPP10_D14)
+#error Invalid pin assignment for DCMIPP10 D14 pin: DCMIPP10_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP10, DCMIPP10_D15)
+#error Invalid pin assignment for DCMIPP10 D15 pin: DCMIPP10_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP10, DCMIPP10_D2)
+#error Invalid pin assignment for DCMIPP10 D2 pin: DCMIPP10_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP10, DCMIPP10_D3)
+#error Invalid pin assignment for DCMIPP10 D3 pin: DCMIPP10_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP10, DCMIPP10_D4)
+#error Invalid pin assignment for DCMIPP10 D4 pin: DCMIPP10_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP10, DCMIPP10_D5)
+#error Invalid pin assignment for DCMIPP10 D5 pin: DCMIPP10_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP10, DCMIPP10_D6)
+#error Invalid pin assignment for DCMIPP10 D6 pin: DCMIPP10_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP10, DCMIPP10_D7)
+#error Invalid pin assignment for DCMIPP10 D7 pin: DCMIPP10_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP10, DCMIPP10_D8)
+#error Invalid pin assignment for DCMIPP10 D8 pin: DCMIPP10_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP10, DCMIPP10_D9)
+#error Invalid pin assignment for DCMIPP10 D9 pin: DCMIPP10_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP10, DCMIPP10_HSYNC)
+#error Invalid pin assignment for DCMIPP10 HSYNC pin: DCMIPP10_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP10, DCMIPP10_PIXCLK)
+#error Invalid pin assignment for DCMIPP10 PIXCLK pin: DCMIPP10_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP10, DCMIPP10_VSYNC)
+#error Invalid pin assignment for DCMIPP10 VSYNC pin: DCMIPP10_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP11
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP11, DCMIPP11_D0)
+#error Invalid pin assignment for DCMIPP11 D0 pin: DCMIPP11_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP11, DCMIPP11_D1)
+#error Invalid pin assignment for DCMIPP11 D1 pin: DCMIPP11_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP11, DCMIPP11_D10)
+#error Invalid pin assignment for DCMIPP11 D10 pin: DCMIPP11_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP11, DCMIPP11_D11)
+#error Invalid pin assignment for DCMIPP11 D11 pin: DCMIPP11_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP11, DCMIPP11_D12)
+#error Invalid pin assignment for DCMIPP11 D12 pin: DCMIPP11_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP11, DCMIPP11_D13)
+#error Invalid pin assignment for DCMIPP11 D13 pin: DCMIPP11_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP11, DCMIPP11_D14)
+#error Invalid pin assignment for DCMIPP11 D14 pin: DCMIPP11_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP11, DCMIPP11_D15)
+#error Invalid pin assignment for DCMIPP11 D15 pin: DCMIPP11_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP11, DCMIPP11_D2)
+#error Invalid pin assignment for DCMIPP11 D2 pin: DCMIPP11_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP11, DCMIPP11_D3)
+#error Invalid pin assignment for DCMIPP11 D3 pin: DCMIPP11_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP11, DCMIPP11_D4)
+#error Invalid pin assignment for DCMIPP11 D4 pin: DCMIPP11_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP11, DCMIPP11_D5)
+#error Invalid pin assignment for DCMIPP11 D5 pin: DCMIPP11_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP11, DCMIPP11_D6)
+#error Invalid pin assignment for DCMIPP11 D6 pin: DCMIPP11_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP11, DCMIPP11_D7)
+#error Invalid pin assignment for DCMIPP11 D7 pin: DCMIPP11_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP11, DCMIPP11_D8)
+#error Invalid pin assignment for DCMIPP11 D8 pin: DCMIPP11_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP11, DCMIPP11_D9)
+#error Invalid pin assignment for DCMIPP11 D9 pin: DCMIPP11_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP11, DCMIPP11_HSYNC)
+#error Invalid pin assignment for DCMIPP11 HSYNC pin: DCMIPP11_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP11, DCMIPP11_PIXCLK)
+#error Invalid pin assignment for DCMIPP11 PIXCLK pin: DCMIPP11_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP11, DCMIPP11_VSYNC)
+#error Invalid pin assignment for DCMIPP11 VSYNC pin: DCMIPP11_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP12
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP12, DCMIPP12_D0)
+#error Invalid pin assignment for DCMIPP12 D0 pin: DCMIPP12_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP12, DCMIPP12_D1)
+#error Invalid pin assignment for DCMIPP12 D1 pin: DCMIPP12_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP12, DCMIPP12_D10)
+#error Invalid pin assignment for DCMIPP12 D10 pin: DCMIPP12_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP12, DCMIPP12_D11)
+#error Invalid pin assignment for DCMIPP12 D11 pin: DCMIPP12_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP12, DCMIPP12_D12)
+#error Invalid pin assignment for DCMIPP12 D12 pin: DCMIPP12_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP12, DCMIPP12_D13)
+#error Invalid pin assignment for DCMIPP12 D13 pin: DCMIPP12_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP12, DCMIPP12_D14)
+#error Invalid pin assignment for DCMIPP12 D14 pin: DCMIPP12_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP12, DCMIPP12_D15)
+#error Invalid pin assignment for DCMIPP12 D15 pin: DCMIPP12_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP12, DCMIPP12_D2)
+#error Invalid pin assignment for DCMIPP12 D2 pin: DCMIPP12_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP12, DCMIPP12_D3)
+#error Invalid pin assignment for DCMIPP12 D3 pin: DCMIPP12_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP12, DCMIPP12_D4)
+#error Invalid pin assignment for DCMIPP12 D4 pin: DCMIPP12_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP12, DCMIPP12_D5)
+#error Invalid pin assignment for DCMIPP12 D5 pin: DCMIPP12_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP12, DCMIPP12_D6)
+#error Invalid pin assignment for DCMIPP12 D6 pin: DCMIPP12_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP12, DCMIPP12_D7)
+#error Invalid pin assignment for DCMIPP12 D7 pin: DCMIPP12_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP12, DCMIPP12_D8)
+#error Invalid pin assignment for DCMIPP12 D8 pin: DCMIPP12_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP12, DCMIPP12_D9)
+#error Invalid pin assignment for DCMIPP12 D9 pin: DCMIPP12_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP12, DCMIPP12_HSYNC)
+#error Invalid pin assignment for DCMIPP12 HSYNC pin: DCMIPP12_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP12, DCMIPP12_PIXCLK)
+#error Invalid pin assignment for DCMIPP12 PIXCLK pin: DCMIPP12_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP12, DCMIPP12_VSYNC)
+#error Invalid pin assignment for DCMIPP12 VSYNC pin: DCMIPP12_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP13
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP13, DCMIPP13_D0)
+#error Invalid pin assignment for DCMIPP13 D0 pin: DCMIPP13_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP13, DCMIPP13_D1)
+#error Invalid pin assignment for DCMIPP13 D1 pin: DCMIPP13_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP13, DCMIPP13_D10)
+#error Invalid pin assignment for DCMIPP13 D10 pin: DCMIPP13_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP13, DCMIPP13_D11)
+#error Invalid pin assignment for DCMIPP13 D11 pin: DCMIPP13_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP13, DCMIPP13_D12)
+#error Invalid pin assignment for DCMIPP13 D12 pin: DCMIPP13_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP13, DCMIPP13_D13)
+#error Invalid pin assignment for DCMIPP13 D13 pin: DCMIPP13_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP13, DCMIPP13_D14)
+#error Invalid pin assignment for DCMIPP13 D14 pin: DCMIPP13_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP13, DCMIPP13_D15)
+#error Invalid pin assignment for DCMIPP13 D15 pin: DCMIPP13_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP13, DCMIPP13_D2)
+#error Invalid pin assignment for DCMIPP13 D2 pin: DCMIPP13_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP13, DCMIPP13_D3)
+#error Invalid pin assignment for DCMIPP13 D3 pin: DCMIPP13_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP13, DCMIPP13_D4)
+#error Invalid pin assignment for DCMIPP13 D4 pin: DCMIPP13_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP13, DCMIPP13_D5)
+#error Invalid pin assignment for DCMIPP13 D5 pin: DCMIPP13_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP13, DCMIPP13_D6)
+#error Invalid pin assignment for DCMIPP13 D6 pin: DCMIPP13_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP13, DCMIPP13_D7)
+#error Invalid pin assignment for DCMIPP13 D7 pin: DCMIPP13_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP13, DCMIPP13_D8)
+#error Invalid pin assignment for DCMIPP13 D8 pin: DCMIPP13_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP13, DCMIPP13_D9)
+#error Invalid pin assignment for DCMIPP13 D9 pin: DCMIPP13_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP13, DCMIPP13_HSYNC)
+#error Invalid pin assignment for DCMIPP13 HSYNC pin: DCMIPP13_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP13, DCMIPP13_PIXCLK)
+#error Invalid pin assignment for DCMIPP13 PIXCLK pin: DCMIPP13_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP13, DCMIPP13_VSYNC)
+#error Invalid pin assignment for DCMIPP13 VSYNC pin: DCMIPP13_VSYNC
+#endif
+#endif
+
+#ifdef USE_DCMIPP14
+#if !FIND_VALUE_DCMIPP_D0(_DCMIPP14, DCMIPP14_D0)
+#error Invalid pin assignment for DCMIPP14 D0 pin: DCMIPP14_D0
+#endif
+#if !FIND_VALUE_DCMIPP_D1(_DCMIPP14, DCMIPP14_D1)
+#error Invalid pin assignment for DCMIPP14 D1 pin: DCMIPP14_D1
+#endif
+#if !FIND_VALUE_DCMIPP_D10(_DCMIPP14, DCMIPP14_D10)
+#error Invalid pin assignment for DCMIPP14 D10 pin: DCMIPP14_D10
+#endif
+#if !FIND_VALUE_DCMIPP_D11(_DCMIPP14, DCMIPP14_D11)
+#error Invalid pin assignment for DCMIPP14 D11 pin: DCMIPP14_D11
+#endif
+#if !FIND_VALUE_DCMIPP_D12(_DCMIPP14, DCMIPP14_D12)
+#error Invalid pin assignment for DCMIPP14 D12 pin: DCMIPP14_D12
+#endif
+#if !FIND_VALUE_DCMIPP_D13(_DCMIPP14, DCMIPP14_D13)
+#error Invalid pin assignment for DCMIPP14 D13 pin: DCMIPP14_D13
+#endif
+#if !FIND_VALUE_DCMIPP_D14(_DCMIPP14, DCMIPP14_D14)
+#error Invalid pin assignment for DCMIPP14 D14 pin: DCMIPP14_D14
+#endif
+#if !FIND_VALUE_DCMIPP_D15(_DCMIPP14, DCMIPP14_D15)
+#error Invalid pin assignment for DCMIPP14 D15 pin: DCMIPP14_D15
+#endif
+#if !FIND_VALUE_DCMIPP_D2(_DCMIPP14, DCMIPP14_D2)
+#error Invalid pin assignment for DCMIPP14 D2 pin: DCMIPP14_D2
+#endif
+#if !FIND_VALUE_DCMIPP_D3(_DCMIPP14, DCMIPP14_D3)
+#error Invalid pin assignment for DCMIPP14 D3 pin: DCMIPP14_D3
+#endif
+#if !FIND_VALUE_DCMIPP_D4(_DCMIPP14, DCMIPP14_D4)
+#error Invalid pin assignment for DCMIPP14 D4 pin: DCMIPP14_D4
+#endif
+#if !FIND_VALUE_DCMIPP_D5(_DCMIPP14, DCMIPP14_D5)
+#error Invalid pin assignment for DCMIPP14 D5 pin: DCMIPP14_D5
+#endif
+#if !FIND_VALUE_DCMIPP_D6(_DCMIPP14, DCMIPP14_D6)
+#error Invalid pin assignment for DCMIPP14 D6 pin: DCMIPP14_D6
+#endif
+#if !FIND_VALUE_DCMIPP_D7(_DCMIPP14, DCMIPP14_D7)
+#error Invalid pin assignment for DCMIPP14 D7 pin: DCMIPP14_D7
+#endif
+#if !FIND_VALUE_DCMIPP_D8(_DCMIPP14, DCMIPP14_D8)
+#error Invalid pin assignment for DCMIPP14 D8 pin: DCMIPP14_D8
+#endif
+#if !FIND_VALUE_DCMIPP_D9(_DCMIPP14, DCMIPP14_D9)
+#error Invalid pin assignment for DCMIPP14 D9 pin: DCMIPP14_D9
+#endif
+#if !FIND_VALUE_DCMIPP_HSYNC(_DCMIPP14, DCMIPP14_HSYNC)
+#error Invalid pin assignment for DCMIPP14 HSYNC pin: DCMIPP14_HSYNC
+#endif
+#if !FIND_VALUE_DCMIPP_PIXCLK(_DCMIPP14, DCMIPP14_PIXCLK)
+#error Invalid pin assignment for DCMIPP14 PIXCLK pin: DCMIPP14_PIXCLK
+#endif
+#if !FIND_VALUE_DCMIPP_VSYNC(_DCMIPP14, DCMIPP14_VSYNC)
+#error Invalid pin assignment for DCMIPP14 VSYNC pin: DCMIPP14_VSYNC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug.h
new file mode 100644
index 000000000..cc4af31a4
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug.h
@@ -0,0 +1,1298 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398411
+ */
+
+#define FIND_VALUE_DEBUG_DBTRGI_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_DBTRGI(INDEX,PIN) FIND_VALUE_DEBUG_DBTRGI_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_DBTRGO_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_DBTRGO(INDEX,PIN) FIND_VALUE_DEBUG_DBTRGO_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_JTDI_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_JTDI(INDEX,PIN) FIND_VALUE_DEBUG_JTDI_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_JTRST_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_JTRST(INDEX,PIN) FIND_VALUE_DEBUG_JTRST_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_SWCLK_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_SWCLK(INDEX,PIN) FIND_VALUE_DEBUG_SWCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_SWDIO_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_SWDIO(INDEX,PIN) FIND_VALUE_DEBUG_SWDIO_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACECLK_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACECLK(INDEX,PIN) FIND_VALUE_DEBUG_TRACECLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED0_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED0(INDEX,PIN) FIND_VALUE_DEBUG_TRACED0_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED1_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED1(INDEX,PIN) FIND_VALUE_DEBUG_TRACED1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED10_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED10(INDEX,PIN) FIND_VALUE_DEBUG_TRACED10_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED11_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED11(INDEX,PIN) FIND_VALUE_DEBUG_TRACED11_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED12_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED12(INDEX,PIN) FIND_VALUE_DEBUG_TRACED12_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED13_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED13(INDEX,PIN) FIND_VALUE_DEBUG_TRACED13_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED14_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED14(INDEX,PIN) FIND_VALUE_DEBUG_TRACED14_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED15_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED15(INDEX,PIN) FIND_VALUE_DEBUG_TRACED15_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED2_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED2(INDEX,PIN) FIND_VALUE_DEBUG_TRACED2_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED3_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED3(INDEX,PIN) FIND_VALUE_DEBUG_TRACED3_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED4_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED4(INDEX,PIN) FIND_VALUE_DEBUG_TRACED4_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED5_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED5(INDEX,PIN) FIND_VALUE_DEBUG_TRACED5_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED6_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED6(INDEX,PIN) FIND_VALUE_DEBUG_TRACED6_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED7_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED7(INDEX,PIN) FIND_VALUE_DEBUG_TRACED7_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED8_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED8(INDEX,PIN) FIND_VALUE_DEBUG_TRACED8_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRACED9_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRACED9(INDEX,PIN) FIND_VALUE_DEBUG_TRACED9_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRGIN_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRGIN(INDEX,PIN) FIND_VALUE_DEBUG_TRGIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRGIO_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRGIO(INDEX,PIN) FIND_VALUE_DEBUG_TRGIO_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_TRGOUT_inner(INDEX,PIN) I2C##_DEBUG_##PIN
+#define FIND_VALUE_DEBUG_TRGOUT(INDEX,PIN) FIND_VALUE_DEBUG_TRGOUT_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG0
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG0, DEBUG0_DBTRGI)
+#error Invalid pin assignment for DEBUG0 DBTRGI pin: DEBUG0_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG0, DEBUG0_DBTRGO)
+#error Invalid pin assignment for DEBUG0 DBTRGO pin: DEBUG0_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG0, DEBUG0_JTDI)
+#error Invalid pin assignment for DEBUG0 JTDI pin: DEBUG0_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG0, DEBUG0_JTRST)
+#error Invalid pin assignment for DEBUG0 JTRST pin: DEBUG0_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG0, DEBUG0_SWCLK)
+#error Invalid pin assignment for DEBUG0 SWCLK pin: DEBUG0_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG0, DEBUG0_SWDIO)
+#error Invalid pin assignment for DEBUG0 SWDIO pin: DEBUG0_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG0, DEBUG0_TRACECLK)
+#error Invalid pin assignment for DEBUG0 TRACECLK pin: DEBUG0_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG0, DEBUG0_TRACED0)
+#error Invalid pin assignment for DEBUG0 TRACED0 pin: DEBUG0_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG0, DEBUG0_TRACED1)
+#error Invalid pin assignment for DEBUG0 TRACED1 pin: DEBUG0_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG0, DEBUG0_TRACED10)
+#error Invalid pin assignment for DEBUG0 TRACED10 pin: DEBUG0_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG0, DEBUG0_TRACED11)
+#error Invalid pin assignment for DEBUG0 TRACED11 pin: DEBUG0_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG0, DEBUG0_TRACED12)
+#error Invalid pin assignment for DEBUG0 TRACED12 pin: DEBUG0_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG0, DEBUG0_TRACED13)
+#error Invalid pin assignment for DEBUG0 TRACED13 pin: DEBUG0_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG0, DEBUG0_TRACED14)
+#error Invalid pin assignment for DEBUG0 TRACED14 pin: DEBUG0_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG0, DEBUG0_TRACED15)
+#error Invalid pin assignment for DEBUG0 TRACED15 pin: DEBUG0_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG0, DEBUG0_TRACED2)
+#error Invalid pin assignment for DEBUG0 TRACED2 pin: DEBUG0_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG0, DEBUG0_TRACED3)
+#error Invalid pin assignment for DEBUG0 TRACED3 pin: DEBUG0_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG0, DEBUG0_TRACED4)
+#error Invalid pin assignment for DEBUG0 TRACED4 pin: DEBUG0_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG0, DEBUG0_TRACED5)
+#error Invalid pin assignment for DEBUG0 TRACED5 pin: DEBUG0_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG0, DEBUG0_TRACED6)
+#error Invalid pin assignment for DEBUG0 TRACED6 pin: DEBUG0_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG0, DEBUG0_TRACED7)
+#error Invalid pin assignment for DEBUG0 TRACED7 pin: DEBUG0_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG0, DEBUG0_TRACED8)
+#error Invalid pin assignment for DEBUG0 TRACED8 pin: DEBUG0_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG0, DEBUG0_TRACED9)
+#error Invalid pin assignment for DEBUG0 TRACED9 pin: DEBUG0_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG0, DEBUG0_TRGIN)
+#error Invalid pin assignment for DEBUG0 TRGIN pin: DEBUG0_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG0, DEBUG0_TRGIO)
+#error Invalid pin assignment for DEBUG0 TRGIO pin: DEBUG0_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG0, DEBUG0_TRGOUT)
+#error Invalid pin assignment for DEBUG0 TRGOUT pin: DEBUG0_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG1
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG1, DEBUG1_DBTRGI)
+#error Invalid pin assignment for DEBUG1 DBTRGI pin: DEBUG1_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG1, DEBUG1_DBTRGO)
+#error Invalid pin assignment for DEBUG1 DBTRGO pin: DEBUG1_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG1, DEBUG1_JTDI)
+#error Invalid pin assignment for DEBUG1 JTDI pin: DEBUG1_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG1, DEBUG1_JTRST)
+#error Invalid pin assignment for DEBUG1 JTRST pin: DEBUG1_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG1, DEBUG1_SWCLK)
+#error Invalid pin assignment for DEBUG1 SWCLK pin: DEBUG1_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG1, DEBUG1_SWDIO)
+#error Invalid pin assignment for DEBUG1 SWDIO pin: DEBUG1_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG1, DEBUG1_TRACECLK)
+#error Invalid pin assignment for DEBUG1 TRACECLK pin: DEBUG1_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG1, DEBUG1_TRACED0)
+#error Invalid pin assignment for DEBUG1 TRACED0 pin: DEBUG1_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG1, DEBUG1_TRACED1)
+#error Invalid pin assignment for DEBUG1 TRACED1 pin: DEBUG1_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG1, DEBUG1_TRACED10)
+#error Invalid pin assignment for DEBUG1 TRACED10 pin: DEBUG1_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG1, DEBUG1_TRACED11)
+#error Invalid pin assignment for DEBUG1 TRACED11 pin: DEBUG1_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG1, DEBUG1_TRACED12)
+#error Invalid pin assignment for DEBUG1 TRACED12 pin: DEBUG1_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG1, DEBUG1_TRACED13)
+#error Invalid pin assignment for DEBUG1 TRACED13 pin: DEBUG1_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG1, DEBUG1_TRACED14)
+#error Invalid pin assignment for DEBUG1 TRACED14 pin: DEBUG1_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG1, DEBUG1_TRACED15)
+#error Invalid pin assignment for DEBUG1 TRACED15 pin: DEBUG1_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG1, DEBUG1_TRACED2)
+#error Invalid pin assignment for DEBUG1 TRACED2 pin: DEBUG1_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG1, DEBUG1_TRACED3)
+#error Invalid pin assignment for DEBUG1 TRACED3 pin: DEBUG1_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG1, DEBUG1_TRACED4)
+#error Invalid pin assignment for DEBUG1 TRACED4 pin: DEBUG1_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG1, DEBUG1_TRACED5)
+#error Invalid pin assignment for DEBUG1 TRACED5 pin: DEBUG1_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG1, DEBUG1_TRACED6)
+#error Invalid pin assignment for DEBUG1 TRACED6 pin: DEBUG1_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG1, DEBUG1_TRACED7)
+#error Invalid pin assignment for DEBUG1 TRACED7 pin: DEBUG1_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG1, DEBUG1_TRACED8)
+#error Invalid pin assignment for DEBUG1 TRACED8 pin: DEBUG1_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG1, DEBUG1_TRACED9)
+#error Invalid pin assignment for DEBUG1 TRACED9 pin: DEBUG1_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG1, DEBUG1_TRGIN)
+#error Invalid pin assignment for DEBUG1 TRGIN pin: DEBUG1_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG1, DEBUG1_TRGIO)
+#error Invalid pin assignment for DEBUG1 TRGIO pin: DEBUG1_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG1, DEBUG1_TRGOUT)
+#error Invalid pin assignment for DEBUG1 TRGOUT pin: DEBUG1_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG2
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG2, DEBUG2_DBTRGI)
+#error Invalid pin assignment for DEBUG2 DBTRGI pin: DEBUG2_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG2, DEBUG2_DBTRGO)
+#error Invalid pin assignment for DEBUG2 DBTRGO pin: DEBUG2_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG2, DEBUG2_JTDI)
+#error Invalid pin assignment for DEBUG2 JTDI pin: DEBUG2_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG2, DEBUG2_JTRST)
+#error Invalid pin assignment for DEBUG2 JTRST pin: DEBUG2_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG2, DEBUG2_SWCLK)
+#error Invalid pin assignment for DEBUG2 SWCLK pin: DEBUG2_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG2, DEBUG2_SWDIO)
+#error Invalid pin assignment for DEBUG2 SWDIO pin: DEBUG2_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG2, DEBUG2_TRACECLK)
+#error Invalid pin assignment for DEBUG2 TRACECLK pin: DEBUG2_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG2, DEBUG2_TRACED0)
+#error Invalid pin assignment for DEBUG2 TRACED0 pin: DEBUG2_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG2, DEBUG2_TRACED1)
+#error Invalid pin assignment for DEBUG2 TRACED1 pin: DEBUG2_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG2, DEBUG2_TRACED10)
+#error Invalid pin assignment for DEBUG2 TRACED10 pin: DEBUG2_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG2, DEBUG2_TRACED11)
+#error Invalid pin assignment for DEBUG2 TRACED11 pin: DEBUG2_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG2, DEBUG2_TRACED12)
+#error Invalid pin assignment for DEBUG2 TRACED12 pin: DEBUG2_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG2, DEBUG2_TRACED13)
+#error Invalid pin assignment for DEBUG2 TRACED13 pin: DEBUG2_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG2, DEBUG2_TRACED14)
+#error Invalid pin assignment for DEBUG2 TRACED14 pin: DEBUG2_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG2, DEBUG2_TRACED15)
+#error Invalid pin assignment for DEBUG2 TRACED15 pin: DEBUG2_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG2, DEBUG2_TRACED2)
+#error Invalid pin assignment for DEBUG2 TRACED2 pin: DEBUG2_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG2, DEBUG2_TRACED3)
+#error Invalid pin assignment for DEBUG2 TRACED3 pin: DEBUG2_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG2, DEBUG2_TRACED4)
+#error Invalid pin assignment for DEBUG2 TRACED4 pin: DEBUG2_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG2, DEBUG2_TRACED5)
+#error Invalid pin assignment for DEBUG2 TRACED5 pin: DEBUG2_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG2, DEBUG2_TRACED6)
+#error Invalid pin assignment for DEBUG2 TRACED6 pin: DEBUG2_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG2, DEBUG2_TRACED7)
+#error Invalid pin assignment for DEBUG2 TRACED7 pin: DEBUG2_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG2, DEBUG2_TRACED8)
+#error Invalid pin assignment for DEBUG2 TRACED8 pin: DEBUG2_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG2, DEBUG2_TRACED9)
+#error Invalid pin assignment for DEBUG2 TRACED9 pin: DEBUG2_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG2, DEBUG2_TRGIN)
+#error Invalid pin assignment for DEBUG2 TRGIN pin: DEBUG2_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG2, DEBUG2_TRGIO)
+#error Invalid pin assignment for DEBUG2 TRGIO pin: DEBUG2_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG2, DEBUG2_TRGOUT)
+#error Invalid pin assignment for DEBUG2 TRGOUT pin: DEBUG2_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG3
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG3, DEBUG3_DBTRGI)
+#error Invalid pin assignment for DEBUG3 DBTRGI pin: DEBUG3_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG3, DEBUG3_DBTRGO)
+#error Invalid pin assignment for DEBUG3 DBTRGO pin: DEBUG3_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG3, DEBUG3_JTDI)
+#error Invalid pin assignment for DEBUG3 JTDI pin: DEBUG3_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG3, DEBUG3_JTRST)
+#error Invalid pin assignment for DEBUG3 JTRST pin: DEBUG3_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG3, DEBUG3_SWCLK)
+#error Invalid pin assignment for DEBUG3 SWCLK pin: DEBUG3_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG3, DEBUG3_SWDIO)
+#error Invalid pin assignment for DEBUG3 SWDIO pin: DEBUG3_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG3, DEBUG3_TRACECLK)
+#error Invalid pin assignment for DEBUG3 TRACECLK pin: DEBUG3_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG3, DEBUG3_TRACED0)
+#error Invalid pin assignment for DEBUG3 TRACED0 pin: DEBUG3_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG3, DEBUG3_TRACED1)
+#error Invalid pin assignment for DEBUG3 TRACED1 pin: DEBUG3_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG3, DEBUG3_TRACED10)
+#error Invalid pin assignment for DEBUG3 TRACED10 pin: DEBUG3_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG3, DEBUG3_TRACED11)
+#error Invalid pin assignment for DEBUG3 TRACED11 pin: DEBUG3_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG3, DEBUG3_TRACED12)
+#error Invalid pin assignment for DEBUG3 TRACED12 pin: DEBUG3_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG3, DEBUG3_TRACED13)
+#error Invalid pin assignment for DEBUG3 TRACED13 pin: DEBUG3_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG3, DEBUG3_TRACED14)
+#error Invalid pin assignment for DEBUG3 TRACED14 pin: DEBUG3_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG3, DEBUG3_TRACED15)
+#error Invalid pin assignment for DEBUG3 TRACED15 pin: DEBUG3_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG3, DEBUG3_TRACED2)
+#error Invalid pin assignment for DEBUG3 TRACED2 pin: DEBUG3_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG3, DEBUG3_TRACED3)
+#error Invalid pin assignment for DEBUG3 TRACED3 pin: DEBUG3_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG3, DEBUG3_TRACED4)
+#error Invalid pin assignment for DEBUG3 TRACED4 pin: DEBUG3_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG3, DEBUG3_TRACED5)
+#error Invalid pin assignment for DEBUG3 TRACED5 pin: DEBUG3_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG3, DEBUG3_TRACED6)
+#error Invalid pin assignment for DEBUG3 TRACED6 pin: DEBUG3_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG3, DEBUG3_TRACED7)
+#error Invalid pin assignment for DEBUG3 TRACED7 pin: DEBUG3_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG3, DEBUG3_TRACED8)
+#error Invalid pin assignment for DEBUG3 TRACED8 pin: DEBUG3_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG3, DEBUG3_TRACED9)
+#error Invalid pin assignment for DEBUG3 TRACED9 pin: DEBUG3_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG3, DEBUG3_TRGIN)
+#error Invalid pin assignment for DEBUG3 TRGIN pin: DEBUG3_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG3, DEBUG3_TRGIO)
+#error Invalid pin assignment for DEBUG3 TRGIO pin: DEBUG3_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG3, DEBUG3_TRGOUT)
+#error Invalid pin assignment for DEBUG3 TRGOUT pin: DEBUG3_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG4
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG4, DEBUG4_DBTRGI)
+#error Invalid pin assignment for DEBUG4 DBTRGI pin: DEBUG4_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG4, DEBUG4_DBTRGO)
+#error Invalid pin assignment for DEBUG4 DBTRGO pin: DEBUG4_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG4, DEBUG4_JTDI)
+#error Invalid pin assignment for DEBUG4 JTDI pin: DEBUG4_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG4, DEBUG4_JTRST)
+#error Invalid pin assignment for DEBUG4 JTRST pin: DEBUG4_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG4, DEBUG4_SWCLK)
+#error Invalid pin assignment for DEBUG4 SWCLK pin: DEBUG4_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG4, DEBUG4_SWDIO)
+#error Invalid pin assignment for DEBUG4 SWDIO pin: DEBUG4_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG4, DEBUG4_TRACECLK)
+#error Invalid pin assignment for DEBUG4 TRACECLK pin: DEBUG4_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG4, DEBUG4_TRACED0)
+#error Invalid pin assignment for DEBUG4 TRACED0 pin: DEBUG4_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG4, DEBUG4_TRACED1)
+#error Invalid pin assignment for DEBUG4 TRACED1 pin: DEBUG4_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG4, DEBUG4_TRACED10)
+#error Invalid pin assignment for DEBUG4 TRACED10 pin: DEBUG4_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG4, DEBUG4_TRACED11)
+#error Invalid pin assignment for DEBUG4 TRACED11 pin: DEBUG4_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG4, DEBUG4_TRACED12)
+#error Invalid pin assignment for DEBUG4 TRACED12 pin: DEBUG4_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG4, DEBUG4_TRACED13)
+#error Invalid pin assignment for DEBUG4 TRACED13 pin: DEBUG4_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG4, DEBUG4_TRACED14)
+#error Invalid pin assignment for DEBUG4 TRACED14 pin: DEBUG4_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG4, DEBUG4_TRACED15)
+#error Invalid pin assignment for DEBUG4 TRACED15 pin: DEBUG4_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG4, DEBUG4_TRACED2)
+#error Invalid pin assignment for DEBUG4 TRACED2 pin: DEBUG4_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG4, DEBUG4_TRACED3)
+#error Invalid pin assignment for DEBUG4 TRACED3 pin: DEBUG4_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG4, DEBUG4_TRACED4)
+#error Invalid pin assignment for DEBUG4 TRACED4 pin: DEBUG4_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG4, DEBUG4_TRACED5)
+#error Invalid pin assignment for DEBUG4 TRACED5 pin: DEBUG4_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG4, DEBUG4_TRACED6)
+#error Invalid pin assignment for DEBUG4 TRACED6 pin: DEBUG4_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG4, DEBUG4_TRACED7)
+#error Invalid pin assignment for DEBUG4 TRACED7 pin: DEBUG4_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG4, DEBUG4_TRACED8)
+#error Invalid pin assignment for DEBUG4 TRACED8 pin: DEBUG4_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG4, DEBUG4_TRACED9)
+#error Invalid pin assignment for DEBUG4 TRACED9 pin: DEBUG4_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG4, DEBUG4_TRGIN)
+#error Invalid pin assignment for DEBUG4 TRGIN pin: DEBUG4_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG4, DEBUG4_TRGIO)
+#error Invalid pin assignment for DEBUG4 TRGIO pin: DEBUG4_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG4, DEBUG4_TRGOUT)
+#error Invalid pin assignment for DEBUG4 TRGOUT pin: DEBUG4_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG5
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG5, DEBUG5_DBTRGI)
+#error Invalid pin assignment for DEBUG5 DBTRGI pin: DEBUG5_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG5, DEBUG5_DBTRGO)
+#error Invalid pin assignment for DEBUG5 DBTRGO pin: DEBUG5_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG5, DEBUG5_JTDI)
+#error Invalid pin assignment for DEBUG5 JTDI pin: DEBUG5_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG5, DEBUG5_JTRST)
+#error Invalid pin assignment for DEBUG5 JTRST pin: DEBUG5_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG5, DEBUG5_SWCLK)
+#error Invalid pin assignment for DEBUG5 SWCLK pin: DEBUG5_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG5, DEBUG5_SWDIO)
+#error Invalid pin assignment for DEBUG5 SWDIO pin: DEBUG5_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG5, DEBUG5_TRACECLK)
+#error Invalid pin assignment for DEBUG5 TRACECLK pin: DEBUG5_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG5, DEBUG5_TRACED0)
+#error Invalid pin assignment for DEBUG5 TRACED0 pin: DEBUG5_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG5, DEBUG5_TRACED1)
+#error Invalid pin assignment for DEBUG5 TRACED1 pin: DEBUG5_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG5, DEBUG5_TRACED10)
+#error Invalid pin assignment for DEBUG5 TRACED10 pin: DEBUG5_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG5, DEBUG5_TRACED11)
+#error Invalid pin assignment for DEBUG5 TRACED11 pin: DEBUG5_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG5, DEBUG5_TRACED12)
+#error Invalid pin assignment for DEBUG5 TRACED12 pin: DEBUG5_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG5, DEBUG5_TRACED13)
+#error Invalid pin assignment for DEBUG5 TRACED13 pin: DEBUG5_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG5, DEBUG5_TRACED14)
+#error Invalid pin assignment for DEBUG5 TRACED14 pin: DEBUG5_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG5, DEBUG5_TRACED15)
+#error Invalid pin assignment for DEBUG5 TRACED15 pin: DEBUG5_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG5, DEBUG5_TRACED2)
+#error Invalid pin assignment for DEBUG5 TRACED2 pin: DEBUG5_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG5, DEBUG5_TRACED3)
+#error Invalid pin assignment for DEBUG5 TRACED3 pin: DEBUG5_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG5, DEBUG5_TRACED4)
+#error Invalid pin assignment for DEBUG5 TRACED4 pin: DEBUG5_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG5, DEBUG5_TRACED5)
+#error Invalid pin assignment for DEBUG5 TRACED5 pin: DEBUG5_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG5, DEBUG5_TRACED6)
+#error Invalid pin assignment for DEBUG5 TRACED6 pin: DEBUG5_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG5, DEBUG5_TRACED7)
+#error Invalid pin assignment for DEBUG5 TRACED7 pin: DEBUG5_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG5, DEBUG5_TRACED8)
+#error Invalid pin assignment for DEBUG5 TRACED8 pin: DEBUG5_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG5, DEBUG5_TRACED9)
+#error Invalid pin assignment for DEBUG5 TRACED9 pin: DEBUG5_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG5, DEBUG5_TRGIN)
+#error Invalid pin assignment for DEBUG5 TRGIN pin: DEBUG5_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG5, DEBUG5_TRGIO)
+#error Invalid pin assignment for DEBUG5 TRGIO pin: DEBUG5_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG5, DEBUG5_TRGOUT)
+#error Invalid pin assignment for DEBUG5 TRGOUT pin: DEBUG5_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG6
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG6, DEBUG6_DBTRGI)
+#error Invalid pin assignment for DEBUG6 DBTRGI pin: DEBUG6_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG6, DEBUG6_DBTRGO)
+#error Invalid pin assignment for DEBUG6 DBTRGO pin: DEBUG6_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG6, DEBUG6_JTDI)
+#error Invalid pin assignment for DEBUG6 JTDI pin: DEBUG6_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG6, DEBUG6_JTRST)
+#error Invalid pin assignment for DEBUG6 JTRST pin: DEBUG6_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG6, DEBUG6_SWCLK)
+#error Invalid pin assignment for DEBUG6 SWCLK pin: DEBUG6_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG6, DEBUG6_SWDIO)
+#error Invalid pin assignment for DEBUG6 SWDIO pin: DEBUG6_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG6, DEBUG6_TRACECLK)
+#error Invalid pin assignment for DEBUG6 TRACECLK pin: DEBUG6_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG6, DEBUG6_TRACED0)
+#error Invalid pin assignment for DEBUG6 TRACED0 pin: DEBUG6_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG6, DEBUG6_TRACED1)
+#error Invalid pin assignment for DEBUG6 TRACED1 pin: DEBUG6_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG6, DEBUG6_TRACED10)
+#error Invalid pin assignment for DEBUG6 TRACED10 pin: DEBUG6_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG6, DEBUG6_TRACED11)
+#error Invalid pin assignment for DEBUG6 TRACED11 pin: DEBUG6_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG6, DEBUG6_TRACED12)
+#error Invalid pin assignment for DEBUG6 TRACED12 pin: DEBUG6_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG6, DEBUG6_TRACED13)
+#error Invalid pin assignment for DEBUG6 TRACED13 pin: DEBUG6_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG6, DEBUG6_TRACED14)
+#error Invalid pin assignment for DEBUG6 TRACED14 pin: DEBUG6_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG6, DEBUG6_TRACED15)
+#error Invalid pin assignment for DEBUG6 TRACED15 pin: DEBUG6_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG6, DEBUG6_TRACED2)
+#error Invalid pin assignment for DEBUG6 TRACED2 pin: DEBUG6_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG6, DEBUG6_TRACED3)
+#error Invalid pin assignment for DEBUG6 TRACED3 pin: DEBUG6_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG6, DEBUG6_TRACED4)
+#error Invalid pin assignment for DEBUG6 TRACED4 pin: DEBUG6_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG6, DEBUG6_TRACED5)
+#error Invalid pin assignment for DEBUG6 TRACED5 pin: DEBUG6_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG6, DEBUG6_TRACED6)
+#error Invalid pin assignment for DEBUG6 TRACED6 pin: DEBUG6_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG6, DEBUG6_TRACED7)
+#error Invalid pin assignment for DEBUG6 TRACED7 pin: DEBUG6_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG6, DEBUG6_TRACED8)
+#error Invalid pin assignment for DEBUG6 TRACED8 pin: DEBUG6_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG6, DEBUG6_TRACED9)
+#error Invalid pin assignment for DEBUG6 TRACED9 pin: DEBUG6_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG6, DEBUG6_TRGIN)
+#error Invalid pin assignment for DEBUG6 TRGIN pin: DEBUG6_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG6, DEBUG6_TRGIO)
+#error Invalid pin assignment for DEBUG6 TRGIO pin: DEBUG6_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG6, DEBUG6_TRGOUT)
+#error Invalid pin assignment for DEBUG6 TRGOUT pin: DEBUG6_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG7
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG7, DEBUG7_DBTRGI)
+#error Invalid pin assignment for DEBUG7 DBTRGI pin: DEBUG7_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG7, DEBUG7_DBTRGO)
+#error Invalid pin assignment for DEBUG7 DBTRGO pin: DEBUG7_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG7, DEBUG7_JTDI)
+#error Invalid pin assignment for DEBUG7 JTDI pin: DEBUG7_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG7, DEBUG7_JTRST)
+#error Invalid pin assignment for DEBUG7 JTRST pin: DEBUG7_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG7, DEBUG7_SWCLK)
+#error Invalid pin assignment for DEBUG7 SWCLK pin: DEBUG7_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG7, DEBUG7_SWDIO)
+#error Invalid pin assignment for DEBUG7 SWDIO pin: DEBUG7_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG7, DEBUG7_TRACECLK)
+#error Invalid pin assignment for DEBUG7 TRACECLK pin: DEBUG7_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG7, DEBUG7_TRACED0)
+#error Invalid pin assignment for DEBUG7 TRACED0 pin: DEBUG7_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG7, DEBUG7_TRACED1)
+#error Invalid pin assignment for DEBUG7 TRACED1 pin: DEBUG7_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG7, DEBUG7_TRACED10)
+#error Invalid pin assignment for DEBUG7 TRACED10 pin: DEBUG7_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG7, DEBUG7_TRACED11)
+#error Invalid pin assignment for DEBUG7 TRACED11 pin: DEBUG7_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG7, DEBUG7_TRACED12)
+#error Invalid pin assignment for DEBUG7 TRACED12 pin: DEBUG7_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG7, DEBUG7_TRACED13)
+#error Invalid pin assignment for DEBUG7 TRACED13 pin: DEBUG7_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG7, DEBUG7_TRACED14)
+#error Invalid pin assignment for DEBUG7 TRACED14 pin: DEBUG7_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG7, DEBUG7_TRACED15)
+#error Invalid pin assignment for DEBUG7 TRACED15 pin: DEBUG7_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG7, DEBUG7_TRACED2)
+#error Invalid pin assignment for DEBUG7 TRACED2 pin: DEBUG7_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG7, DEBUG7_TRACED3)
+#error Invalid pin assignment for DEBUG7 TRACED3 pin: DEBUG7_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG7, DEBUG7_TRACED4)
+#error Invalid pin assignment for DEBUG7 TRACED4 pin: DEBUG7_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG7, DEBUG7_TRACED5)
+#error Invalid pin assignment for DEBUG7 TRACED5 pin: DEBUG7_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG7, DEBUG7_TRACED6)
+#error Invalid pin assignment for DEBUG7 TRACED6 pin: DEBUG7_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG7, DEBUG7_TRACED7)
+#error Invalid pin assignment for DEBUG7 TRACED7 pin: DEBUG7_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG7, DEBUG7_TRACED8)
+#error Invalid pin assignment for DEBUG7 TRACED8 pin: DEBUG7_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG7, DEBUG7_TRACED9)
+#error Invalid pin assignment for DEBUG7 TRACED9 pin: DEBUG7_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG7, DEBUG7_TRGIN)
+#error Invalid pin assignment for DEBUG7 TRGIN pin: DEBUG7_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG7, DEBUG7_TRGIO)
+#error Invalid pin assignment for DEBUG7 TRGIO pin: DEBUG7_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG7, DEBUG7_TRGOUT)
+#error Invalid pin assignment for DEBUG7 TRGOUT pin: DEBUG7_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG8
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG8, DEBUG8_DBTRGI)
+#error Invalid pin assignment for DEBUG8 DBTRGI pin: DEBUG8_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG8, DEBUG8_DBTRGO)
+#error Invalid pin assignment for DEBUG8 DBTRGO pin: DEBUG8_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG8, DEBUG8_JTDI)
+#error Invalid pin assignment for DEBUG8 JTDI pin: DEBUG8_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG8, DEBUG8_JTRST)
+#error Invalid pin assignment for DEBUG8 JTRST pin: DEBUG8_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG8, DEBUG8_SWCLK)
+#error Invalid pin assignment for DEBUG8 SWCLK pin: DEBUG8_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG8, DEBUG8_SWDIO)
+#error Invalid pin assignment for DEBUG8 SWDIO pin: DEBUG8_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG8, DEBUG8_TRACECLK)
+#error Invalid pin assignment for DEBUG8 TRACECLK pin: DEBUG8_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG8, DEBUG8_TRACED0)
+#error Invalid pin assignment for DEBUG8 TRACED0 pin: DEBUG8_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG8, DEBUG8_TRACED1)
+#error Invalid pin assignment for DEBUG8 TRACED1 pin: DEBUG8_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG8, DEBUG8_TRACED10)
+#error Invalid pin assignment for DEBUG8 TRACED10 pin: DEBUG8_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG8, DEBUG8_TRACED11)
+#error Invalid pin assignment for DEBUG8 TRACED11 pin: DEBUG8_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG8, DEBUG8_TRACED12)
+#error Invalid pin assignment for DEBUG8 TRACED12 pin: DEBUG8_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG8, DEBUG8_TRACED13)
+#error Invalid pin assignment for DEBUG8 TRACED13 pin: DEBUG8_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG8, DEBUG8_TRACED14)
+#error Invalid pin assignment for DEBUG8 TRACED14 pin: DEBUG8_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG8, DEBUG8_TRACED15)
+#error Invalid pin assignment for DEBUG8 TRACED15 pin: DEBUG8_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG8, DEBUG8_TRACED2)
+#error Invalid pin assignment for DEBUG8 TRACED2 pin: DEBUG8_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG8, DEBUG8_TRACED3)
+#error Invalid pin assignment for DEBUG8 TRACED3 pin: DEBUG8_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG8, DEBUG8_TRACED4)
+#error Invalid pin assignment for DEBUG8 TRACED4 pin: DEBUG8_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG8, DEBUG8_TRACED5)
+#error Invalid pin assignment for DEBUG8 TRACED5 pin: DEBUG8_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG8, DEBUG8_TRACED6)
+#error Invalid pin assignment for DEBUG8 TRACED6 pin: DEBUG8_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG8, DEBUG8_TRACED7)
+#error Invalid pin assignment for DEBUG8 TRACED7 pin: DEBUG8_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG8, DEBUG8_TRACED8)
+#error Invalid pin assignment for DEBUG8 TRACED8 pin: DEBUG8_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG8, DEBUG8_TRACED9)
+#error Invalid pin assignment for DEBUG8 TRACED9 pin: DEBUG8_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG8, DEBUG8_TRGIN)
+#error Invalid pin assignment for DEBUG8 TRGIN pin: DEBUG8_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG8, DEBUG8_TRGIO)
+#error Invalid pin assignment for DEBUG8 TRGIO pin: DEBUG8_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG8, DEBUG8_TRGOUT)
+#error Invalid pin assignment for DEBUG8 TRGOUT pin: DEBUG8_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG9
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG9, DEBUG9_DBTRGI)
+#error Invalid pin assignment for DEBUG9 DBTRGI pin: DEBUG9_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG9, DEBUG9_DBTRGO)
+#error Invalid pin assignment for DEBUG9 DBTRGO pin: DEBUG9_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG9, DEBUG9_JTDI)
+#error Invalid pin assignment for DEBUG9 JTDI pin: DEBUG9_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG9, DEBUG9_JTRST)
+#error Invalid pin assignment for DEBUG9 JTRST pin: DEBUG9_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG9, DEBUG9_SWCLK)
+#error Invalid pin assignment for DEBUG9 SWCLK pin: DEBUG9_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG9, DEBUG9_SWDIO)
+#error Invalid pin assignment for DEBUG9 SWDIO pin: DEBUG9_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG9, DEBUG9_TRACECLK)
+#error Invalid pin assignment for DEBUG9 TRACECLK pin: DEBUG9_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG9, DEBUG9_TRACED0)
+#error Invalid pin assignment for DEBUG9 TRACED0 pin: DEBUG9_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG9, DEBUG9_TRACED1)
+#error Invalid pin assignment for DEBUG9 TRACED1 pin: DEBUG9_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG9, DEBUG9_TRACED10)
+#error Invalid pin assignment for DEBUG9 TRACED10 pin: DEBUG9_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG9, DEBUG9_TRACED11)
+#error Invalid pin assignment for DEBUG9 TRACED11 pin: DEBUG9_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG9, DEBUG9_TRACED12)
+#error Invalid pin assignment for DEBUG9 TRACED12 pin: DEBUG9_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG9, DEBUG9_TRACED13)
+#error Invalid pin assignment for DEBUG9 TRACED13 pin: DEBUG9_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG9, DEBUG9_TRACED14)
+#error Invalid pin assignment for DEBUG9 TRACED14 pin: DEBUG9_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG9, DEBUG9_TRACED15)
+#error Invalid pin assignment for DEBUG9 TRACED15 pin: DEBUG9_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG9, DEBUG9_TRACED2)
+#error Invalid pin assignment for DEBUG9 TRACED2 pin: DEBUG9_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG9, DEBUG9_TRACED3)
+#error Invalid pin assignment for DEBUG9 TRACED3 pin: DEBUG9_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG9, DEBUG9_TRACED4)
+#error Invalid pin assignment for DEBUG9 TRACED4 pin: DEBUG9_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG9, DEBUG9_TRACED5)
+#error Invalid pin assignment for DEBUG9 TRACED5 pin: DEBUG9_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG9, DEBUG9_TRACED6)
+#error Invalid pin assignment for DEBUG9 TRACED6 pin: DEBUG9_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG9, DEBUG9_TRACED7)
+#error Invalid pin assignment for DEBUG9 TRACED7 pin: DEBUG9_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG9, DEBUG9_TRACED8)
+#error Invalid pin assignment for DEBUG9 TRACED8 pin: DEBUG9_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG9, DEBUG9_TRACED9)
+#error Invalid pin assignment for DEBUG9 TRACED9 pin: DEBUG9_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG9, DEBUG9_TRGIN)
+#error Invalid pin assignment for DEBUG9 TRGIN pin: DEBUG9_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG9, DEBUG9_TRGIO)
+#error Invalid pin assignment for DEBUG9 TRGIO pin: DEBUG9_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG9, DEBUG9_TRGOUT)
+#error Invalid pin assignment for DEBUG9 TRGOUT pin: DEBUG9_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG10
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG10, DEBUG10_DBTRGI)
+#error Invalid pin assignment for DEBUG10 DBTRGI pin: DEBUG10_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG10, DEBUG10_DBTRGO)
+#error Invalid pin assignment for DEBUG10 DBTRGO pin: DEBUG10_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG10, DEBUG10_JTDI)
+#error Invalid pin assignment for DEBUG10 JTDI pin: DEBUG10_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG10, DEBUG10_JTRST)
+#error Invalid pin assignment for DEBUG10 JTRST pin: DEBUG10_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG10, DEBUG10_SWCLK)
+#error Invalid pin assignment for DEBUG10 SWCLK pin: DEBUG10_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG10, DEBUG10_SWDIO)
+#error Invalid pin assignment for DEBUG10 SWDIO pin: DEBUG10_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG10, DEBUG10_TRACECLK)
+#error Invalid pin assignment for DEBUG10 TRACECLK pin: DEBUG10_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG10, DEBUG10_TRACED0)
+#error Invalid pin assignment for DEBUG10 TRACED0 pin: DEBUG10_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG10, DEBUG10_TRACED1)
+#error Invalid pin assignment for DEBUG10 TRACED1 pin: DEBUG10_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG10, DEBUG10_TRACED10)
+#error Invalid pin assignment for DEBUG10 TRACED10 pin: DEBUG10_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG10, DEBUG10_TRACED11)
+#error Invalid pin assignment for DEBUG10 TRACED11 pin: DEBUG10_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG10, DEBUG10_TRACED12)
+#error Invalid pin assignment for DEBUG10 TRACED12 pin: DEBUG10_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG10, DEBUG10_TRACED13)
+#error Invalid pin assignment for DEBUG10 TRACED13 pin: DEBUG10_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG10, DEBUG10_TRACED14)
+#error Invalid pin assignment for DEBUG10 TRACED14 pin: DEBUG10_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG10, DEBUG10_TRACED15)
+#error Invalid pin assignment for DEBUG10 TRACED15 pin: DEBUG10_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG10, DEBUG10_TRACED2)
+#error Invalid pin assignment for DEBUG10 TRACED2 pin: DEBUG10_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG10, DEBUG10_TRACED3)
+#error Invalid pin assignment for DEBUG10 TRACED3 pin: DEBUG10_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG10, DEBUG10_TRACED4)
+#error Invalid pin assignment for DEBUG10 TRACED4 pin: DEBUG10_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG10, DEBUG10_TRACED5)
+#error Invalid pin assignment for DEBUG10 TRACED5 pin: DEBUG10_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG10, DEBUG10_TRACED6)
+#error Invalid pin assignment for DEBUG10 TRACED6 pin: DEBUG10_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG10, DEBUG10_TRACED7)
+#error Invalid pin assignment for DEBUG10 TRACED7 pin: DEBUG10_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG10, DEBUG10_TRACED8)
+#error Invalid pin assignment for DEBUG10 TRACED8 pin: DEBUG10_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG10, DEBUG10_TRACED9)
+#error Invalid pin assignment for DEBUG10 TRACED9 pin: DEBUG10_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG10, DEBUG10_TRGIN)
+#error Invalid pin assignment for DEBUG10 TRGIN pin: DEBUG10_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG10, DEBUG10_TRGIO)
+#error Invalid pin assignment for DEBUG10 TRGIO pin: DEBUG10_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG10, DEBUG10_TRGOUT)
+#error Invalid pin assignment for DEBUG10 TRGOUT pin: DEBUG10_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG11
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG11, DEBUG11_DBTRGI)
+#error Invalid pin assignment for DEBUG11 DBTRGI pin: DEBUG11_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG11, DEBUG11_DBTRGO)
+#error Invalid pin assignment for DEBUG11 DBTRGO pin: DEBUG11_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG11, DEBUG11_JTDI)
+#error Invalid pin assignment for DEBUG11 JTDI pin: DEBUG11_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG11, DEBUG11_JTRST)
+#error Invalid pin assignment for DEBUG11 JTRST pin: DEBUG11_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG11, DEBUG11_SWCLK)
+#error Invalid pin assignment for DEBUG11 SWCLK pin: DEBUG11_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG11, DEBUG11_SWDIO)
+#error Invalid pin assignment for DEBUG11 SWDIO pin: DEBUG11_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG11, DEBUG11_TRACECLK)
+#error Invalid pin assignment for DEBUG11 TRACECLK pin: DEBUG11_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG11, DEBUG11_TRACED0)
+#error Invalid pin assignment for DEBUG11 TRACED0 pin: DEBUG11_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG11, DEBUG11_TRACED1)
+#error Invalid pin assignment for DEBUG11 TRACED1 pin: DEBUG11_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG11, DEBUG11_TRACED10)
+#error Invalid pin assignment for DEBUG11 TRACED10 pin: DEBUG11_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG11, DEBUG11_TRACED11)
+#error Invalid pin assignment for DEBUG11 TRACED11 pin: DEBUG11_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG11, DEBUG11_TRACED12)
+#error Invalid pin assignment for DEBUG11 TRACED12 pin: DEBUG11_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG11, DEBUG11_TRACED13)
+#error Invalid pin assignment for DEBUG11 TRACED13 pin: DEBUG11_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG11, DEBUG11_TRACED14)
+#error Invalid pin assignment for DEBUG11 TRACED14 pin: DEBUG11_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG11, DEBUG11_TRACED15)
+#error Invalid pin assignment for DEBUG11 TRACED15 pin: DEBUG11_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG11, DEBUG11_TRACED2)
+#error Invalid pin assignment for DEBUG11 TRACED2 pin: DEBUG11_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG11, DEBUG11_TRACED3)
+#error Invalid pin assignment for DEBUG11 TRACED3 pin: DEBUG11_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG11, DEBUG11_TRACED4)
+#error Invalid pin assignment for DEBUG11 TRACED4 pin: DEBUG11_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG11, DEBUG11_TRACED5)
+#error Invalid pin assignment for DEBUG11 TRACED5 pin: DEBUG11_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG11, DEBUG11_TRACED6)
+#error Invalid pin assignment for DEBUG11 TRACED6 pin: DEBUG11_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG11, DEBUG11_TRACED7)
+#error Invalid pin assignment for DEBUG11 TRACED7 pin: DEBUG11_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG11, DEBUG11_TRACED8)
+#error Invalid pin assignment for DEBUG11 TRACED8 pin: DEBUG11_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG11, DEBUG11_TRACED9)
+#error Invalid pin assignment for DEBUG11 TRACED9 pin: DEBUG11_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG11, DEBUG11_TRGIN)
+#error Invalid pin assignment for DEBUG11 TRGIN pin: DEBUG11_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG11, DEBUG11_TRGIO)
+#error Invalid pin assignment for DEBUG11 TRGIO pin: DEBUG11_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG11, DEBUG11_TRGOUT)
+#error Invalid pin assignment for DEBUG11 TRGOUT pin: DEBUG11_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG12
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG12, DEBUG12_DBTRGI)
+#error Invalid pin assignment for DEBUG12 DBTRGI pin: DEBUG12_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG12, DEBUG12_DBTRGO)
+#error Invalid pin assignment for DEBUG12 DBTRGO pin: DEBUG12_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG12, DEBUG12_JTDI)
+#error Invalid pin assignment for DEBUG12 JTDI pin: DEBUG12_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG12, DEBUG12_JTRST)
+#error Invalid pin assignment for DEBUG12 JTRST pin: DEBUG12_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG12, DEBUG12_SWCLK)
+#error Invalid pin assignment for DEBUG12 SWCLK pin: DEBUG12_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG12, DEBUG12_SWDIO)
+#error Invalid pin assignment for DEBUG12 SWDIO pin: DEBUG12_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG12, DEBUG12_TRACECLK)
+#error Invalid pin assignment for DEBUG12 TRACECLK pin: DEBUG12_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG12, DEBUG12_TRACED0)
+#error Invalid pin assignment for DEBUG12 TRACED0 pin: DEBUG12_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG12, DEBUG12_TRACED1)
+#error Invalid pin assignment for DEBUG12 TRACED1 pin: DEBUG12_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG12, DEBUG12_TRACED10)
+#error Invalid pin assignment for DEBUG12 TRACED10 pin: DEBUG12_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG12, DEBUG12_TRACED11)
+#error Invalid pin assignment for DEBUG12 TRACED11 pin: DEBUG12_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG12, DEBUG12_TRACED12)
+#error Invalid pin assignment for DEBUG12 TRACED12 pin: DEBUG12_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG12, DEBUG12_TRACED13)
+#error Invalid pin assignment for DEBUG12 TRACED13 pin: DEBUG12_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG12, DEBUG12_TRACED14)
+#error Invalid pin assignment for DEBUG12 TRACED14 pin: DEBUG12_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG12, DEBUG12_TRACED15)
+#error Invalid pin assignment for DEBUG12 TRACED15 pin: DEBUG12_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG12, DEBUG12_TRACED2)
+#error Invalid pin assignment for DEBUG12 TRACED2 pin: DEBUG12_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG12, DEBUG12_TRACED3)
+#error Invalid pin assignment for DEBUG12 TRACED3 pin: DEBUG12_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG12, DEBUG12_TRACED4)
+#error Invalid pin assignment for DEBUG12 TRACED4 pin: DEBUG12_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG12, DEBUG12_TRACED5)
+#error Invalid pin assignment for DEBUG12 TRACED5 pin: DEBUG12_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG12, DEBUG12_TRACED6)
+#error Invalid pin assignment for DEBUG12 TRACED6 pin: DEBUG12_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG12, DEBUG12_TRACED7)
+#error Invalid pin assignment for DEBUG12 TRACED7 pin: DEBUG12_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG12, DEBUG12_TRACED8)
+#error Invalid pin assignment for DEBUG12 TRACED8 pin: DEBUG12_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG12, DEBUG12_TRACED9)
+#error Invalid pin assignment for DEBUG12 TRACED9 pin: DEBUG12_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG12, DEBUG12_TRGIN)
+#error Invalid pin assignment for DEBUG12 TRGIN pin: DEBUG12_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG12, DEBUG12_TRGIO)
+#error Invalid pin assignment for DEBUG12 TRGIO pin: DEBUG12_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG12, DEBUG12_TRGOUT)
+#error Invalid pin assignment for DEBUG12 TRGOUT pin: DEBUG12_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG13
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG13, DEBUG13_DBTRGI)
+#error Invalid pin assignment for DEBUG13 DBTRGI pin: DEBUG13_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG13, DEBUG13_DBTRGO)
+#error Invalid pin assignment for DEBUG13 DBTRGO pin: DEBUG13_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG13, DEBUG13_JTDI)
+#error Invalid pin assignment for DEBUG13 JTDI pin: DEBUG13_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG13, DEBUG13_JTRST)
+#error Invalid pin assignment for DEBUG13 JTRST pin: DEBUG13_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG13, DEBUG13_SWCLK)
+#error Invalid pin assignment for DEBUG13 SWCLK pin: DEBUG13_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG13, DEBUG13_SWDIO)
+#error Invalid pin assignment for DEBUG13 SWDIO pin: DEBUG13_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG13, DEBUG13_TRACECLK)
+#error Invalid pin assignment for DEBUG13 TRACECLK pin: DEBUG13_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG13, DEBUG13_TRACED0)
+#error Invalid pin assignment for DEBUG13 TRACED0 pin: DEBUG13_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG13, DEBUG13_TRACED1)
+#error Invalid pin assignment for DEBUG13 TRACED1 pin: DEBUG13_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG13, DEBUG13_TRACED10)
+#error Invalid pin assignment for DEBUG13 TRACED10 pin: DEBUG13_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG13, DEBUG13_TRACED11)
+#error Invalid pin assignment for DEBUG13 TRACED11 pin: DEBUG13_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG13, DEBUG13_TRACED12)
+#error Invalid pin assignment for DEBUG13 TRACED12 pin: DEBUG13_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG13, DEBUG13_TRACED13)
+#error Invalid pin assignment for DEBUG13 TRACED13 pin: DEBUG13_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG13, DEBUG13_TRACED14)
+#error Invalid pin assignment for DEBUG13 TRACED14 pin: DEBUG13_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG13, DEBUG13_TRACED15)
+#error Invalid pin assignment for DEBUG13 TRACED15 pin: DEBUG13_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG13, DEBUG13_TRACED2)
+#error Invalid pin assignment for DEBUG13 TRACED2 pin: DEBUG13_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG13, DEBUG13_TRACED3)
+#error Invalid pin assignment for DEBUG13 TRACED3 pin: DEBUG13_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG13, DEBUG13_TRACED4)
+#error Invalid pin assignment for DEBUG13 TRACED4 pin: DEBUG13_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG13, DEBUG13_TRACED5)
+#error Invalid pin assignment for DEBUG13 TRACED5 pin: DEBUG13_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG13, DEBUG13_TRACED6)
+#error Invalid pin assignment for DEBUG13 TRACED6 pin: DEBUG13_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG13, DEBUG13_TRACED7)
+#error Invalid pin assignment for DEBUG13 TRACED7 pin: DEBUG13_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG13, DEBUG13_TRACED8)
+#error Invalid pin assignment for DEBUG13 TRACED8 pin: DEBUG13_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG13, DEBUG13_TRACED9)
+#error Invalid pin assignment for DEBUG13 TRACED9 pin: DEBUG13_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG13, DEBUG13_TRGIN)
+#error Invalid pin assignment for DEBUG13 TRGIN pin: DEBUG13_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG13, DEBUG13_TRGIO)
+#error Invalid pin assignment for DEBUG13 TRGIO pin: DEBUG13_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG13, DEBUG13_TRGOUT)
+#error Invalid pin assignment for DEBUG13 TRGOUT pin: DEBUG13_TRGOUT
+#endif
+#endif
+
+#ifdef USE_DEBUG14
+#if !FIND_VALUE_DEBUG_DBTRGI(_DEBUG14, DEBUG14_DBTRGI)
+#error Invalid pin assignment for DEBUG14 DBTRGI pin: DEBUG14_DBTRGI
+#endif
+#if !FIND_VALUE_DEBUG_DBTRGO(_DEBUG14, DEBUG14_DBTRGO)
+#error Invalid pin assignment for DEBUG14 DBTRGO pin: DEBUG14_DBTRGO
+#endif
+#if !FIND_VALUE_DEBUG_JTDI(_DEBUG14, DEBUG14_JTDI)
+#error Invalid pin assignment for DEBUG14 JTDI pin: DEBUG14_JTDI
+#endif
+#if !FIND_VALUE_DEBUG_JTRST(_DEBUG14, DEBUG14_JTRST)
+#error Invalid pin assignment for DEBUG14 JTRST pin: DEBUG14_JTRST
+#endif
+#if !FIND_VALUE_DEBUG_SWCLK(_DEBUG14, DEBUG14_SWCLK)
+#error Invalid pin assignment for DEBUG14 SWCLK pin: DEBUG14_SWCLK
+#endif
+#if !FIND_VALUE_DEBUG_SWDIO(_DEBUG14, DEBUG14_SWDIO)
+#error Invalid pin assignment for DEBUG14 SWDIO pin: DEBUG14_SWDIO
+#endif
+#if !FIND_VALUE_DEBUG_TRACECLK(_DEBUG14, DEBUG14_TRACECLK)
+#error Invalid pin assignment for DEBUG14 TRACECLK pin: DEBUG14_TRACECLK
+#endif
+#if !FIND_VALUE_DEBUG_TRACED0(_DEBUG14, DEBUG14_TRACED0)
+#error Invalid pin assignment for DEBUG14 TRACED0 pin: DEBUG14_TRACED0
+#endif
+#if !FIND_VALUE_DEBUG_TRACED1(_DEBUG14, DEBUG14_TRACED1)
+#error Invalid pin assignment for DEBUG14 TRACED1 pin: DEBUG14_TRACED1
+#endif
+#if !FIND_VALUE_DEBUG_TRACED10(_DEBUG14, DEBUG14_TRACED10)
+#error Invalid pin assignment for DEBUG14 TRACED10 pin: DEBUG14_TRACED10
+#endif
+#if !FIND_VALUE_DEBUG_TRACED11(_DEBUG14, DEBUG14_TRACED11)
+#error Invalid pin assignment for DEBUG14 TRACED11 pin: DEBUG14_TRACED11
+#endif
+#if !FIND_VALUE_DEBUG_TRACED12(_DEBUG14, DEBUG14_TRACED12)
+#error Invalid pin assignment for DEBUG14 TRACED12 pin: DEBUG14_TRACED12
+#endif
+#if !FIND_VALUE_DEBUG_TRACED13(_DEBUG14, DEBUG14_TRACED13)
+#error Invalid pin assignment for DEBUG14 TRACED13 pin: DEBUG14_TRACED13
+#endif
+#if !FIND_VALUE_DEBUG_TRACED14(_DEBUG14, DEBUG14_TRACED14)
+#error Invalid pin assignment for DEBUG14 TRACED14 pin: DEBUG14_TRACED14
+#endif
+#if !FIND_VALUE_DEBUG_TRACED15(_DEBUG14, DEBUG14_TRACED15)
+#error Invalid pin assignment for DEBUG14 TRACED15 pin: DEBUG14_TRACED15
+#endif
+#if !FIND_VALUE_DEBUG_TRACED2(_DEBUG14, DEBUG14_TRACED2)
+#error Invalid pin assignment for DEBUG14 TRACED2 pin: DEBUG14_TRACED2
+#endif
+#if !FIND_VALUE_DEBUG_TRACED3(_DEBUG14, DEBUG14_TRACED3)
+#error Invalid pin assignment for DEBUG14 TRACED3 pin: DEBUG14_TRACED3
+#endif
+#if !FIND_VALUE_DEBUG_TRACED4(_DEBUG14, DEBUG14_TRACED4)
+#error Invalid pin assignment for DEBUG14 TRACED4 pin: DEBUG14_TRACED4
+#endif
+#if !FIND_VALUE_DEBUG_TRACED5(_DEBUG14, DEBUG14_TRACED5)
+#error Invalid pin assignment for DEBUG14 TRACED5 pin: DEBUG14_TRACED5
+#endif
+#if !FIND_VALUE_DEBUG_TRACED6(_DEBUG14, DEBUG14_TRACED6)
+#error Invalid pin assignment for DEBUG14 TRACED6 pin: DEBUG14_TRACED6
+#endif
+#if !FIND_VALUE_DEBUG_TRACED7(_DEBUG14, DEBUG14_TRACED7)
+#error Invalid pin assignment for DEBUG14 TRACED7 pin: DEBUG14_TRACED7
+#endif
+#if !FIND_VALUE_DEBUG_TRACED8(_DEBUG14, DEBUG14_TRACED8)
+#error Invalid pin assignment for DEBUG14 TRACED8 pin: DEBUG14_TRACED8
+#endif
+#if !FIND_VALUE_DEBUG_TRACED9(_DEBUG14, DEBUG14_TRACED9)
+#error Invalid pin assignment for DEBUG14 TRACED9 pin: DEBUG14_TRACED9
+#endif
+#if !FIND_VALUE_DEBUG_TRGIN(_DEBUG14, DEBUG14_TRGIN)
+#error Invalid pin assignment for DEBUG14 TRGIN pin: DEBUG14_TRGIN
+#endif
+#if !FIND_VALUE_DEBUG_TRGIO(_DEBUG14, DEBUG14_TRGIO)
+#error Invalid pin assignment for DEBUG14 TRGIO pin: DEBUG14_TRGIO
+#endif
+#if !FIND_VALUE_DEBUG_TRGOUT(_DEBUG14, DEBUG14_TRGOUT)
+#error Invalid pin assignment for DEBUG14 TRGOUT pin: DEBUG14_TRGOUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtck.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtck.h
new file mode 100644
index 000000000..a8e87129a
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtck.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398634
+ */
+
+#define FIND_VALUE_DEBUG_JTCK_SWCLK_inner(INDEX,PIN) I2C##_DEBUG_JTCK_##PIN
+#define FIND_VALUE_DEBUG_JTCK_SWCLK(INDEX,PIN) FIND_VALUE_DEBUG_JTCK_SWCLK_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_JTCK0
+#if !FIND_VALUE_DEBUG_JTCK_SWCLK(_DEBUG_JTCK0, DEBUG_JTCK0_SWCLK)
+#error Invalid pin assignment for DEBUG_JTCK0 SWCLK pin: DEBUG_JTCK0_SWCLK
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtdo.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtdo.h
new file mode 100644
index 000000000..2abb4bdc3
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtdo.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398647
+ */
+
+#define FIND_VALUE_DEBUG_JTDO_SWO_inner(INDEX,PIN) I2C##_DEBUG_JTDO_##PIN
+#define FIND_VALUE_DEBUG_JTDO_SWO(INDEX,PIN) FIND_VALUE_DEBUG_JTDO_SWO_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_JTDO0
+#if !FIND_VALUE_DEBUG_JTDO_SWO(_DEBUG_JTDO0, DEBUG_JTDO0_SWO)
+#error Invalid pin assignment for DEBUG_JTDO0 SWO pin: DEBUG_JTDO0_SWO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtms.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtms.h
new file mode 100644
index 000000000..40c94f2d6
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_jtms.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398660
+ */
+
+#define FIND_VALUE_DEBUG_JTMS_SWDIO_inner(INDEX,PIN) I2C##_DEBUG_JTMS_##PIN
+#define FIND_VALUE_DEBUG_JTMS_SWDIO(INDEX,PIN) FIND_VALUE_DEBUG_JTMS_SWDIO_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_JTMS0
+#if !FIND_VALUE_DEBUG_JTMS_SWDIO(_DEBUG_JTMS0, DEBUG_JTMS0_SWDIO)
+#error Invalid pin assignment for DEBUG_JTMS0 SWDIO pin: DEBUG_JTMS0_SWDIO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_pwr.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_pwr.h
new file mode 100644
index 000000000..f8c7930fa
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_pwr.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398672
+ */
+
+#define FIND_VALUE_DEBUG_PWR_LDORDY_inner(INDEX,PIN) I2C##_DEBUG_PWR_##PIN
+#define FIND_VALUE_DEBUG_PWR_LDORDY(INDEX,PIN) FIND_VALUE_DEBUG_PWR_LDORDY_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_PWR_REGLP1S_inner(INDEX,PIN) I2C##_DEBUG_PWR_##PIN
+#define FIND_VALUE_DEBUG_PWR_REGLP1S(INDEX,PIN) FIND_VALUE_DEBUG_PWR_REGLP1S_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_PWR_REGLP2S_inner(INDEX,PIN) I2C##_DEBUG_PWR_##PIN
+#define FIND_VALUE_DEBUG_PWR_REGLP2S(INDEX,PIN) FIND_VALUE_DEBUG_PWR_REGLP2S_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_PWR0
+#if !FIND_VALUE_DEBUG_PWR_LDORDY(_DEBUG_PWR0, DEBUG_PWR0_LDORDY)
+#error Invalid pin assignment for DEBUG_PWR0 LDORDY pin: DEBUG_PWR0_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_PWR_REGLP1S(_DEBUG_PWR0, DEBUG_PWR0_REGLP1S)
+#error Invalid pin assignment for DEBUG_PWR0 REGLP1S pin: DEBUG_PWR0_REGLP1S
+#endif
+#if !FIND_VALUE_DEBUG_PWR_REGLP2S(_DEBUG_PWR0, DEBUG_PWR0_REGLP2S)
+#error Invalid pin assignment for DEBUG_PWR0 REGLP2S pin: DEBUG_PWR0_REGLP2S
+#endif
+#endif
+
+#ifdef USE_DEBUG_PWR1
+#if !FIND_VALUE_DEBUG_PWR_LDORDY(_DEBUG_PWR1, DEBUG_PWR1_LDORDY)
+#error Invalid pin assignment for DEBUG_PWR1 LDORDY pin: DEBUG_PWR1_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_PWR_REGLP1S(_DEBUG_PWR1, DEBUG_PWR1_REGLP1S)
+#error Invalid pin assignment for DEBUG_PWR1 REGLP1S pin: DEBUG_PWR1_REGLP1S
+#endif
+#if !FIND_VALUE_DEBUG_PWR_REGLP2S(_DEBUG_PWR1, DEBUG_PWR1_REGLP2S)
+#error Invalid pin assignment for DEBUG_PWR1 REGLP2S pin: DEBUG_PWR1_REGLP2S
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_rf.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_rf.h
new file mode 100644
index 000000000..c225d1c07
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_rf.h
@@ -0,0 +1,695 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398691
+ */
+
+#define FIND_VALUE_DEBUG_RF_BUSY_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_BUSY(INDEX,PIN) FIND_VALUE_DEBUG_RF_BUSY_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_RF_DTB1_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_DTB1(INDEX,PIN) FIND_VALUE_DEBUG_RF_DTB1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_RF_HSE32RDY_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_HSE32RDY(INDEX,PIN) FIND_VALUE_DEBUG_RF_HSE32RDY_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_RF_LDORDY_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_LDORDY(INDEX,PIN) FIND_VALUE_DEBUG_RF_LDORDY_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_RF_NRESET_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_NRESET(INDEX,PIN) FIND_VALUE_DEBUG_RF_NRESET_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_RF_SMPSRDY_inner(INDEX,PIN) I2C##_DEBUG_RF_##PIN
+#define FIND_VALUE_DEBUG_RF_SMPSRDY(INDEX,PIN) FIND_VALUE_DEBUG_RF_SMPSRDY_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_RF0
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF0, DEBUG_RF0_BUSY)
+#error Invalid pin assignment for DEBUG_RF0 BUSY pin: DEBUG_RF0_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF0, DEBUG_RF0_DTB1)
+#error Invalid pin assignment for DEBUG_RF0 DTB1 pin: DEBUG_RF0_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF0, DEBUG_RF0_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF0 HSE32RDY pin: DEBUG_RF0_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF0, DEBUG_RF0_LDORDY)
+#error Invalid pin assignment for DEBUG_RF0 LDORDY pin: DEBUG_RF0_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF0, DEBUG_RF0_NRESET)
+#error Invalid pin assignment for DEBUG_RF0 NRESET pin: DEBUG_RF0_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF0, DEBUG_RF0_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF0 SMPSRDY pin: DEBUG_RF0_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF1
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF1, DEBUG_RF1_BUSY)
+#error Invalid pin assignment for DEBUG_RF1 BUSY pin: DEBUG_RF1_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF1, DEBUG_RF1_DTB1)
+#error Invalid pin assignment for DEBUG_RF1 DTB1 pin: DEBUG_RF1_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF1, DEBUG_RF1_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF1 HSE32RDY pin: DEBUG_RF1_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF1, DEBUG_RF1_LDORDY)
+#error Invalid pin assignment for DEBUG_RF1 LDORDY pin: DEBUG_RF1_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF1, DEBUG_RF1_NRESET)
+#error Invalid pin assignment for DEBUG_RF1 NRESET pin: DEBUG_RF1_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF1, DEBUG_RF1_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF1 SMPSRDY pin: DEBUG_RF1_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF2
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF2, DEBUG_RF2_BUSY)
+#error Invalid pin assignment for DEBUG_RF2 BUSY pin: DEBUG_RF2_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF2, DEBUG_RF2_DTB1)
+#error Invalid pin assignment for DEBUG_RF2 DTB1 pin: DEBUG_RF2_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF2, DEBUG_RF2_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF2 HSE32RDY pin: DEBUG_RF2_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF2, DEBUG_RF2_LDORDY)
+#error Invalid pin assignment for DEBUG_RF2 LDORDY pin: DEBUG_RF2_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF2, DEBUG_RF2_NRESET)
+#error Invalid pin assignment for DEBUG_RF2 NRESET pin: DEBUG_RF2_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF2, DEBUG_RF2_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF2 SMPSRDY pin: DEBUG_RF2_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF3
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF3, DEBUG_RF3_BUSY)
+#error Invalid pin assignment for DEBUG_RF3 BUSY pin: DEBUG_RF3_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF3, DEBUG_RF3_DTB1)
+#error Invalid pin assignment for DEBUG_RF3 DTB1 pin: DEBUG_RF3_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF3, DEBUG_RF3_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF3 HSE32RDY pin: DEBUG_RF3_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF3, DEBUG_RF3_LDORDY)
+#error Invalid pin assignment for DEBUG_RF3 LDORDY pin: DEBUG_RF3_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF3, DEBUG_RF3_NRESET)
+#error Invalid pin assignment for DEBUG_RF3 NRESET pin: DEBUG_RF3_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF3, DEBUG_RF3_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF3 SMPSRDY pin: DEBUG_RF3_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF4
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF4, DEBUG_RF4_BUSY)
+#error Invalid pin assignment for DEBUG_RF4 BUSY pin: DEBUG_RF4_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF4, DEBUG_RF4_DTB1)
+#error Invalid pin assignment for DEBUG_RF4 DTB1 pin: DEBUG_RF4_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF4, DEBUG_RF4_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF4 HSE32RDY pin: DEBUG_RF4_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF4, DEBUG_RF4_LDORDY)
+#error Invalid pin assignment for DEBUG_RF4 LDORDY pin: DEBUG_RF4_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF4, DEBUG_RF4_NRESET)
+#error Invalid pin assignment for DEBUG_RF4 NRESET pin: DEBUG_RF4_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF4, DEBUG_RF4_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF4 SMPSRDY pin: DEBUG_RF4_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF5
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF5, DEBUG_RF5_BUSY)
+#error Invalid pin assignment for DEBUG_RF5 BUSY pin: DEBUG_RF5_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF5, DEBUG_RF5_DTB1)
+#error Invalid pin assignment for DEBUG_RF5 DTB1 pin: DEBUG_RF5_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF5, DEBUG_RF5_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF5 HSE32RDY pin: DEBUG_RF5_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF5, DEBUG_RF5_LDORDY)
+#error Invalid pin assignment for DEBUG_RF5 LDORDY pin: DEBUG_RF5_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF5, DEBUG_RF5_NRESET)
+#error Invalid pin assignment for DEBUG_RF5 NRESET pin: DEBUG_RF5_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF5, DEBUG_RF5_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF5 SMPSRDY pin: DEBUG_RF5_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF6
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF6, DEBUG_RF6_BUSY)
+#error Invalid pin assignment for DEBUG_RF6 BUSY pin: DEBUG_RF6_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF6, DEBUG_RF6_DTB1)
+#error Invalid pin assignment for DEBUG_RF6 DTB1 pin: DEBUG_RF6_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF6, DEBUG_RF6_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF6 HSE32RDY pin: DEBUG_RF6_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF6, DEBUG_RF6_LDORDY)
+#error Invalid pin assignment for DEBUG_RF6 LDORDY pin: DEBUG_RF6_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF6, DEBUG_RF6_NRESET)
+#error Invalid pin assignment for DEBUG_RF6 NRESET pin: DEBUG_RF6_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF6, DEBUG_RF6_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF6 SMPSRDY pin: DEBUG_RF6_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF7
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF7, DEBUG_RF7_BUSY)
+#error Invalid pin assignment for DEBUG_RF7 BUSY pin: DEBUG_RF7_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF7, DEBUG_RF7_DTB1)
+#error Invalid pin assignment for DEBUG_RF7 DTB1 pin: DEBUG_RF7_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF7, DEBUG_RF7_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF7 HSE32RDY pin: DEBUG_RF7_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF7, DEBUG_RF7_LDORDY)
+#error Invalid pin assignment for DEBUG_RF7 LDORDY pin: DEBUG_RF7_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF7, DEBUG_RF7_NRESET)
+#error Invalid pin assignment for DEBUG_RF7 NRESET pin: DEBUG_RF7_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF7, DEBUG_RF7_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF7 SMPSRDY pin: DEBUG_RF7_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF8
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF8, DEBUG_RF8_BUSY)
+#error Invalid pin assignment for DEBUG_RF8 BUSY pin: DEBUG_RF8_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF8, DEBUG_RF8_DTB1)
+#error Invalid pin assignment for DEBUG_RF8 DTB1 pin: DEBUG_RF8_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF8, DEBUG_RF8_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF8 HSE32RDY pin: DEBUG_RF8_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF8, DEBUG_RF8_LDORDY)
+#error Invalid pin assignment for DEBUG_RF8 LDORDY pin: DEBUG_RF8_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF8, DEBUG_RF8_NRESET)
+#error Invalid pin assignment for DEBUG_RF8 NRESET pin: DEBUG_RF8_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF8, DEBUG_RF8_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF8 SMPSRDY pin: DEBUG_RF8_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF9
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF9, DEBUG_RF9_BUSY)
+#error Invalid pin assignment for DEBUG_RF9 BUSY pin: DEBUG_RF9_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF9, DEBUG_RF9_DTB1)
+#error Invalid pin assignment for DEBUG_RF9 DTB1 pin: DEBUG_RF9_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF9, DEBUG_RF9_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF9 HSE32RDY pin: DEBUG_RF9_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF9, DEBUG_RF9_LDORDY)
+#error Invalid pin assignment for DEBUG_RF9 LDORDY pin: DEBUG_RF9_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF9, DEBUG_RF9_NRESET)
+#error Invalid pin assignment for DEBUG_RF9 NRESET pin: DEBUG_RF9_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF9, DEBUG_RF9_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF9 SMPSRDY pin: DEBUG_RF9_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF10
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF10, DEBUG_RF10_BUSY)
+#error Invalid pin assignment for DEBUG_RF10 BUSY pin: DEBUG_RF10_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF10, DEBUG_RF10_DTB1)
+#error Invalid pin assignment for DEBUG_RF10 DTB1 pin: DEBUG_RF10_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF10, DEBUG_RF10_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF10 HSE32RDY pin: DEBUG_RF10_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF10, DEBUG_RF10_LDORDY)
+#error Invalid pin assignment for DEBUG_RF10 LDORDY pin: DEBUG_RF10_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF10, DEBUG_RF10_NRESET)
+#error Invalid pin assignment for DEBUG_RF10 NRESET pin: DEBUG_RF10_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF10, DEBUG_RF10_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF10 SMPSRDY pin: DEBUG_RF10_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF11
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF11, DEBUG_RF11_BUSY)
+#error Invalid pin assignment for DEBUG_RF11 BUSY pin: DEBUG_RF11_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF11, DEBUG_RF11_DTB1)
+#error Invalid pin assignment for DEBUG_RF11 DTB1 pin: DEBUG_RF11_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF11, DEBUG_RF11_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF11 HSE32RDY pin: DEBUG_RF11_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF11, DEBUG_RF11_LDORDY)
+#error Invalid pin assignment for DEBUG_RF11 LDORDY pin: DEBUG_RF11_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF11, DEBUG_RF11_NRESET)
+#error Invalid pin assignment for DEBUG_RF11 NRESET pin: DEBUG_RF11_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF11, DEBUG_RF11_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF11 SMPSRDY pin: DEBUG_RF11_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF12
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF12, DEBUG_RF12_BUSY)
+#error Invalid pin assignment for DEBUG_RF12 BUSY pin: DEBUG_RF12_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF12, DEBUG_RF12_DTB1)
+#error Invalid pin assignment for DEBUG_RF12 DTB1 pin: DEBUG_RF12_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF12, DEBUG_RF12_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF12 HSE32RDY pin: DEBUG_RF12_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF12, DEBUG_RF12_LDORDY)
+#error Invalid pin assignment for DEBUG_RF12 LDORDY pin: DEBUG_RF12_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF12, DEBUG_RF12_NRESET)
+#error Invalid pin assignment for DEBUG_RF12 NRESET pin: DEBUG_RF12_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF12, DEBUG_RF12_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF12 SMPSRDY pin: DEBUG_RF12_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF13
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF13, DEBUG_RF13_BUSY)
+#error Invalid pin assignment for DEBUG_RF13 BUSY pin: DEBUG_RF13_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF13, DEBUG_RF13_DTB1)
+#error Invalid pin assignment for DEBUG_RF13 DTB1 pin: DEBUG_RF13_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF13, DEBUG_RF13_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF13 HSE32RDY pin: DEBUG_RF13_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF13, DEBUG_RF13_LDORDY)
+#error Invalid pin assignment for DEBUG_RF13 LDORDY pin: DEBUG_RF13_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF13, DEBUG_RF13_NRESET)
+#error Invalid pin assignment for DEBUG_RF13 NRESET pin: DEBUG_RF13_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF13, DEBUG_RF13_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF13 SMPSRDY pin: DEBUG_RF13_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF14
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF14, DEBUG_RF14_BUSY)
+#error Invalid pin assignment for DEBUG_RF14 BUSY pin: DEBUG_RF14_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF14, DEBUG_RF14_DTB1)
+#error Invalid pin assignment for DEBUG_RF14 DTB1 pin: DEBUG_RF14_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF14, DEBUG_RF14_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF14 HSE32RDY pin: DEBUG_RF14_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF14, DEBUG_RF14_LDORDY)
+#error Invalid pin assignment for DEBUG_RF14 LDORDY pin: DEBUG_RF14_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF14, DEBUG_RF14_NRESET)
+#error Invalid pin assignment for DEBUG_RF14 NRESET pin: DEBUG_RF14_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF14, DEBUG_RF14_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF14 SMPSRDY pin: DEBUG_RF14_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF15
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF15, DEBUG_RF15_BUSY)
+#error Invalid pin assignment for DEBUG_RF15 BUSY pin: DEBUG_RF15_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF15, DEBUG_RF15_DTB1)
+#error Invalid pin assignment for DEBUG_RF15 DTB1 pin: DEBUG_RF15_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF15, DEBUG_RF15_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF15 HSE32RDY pin: DEBUG_RF15_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF15, DEBUG_RF15_LDORDY)
+#error Invalid pin assignment for DEBUG_RF15 LDORDY pin: DEBUG_RF15_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF15, DEBUG_RF15_NRESET)
+#error Invalid pin assignment for DEBUG_RF15 NRESET pin: DEBUG_RF15_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF15, DEBUG_RF15_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF15 SMPSRDY pin: DEBUG_RF15_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF16
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF16, DEBUG_RF16_BUSY)
+#error Invalid pin assignment for DEBUG_RF16 BUSY pin: DEBUG_RF16_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF16, DEBUG_RF16_DTB1)
+#error Invalid pin assignment for DEBUG_RF16 DTB1 pin: DEBUG_RF16_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF16, DEBUG_RF16_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF16 HSE32RDY pin: DEBUG_RF16_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF16, DEBUG_RF16_LDORDY)
+#error Invalid pin assignment for DEBUG_RF16 LDORDY pin: DEBUG_RF16_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF16, DEBUG_RF16_NRESET)
+#error Invalid pin assignment for DEBUG_RF16 NRESET pin: DEBUG_RF16_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF16, DEBUG_RF16_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF16 SMPSRDY pin: DEBUG_RF16_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF17
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF17, DEBUG_RF17_BUSY)
+#error Invalid pin assignment for DEBUG_RF17 BUSY pin: DEBUG_RF17_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF17, DEBUG_RF17_DTB1)
+#error Invalid pin assignment for DEBUG_RF17 DTB1 pin: DEBUG_RF17_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF17, DEBUG_RF17_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF17 HSE32RDY pin: DEBUG_RF17_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF17, DEBUG_RF17_LDORDY)
+#error Invalid pin assignment for DEBUG_RF17 LDORDY pin: DEBUG_RF17_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF17, DEBUG_RF17_NRESET)
+#error Invalid pin assignment for DEBUG_RF17 NRESET pin: DEBUG_RF17_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF17, DEBUG_RF17_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF17 SMPSRDY pin: DEBUG_RF17_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF18
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF18, DEBUG_RF18_BUSY)
+#error Invalid pin assignment for DEBUG_RF18 BUSY pin: DEBUG_RF18_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF18, DEBUG_RF18_DTB1)
+#error Invalid pin assignment for DEBUG_RF18 DTB1 pin: DEBUG_RF18_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF18, DEBUG_RF18_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF18 HSE32RDY pin: DEBUG_RF18_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF18, DEBUG_RF18_LDORDY)
+#error Invalid pin assignment for DEBUG_RF18 LDORDY pin: DEBUG_RF18_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF18, DEBUG_RF18_NRESET)
+#error Invalid pin assignment for DEBUG_RF18 NRESET pin: DEBUG_RF18_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF18, DEBUG_RF18_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF18 SMPSRDY pin: DEBUG_RF18_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF19
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF19, DEBUG_RF19_BUSY)
+#error Invalid pin assignment for DEBUG_RF19 BUSY pin: DEBUG_RF19_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF19, DEBUG_RF19_DTB1)
+#error Invalid pin assignment for DEBUG_RF19 DTB1 pin: DEBUG_RF19_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF19, DEBUG_RF19_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF19 HSE32RDY pin: DEBUG_RF19_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF19, DEBUG_RF19_LDORDY)
+#error Invalid pin assignment for DEBUG_RF19 LDORDY pin: DEBUG_RF19_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF19, DEBUG_RF19_NRESET)
+#error Invalid pin assignment for DEBUG_RF19 NRESET pin: DEBUG_RF19_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF19, DEBUG_RF19_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF19 SMPSRDY pin: DEBUG_RF19_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF20
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF20, DEBUG_RF20_BUSY)
+#error Invalid pin assignment for DEBUG_RF20 BUSY pin: DEBUG_RF20_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF20, DEBUG_RF20_DTB1)
+#error Invalid pin assignment for DEBUG_RF20 DTB1 pin: DEBUG_RF20_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF20, DEBUG_RF20_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF20 HSE32RDY pin: DEBUG_RF20_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF20, DEBUG_RF20_LDORDY)
+#error Invalid pin assignment for DEBUG_RF20 LDORDY pin: DEBUG_RF20_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF20, DEBUG_RF20_NRESET)
+#error Invalid pin assignment for DEBUG_RF20 NRESET pin: DEBUG_RF20_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF20, DEBUG_RF20_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF20 SMPSRDY pin: DEBUG_RF20_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF21
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF21, DEBUG_RF21_BUSY)
+#error Invalid pin assignment for DEBUG_RF21 BUSY pin: DEBUG_RF21_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF21, DEBUG_RF21_DTB1)
+#error Invalid pin assignment for DEBUG_RF21 DTB1 pin: DEBUG_RF21_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF21, DEBUG_RF21_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF21 HSE32RDY pin: DEBUG_RF21_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF21, DEBUG_RF21_LDORDY)
+#error Invalid pin assignment for DEBUG_RF21 LDORDY pin: DEBUG_RF21_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF21, DEBUG_RF21_NRESET)
+#error Invalid pin assignment for DEBUG_RF21 NRESET pin: DEBUG_RF21_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF21, DEBUG_RF21_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF21 SMPSRDY pin: DEBUG_RF21_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF22
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF22, DEBUG_RF22_BUSY)
+#error Invalid pin assignment for DEBUG_RF22 BUSY pin: DEBUG_RF22_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF22, DEBUG_RF22_DTB1)
+#error Invalid pin assignment for DEBUG_RF22 DTB1 pin: DEBUG_RF22_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF22, DEBUG_RF22_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF22 HSE32RDY pin: DEBUG_RF22_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF22, DEBUG_RF22_LDORDY)
+#error Invalid pin assignment for DEBUG_RF22 LDORDY pin: DEBUG_RF22_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF22, DEBUG_RF22_NRESET)
+#error Invalid pin assignment for DEBUG_RF22 NRESET pin: DEBUG_RF22_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF22, DEBUG_RF22_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF22 SMPSRDY pin: DEBUG_RF22_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF23
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF23, DEBUG_RF23_BUSY)
+#error Invalid pin assignment for DEBUG_RF23 BUSY pin: DEBUG_RF23_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF23, DEBUG_RF23_DTB1)
+#error Invalid pin assignment for DEBUG_RF23 DTB1 pin: DEBUG_RF23_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF23, DEBUG_RF23_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF23 HSE32RDY pin: DEBUG_RF23_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF23, DEBUG_RF23_LDORDY)
+#error Invalid pin assignment for DEBUG_RF23 LDORDY pin: DEBUG_RF23_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF23, DEBUG_RF23_NRESET)
+#error Invalid pin assignment for DEBUG_RF23 NRESET pin: DEBUG_RF23_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF23, DEBUG_RF23_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF23 SMPSRDY pin: DEBUG_RF23_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF24
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF24, DEBUG_RF24_BUSY)
+#error Invalid pin assignment for DEBUG_RF24 BUSY pin: DEBUG_RF24_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF24, DEBUG_RF24_DTB1)
+#error Invalid pin assignment for DEBUG_RF24 DTB1 pin: DEBUG_RF24_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF24, DEBUG_RF24_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF24 HSE32RDY pin: DEBUG_RF24_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF24, DEBUG_RF24_LDORDY)
+#error Invalid pin assignment for DEBUG_RF24 LDORDY pin: DEBUG_RF24_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF24, DEBUG_RF24_NRESET)
+#error Invalid pin assignment for DEBUG_RF24 NRESET pin: DEBUG_RF24_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF24, DEBUG_RF24_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF24 SMPSRDY pin: DEBUG_RF24_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF25
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF25, DEBUG_RF25_BUSY)
+#error Invalid pin assignment for DEBUG_RF25 BUSY pin: DEBUG_RF25_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF25, DEBUG_RF25_DTB1)
+#error Invalid pin assignment for DEBUG_RF25 DTB1 pin: DEBUG_RF25_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF25, DEBUG_RF25_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF25 HSE32RDY pin: DEBUG_RF25_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF25, DEBUG_RF25_LDORDY)
+#error Invalid pin assignment for DEBUG_RF25 LDORDY pin: DEBUG_RF25_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF25, DEBUG_RF25_NRESET)
+#error Invalid pin assignment for DEBUG_RF25 NRESET pin: DEBUG_RF25_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF25, DEBUG_RF25_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF25 SMPSRDY pin: DEBUG_RF25_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF26
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF26, DEBUG_RF26_BUSY)
+#error Invalid pin assignment for DEBUG_RF26 BUSY pin: DEBUG_RF26_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF26, DEBUG_RF26_DTB1)
+#error Invalid pin assignment for DEBUG_RF26 DTB1 pin: DEBUG_RF26_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF26, DEBUG_RF26_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF26 HSE32RDY pin: DEBUG_RF26_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF26, DEBUG_RF26_LDORDY)
+#error Invalid pin assignment for DEBUG_RF26 LDORDY pin: DEBUG_RF26_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF26, DEBUG_RF26_NRESET)
+#error Invalid pin assignment for DEBUG_RF26 NRESET pin: DEBUG_RF26_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF26, DEBUG_RF26_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF26 SMPSRDY pin: DEBUG_RF26_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF27
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF27, DEBUG_RF27_BUSY)
+#error Invalid pin assignment for DEBUG_RF27 BUSY pin: DEBUG_RF27_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF27, DEBUG_RF27_DTB1)
+#error Invalid pin assignment for DEBUG_RF27 DTB1 pin: DEBUG_RF27_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF27, DEBUG_RF27_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF27 HSE32RDY pin: DEBUG_RF27_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF27, DEBUG_RF27_LDORDY)
+#error Invalid pin assignment for DEBUG_RF27 LDORDY pin: DEBUG_RF27_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF27, DEBUG_RF27_NRESET)
+#error Invalid pin assignment for DEBUG_RF27 NRESET pin: DEBUG_RF27_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF27, DEBUG_RF27_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF27 SMPSRDY pin: DEBUG_RF27_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF28
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF28, DEBUG_RF28_BUSY)
+#error Invalid pin assignment for DEBUG_RF28 BUSY pin: DEBUG_RF28_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF28, DEBUG_RF28_DTB1)
+#error Invalid pin assignment for DEBUG_RF28 DTB1 pin: DEBUG_RF28_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF28, DEBUG_RF28_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF28 HSE32RDY pin: DEBUG_RF28_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF28, DEBUG_RF28_LDORDY)
+#error Invalid pin assignment for DEBUG_RF28 LDORDY pin: DEBUG_RF28_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF28, DEBUG_RF28_NRESET)
+#error Invalid pin assignment for DEBUG_RF28 NRESET pin: DEBUG_RF28_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF28, DEBUG_RF28_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF28 SMPSRDY pin: DEBUG_RF28_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF29
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF29, DEBUG_RF29_BUSY)
+#error Invalid pin assignment for DEBUG_RF29 BUSY pin: DEBUG_RF29_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF29, DEBUG_RF29_DTB1)
+#error Invalid pin assignment for DEBUG_RF29 DTB1 pin: DEBUG_RF29_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF29, DEBUG_RF29_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF29 HSE32RDY pin: DEBUG_RF29_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF29, DEBUG_RF29_LDORDY)
+#error Invalid pin assignment for DEBUG_RF29 LDORDY pin: DEBUG_RF29_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF29, DEBUG_RF29_NRESET)
+#error Invalid pin assignment for DEBUG_RF29 NRESET pin: DEBUG_RF29_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF29, DEBUG_RF29_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF29 SMPSRDY pin: DEBUG_RF29_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF30
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF30, DEBUG_RF30_BUSY)
+#error Invalid pin assignment for DEBUG_RF30 BUSY pin: DEBUG_RF30_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF30, DEBUG_RF30_DTB1)
+#error Invalid pin assignment for DEBUG_RF30 DTB1 pin: DEBUG_RF30_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF30, DEBUG_RF30_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF30 HSE32RDY pin: DEBUG_RF30_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF30, DEBUG_RF30_LDORDY)
+#error Invalid pin assignment for DEBUG_RF30 LDORDY pin: DEBUG_RF30_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF30, DEBUG_RF30_NRESET)
+#error Invalid pin assignment for DEBUG_RF30 NRESET pin: DEBUG_RF30_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF30, DEBUG_RF30_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF30 SMPSRDY pin: DEBUG_RF30_SMPSRDY
+#endif
+#endif
+
+#ifdef USE_DEBUG_RF31
+#if !FIND_VALUE_DEBUG_RF_BUSY(_DEBUG_RF31, DEBUG_RF31_BUSY)
+#error Invalid pin assignment for DEBUG_RF31 BUSY pin: DEBUG_RF31_BUSY
+#endif
+#if !FIND_VALUE_DEBUG_RF_DTB1(_DEBUG_RF31, DEBUG_RF31_DTB1)
+#error Invalid pin assignment for DEBUG_RF31 DTB1 pin: DEBUG_RF31_DTB1
+#endif
+#if !FIND_VALUE_DEBUG_RF_HSE32RDY(_DEBUG_RF31, DEBUG_RF31_HSE32RDY)
+#error Invalid pin assignment for DEBUG_RF31 HSE32RDY pin: DEBUG_RF31_HSE32RDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_LDORDY(_DEBUG_RF31, DEBUG_RF31_LDORDY)
+#error Invalid pin assignment for DEBUG_RF31 LDORDY pin: DEBUG_RF31_LDORDY
+#endif
+#if !FIND_VALUE_DEBUG_RF_NRESET(_DEBUG_RF31, DEBUG_RF31_NRESET)
+#error Invalid pin assignment for DEBUG_RF31 NRESET pin: DEBUG_RF31_NRESET
+#endif
+#if !FIND_VALUE_DEBUG_RF_SMPSRDY(_DEBUG_RF31, DEBUG_RF31_SMPSRDY)
+#error Invalid pin assignment for DEBUG_RF31 SMPSRDY pin: DEBUG_RF31_SMPSRDY
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_subghzspi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_subghzspi.h
new file mode 100644
index 000000000..24277afcd
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_debug_subghzspi.h
@@ -0,0 +1,32 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398817
+ */
+
+#define FIND_VALUE_DEBUG_SUBGHZSPI_MISOOUT_inner(INDEX,PIN) I2C##_DEBUG_SUBGHZSPI_##PIN
+#define FIND_VALUE_DEBUG_SUBGHZSPI_MISOOUT(INDEX,PIN) FIND_VALUE_DEBUG_SUBGHZSPI_MISOOUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_SUBGHZSPI_MOSIOUT_inner(INDEX,PIN) I2C##_DEBUG_SUBGHZSPI_##PIN
+#define FIND_VALUE_DEBUG_SUBGHZSPI_MOSIOUT(INDEX,PIN) FIND_VALUE_DEBUG_SUBGHZSPI_MOSIOUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_SUBGHZSPI_NSSOUT_inner(INDEX,PIN) I2C##_DEBUG_SUBGHZSPI_##PIN
+#define FIND_VALUE_DEBUG_SUBGHZSPI_NSSOUT(INDEX,PIN) FIND_VALUE_DEBUG_SUBGHZSPI_NSSOUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_DEBUG_SUBGHZSPI_SCKOUT_inner(INDEX,PIN) I2C##_DEBUG_SUBGHZSPI_##PIN
+#define FIND_VALUE_DEBUG_SUBGHZSPI_SCKOUT(INDEX,PIN) FIND_VALUE_DEBUG_SUBGHZSPI_SCKOUT_inner(INDEX,PIN)
+
+#ifdef USE_DEBUG_SUBGHZSPI0
+#if !FIND_VALUE_DEBUG_SUBGHZSPI_MISOOUT(_DEBUG_SUBGHZSPI0, DEBUG_SUBGHZSPI0_MISOOUT)
+#error Invalid pin assignment for DEBUG_SUBGHZSPI0 MISOOUT pin: DEBUG_SUBGHZSPI0_MISOOUT
+#endif
+#if !FIND_VALUE_DEBUG_SUBGHZSPI_MOSIOUT(_DEBUG_SUBGHZSPI0, DEBUG_SUBGHZSPI0_MOSIOUT)
+#error Invalid pin assignment for DEBUG_SUBGHZSPI0 MOSIOUT pin: DEBUG_SUBGHZSPI0_MOSIOUT
+#endif
+#if !FIND_VALUE_DEBUG_SUBGHZSPI_NSSOUT(_DEBUG_SUBGHZSPI0, DEBUG_SUBGHZSPI0_NSSOUT)
+#error Invalid pin assignment for DEBUG_SUBGHZSPI0 NSSOUT pin: DEBUG_SUBGHZSPI0_NSSOUT
+#endif
+#if !FIND_VALUE_DEBUG_SUBGHZSPI_SCKOUT(_DEBUG_SUBGHZSPI0, DEBUG_SUBGHZSPI0_SCKOUT)
+#error Invalid pin assignment for DEBUG_SUBGHZSPI0 SCKOUT pin: DEBUG_SUBGHZSPI0_SCKOUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dfsdm.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dfsdm.h
new file mode 100644
index 000000000..7d9cc6459
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dfsdm.h
@@ -0,0 +1,164 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398834
+ */
+
+#define FIND_VALUE_DFSDM_CKIN0_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN0(INDEX,PIN) FIND_VALUE_DFSDM_CKIN0_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN1_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN1(INDEX,PIN) FIND_VALUE_DFSDM_CKIN1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN2_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN2(INDEX,PIN) FIND_VALUE_DFSDM_CKIN2_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN3_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN3(INDEX,PIN) FIND_VALUE_DFSDM_CKIN3_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN4_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN4(INDEX,PIN) FIND_VALUE_DFSDM_CKIN4_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN5_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN5(INDEX,PIN) FIND_VALUE_DFSDM_CKIN5_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN6_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN6(INDEX,PIN) FIND_VALUE_DFSDM_CKIN6_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKIN7_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKIN7(INDEX,PIN) FIND_VALUE_DFSDM_CKIN7_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_CKOUT_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_CKOUT(INDEX,PIN) FIND_VALUE_DFSDM_CKOUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN0_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN0(INDEX,PIN) FIND_VALUE_DFSDM_DATIN0_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN1_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN1(INDEX,PIN) FIND_VALUE_DFSDM_DATIN1_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN2_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN2(INDEX,PIN) FIND_VALUE_DFSDM_DATIN2_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN3_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN3(INDEX,PIN) FIND_VALUE_DFSDM_DATIN3_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN4_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN4(INDEX,PIN) FIND_VALUE_DFSDM_DATIN4_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN5_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN5(INDEX,PIN) FIND_VALUE_DFSDM_DATIN5_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN6_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN6(INDEX,PIN) FIND_VALUE_DFSDM_DATIN6_inner(INDEX,PIN)
+
+#define FIND_VALUE_DFSDM_DATIN7_inner(INDEX,PIN) I2C##_DFSDM_##PIN
+#define FIND_VALUE_DFSDM_DATIN7(INDEX,PIN) FIND_VALUE_DFSDM_DATIN7_inner(INDEX,PIN)
+
+#ifdef USE_DFSDM0
+#if !FIND_VALUE_DFSDM_CKIN0(_DFSDM0, DFSDM0_CKIN0)
+#error Invalid pin assignment for DFSDM0 CKIN0 pin: DFSDM0_CKIN0
+#endif
+#if !FIND_VALUE_DFSDM_CKIN1(_DFSDM0, DFSDM0_CKIN1)
+#error Invalid pin assignment for DFSDM0 CKIN1 pin: DFSDM0_CKIN1
+#endif
+#if !FIND_VALUE_DFSDM_CKIN2(_DFSDM0, DFSDM0_CKIN2)
+#error Invalid pin assignment for DFSDM0 CKIN2 pin: DFSDM0_CKIN2
+#endif
+#if !FIND_VALUE_DFSDM_CKIN3(_DFSDM0, DFSDM0_CKIN3)
+#error Invalid pin assignment for DFSDM0 CKIN3 pin: DFSDM0_CKIN3
+#endif
+#if !FIND_VALUE_DFSDM_CKIN4(_DFSDM0, DFSDM0_CKIN4)
+#error Invalid pin assignment for DFSDM0 CKIN4 pin: DFSDM0_CKIN4
+#endif
+#if !FIND_VALUE_DFSDM_CKIN5(_DFSDM0, DFSDM0_CKIN5)
+#error Invalid pin assignment for DFSDM0 CKIN5 pin: DFSDM0_CKIN5
+#endif
+#if !FIND_VALUE_DFSDM_CKIN6(_DFSDM0, DFSDM0_CKIN6)
+#error Invalid pin assignment for DFSDM0 CKIN6 pin: DFSDM0_CKIN6
+#endif
+#if !FIND_VALUE_DFSDM_CKIN7(_DFSDM0, DFSDM0_CKIN7)
+#error Invalid pin assignment for DFSDM0 CKIN7 pin: DFSDM0_CKIN7
+#endif
+#if !FIND_VALUE_DFSDM_CKOUT(_DFSDM0, DFSDM0_CKOUT)
+#error Invalid pin assignment for DFSDM0 CKOUT pin: DFSDM0_CKOUT
+#endif
+#if !FIND_VALUE_DFSDM_DATIN0(_DFSDM0, DFSDM0_DATIN0)
+#error Invalid pin assignment for DFSDM0 DATIN0 pin: DFSDM0_DATIN0
+#endif
+#if !FIND_VALUE_DFSDM_DATIN1(_DFSDM0, DFSDM0_DATIN1)
+#error Invalid pin assignment for DFSDM0 DATIN1 pin: DFSDM0_DATIN1
+#endif
+#if !FIND_VALUE_DFSDM_DATIN2(_DFSDM0, DFSDM0_DATIN2)
+#error Invalid pin assignment for DFSDM0 DATIN2 pin: DFSDM0_DATIN2
+#endif
+#if !FIND_VALUE_DFSDM_DATIN3(_DFSDM0, DFSDM0_DATIN3)
+#error Invalid pin assignment for DFSDM0 DATIN3 pin: DFSDM0_DATIN3
+#endif
+#if !FIND_VALUE_DFSDM_DATIN4(_DFSDM0, DFSDM0_DATIN4)
+#error Invalid pin assignment for DFSDM0 DATIN4 pin: DFSDM0_DATIN4
+#endif
+#if !FIND_VALUE_DFSDM_DATIN5(_DFSDM0, DFSDM0_DATIN5)
+#error Invalid pin assignment for DFSDM0 DATIN5 pin: DFSDM0_DATIN5
+#endif
+#if !FIND_VALUE_DFSDM_DATIN6(_DFSDM0, DFSDM0_DATIN6)
+#error Invalid pin assignment for DFSDM0 DATIN6 pin: DFSDM0_DATIN6
+#endif
+#if !FIND_VALUE_DFSDM_DATIN7(_DFSDM0, DFSDM0_DATIN7)
+#error Invalid pin assignment for DFSDM0 DATIN7 pin: DFSDM0_DATIN7
+#endif
+#endif
+
+#ifdef USE_DFSDM1
+#if !FIND_VALUE_DFSDM_CKIN0(_DFSDM1, DFSDM1_CKIN0)
+#error Invalid pin assignment for DFSDM1 CKIN0 pin: DFSDM1_CKIN0
+#endif
+#if !FIND_VALUE_DFSDM_CKIN1(_DFSDM1, DFSDM1_CKIN1)
+#error Invalid pin assignment for DFSDM1 CKIN1 pin: DFSDM1_CKIN1
+#endif
+#if !FIND_VALUE_DFSDM_CKIN2(_DFSDM1, DFSDM1_CKIN2)
+#error Invalid pin assignment for DFSDM1 CKIN2 pin: DFSDM1_CKIN2
+#endif
+#if !FIND_VALUE_DFSDM_CKIN3(_DFSDM1, DFSDM1_CKIN3)
+#error Invalid pin assignment for DFSDM1 CKIN3 pin: DFSDM1_CKIN3
+#endif
+#if !FIND_VALUE_DFSDM_CKIN4(_DFSDM1, DFSDM1_CKIN4)
+#error Invalid pin assignment for DFSDM1 CKIN4 pin: DFSDM1_CKIN4
+#endif
+#if !FIND_VALUE_DFSDM_CKIN5(_DFSDM1, DFSDM1_CKIN5)
+#error Invalid pin assignment for DFSDM1 CKIN5 pin: DFSDM1_CKIN5
+#endif
+#if !FIND_VALUE_DFSDM_CKIN6(_DFSDM1, DFSDM1_CKIN6)
+#error Invalid pin assignment for DFSDM1 CKIN6 pin: DFSDM1_CKIN6
+#endif
+#if !FIND_VALUE_DFSDM_CKIN7(_DFSDM1, DFSDM1_CKIN7)
+#error Invalid pin assignment for DFSDM1 CKIN7 pin: DFSDM1_CKIN7
+#endif
+#if !FIND_VALUE_DFSDM_CKOUT(_DFSDM1, DFSDM1_CKOUT)
+#error Invalid pin assignment for DFSDM1 CKOUT pin: DFSDM1_CKOUT
+#endif
+#if !FIND_VALUE_DFSDM_DATIN0(_DFSDM1, DFSDM1_DATIN0)
+#error Invalid pin assignment for DFSDM1 DATIN0 pin: DFSDM1_DATIN0
+#endif
+#if !FIND_VALUE_DFSDM_DATIN1(_DFSDM1, DFSDM1_DATIN1)
+#error Invalid pin assignment for DFSDM1 DATIN1 pin: DFSDM1_DATIN1
+#endif
+#if !FIND_VALUE_DFSDM_DATIN2(_DFSDM1, DFSDM1_DATIN2)
+#error Invalid pin assignment for DFSDM1 DATIN2 pin: DFSDM1_DATIN2
+#endif
+#if !FIND_VALUE_DFSDM_DATIN3(_DFSDM1, DFSDM1_DATIN3)
+#error Invalid pin assignment for DFSDM1 DATIN3 pin: DFSDM1_DATIN3
+#endif
+#if !FIND_VALUE_DFSDM_DATIN4(_DFSDM1, DFSDM1_DATIN4)
+#error Invalid pin assignment for DFSDM1 DATIN4 pin: DFSDM1_DATIN4
+#endif
+#if !FIND_VALUE_DFSDM_DATIN5(_DFSDM1, DFSDM1_DATIN5)
+#error Invalid pin assignment for DFSDM1 DATIN5 pin: DFSDM1_DATIN5
+#endif
+#if !FIND_VALUE_DFSDM_DATIN6(_DFSDM1, DFSDM1_DATIN6)
+#error Invalid pin assignment for DFSDM1 DATIN6 pin: DFSDM1_DATIN6
+#endif
+#if !FIND_VALUE_DFSDM_DATIN7(_DFSDM1, DFSDM1_DATIN7)
+#error Invalid pin assignment for DFSDM1 DATIN7 pin: DFSDM1_DATIN7
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dsihost.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dsihost.h
new file mode 100644
index 000000000..9a639bd53
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_dsihost.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398870
+ */
+
+#define FIND_VALUE_DSIHOST_TE_inner(INDEX,PIN) I2C##_DSIHOST_##PIN
+#define FIND_VALUE_DSIHOST_TE(INDEX,PIN) FIND_VALUE_DSIHOST_TE_inner(INDEX,PIN)
+
+#ifdef USE_DSIHOST0
+#if !FIND_VALUE_DSIHOST_TE(_DSIHOST0, DSIHOST0_TE)
+#error Invalid pin assignment for DSIHOST0 TE pin: DSIHOST0_TE
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eth.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eth.h
new file mode 100644
index 000000000..da12ad05c
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eth.h
@@ -0,0 +1,434 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.398883
+ */
+
+#define FIND_VALUE_ETH_CLK_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_CLK(INDEX,PIN) FIND_VALUE_ETH_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_CLK125_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_CLK125(INDEX,PIN) FIND_VALUE_ETH_CLK125_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_COL_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_COL(INDEX,PIN) FIND_VALUE_ETH_COL_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_CRS_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_CRS(INDEX,PIN) FIND_VALUE_ETH_CRS_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_CRS_DV_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_CRS_DV(INDEX,PIN) FIND_VALUE_ETH_CRS_DV_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_GTX_CLK_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_GTX_CLK(INDEX,PIN) FIND_VALUE_ETH_GTX_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_MDC_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_MDC(INDEX,PIN) FIND_VALUE_ETH_MDC_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_MDIO_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_MDIO(INDEX,PIN) FIND_VALUE_ETH_MDIO_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_PHY_INTN_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_PHY_INTN(INDEX,PIN) FIND_VALUE_ETH_PHY_INTN_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_PPS_OUT_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_PPS_OUT(INDEX,PIN) FIND_VALUE_ETH_PPS_OUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_REF_CLK_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_REF_CLK(INDEX,PIN) FIND_VALUE_ETH_REF_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD0_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD0(INDEX,PIN) FIND_VALUE_ETH_RXD0_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD1_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD1(INDEX,PIN) FIND_VALUE_ETH_RXD1_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD2_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD2(INDEX,PIN) FIND_VALUE_ETH_RXD2_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD3_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD3(INDEX,PIN) FIND_VALUE_ETH_RXD3_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD4_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD4(INDEX,PIN) FIND_VALUE_ETH_RXD4_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD5_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD5(INDEX,PIN) FIND_VALUE_ETH_RXD5_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD6_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD6(INDEX,PIN) FIND_VALUE_ETH_RXD6_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RXD7_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RXD7(INDEX,PIN) FIND_VALUE_ETH_RXD7_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RX_CLK_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RX_CLK(INDEX,PIN) FIND_VALUE_ETH_RX_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RX_CTL_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RX_CTL(INDEX,PIN) FIND_VALUE_ETH_RX_CTL_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RX_DV_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RX_DV(INDEX,PIN) FIND_VALUE_ETH_RX_DV_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_RX_ER_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_RX_ER(INDEX,PIN) FIND_VALUE_ETH_RX_ER_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD0_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD0(INDEX,PIN) FIND_VALUE_ETH_TXD0_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD1_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD1(INDEX,PIN) FIND_VALUE_ETH_TXD1_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD2_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD2(INDEX,PIN) FIND_VALUE_ETH_TXD2_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD3_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD3(INDEX,PIN) FIND_VALUE_ETH_TXD3_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD4_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD4(INDEX,PIN) FIND_VALUE_ETH_TXD4_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD5_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD5(INDEX,PIN) FIND_VALUE_ETH_TXD5_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD6_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD6(INDEX,PIN) FIND_VALUE_ETH_TXD6_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TXD7_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TXD7(INDEX,PIN) FIND_VALUE_ETH_TXD7_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TX_CLK_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TX_CLK(INDEX,PIN) FIND_VALUE_ETH_TX_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TX_CTL_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TX_CTL(INDEX,PIN) FIND_VALUE_ETH_TX_CTL_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TX_EN_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TX_EN(INDEX,PIN) FIND_VALUE_ETH_TX_EN_inner(INDEX,PIN)
+
+#define FIND_VALUE_ETH_TX_ER_inner(INDEX,PIN) I2C##_ETH_##PIN
+#define FIND_VALUE_ETH_TX_ER(INDEX,PIN) FIND_VALUE_ETH_TX_ER_inner(INDEX,PIN)
+
+#ifdef USE_ETH0
+#if !FIND_VALUE_ETH_CLK(_ETH0, ETH0_CLK)
+#error Invalid pin assignment for ETH0 CLK pin: ETH0_CLK
+#endif
+#if !FIND_VALUE_ETH_CLK125(_ETH0, ETH0_CLK125)
+#error Invalid pin assignment for ETH0 CLK125 pin: ETH0_CLK125
+#endif
+#if !FIND_VALUE_ETH_COL(_ETH0, ETH0_COL)
+#error Invalid pin assignment for ETH0 COL pin: ETH0_COL
+#endif
+#if !FIND_VALUE_ETH_CRS(_ETH0, ETH0_CRS)
+#error Invalid pin assignment for ETH0 CRS pin: ETH0_CRS
+#endif
+#if !FIND_VALUE_ETH_CRS_DV(_ETH0, ETH0_CRS_DV)
+#error Invalid pin assignment for ETH0 CRS_DV pin: ETH0_CRS_DV
+#endif
+#if !FIND_VALUE_ETH_GTX_CLK(_ETH0, ETH0_GTX_CLK)
+#error Invalid pin assignment for ETH0 GTX_CLK pin: ETH0_GTX_CLK
+#endif
+#if !FIND_VALUE_ETH_MDC(_ETH0, ETH0_MDC)
+#error Invalid pin assignment for ETH0 MDC pin: ETH0_MDC
+#endif
+#if !FIND_VALUE_ETH_MDIO(_ETH0, ETH0_MDIO)
+#error Invalid pin assignment for ETH0 MDIO pin: ETH0_MDIO
+#endif
+#if !FIND_VALUE_ETH_PHY_INTN(_ETH0, ETH0_PHY_INTN)
+#error Invalid pin assignment for ETH0 PHY_INTN pin: ETH0_PHY_INTN
+#endif
+#if !FIND_VALUE_ETH_PPS_OUT(_ETH0, ETH0_PPS_OUT)
+#error Invalid pin assignment for ETH0 PPS_OUT pin: ETH0_PPS_OUT
+#endif
+#if !FIND_VALUE_ETH_REF_CLK(_ETH0, ETH0_REF_CLK)
+#error Invalid pin assignment for ETH0 REF_CLK pin: ETH0_REF_CLK
+#endif
+#if !FIND_VALUE_ETH_RXD0(_ETH0, ETH0_RXD0)
+#error Invalid pin assignment for ETH0 RXD0 pin: ETH0_RXD0
+#endif
+#if !FIND_VALUE_ETH_RXD1(_ETH0, ETH0_RXD1)
+#error Invalid pin assignment for ETH0 RXD1 pin: ETH0_RXD1
+#endif
+#if !FIND_VALUE_ETH_RXD2(_ETH0, ETH0_RXD2)
+#error Invalid pin assignment for ETH0 RXD2 pin: ETH0_RXD2
+#endif
+#if !FIND_VALUE_ETH_RXD3(_ETH0, ETH0_RXD3)
+#error Invalid pin assignment for ETH0 RXD3 pin: ETH0_RXD3
+#endif
+#if !FIND_VALUE_ETH_RXD4(_ETH0, ETH0_RXD4)
+#error Invalid pin assignment for ETH0 RXD4 pin: ETH0_RXD4
+#endif
+#if !FIND_VALUE_ETH_RXD5(_ETH0, ETH0_RXD5)
+#error Invalid pin assignment for ETH0 RXD5 pin: ETH0_RXD5
+#endif
+#if !FIND_VALUE_ETH_RXD6(_ETH0, ETH0_RXD6)
+#error Invalid pin assignment for ETH0 RXD6 pin: ETH0_RXD6
+#endif
+#if !FIND_VALUE_ETH_RXD7(_ETH0, ETH0_RXD7)
+#error Invalid pin assignment for ETH0 RXD7 pin: ETH0_RXD7
+#endif
+#if !FIND_VALUE_ETH_RX_CLK(_ETH0, ETH0_RX_CLK)
+#error Invalid pin assignment for ETH0 RX_CLK pin: ETH0_RX_CLK
+#endif
+#if !FIND_VALUE_ETH_RX_CTL(_ETH0, ETH0_RX_CTL)
+#error Invalid pin assignment for ETH0 RX_CTL pin: ETH0_RX_CTL
+#endif
+#if !FIND_VALUE_ETH_RX_DV(_ETH0, ETH0_RX_DV)
+#error Invalid pin assignment for ETH0 RX_DV pin: ETH0_RX_DV
+#endif
+#if !FIND_VALUE_ETH_RX_ER(_ETH0, ETH0_RX_ER)
+#error Invalid pin assignment for ETH0 RX_ER pin: ETH0_RX_ER
+#endif
+#if !FIND_VALUE_ETH_TXD0(_ETH0, ETH0_TXD0)
+#error Invalid pin assignment for ETH0 TXD0 pin: ETH0_TXD0
+#endif
+#if !FIND_VALUE_ETH_TXD1(_ETH0, ETH0_TXD1)
+#error Invalid pin assignment for ETH0 TXD1 pin: ETH0_TXD1
+#endif
+#if !FIND_VALUE_ETH_TXD2(_ETH0, ETH0_TXD2)
+#error Invalid pin assignment for ETH0 TXD2 pin: ETH0_TXD2
+#endif
+#if !FIND_VALUE_ETH_TXD3(_ETH0, ETH0_TXD3)
+#error Invalid pin assignment for ETH0 TXD3 pin: ETH0_TXD3
+#endif
+#if !FIND_VALUE_ETH_TXD4(_ETH0, ETH0_TXD4)
+#error Invalid pin assignment for ETH0 TXD4 pin: ETH0_TXD4
+#endif
+#if !FIND_VALUE_ETH_TXD5(_ETH0, ETH0_TXD5)
+#error Invalid pin assignment for ETH0 TXD5 pin: ETH0_TXD5
+#endif
+#if !FIND_VALUE_ETH_TXD6(_ETH0, ETH0_TXD6)
+#error Invalid pin assignment for ETH0 TXD6 pin: ETH0_TXD6
+#endif
+#if !FIND_VALUE_ETH_TXD7(_ETH0, ETH0_TXD7)
+#error Invalid pin assignment for ETH0 TXD7 pin: ETH0_TXD7
+#endif
+#if !FIND_VALUE_ETH_TX_CLK(_ETH0, ETH0_TX_CLK)
+#error Invalid pin assignment for ETH0 TX_CLK pin: ETH0_TX_CLK
+#endif
+#if !FIND_VALUE_ETH_TX_CTL(_ETH0, ETH0_TX_CTL)
+#error Invalid pin assignment for ETH0 TX_CTL pin: ETH0_TX_CTL
+#endif
+#if !FIND_VALUE_ETH_TX_EN(_ETH0, ETH0_TX_EN)
+#error Invalid pin assignment for ETH0 TX_EN pin: ETH0_TX_EN
+#endif
+#if !FIND_VALUE_ETH_TX_ER(_ETH0, ETH0_TX_ER)
+#error Invalid pin assignment for ETH0 TX_ER pin: ETH0_TX_ER
+#endif
+#endif
+
+#ifdef USE_ETH1
+#if !FIND_VALUE_ETH_CLK(_ETH1, ETH1_CLK)
+#error Invalid pin assignment for ETH1 CLK pin: ETH1_CLK
+#endif
+#if !FIND_VALUE_ETH_CLK125(_ETH1, ETH1_CLK125)
+#error Invalid pin assignment for ETH1 CLK125 pin: ETH1_CLK125
+#endif
+#if !FIND_VALUE_ETH_COL(_ETH1, ETH1_COL)
+#error Invalid pin assignment for ETH1 COL pin: ETH1_COL
+#endif
+#if !FIND_VALUE_ETH_CRS(_ETH1, ETH1_CRS)
+#error Invalid pin assignment for ETH1 CRS pin: ETH1_CRS
+#endif
+#if !FIND_VALUE_ETH_CRS_DV(_ETH1, ETH1_CRS_DV)
+#error Invalid pin assignment for ETH1 CRS_DV pin: ETH1_CRS_DV
+#endif
+#if !FIND_VALUE_ETH_GTX_CLK(_ETH1, ETH1_GTX_CLK)
+#error Invalid pin assignment for ETH1 GTX_CLK pin: ETH1_GTX_CLK
+#endif
+#if !FIND_VALUE_ETH_MDC(_ETH1, ETH1_MDC)
+#error Invalid pin assignment for ETH1 MDC pin: ETH1_MDC
+#endif
+#if !FIND_VALUE_ETH_MDIO(_ETH1, ETH1_MDIO)
+#error Invalid pin assignment for ETH1 MDIO pin: ETH1_MDIO
+#endif
+#if !FIND_VALUE_ETH_PHY_INTN(_ETH1, ETH1_PHY_INTN)
+#error Invalid pin assignment for ETH1 PHY_INTN pin: ETH1_PHY_INTN
+#endif
+#if !FIND_VALUE_ETH_PPS_OUT(_ETH1, ETH1_PPS_OUT)
+#error Invalid pin assignment for ETH1 PPS_OUT pin: ETH1_PPS_OUT
+#endif
+#if !FIND_VALUE_ETH_REF_CLK(_ETH1, ETH1_REF_CLK)
+#error Invalid pin assignment for ETH1 REF_CLK pin: ETH1_REF_CLK
+#endif
+#if !FIND_VALUE_ETH_RXD0(_ETH1, ETH1_RXD0)
+#error Invalid pin assignment for ETH1 RXD0 pin: ETH1_RXD0
+#endif
+#if !FIND_VALUE_ETH_RXD1(_ETH1, ETH1_RXD1)
+#error Invalid pin assignment for ETH1 RXD1 pin: ETH1_RXD1
+#endif
+#if !FIND_VALUE_ETH_RXD2(_ETH1, ETH1_RXD2)
+#error Invalid pin assignment for ETH1 RXD2 pin: ETH1_RXD2
+#endif
+#if !FIND_VALUE_ETH_RXD3(_ETH1, ETH1_RXD3)
+#error Invalid pin assignment for ETH1 RXD3 pin: ETH1_RXD3
+#endif
+#if !FIND_VALUE_ETH_RXD4(_ETH1, ETH1_RXD4)
+#error Invalid pin assignment for ETH1 RXD4 pin: ETH1_RXD4
+#endif
+#if !FIND_VALUE_ETH_RXD5(_ETH1, ETH1_RXD5)
+#error Invalid pin assignment for ETH1 RXD5 pin: ETH1_RXD5
+#endif
+#if !FIND_VALUE_ETH_RXD6(_ETH1, ETH1_RXD6)
+#error Invalid pin assignment for ETH1 RXD6 pin: ETH1_RXD6
+#endif
+#if !FIND_VALUE_ETH_RXD7(_ETH1, ETH1_RXD7)
+#error Invalid pin assignment for ETH1 RXD7 pin: ETH1_RXD7
+#endif
+#if !FIND_VALUE_ETH_RX_CLK(_ETH1, ETH1_RX_CLK)
+#error Invalid pin assignment for ETH1 RX_CLK pin: ETH1_RX_CLK
+#endif
+#if !FIND_VALUE_ETH_RX_CTL(_ETH1, ETH1_RX_CTL)
+#error Invalid pin assignment for ETH1 RX_CTL pin: ETH1_RX_CTL
+#endif
+#if !FIND_VALUE_ETH_RX_DV(_ETH1, ETH1_RX_DV)
+#error Invalid pin assignment for ETH1 RX_DV pin: ETH1_RX_DV
+#endif
+#if !FIND_VALUE_ETH_RX_ER(_ETH1, ETH1_RX_ER)
+#error Invalid pin assignment for ETH1 RX_ER pin: ETH1_RX_ER
+#endif
+#if !FIND_VALUE_ETH_TXD0(_ETH1, ETH1_TXD0)
+#error Invalid pin assignment for ETH1 TXD0 pin: ETH1_TXD0
+#endif
+#if !FIND_VALUE_ETH_TXD1(_ETH1, ETH1_TXD1)
+#error Invalid pin assignment for ETH1 TXD1 pin: ETH1_TXD1
+#endif
+#if !FIND_VALUE_ETH_TXD2(_ETH1, ETH1_TXD2)
+#error Invalid pin assignment for ETH1 TXD2 pin: ETH1_TXD2
+#endif
+#if !FIND_VALUE_ETH_TXD3(_ETH1, ETH1_TXD3)
+#error Invalid pin assignment for ETH1 TXD3 pin: ETH1_TXD3
+#endif
+#if !FIND_VALUE_ETH_TXD4(_ETH1, ETH1_TXD4)
+#error Invalid pin assignment for ETH1 TXD4 pin: ETH1_TXD4
+#endif
+#if !FIND_VALUE_ETH_TXD5(_ETH1, ETH1_TXD5)
+#error Invalid pin assignment for ETH1 TXD5 pin: ETH1_TXD5
+#endif
+#if !FIND_VALUE_ETH_TXD6(_ETH1, ETH1_TXD6)
+#error Invalid pin assignment for ETH1 TXD6 pin: ETH1_TXD6
+#endif
+#if !FIND_VALUE_ETH_TXD7(_ETH1, ETH1_TXD7)
+#error Invalid pin assignment for ETH1 TXD7 pin: ETH1_TXD7
+#endif
+#if !FIND_VALUE_ETH_TX_CLK(_ETH1, ETH1_TX_CLK)
+#error Invalid pin assignment for ETH1 TX_CLK pin: ETH1_TX_CLK
+#endif
+#if !FIND_VALUE_ETH_TX_CTL(_ETH1, ETH1_TX_CTL)
+#error Invalid pin assignment for ETH1 TX_CTL pin: ETH1_TX_CTL
+#endif
+#if !FIND_VALUE_ETH_TX_EN(_ETH1, ETH1_TX_EN)
+#error Invalid pin assignment for ETH1 TX_EN pin: ETH1_TX_EN
+#endif
+#if !FIND_VALUE_ETH_TX_ER(_ETH1, ETH1_TX_ER)
+#error Invalid pin assignment for ETH1 TX_ER pin: ETH1_TX_ER
+#endif
+#endif
+
+#ifdef USE_ETH2
+#if !FIND_VALUE_ETH_CLK(_ETH2, ETH2_CLK)
+#error Invalid pin assignment for ETH2 CLK pin: ETH2_CLK
+#endif
+#if !FIND_VALUE_ETH_CLK125(_ETH2, ETH2_CLK125)
+#error Invalid pin assignment for ETH2 CLK125 pin: ETH2_CLK125
+#endif
+#if !FIND_VALUE_ETH_COL(_ETH2, ETH2_COL)
+#error Invalid pin assignment for ETH2 COL pin: ETH2_COL
+#endif
+#if !FIND_VALUE_ETH_CRS(_ETH2, ETH2_CRS)
+#error Invalid pin assignment for ETH2 CRS pin: ETH2_CRS
+#endif
+#if !FIND_VALUE_ETH_CRS_DV(_ETH2, ETH2_CRS_DV)
+#error Invalid pin assignment for ETH2 CRS_DV pin: ETH2_CRS_DV
+#endif
+#if !FIND_VALUE_ETH_GTX_CLK(_ETH2, ETH2_GTX_CLK)
+#error Invalid pin assignment for ETH2 GTX_CLK pin: ETH2_GTX_CLK
+#endif
+#if !FIND_VALUE_ETH_MDC(_ETH2, ETH2_MDC)
+#error Invalid pin assignment for ETH2 MDC pin: ETH2_MDC
+#endif
+#if !FIND_VALUE_ETH_MDIO(_ETH2, ETH2_MDIO)
+#error Invalid pin assignment for ETH2 MDIO pin: ETH2_MDIO
+#endif
+#if !FIND_VALUE_ETH_PHY_INTN(_ETH2, ETH2_PHY_INTN)
+#error Invalid pin assignment for ETH2 PHY_INTN pin: ETH2_PHY_INTN
+#endif
+#if !FIND_VALUE_ETH_PPS_OUT(_ETH2, ETH2_PPS_OUT)
+#error Invalid pin assignment for ETH2 PPS_OUT pin: ETH2_PPS_OUT
+#endif
+#if !FIND_VALUE_ETH_REF_CLK(_ETH2, ETH2_REF_CLK)
+#error Invalid pin assignment for ETH2 REF_CLK pin: ETH2_REF_CLK
+#endif
+#if !FIND_VALUE_ETH_RXD0(_ETH2, ETH2_RXD0)
+#error Invalid pin assignment for ETH2 RXD0 pin: ETH2_RXD0
+#endif
+#if !FIND_VALUE_ETH_RXD1(_ETH2, ETH2_RXD1)
+#error Invalid pin assignment for ETH2 RXD1 pin: ETH2_RXD1
+#endif
+#if !FIND_VALUE_ETH_RXD2(_ETH2, ETH2_RXD2)
+#error Invalid pin assignment for ETH2 RXD2 pin: ETH2_RXD2
+#endif
+#if !FIND_VALUE_ETH_RXD3(_ETH2, ETH2_RXD3)
+#error Invalid pin assignment for ETH2 RXD3 pin: ETH2_RXD3
+#endif
+#if !FIND_VALUE_ETH_RXD4(_ETH2, ETH2_RXD4)
+#error Invalid pin assignment for ETH2 RXD4 pin: ETH2_RXD4
+#endif
+#if !FIND_VALUE_ETH_RXD5(_ETH2, ETH2_RXD5)
+#error Invalid pin assignment for ETH2 RXD5 pin: ETH2_RXD5
+#endif
+#if !FIND_VALUE_ETH_RXD6(_ETH2, ETH2_RXD6)
+#error Invalid pin assignment for ETH2 RXD6 pin: ETH2_RXD6
+#endif
+#if !FIND_VALUE_ETH_RXD7(_ETH2, ETH2_RXD7)
+#error Invalid pin assignment for ETH2 RXD7 pin: ETH2_RXD7
+#endif
+#if !FIND_VALUE_ETH_RX_CLK(_ETH2, ETH2_RX_CLK)
+#error Invalid pin assignment for ETH2 RX_CLK pin: ETH2_RX_CLK
+#endif
+#if !FIND_VALUE_ETH_RX_CTL(_ETH2, ETH2_RX_CTL)
+#error Invalid pin assignment for ETH2 RX_CTL pin: ETH2_RX_CTL
+#endif
+#if !FIND_VALUE_ETH_RX_DV(_ETH2, ETH2_RX_DV)
+#error Invalid pin assignment for ETH2 RX_DV pin: ETH2_RX_DV
+#endif
+#if !FIND_VALUE_ETH_RX_ER(_ETH2, ETH2_RX_ER)
+#error Invalid pin assignment for ETH2 RX_ER pin: ETH2_RX_ER
+#endif
+#if !FIND_VALUE_ETH_TXD0(_ETH2, ETH2_TXD0)
+#error Invalid pin assignment for ETH2 TXD0 pin: ETH2_TXD0
+#endif
+#if !FIND_VALUE_ETH_TXD1(_ETH2, ETH2_TXD1)
+#error Invalid pin assignment for ETH2 TXD1 pin: ETH2_TXD1
+#endif
+#if !FIND_VALUE_ETH_TXD2(_ETH2, ETH2_TXD2)
+#error Invalid pin assignment for ETH2 TXD2 pin: ETH2_TXD2
+#endif
+#if !FIND_VALUE_ETH_TXD3(_ETH2, ETH2_TXD3)
+#error Invalid pin assignment for ETH2 TXD3 pin: ETH2_TXD3
+#endif
+#if !FIND_VALUE_ETH_TXD4(_ETH2, ETH2_TXD4)
+#error Invalid pin assignment for ETH2 TXD4 pin: ETH2_TXD4
+#endif
+#if !FIND_VALUE_ETH_TXD5(_ETH2, ETH2_TXD5)
+#error Invalid pin assignment for ETH2 TXD5 pin: ETH2_TXD5
+#endif
+#if !FIND_VALUE_ETH_TXD6(_ETH2, ETH2_TXD6)
+#error Invalid pin assignment for ETH2 TXD6 pin: ETH2_TXD6
+#endif
+#if !FIND_VALUE_ETH_TXD7(_ETH2, ETH2_TXD7)
+#error Invalid pin assignment for ETH2 TXD7 pin: ETH2_TXD7
+#endif
+#if !FIND_VALUE_ETH_TX_CLK(_ETH2, ETH2_TX_CLK)
+#error Invalid pin assignment for ETH2 TX_CLK pin: ETH2_TX_CLK
+#endif
+#if !FIND_VALUE_ETH_TX_CTL(_ETH2, ETH2_TX_CTL)
+#error Invalid pin assignment for ETH2 TX_CTL pin: ETH2_TX_CTL
+#endif
+#if !FIND_VALUE_ETH_TX_EN(_ETH2, ETH2_TX_EN)
+#error Invalid pin assignment for ETH2 TX_EN pin: ETH2_TX_EN
+#endif
+#if !FIND_VALUE_ETH_TX_ER(_ETH2, ETH2_TX_ER)
+#error Invalid pin assignment for ETH2 TX_ER pin: ETH2_TX_ER
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eventout.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eventout.h
new file mode 100644
index 000000000..1afaba7e1
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_eventout.h
@@ -0,0 +1,8 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.399035
+ */
+
+#ifdef USE_EVENTOUT0
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ext_pa.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ext_pa.h
new file mode 100644
index 000000000..e954a5f32
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ext_pa.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.399046
+ */
+
+#define FIND_VALUE_EXT_PA_TX_inner(INDEX,PIN) I2C##_EXT_PA_##PIN
+#define FIND_VALUE_EXT_PA_TX(INDEX,PIN) FIND_VALUE_EXT_PA_TX_inner(INDEX,PIN)
+
+#ifdef USE_EXT_PA0
+#if !FIND_VALUE_EXT_PA_TX(_EXT_PA0, EXT_PA0_TX)
+#error Invalid pin assignment for EXT_PA0 TX pin: EXT_PA0_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fdcan.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fdcan.h
new file mode 100644
index 000000000..763e85ffb
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fdcan.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.399059
+ */
+
+#define FIND_VALUE_FDCAN_RX_inner(INDEX,PIN) I2C##_FDCAN_##PIN
+#define FIND_VALUE_FDCAN_RX(INDEX,PIN) FIND_VALUE_FDCAN_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_FDCAN_TX_inner(INDEX,PIN) I2C##_FDCAN_##PIN
+#define FIND_VALUE_FDCAN_TX(INDEX,PIN) FIND_VALUE_FDCAN_TX_inner(INDEX,PIN)
+
+#ifdef USE_FDCAN0
+#if !FIND_VALUE_FDCAN_RX(_FDCAN0, FDCAN0_RX)
+#error Invalid pin assignment for FDCAN0 RX pin: FDCAN0_RX
+#endif
+#if !FIND_VALUE_FDCAN_TX(_FDCAN0, FDCAN0_TX)
+#error Invalid pin assignment for FDCAN0 TX pin: FDCAN0_TX
+#endif
+#endif
+
+#ifdef USE_FDCAN1
+#if !FIND_VALUE_FDCAN_RX(_FDCAN1, FDCAN1_RX)
+#error Invalid pin assignment for FDCAN1 RX pin: FDCAN1_RX
+#endif
+#if !FIND_VALUE_FDCAN_TX(_FDCAN1, FDCAN1_TX)
+#error Invalid pin assignment for FDCAN1 TX pin: FDCAN1_TX
+#endif
+#endif
+
+#ifdef USE_FDCAN2
+#if !FIND_VALUE_FDCAN_RX(_FDCAN2, FDCAN2_RX)
+#error Invalid pin assignment for FDCAN2 RX pin: FDCAN2_RX
+#endif
+#if !FIND_VALUE_FDCAN_TX(_FDCAN2, FDCAN2_TX)
+#error Invalid pin assignment for FDCAN2 TX pin: FDCAN2_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc.h
new file mode 100644
index 000000000..d443c6294
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc.h
@@ -0,0 +1,10658 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.399075
+ */
+
+#define FIND_VALUE_FMC_A0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A0(INDEX,PIN) FIND_VALUE_FMC_A0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A1(INDEX,PIN) FIND_VALUE_FMC_A1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A10_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A10(INDEX,PIN) FIND_VALUE_FMC_A10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A11_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A11(INDEX,PIN) FIND_VALUE_FMC_A11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A12_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A12(INDEX,PIN) FIND_VALUE_FMC_A12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A13_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A13(INDEX,PIN) FIND_VALUE_FMC_A13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A14_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A14(INDEX,PIN) FIND_VALUE_FMC_A14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A15_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A15(INDEX,PIN) FIND_VALUE_FMC_A15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A16_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A16(INDEX,PIN) FIND_VALUE_FMC_A16_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A17_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A17(INDEX,PIN) FIND_VALUE_FMC_A17_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A18_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A18(INDEX,PIN) FIND_VALUE_FMC_A18_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A19_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A19(INDEX,PIN) FIND_VALUE_FMC_A19_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A2(INDEX,PIN) FIND_VALUE_FMC_A2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A20_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A20(INDEX,PIN) FIND_VALUE_FMC_A20_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A21_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A21(INDEX,PIN) FIND_VALUE_FMC_A21_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A22_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A22(INDEX,PIN) FIND_VALUE_FMC_A22_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A23_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A23(INDEX,PIN) FIND_VALUE_FMC_A23_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A24_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A24(INDEX,PIN) FIND_VALUE_FMC_A24_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A25_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A25(INDEX,PIN) FIND_VALUE_FMC_A25_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A3(INDEX,PIN) FIND_VALUE_FMC_A3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A4_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A4(INDEX,PIN) FIND_VALUE_FMC_A4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A5_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A5(INDEX,PIN) FIND_VALUE_FMC_A5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A6_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A6(INDEX,PIN) FIND_VALUE_FMC_A6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A7_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A7(INDEX,PIN) FIND_VALUE_FMC_A7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A8_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A8(INDEX,PIN) FIND_VALUE_FMC_A8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_A9_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_A9(INDEX,PIN) FIND_VALUE_FMC_A9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_ALE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_ALE(INDEX,PIN) FIND_VALUE_FMC_ALE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_BA0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_BA0(INDEX,PIN) FIND_VALUE_FMC_BA0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_BA1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_BA1(INDEX,PIN) FIND_VALUE_FMC_BA1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_CD_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_CD(INDEX,PIN) FIND_VALUE_FMC_CD_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_CLE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_CLE(INDEX,PIN) FIND_VALUE_FMC_CLE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_CLK_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_CLK(INDEX,PIN) FIND_VALUE_FMC_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D0(INDEX,PIN) FIND_VALUE_FMC_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D1(INDEX,PIN) FIND_VALUE_FMC_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D10_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D10(INDEX,PIN) FIND_VALUE_FMC_D10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D11_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D11(INDEX,PIN) FIND_VALUE_FMC_D11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D12_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D12(INDEX,PIN) FIND_VALUE_FMC_D12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D13_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D13(INDEX,PIN) FIND_VALUE_FMC_D13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D14_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D14(INDEX,PIN) FIND_VALUE_FMC_D14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D15_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D15(INDEX,PIN) FIND_VALUE_FMC_D15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D16_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D16(INDEX,PIN) FIND_VALUE_FMC_D16_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D17_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D17(INDEX,PIN) FIND_VALUE_FMC_D17_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D18_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D18(INDEX,PIN) FIND_VALUE_FMC_D18_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D19_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D19(INDEX,PIN) FIND_VALUE_FMC_D19_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D2(INDEX,PIN) FIND_VALUE_FMC_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D20_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D20(INDEX,PIN) FIND_VALUE_FMC_D20_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D21_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D21(INDEX,PIN) FIND_VALUE_FMC_D21_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D22_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D22(INDEX,PIN) FIND_VALUE_FMC_D22_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D23_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D23(INDEX,PIN) FIND_VALUE_FMC_D23_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D24_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D24(INDEX,PIN) FIND_VALUE_FMC_D24_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D25_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D25(INDEX,PIN) FIND_VALUE_FMC_D25_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D26_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D26(INDEX,PIN) FIND_VALUE_FMC_D26_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D27_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D27(INDEX,PIN) FIND_VALUE_FMC_D27_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D28_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D28(INDEX,PIN) FIND_VALUE_FMC_D28_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D29_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D29(INDEX,PIN) FIND_VALUE_FMC_D29_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D3(INDEX,PIN) FIND_VALUE_FMC_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D30_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D30(INDEX,PIN) FIND_VALUE_FMC_D30_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D31_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D31(INDEX,PIN) FIND_VALUE_FMC_D31_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D4_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D4(INDEX,PIN) FIND_VALUE_FMC_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D5_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D5(INDEX,PIN) FIND_VALUE_FMC_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D6_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D6(INDEX,PIN) FIND_VALUE_FMC_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D7_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D7(INDEX,PIN) FIND_VALUE_FMC_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D8_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D8(INDEX,PIN) FIND_VALUE_FMC_D8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_D9_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_D9(INDEX,PIN) FIND_VALUE_FMC_D9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA0(INDEX,PIN) FIND_VALUE_FMC_DA0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA1(INDEX,PIN) FIND_VALUE_FMC_DA1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA10_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA10(INDEX,PIN) FIND_VALUE_FMC_DA10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA11_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA11(INDEX,PIN) FIND_VALUE_FMC_DA11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA12_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA12(INDEX,PIN) FIND_VALUE_FMC_DA12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA13_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA13(INDEX,PIN) FIND_VALUE_FMC_DA13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA14_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA14(INDEX,PIN) FIND_VALUE_FMC_DA14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA15_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA15(INDEX,PIN) FIND_VALUE_FMC_DA15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA2(INDEX,PIN) FIND_VALUE_FMC_DA2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA3(INDEX,PIN) FIND_VALUE_FMC_DA3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA4_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA4(INDEX,PIN) FIND_VALUE_FMC_DA4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA5_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA5(INDEX,PIN) FIND_VALUE_FMC_DA5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA6_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA6(INDEX,PIN) FIND_VALUE_FMC_DA6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA7_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA7(INDEX,PIN) FIND_VALUE_FMC_DA7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA8_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA8(INDEX,PIN) FIND_VALUE_FMC_DA8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_DA9_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_DA9(INDEX,PIN) FIND_VALUE_FMC_DA9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_INT_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_INT(INDEX,PIN) FIND_VALUE_FMC_INT_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_INT2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_INT2(INDEX,PIN) FIND_VALUE_FMC_INT2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_INT3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_INT3(INDEX,PIN) FIND_VALUE_FMC_INT3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_INTR_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_INTR(INDEX,PIN) FIND_VALUE_FMC_INTR_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NBL0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NBL0(INDEX,PIN) FIND_VALUE_FMC_NBL0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NBL1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NBL1(INDEX,PIN) FIND_VALUE_FMC_NBL1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NBL2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NBL2(INDEX,PIN) FIND_VALUE_FMC_NBL2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NBL3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NBL3(INDEX,PIN) FIND_VALUE_FMC_NBL3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NCE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NCE(INDEX,PIN) FIND_VALUE_FMC_NCE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NCE2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NCE2(INDEX,PIN) FIND_VALUE_FMC_NCE2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NCE3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NCE3(INDEX,PIN) FIND_VALUE_FMC_NCE3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NE1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NE1(INDEX,PIN) FIND_VALUE_FMC_NE1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NE2_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NE2(INDEX,PIN) FIND_VALUE_FMC_NE2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NE3_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NE3(INDEX,PIN) FIND_VALUE_FMC_NE3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NE4_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NE4(INDEX,PIN) FIND_VALUE_FMC_NE4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NIORD_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NIORD(INDEX,PIN) FIND_VALUE_FMC_NIORD_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NIOWR_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NIOWR(INDEX,PIN) FIND_VALUE_FMC_NIOWR_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NL_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NL(INDEX,PIN) FIND_VALUE_FMC_NL_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NOE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NOE(INDEX,PIN) FIND_VALUE_FMC_NOE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NREG_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NREG(INDEX,PIN) FIND_VALUE_FMC_NREG_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NWAIT_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NWAIT(INDEX,PIN) FIND_VALUE_FMC_NWAIT_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NWE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_NWE(INDEX,PIN) FIND_VALUE_FMC_NWE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDCKE0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDCKE0(INDEX,PIN) FIND_VALUE_FMC_SDCKE0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDCKE1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDCKE1(INDEX,PIN) FIND_VALUE_FMC_SDCKE1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDCLK_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDCLK(INDEX,PIN) FIND_VALUE_FMC_SDCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDNCAS_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDNCAS(INDEX,PIN) FIND_VALUE_FMC_SDNCAS_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDNE0_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDNE0(INDEX,PIN) FIND_VALUE_FMC_SDNE0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDNE1_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDNE1(INDEX,PIN) FIND_VALUE_FMC_SDNE1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDNRAS_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDNRAS(INDEX,PIN) FIND_VALUE_FMC_SDNRAS_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_SDNWE_inner(INDEX,PIN) I2C##_FMC_##PIN
+#define FIND_VALUE_FMC_SDNWE(INDEX,PIN) FIND_VALUE_FMC_SDNWE_inner(INDEX,PIN)
+
+#ifdef USE_FMC0
+#if !FIND_VALUE_FMC_A0(_FMC0, FMC0_A0)
+#error Invalid pin assignment for FMC0 A0 pin: FMC0_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC0, FMC0_A1)
+#error Invalid pin assignment for FMC0 A1 pin: FMC0_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC0, FMC0_A10)
+#error Invalid pin assignment for FMC0 A10 pin: FMC0_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC0, FMC0_A11)
+#error Invalid pin assignment for FMC0 A11 pin: FMC0_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC0, FMC0_A12)
+#error Invalid pin assignment for FMC0 A12 pin: FMC0_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC0, FMC0_A13)
+#error Invalid pin assignment for FMC0 A13 pin: FMC0_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC0, FMC0_A14)
+#error Invalid pin assignment for FMC0 A14 pin: FMC0_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC0, FMC0_A15)
+#error Invalid pin assignment for FMC0 A15 pin: FMC0_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC0, FMC0_A16)
+#error Invalid pin assignment for FMC0 A16 pin: FMC0_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC0, FMC0_A17)
+#error Invalid pin assignment for FMC0 A17 pin: FMC0_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC0, FMC0_A18)
+#error Invalid pin assignment for FMC0 A18 pin: FMC0_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC0, FMC0_A19)
+#error Invalid pin assignment for FMC0 A19 pin: FMC0_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC0, FMC0_A2)
+#error Invalid pin assignment for FMC0 A2 pin: FMC0_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC0, FMC0_A20)
+#error Invalid pin assignment for FMC0 A20 pin: FMC0_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC0, FMC0_A21)
+#error Invalid pin assignment for FMC0 A21 pin: FMC0_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC0, FMC0_A22)
+#error Invalid pin assignment for FMC0 A22 pin: FMC0_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC0, FMC0_A23)
+#error Invalid pin assignment for FMC0 A23 pin: FMC0_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC0, FMC0_A24)
+#error Invalid pin assignment for FMC0 A24 pin: FMC0_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC0, FMC0_A25)
+#error Invalid pin assignment for FMC0 A25 pin: FMC0_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC0, FMC0_A3)
+#error Invalid pin assignment for FMC0 A3 pin: FMC0_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC0, FMC0_A4)
+#error Invalid pin assignment for FMC0 A4 pin: FMC0_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC0, FMC0_A5)
+#error Invalid pin assignment for FMC0 A5 pin: FMC0_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC0, FMC0_A6)
+#error Invalid pin assignment for FMC0 A6 pin: FMC0_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC0, FMC0_A7)
+#error Invalid pin assignment for FMC0 A7 pin: FMC0_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC0, FMC0_A8)
+#error Invalid pin assignment for FMC0 A8 pin: FMC0_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC0, FMC0_A9)
+#error Invalid pin assignment for FMC0 A9 pin: FMC0_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC0, FMC0_ALE)
+#error Invalid pin assignment for FMC0 ALE pin: FMC0_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC0, FMC0_BA0)
+#error Invalid pin assignment for FMC0 BA0 pin: FMC0_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC0, FMC0_BA1)
+#error Invalid pin assignment for FMC0 BA1 pin: FMC0_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC0, FMC0_CD)
+#error Invalid pin assignment for FMC0 CD pin: FMC0_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC0, FMC0_CLE)
+#error Invalid pin assignment for FMC0 CLE pin: FMC0_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC0, FMC0_CLK)
+#error Invalid pin assignment for FMC0 CLK pin: FMC0_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC0, FMC0_D0)
+#error Invalid pin assignment for FMC0 D0 pin: FMC0_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC0, FMC0_D1)
+#error Invalid pin assignment for FMC0 D1 pin: FMC0_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC0, FMC0_D10)
+#error Invalid pin assignment for FMC0 D10 pin: FMC0_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC0, FMC0_D11)
+#error Invalid pin assignment for FMC0 D11 pin: FMC0_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC0, FMC0_D12)
+#error Invalid pin assignment for FMC0 D12 pin: FMC0_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC0, FMC0_D13)
+#error Invalid pin assignment for FMC0 D13 pin: FMC0_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC0, FMC0_D14)
+#error Invalid pin assignment for FMC0 D14 pin: FMC0_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC0, FMC0_D15)
+#error Invalid pin assignment for FMC0 D15 pin: FMC0_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC0, FMC0_D16)
+#error Invalid pin assignment for FMC0 D16 pin: FMC0_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC0, FMC0_D17)
+#error Invalid pin assignment for FMC0 D17 pin: FMC0_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC0, FMC0_D18)
+#error Invalid pin assignment for FMC0 D18 pin: FMC0_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC0, FMC0_D19)
+#error Invalid pin assignment for FMC0 D19 pin: FMC0_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC0, FMC0_D2)
+#error Invalid pin assignment for FMC0 D2 pin: FMC0_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC0, FMC0_D20)
+#error Invalid pin assignment for FMC0 D20 pin: FMC0_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC0, FMC0_D21)
+#error Invalid pin assignment for FMC0 D21 pin: FMC0_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC0, FMC0_D22)
+#error Invalid pin assignment for FMC0 D22 pin: FMC0_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC0, FMC0_D23)
+#error Invalid pin assignment for FMC0 D23 pin: FMC0_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC0, FMC0_D24)
+#error Invalid pin assignment for FMC0 D24 pin: FMC0_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC0, FMC0_D25)
+#error Invalid pin assignment for FMC0 D25 pin: FMC0_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC0, FMC0_D26)
+#error Invalid pin assignment for FMC0 D26 pin: FMC0_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC0, FMC0_D27)
+#error Invalid pin assignment for FMC0 D27 pin: FMC0_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC0, FMC0_D28)
+#error Invalid pin assignment for FMC0 D28 pin: FMC0_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC0, FMC0_D29)
+#error Invalid pin assignment for FMC0 D29 pin: FMC0_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC0, FMC0_D3)
+#error Invalid pin assignment for FMC0 D3 pin: FMC0_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC0, FMC0_D30)
+#error Invalid pin assignment for FMC0 D30 pin: FMC0_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC0, FMC0_D31)
+#error Invalid pin assignment for FMC0 D31 pin: FMC0_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC0, FMC0_D4)
+#error Invalid pin assignment for FMC0 D4 pin: FMC0_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC0, FMC0_D5)
+#error Invalid pin assignment for FMC0 D5 pin: FMC0_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC0, FMC0_D6)
+#error Invalid pin assignment for FMC0 D6 pin: FMC0_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC0, FMC0_D7)
+#error Invalid pin assignment for FMC0 D7 pin: FMC0_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC0, FMC0_D8)
+#error Invalid pin assignment for FMC0 D8 pin: FMC0_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC0, FMC0_D9)
+#error Invalid pin assignment for FMC0 D9 pin: FMC0_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC0, FMC0_DA0)
+#error Invalid pin assignment for FMC0 DA0 pin: FMC0_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC0, FMC0_DA1)
+#error Invalid pin assignment for FMC0 DA1 pin: FMC0_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC0, FMC0_DA10)
+#error Invalid pin assignment for FMC0 DA10 pin: FMC0_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC0, FMC0_DA11)
+#error Invalid pin assignment for FMC0 DA11 pin: FMC0_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC0, FMC0_DA12)
+#error Invalid pin assignment for FMC0 DA12 pin: FMC0_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC0, FMC0_DA13)
+#error Invalid pin assignment for FMC0 DA13 pin: FMC0_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC0, FMC0_DA14)
+#error Invalid pin assignment for FMC0 DA14 pin: FMC0_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC0, FMC0_DA15)
+#error Invalid pin assignment for FMC0 DA15 pin: FMC0_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC0, FMC0_DA2)
+#error Invalid pin assignment for FMC0 DA2 pin: FMC0_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC0, FMC0_DA3)
+#error Invalid pin assignment for FMC0 DA3 pin: FMC0_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC0, FMC0_DA4)
+#error Invalid pin assignment for FMC0 DA4 pin: FMC0_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC0, FMC0_DA5)
+#error Invalid pin assignment for FMC0 DA5 pin: FMC0_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC0, FMC0_DA6)
+#error Invalid pin assignment for FMC0 DA6 pin: FMC0_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC0, FMC0_DA7)
+#error Invalid pin assignment for FMC0 DA7 pin: FMC0_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC0, FMC0_DA8)
+#error Invalid pin assignment for FMC0 DA8 pin: FMC0_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC0, FMC0_DA9)
+#error Invalid pin assignment for FMC0 DA9 pin: FMC0_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC0, FMC0_INT)
+#error Invalid pin assignment for FMC0 INT pin: FMC0_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC0, FMC0_INT2)
+#error Invalid pin assignment for FMC0 INT2 pin: FMC0_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC0, FMC0_INT3)
+#error Invalid pin assignment for FMC0 INT3 pin: FMC0_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC0, FMC0_INTR)
+#error Invalid pin assignment for FMC0 INTR pin: FMC0_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC0, FMC0_NBL0)
+#error Invalid pin assignment for FMC0 NBL0 pin: FMC0_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC0, FMC0_NBL1)
+#error Invalid pin assignment for FMC0 NBL1 pin: FMC0_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC0, FMC0_NBL2)
+#error Invalid pin assignment for FMC0 NBL2 pin: FMC0_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC0, FMC0_NBL3)
+#error Invalid pin assignment for FMC0 NBL3 pin: FMC0_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC0, FMC0_NCE)
+#error Invalid pin assignment for FMC0 NCE pin: FMC0_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC0, FMC0_NCE2)
+#error Invalid pin assignment for FMC0 NCE2 pin: FMC0_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC0, FMC0_NCE3)
+#error Invalid pin assignment for FMC0 NCE3 pin: FMC0_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC0, FMC0_NE1)
+#error Invalid pin assignment for FMC0 NE1 pin: FMC0_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC0, FMC0_NE2)
+#error Invalid pin assignment for FMC0 NE2 pin: FMC0_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC0, FMC0_NE3)
+#error Invalid pin assignment for FMC0 NE3 pin: FMC0_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC0, FMC0_NE4)
+#error Invalid pin assignment for FMC0 NE4 pin: FMC0_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC0, FMC0_NIORD)
+#error Invalid pin assignment for FMC0 NIORD pin: FMC0_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC0, FMC0_NIOWR)
+#error Invalid pin assignment for FMC0 NIOWR pin: FMC0_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC0, FMC0_NL)
+#error Invalid pin assignment for FMC0 NL pin: FMC0_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC0, FMC0_NOE)
+#error Invalid pin assignment for FMC0 NOE pin: FMC0_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC0, FMC0_NREG)
+#error Invalid pin assignment for FMC0 NREG pin: FMC0_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC0, FMC0_NWAIT)
+#error Invalid pin assignment for FMC0 NWAIT pin: FMC0_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC0, FMC0_NWE)
+#error Invalid pin assignment for FMC0 NWE pin: FMC0_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC0, FMC0_SDCKE0)
+#error Invalid pin assignment for FMC0 SDCKE0 pin: FMC0_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC0, FMC0_SDCKE1)
+#error Invalid pin assignment for FMC0 SDCKE1 pin: FMC0_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC0, FMC0_SDCLK)
+#error Invalid pin assignment for FMC0 SDCLK pin: FMC0_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC0, FMC0_SDNCAS)
+#error Invalid pin assignment for FMC0 SDNCAS pin: FMC0_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC0, FMC0_SDNE0)
+#error Invalid pin assignment for FMC0 SDNE0 pin: FMC0_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC0, FMC0_SDNE1)
+#error Invalid pin assignment for FMC0 SDNE1 pin: FMC0_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC0, FMC0_SDNRAS)
+#error Invalid pin assignment for FMC0 SDNRAS pin: FMC0_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC0, FMC0_SDNWE)
+#error Invalid pin assignment for FMC0 SDNWE pin: FMC0_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC1
+#if !FIND_VALUE_FMC_A0(_FMC1, FMC1_A0)
+#error Invalid pin assignment for FMC1 A0 pin: FMC1_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC1, FMC1_A1)
+#error Invalid pin assignment for FMC1 A1 pin: FMC1_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC1, FMC1_A10)
+#error Invalid pin assignment for FMC1 A10 pin: FMC1_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC1, FMC1_A11)
+#error Invalid pin assignment for FMC1 A11 pin: FMC1_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC1, FMC1_A12)
+#error Invalid pin assignment for FMC1 A12 pin: FMC1_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC1, FMC1_A13)
+#error Invalid pin assignment for FMC1 A13 pin: FMC1_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC1, FMC1_A14)
+#error Invalid pin assignment for FMC1 A14 pin: FMC1_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC1, FMC1_A15)
+#error Invalid pin assignment for FMC1 A15 pin: FMC1_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC1, FMC1_A16)
+#error Invalid pin assignment for FMC1 A16 pin: FMC1_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC1, FMC1_A17)
+#error Invalid pin assignment for FMC1 A17 pin: FMC1_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC1, FMC1_A18)
+#error Invalid pin assignment for FMC1 A18 pin: FMC1_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC1, FMC1_A19)
+#error Invalid pin assignment for FMC1 A19 pin: FMC1_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC1, FMC1_A2)
+#error Invalid pin assignment for FMC1 A2 pin: FMC1_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC1, FMC1_A20)
+#error Invalid pin assignment for FMC1 A20 pin: FMC1_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC1, FMC1_A21)
+#error Invalid pin assignment for FMC1 A21 pin: FMC1_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC1, FMC1_A22)
+#error Invalid pin assignment for FMC1 A22 pin: FMC1_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC1, FMC1_A23)
+#error Invalid pin assignment for FMC1 A23 pin: FMC1_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC1, FMC1_A24)
+#error Invalid pin assignment for FMC1 A24 pin: FMC1_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC1, FMC1_A25)
+#error Invalid pin assignment for FMC1 A25 pin: FMC1_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC1, FMC1_A3)
+#error Invalid pin assignment for FMC1 A3 pin: FMC1_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC1, FMC1_A4)
+#error Invalid pin assignment for FMC1 A4 pin: FMC1_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC1, FMC1_A5)
+#error Invalid pin assignment for FMC1 A5 pin: FMC1_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC1, FMC1_A6)
+#error Invalid pin assignment for FMC1 A6 pin: FMC1_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC1, FMC1_A7)
+#error Invalid pin assignment for FMC1 A7 pin: FMC1_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC1, FMC1_A8)
+#error Invalid pin assignment for FMC1 A8 pin: FMC1_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC1, FMC1_A9)
+#error Invalid pin assignment for FMC1 A9 pin: FMC1_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC1, FMC1_ALE)
+#error Invalid pin assignment for FMC1 ALE pin: FMC1_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC1, FMC1_BA0)
+#error Invalid pin assignment for FMC1 BA0 pin: FMC1_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC1, FMC1_BA1)
+#error Invalid pin assignment for FMC1 BA1 pin: FMC1_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC1, FMC1_CD)
+#error Invalid pin assignment for FMC1 CD pin: FMC1_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC1, FMC1_CLE)
+#error Invalid pin assignment for FMC1 CLE pin: FMC1_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC1, FMC1_CLK)
+#error Invalid pin assignment for FMC1 CLK pin: FMC1_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC1, FMC1_D0)
+#error Invalid pin assignment for FMC1 D0 pin: FMC1_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC1, FMC1_D1)
+#error Invalid pin assignment for FMC1 D1 pin: FMC1_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC1, FMC1_D10)
+#error Invalid pin assignment for FMC1 D10 pin: FMC1_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC1, FMC1_D11)
+#error Invalid pin assignment for FMC1 D11 pin: FMC1_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC1, FMC1_D12)
+#error Invalid pin assignment for FMC1 D12 pin: FMC1_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC1, FMC1_D13)
+#error Invalid pin assignment for FMC1 D13 pin: FMC1_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC1, FMC1_D14)
+#error Invalid pin assignment for FMC1 D14 pin: FMC1_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC1, FMC1_D15)
+#error Invalid pin assignment for FMC1 D15 pin: FMC1_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC1, FMC1_D16)
+#error Invalid pin assignment for FMC1 D16 pin: FMC1_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC1, FMC1_D17)
+#error Invalid pin assignment for FMC1 D17 pin: FMC1_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC1, FMC1_D18)
+#error Invalid pin assignment for FMC1 D18 pin: FMC1_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC1, FMC1_D19)
+#error Invalid pin assignment for FMC1 D19 pin: FMC1_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC1, FMC1_D2)
+#error Invalid pin assignment for FMC1 D2 pin: FMC1_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC1, FMC1_D20)
+#error Invalid pin assignment for FMC1 D20 pin: FMC1_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC1, FMC1_D21)
+#error Invalid pin assignment for FMC1 D21 pin: FMC1_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC1, FMC1_D22)
+#error Invalid pin assignment for FMC1 D22 pin: FMC1_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC1, FMC1_D23)
+#error Invalid pin assignment for FMC1 D23 pin: FMC1_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC1, FMC1_D24)
+#error Invalid pin assignment for FMC1 D24 pin: FMC1_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC1, FMC1_D25)
+#error Invalid pin assignment for FMC1 D25 pin: FMC1_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC1, FMC1_D26)
+#error Invalid pin assignment for FMC1 D26 pin: FMC1_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC1, FMC1_D27)
+#error Invalid pin assignment for FMC1 D27 pin: FMC1_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC1, FMC1_D28)
+#error Invalid pin assignment for FMC1 D28 pin: FMC1_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC1, FMC1_D29)
+#error Invalid pin assignment for FMC1 D29 pin: FMC1_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC1, FMC1_D3)
+#error Invalid pin assignment for FMC1 D3 pin: FMC1_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC1, FMC1_D30)
+#error Invalid pin assignment for FMC1 D30 pin: FMC1_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC1, FMC1_D31)
+#error Invalid pin assignment for FMC1 D31 pin: FMC1_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC1, FMC1_D4)
+#error Invalid pin assignment for FMC1 D4 pin: FMC1_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC1, FMC1_D5)
+#error Invalid pin assignment for FMC1 D5 pin: FMC1_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC1, FMC1_D6)
+#error Invalid pin assignment for FMC1 D6 pin: FMC1_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC1, FMC1_D7)
+#error Invalid pin assignment for FMC1 D7 pin: FMC1_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC1, FMC1_D8)
+#error Invalid pin assignment for FMC1 D8 pin: FMC1_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC1, FMC1_D9)
+#error Invalid pin assignment for FMC1 D9 pin: FMC1_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC1, FMC1_DA0)
+#error Invalid pin assignment for FMC1 DA0 pin: FMC1_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC1, FMC1_DA1)
+#error Invalid pin assignment for FMC1 DA1 pin: FMC1_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC1, FMC1_DA10)
+#error Invalid pin assignment for FMC1 DA10 pin: FMC1_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC1, FMC1_DA11)
+#error Invalid pin assignment for FMC1 DA11 pin: FMC1_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC1, FMC1_DA12)
+#error Invalid pin assignment for FMC1 DA12 pin: FMC1_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC1, FMC1_DA13)
+#error Invalid pin assignment for FMC1 DA13 pin: FMC1_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC1, FMC1_DA14)
+#error Invalid pin assignment for FMC1 DA14 pin: FMC1_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC1, FMC1_DA15)
+#error Invalid pin assignment for FMC1 DA15 pin: FMC1_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC1, FMC1_DA2)
+#error Invalid pin assignment for FMC1 DA2 pin: FMC1_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC1, FMC1_DA3)
+#error Invalid pin assignment for FMC1 DA3 pin: FMC1_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC1, FMC1_DA4)
+#error Invalid pin assignment for FMC1 DA4 pin: FMC1_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC1, FMC1_DA5)
+#error Invalid pin assignment for FMC1 DA5 pin: FMC1_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC1, FMC1_DA6)
+#error Invalid pin assignment for FMC1 DA6 pin: FMC1_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC1, FMC1_DA7)
+#error Invalid pin assignment for FMC1 DA7 pin: FMC1_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC1, FMC1_DA8)
+#error Invalid pin assignment for FMC1 DA8 pin: FMC1_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC1, FMC1_DA9)
+#error Invalid pin assignment for FMC1 DA9 pin: FMC1_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC1, FMC1_INT)
+#error Invalid pin assignment for FMC1 INT pin: FMC1_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC1, FMC1_INT2)
+#error Invalid pin assignment for FMC1 INT2 pin: FMC1_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC1, FMC1_INT3)
+#error Invalid pin assignment for FMC1 INT3 pin: FMC1_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC1, FMC1_INTR)
+#error Invalid pin assignment for FMC1 INTR pin: FMC1_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC1, FMC1_NBL0)
+#error Invalid pin assignment for FMC1 NBL0 pin: FMC1_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC1, FMC1_NBL1)
+#error Invalid pin assignment for FMC1 NBL1 pin: FMC1_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC1, FMC1_NBL2)
+#error Invalid pin assignment for FMC1 NBL2 pin: FMC1_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC1, FMC1_NBL3)
+#error Invalid pin assignment for FMC1 NBL3 pin: FMC1_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC1, FMC1_NCE)
+#error Invalid pin assignment for FMC1 NCE pin: FMC1_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC1, FMC1_NCE2)
+#error Invalid pin assignment for FMC1 NCE2 pin: FMC1_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC1, FMC1_NCE3)
+#error Invalid pin assignment for FMC1 NCE3 pin: FMC1_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC1, FMC1_NE1)
+#error Invalid pin assignment for FMC1 NE1 pin: FMC1_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC1, FMC1_NE2)
+#error Invalid pin assignment for FMC1 NE2 pin: FMC1_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC1, FMC1_NE3)
+#error Invalid pin assignment for FMC1 NE3 pin: FMC1_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC1, FMC1_NE4)
+#error Invalid pin assignment for FMC1 NE4 pin: FMC1_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC1, FMC1_NIORD)
+#error Invalid pin assignment for FMC1 NIORD pin: FMC1_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC1, FMC1_NIOWR)
+#error Invalid pin assignment for FMC1 NIOWR pin: FMC1_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC1, FMC1_NL)
+#error Invalid pin assignment for FMC1 NL pin: FMC1_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC1, FMC1_NOE)
+#error Invalid pin assignment for FMC1 NOE pin: FMC1_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC1, FMC1_NREG)
+#error Invalid pin assignment for FMC1 NREG pin: FMC1_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC1, FMC1_NWAIT)
+#error Invalid pin assignment for FMC1 NWAIT pin: FMC1_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC1, FMC1_NWE)
+#error Invalid pin assignment for FMC1 NWE pin: FMC1_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC1, FMC1_SDCKE0)
+#error Invalid pin assignment for FMC1 SDCKE0 pin: FMC1_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC1, FMC1_SDCKE1)
+#error Invalid pin assignment for FMC1 SDCKE1 pin: FMC1_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC1, FMC1_SDCLK)
+#error Invalid pin assignment for FMC1 SDCLK pin: FMC1_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC1, FMC1_SDNCAS)
+#error Invalid pin assignment for FMC1 SDNCAS pin: FMC1_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC1, FMC1_SDNE0)
+#error Invalid pin assignment for FMC1 SDNE0 pin: FMC1_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC1, FMC1_SDNE1)
+#error Invalid pin assignment for FMC1 SDNE1 pin: FMC1_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC1, FMC1_SDNRAS)
+#error Invalid pin assignment for FMC1 SDNRAS pin: FMC1_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC1, FMC1_SDNWE)
+#error Invalid pin assignment for FMC1 SDNWE pin: FMC1_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC2
+#if !FIND_VALUE_FMC_A0(_FMC2, FMC2_A0)
+#error Invalid pin assignment for FMC2 A0 pin: FMC2_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC2, FMC2_A1)
+#error Invalid pin assignment for FMC2 A1 pin: FMC2_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC2, FMC2_A10)
+#error Invalid pin assignment for FMC2 A10 pin: FMC2_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC2, FMC2_A11)
+#error Invalid pin assignment for FMC2 A11 pin: FMC2_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC2, FMC2_A12)
+#error Invalid pin assignment for FMC2 A12 pin: FMC2_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC2, FMC2_A13)
+#error Invalid pin assignment for FMC2 A13 pin: FMC2_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC2, FMC2_A14)
+#error Invalid pin assignment for FMC2 A14 pin: FMC2_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC2, FMC2_A15)
+#error Invalid pin assignment for FMC2 A15 pin: FMC2_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC2, FMC2_A16)
+#error Invalid pin assignment for FMC2 A16 pin: FMC2_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC2, FMC2_A17)
+#error Invalid pin assignment for FMC2 A17 pin: FMC2_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC2, FMC2_A18)
+#error Invalid pin assignment for FMC2 A18 pin: FMC2_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC2, FMC2_A19)
+#error Invalid pin assignment for FMC2 A19 pin: FMC2_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC2, FMC2_A2)
+#error Invalid pin assignment for FMC2 A2 pin: FMC2_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC2, FMC2_A20)
+#error Invalid pin assignment for FMC2 A20 pin: FMC2_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC2, FMC2_A21)
+#error Invalid pin assignment for FMC2 A21 pin: FMC2_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC2, FMC2_A22)
+#error Invalid pin assignment for FMC2 A22 pin: FMC2_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC2, FMC2_A23)
+#error Invalid pin assignment for FMC2 A23 pin: FMC2_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC2, FMC2_A24)
+#error Invalid pin assignment for FMC2 A24 pin: FMC2_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC2, FMC2_A25)
+#error Invalid pin assignment for FMC2 A25 pin: FMC2_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC2, FMC2_A3)
+#error Invalid pin assignment for FMC2 A3 pin: FMC2_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC2, FMC2_A4)
+#error Invalid pin assignment for FMC2 A4 pin: FMC2_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC2, FMC2_A5)
+#error Invalid pin assignment for FMC2 A5 pin: FMC2_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC2, FMC2_A6)
+#error Invalid pin assignment for FMC2 A6 pin: FMC2_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC2, FMC2_A7)
+#error Invalid pin assignment for FMC2 A7 pin: FMC2_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC2, FMC2_A8)
+#error Invalid pin assignment for FMC2 A8 pin: FMC2_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC2, FMC2_A9)
+#error Invalid pin assignment for FMC2 A9 pin: FMC2_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC2, FMC2_ALE)
+#error Invalid pin assignment for FMC2 ALE pin: FMC2_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC2, FMC2_BA0)
+#error Invalid pin assignment for FMC2 BA0 pin: FMC2_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC2, FMC2_BA1)
+#error Invalid pin assignment for FMC2 BA1 pin: FMC2_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC2, FMC2_CD)
+#error Invalid pin assignment for FMC2 CD pin: FMC2_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC2, FMC2_CLE)
+#error Invalid pin assignment for FMC2 CLE pin: FMC2_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC2, FMC2_CLK)
+#error Invalid pin assignment for FMC2 CLK pin: FMC2_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC2, FMC2_D0)
+#error Invalid pin assignment for FMC2 D0 pin: FMC2_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC2, FMC2_D1)
+#error Invalid pin assignment for FMC2 D1 pin: FMC2_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC2, FMC2_D10)
+#error Invalid pin assignment for FMC2 D10 pin: FMC2_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC2, FMC2_D11)
+#error Invalid pin assignment for FMC2 D11 pin: FMC2_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC2, FMC2_D12)
+#error Invalid pin assignment for FMC2 D12 pin: FMC2_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC2, FMC2_D13)
+#error Invalid pin assignment for FMC2 D13 pin: FMC2_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC2, FMC2_D14)
+#error Invalid pin assignment for FMC2 D14 pin: FMC2_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC2, FMC2_D15)
+#error Invalid pin assignment for FMC2 D15 pin: FMC2_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC2, FMC2_D16)
+#error Invalid pin assignment for FMC2 D16 pin: FMC2_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC2, FMC2_D17)
+#error Invalid pin assignment for FMC2 D17 pin: FMC2_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC2, FMC2_D18)
+#error Invalid pin assignment for FMC2 D18 pin: FMC2_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC2, FMC2_D19)
+#error Invalid pin assignment for FMC2 D19 pin: FMC2_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC2, FMC2_D2)
+#error Invalid pin assignment for FMC2 D2 pin: FMC2_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC2, FMC2_D20)
+#error Invalid pin assignment for FMC2 D20 pin: FMC2_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC2, FMC2_D21)
+#error Invalid pin assignment for FMC2 D21 pin: FMC2_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC2, FMC2_D22)
+#error Invalid pin assignment for FMC2 D22 pin: FMC2_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC2, FMC2_D23)
+#error Invalid pin assignment for FMC2 D23 pin: FMC2_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC2, FMC2_D24)
+#error Invalid pin assignment for FMC2 D24 pin: FMC2_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC2, FMC2_D25)
+#error Invalid pin assignment for FMC2 D25 pin: FMC2_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC2, FMC2_D26)
+#error Invalid pin assignment for FMC2 D26 pin: FMC2_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC2, FMC2_D27)
+#error Invalid pin assignment for FMC2 D27 pin: FMC2_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC2, FMC2_D28)
+#error Invalid pin assignment for FMC2 D28 pin: FMC2_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC2, FMC2_D29)
+#error Invalid pin assignment for FMC2 D29 pin: FMC2_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC2, FMC2_D3)
+#error Invalid pin assignment for FMC2 D3 pin: FMC2_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC2, FMC2_D30)
+#error Invalid pin assignment for FMC2 D30 pin: FMC2_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC2, FMC2_D31)
+#error Invalid pin assignment for FMC2 D31 pin: FMC2_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC2, FMC2_D4)
+#error Invalid pin assignment for FMC2 D4 pin: FMC2_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC2, FMC2_D5)
+#error Invalid pin assignment for FMC2 D5 pin: FMC2_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC2, FMC2_D6)
+#error Invalid pin assignment for FMC2 D6 pin: FMC2_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC2, FMC2_D7)
+#error Invalid pin assignment for FMC2 D7 pin: FMC2_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC2, FMC2_D8)
+#error Invalid pin assignment for FMC2 D8 pin: FMC2_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC2, FMC2_D9)
+#error Invalid pin assignment for FMC2 D9 pin: FMC2_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC2, FMC2_DA0)
+#error Invalid pin assignment for FMC2 DA0 pin: FMC2_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC2, FMC2_DA1)
+#error Invalid pin assignment for FMC2 DA1 pin: FMC2_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC2, FMC2_DA10)
+#error Invalid pin assignment for FMC2 DA10 pin: FMC2_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC2, FMC2_DA11)
+#error Invalid pin assignment for FMC2 DA11 pin: FMC2_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC2, FMC2_DA12)
+#error Invalid pin assignment for FMC2 DA12 pin: FMC2_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC2, FMC2_DA13)
+#error Invalid pin assignment for FMC2 DA13 pin: FMC2_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC2, FMC2_DA14)
+#error Invalid pin assignment for FMC2 DA14 pin: FMC2_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC2, FMC2_DA15)
+#error Invalid pin assignment for FMC2 DA15 pin: FMC2_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC2, FMC2_DA2)
+#error Invalid pin assignment for FMC2 DA2 pin: FMC2_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC2, FMC2_DA3)
+#error Invalid pin assignment for FMC2 DA3 pin: FMC2_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC2, FMC2_DA4)
+#error Invalid pin assignment for FMC2 DA4 pin: FMC2_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC2, FMC2_DA5)
+#error Invalid pin assignment for FMC2 DA5 pin: FMC2_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC2, FMC2_DA6)
+#error Invalid pin assignment for FMC2 DA6 pin: FMC2_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC2, FMC2_DA7)
+#error Invalid pin assignment for FMC2 DA7 pin: FMC2_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC2, FMC2_DA8)
+#error Invalid pin assignment for FMC2 DA8 pin: FMC2_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC2, FMC2_DA9)
+#error Invalid pin assignment for FMC2 DA9 pin: FMC2_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC2, FMC2_INT)
+#error Invalid pin assignment for FMC2 INT pin: FMC2_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC2, FMC2_INT2)
+#error Invalid pin assignment for FMC2 INT2 pin: FMC2_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC2, FMC2_INT3)
+#error Invalid pin assignment for FMC2 INT3 pin: FMC2_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC2, FMC2_INTR)
+#error Invalid pin assignment for FMC2 INTR pin: FMC2_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC2, FMC2_NBL0)
+#error Invalid pin assignment for FMC2 NBL0 pin: FMC2_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC2, FMC2_NBL1)
+#error Invalid pin assignment for FMC2 NBL1 pin: FMC2_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC2, FMC2_NBL2)
+#error Invalid pin assignment for FMC2 NBL2 pin: FMC2_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC2, FMC2_NBL3)
+#error Invalid pin assignment for FMC2 NBL3 pin: FMC2_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC2, FMC2_NCE)
+#error Invalid pin assignment for FMC2 NCE pin: FMC2_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC2, FMC2_NCE2)
+#error Invalid pin assignment for FMC2 NCE2 pin: FMC2_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC2, FMC2_NCE3)
+#error Invalid pin assignment for FMC2 NCE3 pin: FMC2_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC2, FMC2_NE1)
+#error Invalid pin assignment for FMC2 NE1 pin: FMC2_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC2, FMC2_NE2)
+#error Invalid pin assignment for FMC2 NE2 pin: FMC2_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC2, FMC2_NE3)
+#error Invalid pin assignment for FMC2 NE3 pin: FMC2_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC2, FMC2_NE4)
+#error Invalid pin assignment for FMC2 NE4 pin: FMC2_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC2, FMC2_NIORD)
+#error Invalid pin assignment for FMC2 NIORD pin: FMC2_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC2, FMC2_NIOWR)
+#error Invalid pin assignment for FMC2 NIOWR pin: FMC2_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC2, FMC2_NL)
+#error Invalid pin assignment for FMC2 NL pin: FMC2_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC2, FMC2_NOE)
+#error Invalid pin assignment for FMC2 NOE pin: FMC2_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC2, FMC2_NREG)
+#error Invalid pin assignment for FMC2 NREG pin: FMC2_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC2, FMC2_NWAIT)
+#error Invalid pin assignment for FMC2 NWAIT pin: FMC2_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC2, FMC2_NWE)
+#error Invalid pin assignment for FMC2 NWE pin: FMC2_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC2, FMC2_SDCKE0)
+#error Invalid pin assignment for FMC2 SDCKE0 pin: FMC2_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC2, FMC2_SDCKE1)
+#error Invalid pin assignment for FMC2 SDCKE1 pin: FMC2_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC2, FMC2_SDCLK)
+#error Invalid pin assignment for FMC2 SDCLK pin: FMC2_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC2, FMC2_SDNCAS)
+#error Invalid pin assignment for FMC2 SDNCAS pin: FMC2_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC2, FMC2_SDNE0)
+#error Invalid pin assignment for FMC2 SDNE0 pin: FMC2_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC2, FMC2_SDNE1)
+#error Invalid pin assignment for FMC2 SDNE1 pin: FMC2_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC2, FMC2_SDNRAS)
+#error Invalid pin assignment for FMC2 SDNRAS pin: FMC2_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC2, FMC2_SDNWE)
+#error Invalid pin assignment for FMC2 SDNWE pin: FMC2_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC3
+#if !FIND_VALUE_FMC_A0(_FMC3, FMC3_A0)
+#error Invalid pin assignment for FMC3 A0 pin: FMC3_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC3, FMC3_A1)
+#error Invalid pin assignment for FMC3 A1 pin: FMC3_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC3, FMC3_A10)
+#error Invalid pin assignment for FMC3 A10 pin: FMC3_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC3, FMC3_A11)
+#error Invalid pin assignment for FMC3 A11 pin: FMC3_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC3, FMC3_A12)
+#error Invalid pin assignment for FMC3 A12 pin: FMC3_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC3, FMC3_A13)
+#error Invalid pin assignment for FMC3 A13 pin: FMC3_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC3, FMC3_A14)
+#error Invalid pin assignment for FMC3 A14 pin: FMC3_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC3, FMC3_A15)
+#error Invalid pin assignment for FMC3 A15 pin: FMC3_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC3, FMC3_A16)
+#error Invalid pin assignment for FMC3 A16 pin: FMC3_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC3, FMC3_A17)
+#error Invalid pin assignment for FMC3 A17 pin: FMC3_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC3, FMC3_A18)
+#error Invalid pin assignment for FMC3 A18 pin: FMC3_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC3, FMC3_A19)
+#error Invalid pin assignment for FMC3 A19 pin: FMC3_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC3, FMC3_A2)
+#error Invalid pin assignment for FMC3 A2 pin: FMC3_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC3, FMC3_A20)
+#error Invalid pin assignment for FMC3 A20 pin: FMC3_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC3, FMC3_A21)
+#error Invalid pin assignment for FMC3 A21 pin: FMC3_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC3, FMC3_A22)
+#error Invalid pin assignment for FMC3 A22 pin: FMC3_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC3, FMC3_A23)
+#error Invalid pin assignment for FMC3 A23 pin: FMC3_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC3, FMC3_A24)
+#error Invalid pin assignment for FMC3 A24 pin: FMC3_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC3, FMC3_A25)
+#error Invalid pin assignment for FMC3 A25 pin: FMC3_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC3, FMC3_A3)
+#error Invalid pin assignment for FMC3 A3 pin: FMC3_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC3, FMC3_A4)
+#error Invalid pin assignment for FMC3 A4 pin: FMC3_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC3, FMC3_A5)
+#error Invalid pin assignment for FMC3 A5 pin: FMC3_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC3, FMC3_A6)
+#error Invalid pin assignment for FMC3 A6 pin: FMC3_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC3, FMC3_A7)
+#error Invalid pin assignment for FMC3 A7 pin: FMC3_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC3, FMC3_A8)
+#error Invalid pin assignment for FMC3 A8 pin: FMC3_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC3, FMC3_A9)
+#error Invalid pin assignment for FMC3 A9 pin: FMC3_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC3, FMC3_ALE)
+#error Invalid pin assignment for FMC3 ALE pin: FMC3_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC3, FMC3_BA0)
+#error Invalid pin assignment for FMC3 BA0 pin: FMC3_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC3, FMC3_BA1)
+#error Invalid pin assignment for FMC3 BA1 pin: FMC3_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC3, FMC3_CD)
+#error Invalid pin assignment for FMC3 CD pin: FMC3_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC3, FMC3_CLE)
+#error Invalid pin assignment for FMC3 CLE pin: FMC3_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC3, FMC3_CLK)
+#error Invalid pin assignment for FMC3 CLK pin: FMC3_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC3, FMC3_D0)
+#error Invalid pin assignment for FMC3 D0 pin: FMC3_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC3, FMC3_D1)
+#error Invalid pin assignment for FMC3 D1 pin: FMC3_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC3, FMC3_D10)
+#error Invalid pin assignment for FMC3 D10 pin: FMC3_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC3, FMC3_D11)
+#error Invalid pin assignment for FMC3 D11 pin: FMC3_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC3, FMC3_D12)
+#error Invalid pin assignment for FMC3 D12 pin: FMC3_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC3, FMC3_D13)
+#error Invalid pin assignment for FMC3 D13 pin: FMC3_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC3, FMC3_D14)
+#error Invalid pin assignment for FMC3 D14 pin: FMC3_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC3, FMC3_D15)
+#error Invalid pin assignment for FMC3 D15 pin: FMC3_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC3, FMC3_D16)
+#error Invalid pin assignment for FMC3 D16 pin: FMC3_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC3, FMC3_D17)
+#error Invalid pin assignment for FMC3 D17 pin: FMC3_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC3, FMC3_D18)
+#error Invalid pin assignment for FMC3 D18 pin: FMC3_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC3, FMC3_D19)
+#error Invalid pin assignment for FMC3 D19 pin: FMC3_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC3, FMC3_D2)
+#error Invalid pin assignment for FMC3 D2 pin: FMC3_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC3, FMC3_D20)
+#error Invalid pin assignment for FMC3 D20 pin: FMC3_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC3, FMC3_D21)
+#error Invalid pin assignment for FMC3 D21 pin: FMC3_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC3, FMC3_D22)
+#error Invalid pin assignment for FMC3 D22 pin: FMC3_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC3, FMC3_D23)
+#error Invalid pin assignment for FMC3 D23 pin: FMC3_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC3, FMC3_D24)
+#error Invalid pin assignment for FMC3 D24 pin: FMC3_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC3, FMC3_D25)
+#error Invalid pin assignment for FMC3 D25 pin: FMC3_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC3, FMC3_D26)
+#error Invalid pin assignment for FMC3 D26 pin: FMC3_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC3, FMC3_D27)
+#error Invalid pin assignment for FMC3 D27 pin: FMC3_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC3, FMC3_D28)
+#error Invalid pin assignment for FMC3 D28 pin: FMC3_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC3, FMC3_D29)
+#error Invalid pin assignment for FMC3 D29 pin: FMC3_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC3, FMC3_D3)
+#error Invalid pin assignment for FMC3 D3 pin: FMC3_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC3, FMC3_D30)
+#error Invalid pin assignment for FMC3 D30 pin: FMC3_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC3, FMC3_D31)
+#error Invalid pin assignment for FMC3 D31 pin: FMC3_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC3, FMC3_D4)
+#error Invalid pin assignment for FMC3 D4 pin: FMC3_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC3, FMC3_D5)
+#error Invalid pin assignment for FMC3 D5 pin: FMC3_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC3, FMC3_D6)
+#error Invalid pin assignment for FMC3 D6 pin: FMC3_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC3, FMC3_D7)
+#error Invalid pin assignment for FMC3 D7 pin: FMC3_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC3, FMC3_D8)
+#error Invalid pin assignment for FMC3 D8 pin: FMC3_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC3, FMC3_D9)
+#error Invalid pin assignment for FMC3 D9 pin: FMC3_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC3, FMC3_DA0)
+#error Invalid pin assignment for FMC3 DA0 pin: FMC3_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC3, FMC3_DA1)
+#error Invalid pin assignment for FMC3 DA1 pin: FMC3_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC3, FMC3_DA10)
+#error Invalid pin assignment for FMC3 DA10 pin: FMC3_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC3, FMC3_DA11)
+#error Invalid pin assignment for FMC3 DA11 pin: FMC3_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC3, FMC3_DA12)
+#error Invalid pin assignment for FMC3 DA12 pin: FMC3_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC3, FMC3_DA13)
+#error Invalid pin assignment for FMC3 DA13 pin: FMC3_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC3, FMC3_DA14)
+#error Invalid pin assignment for FMC3 DA14 pin: FMC3_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC3, FMC3_DA15)
+#error Invalid pin assignment for FMC3 DA15 pin: FMC3_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC3, FMC3_DA2)
+#error Invalid pin assignment for FMC3 DA2 pin: FMC3_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC3, FMC3_DA3)
+#error Invalid pin assignment for FMC3 DA3 pin: FMC3_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC3, FMC3_DA4)
+#error Invalid pin assignment for FMC3 DA4 pin: FMC3_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC3, FMC3_DA5)
+#error Invalid pin assignment for FMC3 DA5 pin: FMC3_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC3, FMC3_DA6)
+#error Invalid pin assignment for FMC3 DA6 pin: FMC3_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC3, FMC3_DA7)
+#error Invalid pin assignment for FMC3 DA7 pin: FMC3_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC3, FMC3_DA8)
+#error Invalid pin assignment for FMC3 DA8 pin: FMC3_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC3, FMC3_DA9)
+#error Invalid pin assignment for FMC3 DA9 pin: FMC3_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC3, FMC3_INT)
+#error Invalid pin assignment for FMC3 INT pin: FMC3_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC3, FMC3_INT2)
+#error Invalid pin assignment for FMC3 INT2 pin: FMC3_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC3, FMC3_INT3)
+#error Invalid pin assignment for FMC3 INT3 pin: FMC3_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC3, FMC3_INTR)
+#error Invalid pin assignment for FMC3 INTR pin: FMC3_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC3, FMC3_NBL0)
+#error Invalid pin assignment for FMC3 NBL0 pin: FMC3_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC3, FMC3_NBL1)
+#error Invalid pin assignment for FMC3 NBL1 pin: FMC3_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC3, FMC3_NBL2)
+#error Invalid pin assignment for FMC3 NBL2 pin: FMC3_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC3, FMC3_NBL3)
+#error Invalid pin assignment for FMC3 NBL3 pin: FMC3_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC3, FMC3_NCE)
+#error Invalid pin assignment for FMC3 NCE pin: FMC3_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC3, FMC3_NCE2)
+#error Invalid pin assignment for FMC3 NCE2 pin: FMC3_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC3, FMC3_NCE3)
+#error Invalid pin assignment for FMC3 NCE3 pin: FMC3_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC3, FMC3_NE1)
+#error Invalid pin assignment for FMC3 NE1 pin: FMC3_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC3, FMC3_NE2)
+#error Invalid pin assignment for FMC3 NE2 pin: FMC3_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC3, FMC3_NE3)
+#error Invalid pin assignment for FMC3 NE3 pin: FMC3_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC3, FMC3_NE4)
+#error Invalid pin assignment for FMC3 NE4 pin: FMC3_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC3, FMC3_NIORD)
+#error Invalid pin assignment for FMC3 NIORD pin: FMC3_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC3, FMC3_NIOWR)
+#error Invalid pin assignment for FMC3 NIOWR pin: FMC3_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC3, FMC3_NL)
+#error Invalid pin assignment for FMC3 NL pin: FMC3_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC3, FMC3_NOE)
+#error Invalid pin assignment for FMC3 NOE pin: FMC3_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC3, FMC3_NREG)
+#error Invalid pin assignment for FMC3 NREG pin: FMC3_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC3, FMC3_NWAIT)
+#error Invalid pin assignment for FMC3 NWAIT pin: FMC3_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC3, FMC3_NWE)
+#error Invalid pin assignment for FMC3 NWE pin: FMC3_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC3, FMC3_SDCKE0)
+#error Invalid pin assignment for FMC3 SDCKE0 pin: FMC3_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC3, FMC3_SDCKE1)
+#error Invalid pin assignment for FMC3 SDCKE1 pin: FMC3_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC3, FMC3_SDCLK)
+#error Invalid pin assignment for FMC3 SDCLK pin: FMC3_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC3, FMC3_SDNCAS)
+#error Invalid pin assignment for FMC3 SDNCAS pin: FMC3_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC3, FMC3_SDNE0)
+#error Invalid pin assignment for FMC3 SDNE0 pin: FMC3_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC3, FMC3_SDNE1)
+#error Invalid pin assignment for FMC3 SDNE1 pin: FMC3_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC3, FMC3_SDNRAS)
+#error Invalid pin assignment for FMC3 SDNRAS pin: FMC3_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC3, FMC3_SDNWE)
+#error Invalid pin assignment for FMC3 SDNWE pin: FMC3_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC4
+#if !FIND_VALUE_FMC_A0(_FMC4, FMC4_A0)
+#error Invalid pin assignment for FMC4 A0 pin: FMC4_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC4, FMC4_A1)
+#error Invalid pin assignment for FMC4 A1 pin: FMC4_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC4, FMC4_A10)
+#error Invalid pin assignment for FMC4 A10 pin: FMC4_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC4, FMC4_A11)
+#error Invalid pin assignment for FMC4 A11 pin: FMC4_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC4, FMC4_A12)
+#error Invalid pin assignment for FMC4 A12 pin: FMC4_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC4, FMC4_A13)
+#error Invalid pin assignment for FMC4 A13 pin: FMC4_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC4, FMC4_A14)
+#error Invalid pin assignment for FMC4 A14 pin: FMC4_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC4, FMC4_A15)
+#error Invalid pin assignment for FMC4 A15 pin: FMC4_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC4, FMC4_A16)
+#error Invalid pin assignment for FMC4 A16 pin: FMC4_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC4, FMC4_A17)
+#error Invalid pin assignment for FMC4 A17 pin: FMC4_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC4, FMC4_A18)
+#error Invalid pin assignment for FMC4 A18 pin: FMC4_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC4, FMC4_A19)
+#error Invalid pin assignment for FMC4 A19 pin: FMC4_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC4, FMC4_A2)
+#error Invalid pin assignment for FMC4 A2 pin: FMC4_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC4, FMC4_A20)
+#error Invalid pin assignment for FMC4 A20 pin: FMC4_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC4, FMC4_A21)
+#error Invalid pin assignment for FMC4 A21 pin: FMC4_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC4, FMC4_A22)
+#error Invalid pin assignment for FMC4 A22 pin: FMC4_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC4, FMC4_A23)
+#error Invalid pin assignment for FMC4 A23 pin: FMC4_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC4, FMC4_A24)
+#error Invalid pin assignment for FMC4 A24 pin: FMC4_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC4, FMC4_A25)
+#error Invalid pin assignment for FMC4 A25 pin: FMC4_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC4, FMC4_A3)
+#error Invalid pin assignment for FMC4 A3 pin: FMC4_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC4, FMC4_A4)
+#error Invalid pin assignment for FMC4 A4 pin: FMC4_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC4, FMC4_A5)
+#error Invalid pin assignment for FMC4 A5 pin: FMC4_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC4, FMC4_A6)
+#error Invalid pin assignment for FMC4 A6 pin: FMC4_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC4, FMC4_A7)
+#error Invalid pin assignment for FMC4 A7 pin: FMC4_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC4, FMC4_A8)
+#error Invalid pin assignment for FMC4 A8 pin: FMC4_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC4, FMC4_A9)
+#error Invalid pin assignment for FMC4 A9 pin: FMC4_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC4, FMC4_ALE)
+#error Invalid pin assignment for FMC4 ALE pin: FMC4_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC4, FMC4_BA0)
+#error Invalid pin assignment for FMC4 BA0 pin: FMC4_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC4, FMC4_BA1)
+#error Invalid pin assignment for FMC4 BA1 pin: FMC4_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC4, FMC4_CD)
+#error Invalid pin assignment for FMC4 CD pin: FMC4_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC4, FMC4_CLE)
+#error Invalid pin assignment for FMC4 CLE pin: FMC4_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC4, FMC4_CLK)
+#error Invalid pin assignment for FMC4 CLK pin: FMC4_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC4, FMC4_D0)
+#error Invalid pin assignment for FMC4 D0 pin: FMC4_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC4, FMC4_D1)
+#error Invalid pin assignment for FMC4 D1 pin: FMC4_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC4, FMC4_D10)
+#error Invalid pin assignment for FMC4 D10 pin: FMC4_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC4, FMC4_D11)
+#error Invalid pin assignment for FMC4 D11 pin: FMC4_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC4, FMC4_D12)
+#error Invalid pin assignment for FMC4 D12 pin: FMC4_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC4, FMC4_D13)
+#error Invalid pin assignment for FMC4 D13 pin: FMC4_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC4, FMC4_D14)
+#error Invalid pin assignment for FMC4 D14 pin: FMC4_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC4, FMC4_D15)
+#error Invalid pin assignment for FMC4 D15 pin: FMC4_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC4, FMC4_D16)
+#error Invalid pin assignment for FMC4 D16 pin: FMC4_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC4, FMC4_D17)
+#error Invalid pin assignment for FMC4 D17 pin: FMC4_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC4, FMC4_D18)
+#error Invalid pin assignment for FMC4 D18 pin: FMC4_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC4, FMC4_D19)
+#error Invalid pin assignment for FMC4 D19 pin: FMC4_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC4, FMC4_D2)
+#error Invalid pin assignment for FMC4 D2 pin: FMC4_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC4, FMC4_D20)
+#error Invalid pin assignment for FMC4 D20 pin: FMC4_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC4, FMC4_D21)
+#error Invalid pin assignment for FMC4 D21 pin: FMC4_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC4, FMC4_D22)
+#error Invalid pin assignment for FMC4 D22 pin: FMC4_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC4, FMC4_D23)
+#error Invalid pin assignment for FMC4 D23 pin: FMC4_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC4, FMC4_D24)
+#error Invalid pin assignment for FMC4 D24 pin: FMC4_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC4, FMC4_D25)
+#error Invalid pin assignment for FMC4 D25 pin: FMC4_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC4, FMC4_D26)
+#error Invalid pin assignment for FMC4 D26 pin: FMC4_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC4, FMC4_D27)
+#error Invalid pin assignment for FMC4 D27 pin: FMC4_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC4, FMC4_D28)
+#error Invalid pin assignment for FMC4 D28 pin: FMC4_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC4, FMC4_D29)
+#error Invalid pin assignment for FMC4 D29 pin: FMC4_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC4, FMC4_D3)
+#error Invalid pin assignment for FMC4 D3 pin: FMC4_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC4, FMC4_D30)
+#error Invalid pin assignment for FMC4 D30 pin: FMC4_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC4, FMC4_D31)
+#error Invalid pin assignment for FMC4 D31 pin: FMC4_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC4, FMC4_D4)
+#error Invalid pin assignment for FMC4 D4 pin: FMC4_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC4, FMC4_D5)
+#error Invalid pin assignment for FMC4 D5 pin: FMC4_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC4, FMC4_D6)
+#error Invalid pin assignment for FMC4 D6 pin: FMC4_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC4, FMC4_D7)
+#error Invalid pin assignment for FMC4 D7 pin: FMC4_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC4, FMC4_D8)
+#error Invalid pin assignment for FMC4 D8 pin: FMC4_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC4, FMC4_D9)
+#error Invalid pin assignment for FMC4 D9 pin: FMC4_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC4, FMC4_DA0)
+#error Invalid pin assignment for FMC4 DA0 pin: FMC4_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC4, FMC4_DA1)
+#error Invalid pin assignment for FMC4 DA1 pin: FMC4_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC4, FMC4_DA10)
+#error Invalid pin assignment for FMC4 DA10 pin: FMC4_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC4, FMC4_DA11)
+#error Invalid pin assignment for FMC4 DA11 pin: FMC4_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC4, FMC4_DA12)
+#error Invalid pin assignment for FMC4 DA12 pin: FMC4_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC4, FMC4_DA13)
+#error Invalid pin assignment for FMC4 DA13 pin: FMC4_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC4, FMC4_DA14)
+#error Invalid pin assignment for FMC4 DA14 pin: FMC4_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC4, FMC4_DA15)
+#error Invalid pin assignment for FMC4 DA15 pin: FMC4_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC4, FMC4_DA2)
+#error Invalid pin assignment for FMC4 DA2 pin: FMC4_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC4, FMC4_DA3)
+#error Invalid pin assignment for FMC4 DA3 pin: FMC4_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC4, FMC4_DA4)
+#error Invalid pin assignment for FMC4 DA4 pin: FMC4_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC4, FMC4_DA5)
+#error Invalid pin assignment for FMC4 DA5 pin: FMC4_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC4, FMC4_DA6)
+#error Invalid pin assignment for FMC4 DA6 pin: FMC4_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC4, FMC4_DA7)
+#error Invalid pin assignment for FMC4 DA7 pin: FMC4_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC4, FMC4_DA8)
+#error Invalid pin assignment for FMC4 DA8 pin: FMC4_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC4, FMC4_DA9)
+#error Invalid pin assignment for FMC4 DA9 pin: FMC4_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC4, FMC4_INT)
+#error Invalid pin assignment for FMC4 INT pin: FMC4_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC4, FMC4_INT2)
+#error Invalid pin assignment for FMC4 INT2 pin: FMC4_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC4, FMC4_INT3)
+#error Invalid pin assignment for FMC4 INT3 pin: FMC4_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC4, FMC4_INTR)
+#error Invalid pin assignment for FMC4 INTR pin: FMC4_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC4, FMC4_NBL0)
+#error Invalid pin assignment for FMC4 NBL0 pin: FMC4_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC4, FMC4_NBL1)
+#error Invalid pin assignment for FMC4 NBL1 pin: FMC4_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC4, FMC4_NBL2)
+#error Invalid pin assignment for FMC4 NBL2 pin: FMC4_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC4, FMC4_NBL3)
+#error Invalid pin assignment for FMC4 NBL3 pin: FMC4_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC4, FMC4_NCE)
+#error Invalid pin assignment for FMC4 NCE pin: FMC4_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC4, FMC4_NCE2)
+#error Invalid pin assignment for FMC4 NCE2 pin: FMC4_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC4, FMC4_NCE3)
+#error Invalid pin assignment for FMC4 NCE3 pin: FMC4_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC4, FMC4_NE1)
+#error Invalid pin assignment for FMC4 NE1 pin: FMC4_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC4, FMC4_NE2)
+#error Invalid pin assignment for FMC4 NE2 pin: FMC4_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC4, FMC4_NE3)
+#error Invalid pin assignment for FMC4 NE3 pin: FMC4_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC4, FMC4_NE4)
+#error Invalid pin assignment for FMC4 NE4 pin: FMC4_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC4, FMC4_NIORD)
+#error Invalid pin assignment for FMC4 NIORD pin: FMC4_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC4, FMC4_NIOWR)
+#error Invalid pin assignment for FMC4 NIOWR pin: FMC4_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC4, FMC4_NL)
+#error Invalid pin assignment for FMC4 NL pin: FMC4_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC4, FMC4_NOE)
+#error Invalid pin assignment for FMC4 NOE pin: FMC4_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC4, FMC4_NREG)
+#error Invalid pin assignment for FMC4 NREG pin: FMC4_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC4, FMC4_NWAIT)
+#error Invalid pin assignment for FMC4 NWAIT pin: FMC4_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC4, FMC4_NWE)
+#error Invalid pin assignment for FMC4 NWE pin: FMC4_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC4, FMC4_SDCKE0)
+#error Invalid pin assignment for FMC4 SDCKE0 pin: FMC4_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC4, FMC4_SDCKE1)
+#error Invalid pin assignment for FMC4 SDCKE1 pin: FMC4_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC4, FMC4_SDCLK)
+#error Invalid pin assignment for FMC4 SDCLK pin: FMC4_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC4, FMC4_SDNCAS)
+#error Invalid pin assignment for FMC4 SDNCAS pin: FMC4_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC4, FMC4_SDNE0)
+#error Invalid pin assignment for FMC4 SDNE0 pin: FMC4_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC4, FMC4_SDNE1)
+#error Invalid pin assignment for FMC4 SDNE1 pin: FMC4_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC4, FMC4_SDNRAS)
+#error Invalid pin assignment for FMC4 SDNRAS pin: FMC4_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC4, FMC4_SDNWE)
+#error Invalid pin assignment for FMC4 SDNWE pin: FMC4_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC5
+#if !FIND_VALUE_FMC_A0(_FMC5, FMC5_A0)
+#error Invalid pin assignment for FMC5 A0 pin: FMC5_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC5, FMC5_A1)
+#error Invalid pin assignment for FMC5 A1 pin: FMC5_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC5, FMC5_A10)
+#error Invalid pin assignment for FMC5 A10 pin: FMC5_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC5, FMC5_A11)
+#error Invalid pin assignment for FMC5 A11 pin: FMC5_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC5, FMC5_A12)
+#error Invalid pin assignment for FMC5 A12 pin: FMC5_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC5, FMC5_A13)
+#error Invalid pin assignment for FMC5 A13 pin: FMC5_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC5, FMC5_A14)
+#error Invalid pin assignment for FMC5 A14 pin: FMC5_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC5, FMC5_A15)
+#error Invalid pin assignment for FMC5 A15 pin: FMC5_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC5, FMC5_A16)
+#error Invalid pin assignment for FMC5 A16 pin: FMC5_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC5, FMC5_A17)
+#error Invalid pin assignment for FMC5 A17 pin: FMC5_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC5, FMC5_A18)
+#error Invalid pin assignment for FMC5 A18 pin: FMC5_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC5, FMC5_A19)
+#error Invalid pin assignment for FMC5 A19 pin: FMC5_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC5, FMC5_A2)
+#error Invalid pin assignment for FMC5 A2 pin: FMC5_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC5, FMC5_A20)
+#error Invalid pin assignment for FMC5 A20 pin: FMC5_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC5, FMC5_A21)
+#error Invalid pin assignment for FMC5 A21 pin: FMC5_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC5, FMC5_A22)
+#error Invalid pin assignment for FMC5 A22 pin: FMC5_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC5, FMC5_A23)
+#error Invalid pin assignment for FMC5 A23 pin: FMC5_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC5, FMC5_A24)
+#error Invalid pin assignment for FMC5 A24 pin: FMC5_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC5, FMC5_A25)
+#error Invalid pin assignment for FMC5 A25 pin: FMC5_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC5, FMC5_A3)
+#error Invalid pin assignment for FMC5 A3 pin: FMC5_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC5, FMC5_A4)
+#error Invalid pin assignment for FMC5 A4 pin: FMC5_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC5, FMC5_A5)
+#error Invalid pin assignment for FMC5 A5 pin: FMC5_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC5, FMC5_A6)
+#error Invalid pin assignment for FMC5 A6 pin: FMC5_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC5, FMC5_A7)
+#error Invalid pin assignment for FMC5 A7 pin: FMC5_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC5, FMC5_A8)
+#error Invalid pin assignment for FMC5 A8 pin: FMC5_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC5, FMC5_A9)
+#error Invalid pin assignment for FMC5 A9 pin: FMC5_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC5, FMC5_ALE)
+#error Invalid pin assignment for FMC5 ALE pin: FMC5_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC5, FMC5_BA0)
+#error Invalid pin assignment for FMC5 BA0 pin: FMC5_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC5, FMC5_BA1)
+#error Invalid pin assignment for FMC5 BA1 pin: FMC5_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC5, FMC5_CD)
+#error Invalid pin assignment for FMC5 CD pin: FMC5_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC5, FMC5_CLE)
+#error Invalid pin assignment for FMC5 CLE pin: FMC5_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC5, FMC5_CLK)
+#error Invalid pin assignment for FMC5 CLK pin: FMC5_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC5, FMC5_D0)
+#error Invalid pin assignment for FMC5 D0 pin: FMC5_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC5, FMC5_D1)
+#error Invalid pin assignment for FMC5 D1 pin: FMC5_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC5, FMC5_D10)
+#error Invalid pin assignment for FMC5 D10 pin: FMC5_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC5, FMC5_D11)
+#error Invalid pin assignment for FMC5 D11 pin: FMC5_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC5, FMC5_D12)
+#error Invalid pin assignment for FMC5 D12 pin: FMC5_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC5, FMC5_D13)
+#error Invalid pin assignment for FMC5 D13 pin: FMC5_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC5, FMC5_D14)
+#error Invalid pin assignment for FMC5 D14 pin: FMC5_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC5, FMC5_D15)
+#error Invalid pin assignment for FMC5 D15 pin: FMC5_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC5, FMC5_D16)
+#error Invalid pin assignment for FMC5 D16 pin: FMC5_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC5, FMC5_D17)
+#error Invalid pin assignment for FMC5 D17 pin: FMC5_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC5, FMC5_D18)
+#error Invalid pin assignment for FMC5 D18 pin: FMC5_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC5, FMC5_D19)
+#error Invalid pin assignment for FMC5 D19 pin: FMC5_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC5, FMC5_D2)
+#error Invalid pin assignment for FMC5 D2 pin: FMC5_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC5, FMC5_D20)
+#error Invalid pin assignment for FMC5 D20 pin: FMC5_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC5, FMC5_D21)
+#error Invalid pin assignment for FMC5 D21 pin: FMC5_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC5, FMC5_D22)
+#error Invalid pin assignment for FMC5 D22 pin: FMC5_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC5, FMC5_D23)
+#error Invalid pin assignment for FMC5 D23 pin: FMC5_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC5, FMC5_D24)
+#error Invalid pin assignment for FMC5 D24 pin: FMC5_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC5, FMC5_D25)
+#error Invalid pin assignment for FMC5 D25 pin: FMC5_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC5, FMC5_D26)
+#error Invalid pin assignment for FMC5 D26 pin: FMC5_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC5, FMC5_D27)
+#error Invalid pin assignment for FMC5 D27 pin: FMC5_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC5, FMC5_D28)
+#error Invalid pin assignment for FMC5 D28 pin: FMC5_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC5, FMC5_D29)
+#error Invalid pin assignment for FMC5 D29 pin: FMC5_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC5, FMC5_D3)
+#error Invalid pin assignment for FMC5 D3 pin: FMC5_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC5, FMC5_D30)
+#error Invalid pin assignment for FMC5 D30 pin: FMC5_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC5, FMC5_D31)
+#error Invalid pin assignment for FMC5 D31 pin: FMC5_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC5, FMC5_D4)
+#error Invalid pin assignment for FMC5 D4 pin: FMC5_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC5, FMC5_D5)
+#error Invalid pin assignment for FMC5 D5 pin: FMC5_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC5, FMC5_D6)
+#error Invalid pin assignment for FMC5 D6 pin: FMC5_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC5, FMC5_D7)
+#error Invalid pin assignment for FMC5 D7 pin: FMC5_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC5, FMC5_D8)
+#error Invalid pin assignment for FMC5 D8 pin: FMC5_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC5, FMC5_D9)
+#error Invalid pin assignment for FMC5 D9 pin: FMC5_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC5, FMC5_DA0)
+#error Invalid pin assignment for FMC5 DA0 pin: FMC5_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC5, FMC5_DA1)
+#error Invalid pin assignment for FMC5 DA1 pin: FMC5_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC5, FMC5_DA10)
+#error Invalid pin assignment for FMC5 DA10 pin: FMC5_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC5, FMC5_DA11)
+#error Invalid pin assignment for FMC5 DA11 pin: FMC5_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC5, FMC5_DA12)
+#error Invalid pin assignment for FMC5 DA12 pin: FMC5_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC5, FMC5_DA13)
+#error Invalid pin assignment for FMC5 DA13 pin: FMC5_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC5, FMC5_DA14)
+#error Invalid pin assignment for FMC5 DA14 pin: FMC5_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC5, FMC5_DA15)
+#error Invalid pin assignment for FMC5 DA15 pin: FMC5_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC5, FMC5_DA2)
+#error Invalid pin assignment for FMC5 DA2 pin: FMC5_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC5, FMC5_DA3)
+#error Invalid pin assignment for FMC5 DA3 pin: FMC5_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC5, FMC5_DA4)
+#error Invalid pin assignment for FMC5 DA4 pin: FMC5_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC5, FMC5_DA5)
+#error Invalid pin assignment for FMC5 DA5 pin: FMC5_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC5, FMC5_DA6)
+#error Invalid pin assignment for FMC5 DA6 pin: FMC5_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC5, FMC5_DA7)
+#error Invalid pin assignment for FMC5 DA7 pin: FMC5_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC5, FMC5_DA8)
+#error Invalid pin assignment for FMC5 DA8 pin: FMC5_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC5, FMC5_DA9)
+#error Invalid pin assignment for FMC5 DA9 pin: FMC5_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC5, FMC5_INT)
+#error Invalid pin assignment for FMC5 INT pin: FMC5_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC5, FMC5_INT2)
+#error Invalid pin assignment for FMC5 INT2 pin: FMC5_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC5, FMC5_INT3)
+#error Invalid pin assignment for FMC5 INT3 pin: FMC5_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC5, FMC5_INTR)
+#error Invalid pin assignment for FMC5 INTR pin: FMC5_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC5, FMC5_NBL0)
+#error Invalid pin assignment for FMC5 NBL0 pin: FMC5_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC5, FMC5_NBL1)
+#error Invalid pin assignment for FMC5 NBL1 pin: FMC5_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC5, FMC5_NBL2)
+#error Invalid pin assignment for FMC5 NBL2 pin: FMC5_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC5, FMC5_NBL3)
+#error Invalid pin assignment for FMC5 NBL3 pin: FMC5_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC5, FMC5_NCE)
+#error Invalid pin assignment for FMC5 NCE pin: FMC5_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC5, FMC5_NCE2)
+#error Invalid pin assignment for FMC5 NCE2 pin: FMC5_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC5, FMC5_NCE3)
+#error Invalid pin assignment for FMC5 NCE3 pin: FMC5_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC5, FMC5_NE1)
+#error Invalid pin assignment for FMC5 NE1 pin: FMC5_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC5, FMC5_NE2)
+#error Invalid pin assignment for FMC5 NE2 pin: FMC5_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC5, FMC5_NE3)
+#error Invalid pin assignment for FMC5 NE3 pin: FMC5_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC5, FMC5_NE4)
+#error Invalid pin assignment for FMC5 NE4 pin: FMC5_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC5, FMC5_NIORD)
+#error Invalid pin assignment for FMC5 NIORD pin: FMC5_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC5, FMC5_NIOWR)
+#error Invalid pin assignment for FMC5 NIOWR pin: FMC5_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC5, FMC5_NL)
+#error Invalid pin assignment for FMC5 NL pin: FMC5_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC5, FMC5_NOE)
+#error Invalid pin assignment for FMC5 NOE pin: FMC5_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC5, FMC5_NREG)
+#error Invalid pin assignment for FMC5 NREG pin: FMC5_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC5, FMC5_NWAIT)
+#error Invalid pin assignment for FMC5 NWAIT pin: FMC5_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC5, FMC5_NWE)
+#error Invalid pin assignment for FMC5 NWE pin: FMC5_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC5, FMC5_SDCKE0)
+#error Invalid pin assignment for FMC5 SDCKE0 pin: FMC5_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC5, FMC5_SDCKE1)
+#error Invalid pin assignment for FMC5 SDCKE1 pin: FMC5_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC5, FMC5_SDCLK)
+#error Invalid pin assignment for FMC5 SDCLK pin: FMC5_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC5, FMC5_SDNCAS)
+#error Invalid pin assignment for FMC5 SDNCAS pin: FMC5_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC5, FMC5_SDNE0)
+#error Invalid pin assignment for FMC5 SDNE0 pin: FMC5_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC5, FMC5_SDNE1)
+#error Invalid pin assignment for FMC5 SDNE1 pin: FMC5_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC5, FMC5_SDNRAS)
+#error Invalid pin assignment for FMC5 SDNRAS pin: FMC5_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC5, FMC5_SDNWE)
+#error Invalid pin assignment for FMC5 SDNWE pin: FMC5_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC6
+#if !FIND_VALUE_FMC_A0(_FMC6, FMC6_A0)
+#error Invalid pin assignment for FMC6 A0 pin: FMC6_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC6, FMC6_A1)
+#error Invalid pin assignment for FMC6 A1 pin: FMC6_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC6, FMC6_A10)
+#error Invalid pin assignment for FMC6 A10 pin: FMC6_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC6, FMC6_A11)
+#error Invalid pin assignment for FMC6 A11 pin: FMC6_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC6, FMC6_A12)
+#error Invalid pin assignment for FMC6 A12 pin: FMC6_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC6, FMC6_A13)
+#error Invalid pin assignment for FMC6 A13 pin: FMC6_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC6, FMC6_A14)
+#error Invalid pin assignment for FMC6 A14 pin: FMC6_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC6, FMC6_A15)
+#error Invalid pin assignment for FMC6 A15 pin: FMC6_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC6, FMC6_A16)
+#error Invalid pin assignment for FMC6 A16 pin: FMC6_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC6, FMC6_A17)
+#error Invalid pin assignment for FMC6 A17 pin: FMC6_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC6, FMC6_A18)
+#error Invalid pin assignment for FMC6 A18 pin: FMC6_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC6, FMC6_A19)
+#error Invalid pin assignment for FMC6 A19 pin: FMC6_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC6, FMC6_A2)
+#error Invalid pin assignment for FMC6 A2 pin: FMC6_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC6, FMC6_A20)
+#error Invalid pin assignment for FMC6 A20 pin: FMC6_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC6, FMC6_A21)
+#error Invalid pin assignment for FMC6 A21 pin: FMC6_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC6, FMC6_A22)
+#error Invalid pin assignment for FMC6 A22 pin: FMC6_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC6, FMC6_A23)
+#error Invalid pin assignment for FMC6 A23 pin: FMC6_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC6, FMC6_A24)
+#error Invalid pin assignment for FMC6 A24 pin: FMC6_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC6, FMC6_A25)
+#error Invalid pin assignment for FMC6 A25 pin: FMC6_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC6, FMC6_A3)
+#error Invalid pin assignment for FMC6 A3 pin: FMC6_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC6, FMC6_A4)
+#error Invalid pin assignment for FMC6 A4 pin: FMC6_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC6, FMC6_A5)
+#error Invalid pin assignment for FMC6 A5 pin: FMC6_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC6, FMC6_A6)
+#error Invalid pin assignment for FMC6 A6 pin: FMC6_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC6, FMC6_A7)
+#error Invalid pin assignment for FMC6 A7 pin: FMC6_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC6, FMC6_A8)
+#error Invalid pin assignment for FMC6 A8 pin: FMC6_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC6, FMC6_A9)
+#error Invalid pin assignment for FMC6 A9 pin: FMC6_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC6, FMC6_ALE)
+#error Invalid pin assignment for FMC6 ALE pin: FMC6_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC6, FMC6_BA0)
+#error Invalid pin assignment for FMC6 BA0 pin: FMC6_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC6, FMC6_BA1)
+#error Invalid pin assignment for FMC6 BA1 pin: FMC6_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC6, FMC6_CD)
+#error Invalid pin assignment for FMC6 CD pin: FMC6_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC6, FMC6_CLE)
+#error Invalid pin assignment for FMC6 CLE pin: FMC6_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC6, FMC6_CLK)
+#error Invalid pin assignment for FMC6 CLK pin: FMC6_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC6, FMC6_D0)
+#error Invalid pin assignment for FMC6 D0 pin: FMC6_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC6, FMC6_D1)
+#error Invalid pin assignment for FMC6 D1 pin: FMC6_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC6, FMC6_D10)
+#error Invalid pin assignment for FMC6 D10 pin: FMC6_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC6, FMC6_D11)
+#error Invalid pin assignment for FMC6 D11 pin: FMC6_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC6, FMC6_D12)
+#error Invalid pin assignment for FMC6 D12 pin: FMC6_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC6, FMC6_D13)
+#error Invalid pin assignment for FMC6 D13 pin: FMC6_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC6, FMC6_D14)
+#error Invalid pin assignment for FMC6 D14 pin: FMC6_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC6, FMC6_D15)
+#error Invalid pin assignment for FMC6 D15 pin: FMC6_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC6, FMC6_D16)
+#error Invalid pin assignment for FMC6 D16 pin: FMC6_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC6, FMC6_D17)
+#error Invalid pin assignment for FMC6 D17 pin: FMC6_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC6, FMC6_D18)
+#error Invalid pin assignment for FMC6 D18 pin: FMC6_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC6, FMC6_D19)
+#error Invalid pin assignment for FMC6 D19 pin: FMC6_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC6, FMC6_D2)
+#error Invalid pin assignment for FMC6 D2 pin: FMC6_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC6, FMC6_D20)
+#error Invalid pin assignment for FMC6 D20 pin: FMC6_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC6, FMC6_D21)
+#error Invalid pin assignment for FMC6 D21 pin: FMC6_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC6, FMC6_D22)
+#error Invalid pin assignment for FMC6 D22 pin: FMC6_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC6, FMC6_D23)
+#error Invalid pin assignment for FMC6 D23 pin: FMC6_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC6, FMC6_D24)
+#error Invalid pin assignment for FMC6 D24 pin: FMC6_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC6, FMC6_D25)
+#error Invalid pin assignment for FMC6 D25 pin: FMC6_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC6, FMC6_D26)
+#error Invalid pin assignment for FMC6 D26 pin: FMC6_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC6, FMC6_D27)
+#error Invalid pin assignment for FMC6 D27 pin: FMC6_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC6, FMC6_D28)
+#error Invalid pin assignment for FMC6 D28 pin: FMC6_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC6, FMC6_D29)
+#error Invalid pin assignment for FMC6 D29 pin: FMC6_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC6, FMC6_D3)
+#error Invalid pin assignment for FMC6 D3 pin: FMC6_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC6, FMC6_D30)
+#error Invalid pin assignment for FMC6 D30 pin: FMC6_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC6, FMC6_D31)
+#error Invalid pin assignment for FMC6 D31 pin: FMC6_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC6, FMC6_D4)
+#error Invalid pin assignment for FMC6 D4 pin: FMC6_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC6, FMC6_D5)
+#error Invalid pin assignment for FMC6 D5 pin: FMC6_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC6, FMC6_D6)
+#error Invalid pin assignment for FMC6 D6 pin: FMC6_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC6, FMC6_D7)
+#error Invalid pin assignment for FMC6 D7 pin: FMC6_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC6, FMC6_D8)
+#error Invalid pin assignment for FMC6 D8 pin: FMC6_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC6, FMC6_D9)
+#error Invalid pin assignment for FMC6 D9 pin: FMC6_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC6, FMC6_DA0)
+#error Invalid pin assignment for FMC6 DA0 pin: FMC6_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC6, FMC6_DA1)
+#error Invalid pin assignment for FMC6 DA1 pin: FMC6_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC6, FMC6_DA10)
+#error Invalid pin assignment for FMC6 DA10 pin: FMC6_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC6, FMC6_DA11)
+#error Invalid pin assignment for FMC6 DA11 pin: FMC6_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC6, FMC6_DA12)
+#error Invalid pin assignment for FMC6 DA12 pin: FMC6_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC6, FMC6_DA13)
+#error Invalid pin assignment for FMC6 DA13 pin: FMC6_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC6, FMC6_DA14)
+#error Invalid pin assignment for FMC6 DA14 pin: FMC6_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC6, FMC6_DA15)
+#error Invalid pin assignment for FMC6 DA15 pin: FMC6_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC6, FMC6_DA2)
+#error Invalid pin assignment for FMC6 DA2 pin: FMC6_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC6, FMC6_DA3)
+#error Invalid pin assignment for FMC6 DA3 pin: FMC6_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC6, FMC6_DA4)
+#error Invalid pin assignment for FMC6 DA4 pin: FMC6_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC6, FMC6_DA5)
+#error Invalid pin assignment for FMC6 DA5 pin: FMC6_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC6, FMC6_DA6)
+#error Invalid pin assignment for FMC6 DA6 pin: FMC6_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC6, FMC6_DA7)
+#error Invalid pin assignment for FMC6 DA7 pin: FMC6_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC6, FMC6_DA8)
+#error Invalid pin assignment for FMC6 DA8 pin: FMC6_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC6, FMC6_DA9)
+#error Invalid pin assignment for FMC6 DA9 pin: FMC6_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC6, FMC6_INT)
+#error Invalid pin assignment for FMC6 INT pin: FMC6_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC6, FMC6_INT2)
+#error Invalid pin assignment for FMC6 INT2 pin: FMC6_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC6, FMC6_INT3)
+#error Invalid pin assignment for FMC6 INT3 pin: FMC6_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC6, FMC6_INTR)
+#error Invalid pin assignment for FMC6 INTR pin: FMC6_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC6, FMC6_NBL0)
+#error Invalid pin assignment for FMC6 NBL0 pin: FMC6_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC6, FMC6_NBL1)
+#error Invalid pin assignment for FMC6 NBL1 pin: FMC6_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC6, FMC6_NBL2)
+#error Invalid pin assignment for FMC6 NBL2 pin: FMC6_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC6, FMC6_NBL3)
+#error Invalid pin assignment for FMC6 NBL3 pin: FMC6_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC6, FMC6_NCE)
+#error Invalid pin assignment for FMC6 NCE pin: FMC6_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC6, FMC6_NCE2)
+#error Invalid pin assignment for FMC6 NCE2 pin: FMC6_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC6, FMC6_NCE3)
+#error Invalid pin assignment for FMC6 NCE3 pin: FMC6_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC6, FMC6_NE1)
+#error Invalid pin assignment for FMC6 NE1 pin: FMC6_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC6, FMC6_NE2)
+#error Invalid pin assignment for FMC6 NE2 pin: FMC6_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC6, FMC6_NE3)
+#error Invalid pin assignment for FMC6 NE3 pin: FMC6_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC6, FMC6_NE4)
+#error Invalid pin assignment for FMC6 NE4 pin: FMC6_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC6, FMC6_NIORD)
+#error Invalid pin assignment for FMC6 NIORD pin: FMC6_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC6, FMC6_NIOWR)
+#error Invalid pin assignment for FMC6 NIOWR pin: FMC6_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC6, FMC6_NL)
+#error Invalid pin assignment for FMC6 NL pin: FMC6_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC6, FMC6_NOE)
+#error Invalid pin assignment for FMC6 NOE pin: FMC6_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC6, FMC6_NREG)
+#error Invalid pin assignment for FMC6 NREG pin: FMC6_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC6, FMC6_NWAIT)
+#error Invalid pin assignment for FMC6 NWAIT pin: FMC6_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC6, FMC6_NWE)
+#error Invalid pin assignment for FMC6 NWE pin: FMC6_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC6, FMC6_SDCKE0)
+#error Invalid pin assignment for FMC6 SDCKE0 pin: FMC6_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC6, FMC6_SDCKE1)
+#error Invalid pin assignment for FMC6 SDCKE1 pin: FMC6_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC6, FMC6_SDCLK)
+#error Invalid pin assignment for FMC6 SDCLK pin: FMC6_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC6, FMC6_SDNCAS)
+#error Invalid pin assignment for FMC6 SDNCAS pin: FMC6_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC6, FMC6_SDNE0)
+#error Invalid pin assignment for FMC6 SDNE0 pin: FMC6_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC6, FMC6_SDNE1)
+#error Invalid pin assignment for FMC6 SDNE1 pin: FMC6_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC6, FMC6_SDNRAS)
+#error Invalid pin assignment for FMC6 SDNRAS pin: FMC6_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC6, FMC6_SDNWE)
+#error Invalid pin assignment for FMC6 SDNWE pin: FMC6_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC7
+#if !FIND_VALUE_FMC_A0(_FMC7, FMC7_A0)
+#error Invalid pin assignment for FMC7 A0 pin: FMC7_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC7, FMC7_A1)
+#error Invalid pin assignment for FMC7 A1 pin: FMC7_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC7, FMC7_A10)
+#error Invalid pin assignment for FMC7 A10 pin: FMC7_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC7, FMC7_A11)
+#error Invalid pin assignment for FMC7 A11 pin: FMC7_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC7, FMC7_A12)
+#error Invalid pin assignment for FMC7 A12 pin: FMC7_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC7, FMC7_A13)
+#error Invalid pin assignment for FMC7 A13 pin: FMC7_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC7, FMC7_A14)
+#error Invalid pin assignment for FMC7 A14 pin: FMC7_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC7, FMC7_A15)
+#error Invalid pin assignment for FMC7 A15 pin: FMC7_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC7, FMC7_A16)
+#error Invalid pin assignment for FMC7 A16 pin: FMC7_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC7, FMC7_A17)
+#error Invalid pin assignment for FMC7 A17 pin: FMC7_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC7, FMC7_A18)
+#error Invalid pin assignment for FMC7 A18 pin: FMC7_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC7, FMC7_A19)
+#error Invalid pin assignment for FMC7 A19 pin: FMC7_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC7, FMC7_A2)
+#error Invalid pin assignment for FMC7 A2 pin: FMC7_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC7, FMC7_A20)
+#error Invalid pin assignment for FMC7 A20 pin: FMC7_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC7, FMC7_A21)
+#error Invalid pin assignment for FMC7 A21 pin: FMC7_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC7, FMC7_A22)
+#error Invalid pin assignment for FMC7 A22 pin: FMC7_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC7, FMC7_A23)
+#error Invalid pin assignment for FMC7 A23 pin: FMC7_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC7, FMC7_A24)
+#error Invalid pin assignment for FMC7 A24 pin: FMC7_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC7, FMC7_A25)
+#error Invalid pin assignment for FMC7 A25 pin: FMC7_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC7, FMC7_A3)
+#error Invalid pin assignment for FMC7 A3 pin: FMC7_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC7, FMC7_A4)
+#error Invalid pin assignment for FMC7 A4 pin: FMC7_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC7, FMC7_A5)
+#error Invalid pin assignment for FMC7 A5 pin: FMC7_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC7, FMC7_A6)
+#error Invalid pin assignment for FMC7 A6 pin: FMC7_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC7, FMC7_A7)
+#error Invalid pin assignment for FMC7 A7 pin: FMC7_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC7, FMC7_A8)
+#error Invalid pin assignment for FMC7 A8 pin: FMC7_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC7, FMC7_A9)
+#error Invalid pin assignment for FMC7 A9 pin: FMC7_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC7, FMC7_ALE)
+#error Invalid pin assignment for FMC7 ALE pin: FMC7_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC7, FMC7_BA0)
+#error Invalid pin assignment for FMC7 BA0 pin: FMC7_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC7, FMC7_BA1)
+#error Invalid pin assignment for FMC7 BA1 pin: FMC7_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC7, FMC7_CD)
+#error Invalid pin assignment for FMC7 CD pin: FMC7_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC7, FMC7_CLE)
+#error Invalid pin assignment for FMC7 CLE pin: FMC7_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC7, FMC7_CLK)
+#error Invalid pin assignment for FMC7 CLK pin: FMC7_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC7, FMC7_D0)
+#error Invalid pin assignment for FMC7 D0 pin: FMC7_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC7, FMC7_D1)
+#error Invalid pin assignment for FMC7 D1 pin: FMC7_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC7, FMC7_D10)
+#error Invalid pin assignment for FMC7 D10 pin: FMC7_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC7, FMC7_D11)
+#error Invalid pin assignment for FMC7 D11 pin: FMC7_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC7, FMC7_D12)
+#error Invalid pin assignment for FMC7 D12 pin: FMC7_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC7, FMC7_D13)
+#error Invalid pin assignment for FMC7 D13 pin: FMC7_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC7, FMC7_D14)
+#error Invalid pin assignment for FMC7 D14 pin: FMC7_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC7, FMC7_D15)
+#error Invalid pin assignment for FMC7 D15 pin: FMC7_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC7, FMC7_D16)
+#error Invalid pin assignment for FMC7 D16 pin: FMC7_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC7, FMC7_D17)
+#error Invalid pin assignment for FMC7 D17 pin: FMC7_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC7, FMC7_D18)
+#error Invalid pin assignment for FMC7 D18 pin: FMC7_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC7, FMC7_D19)
+#error Invalid pin assignment for FMC7 D19 pin: FMC7_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC7, FMC7_D2)
+#error Invalid pin assignment for FMC7 D2 pin: FMC7_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC7, FMC7_D20)
+#error Invalid pin assignment for FMC7 D20 pin: FMC7_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC7, FMC7_D21)
+#error Invalid pin assignment for FMC7 D21 pin: FMC7_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC7, FMC7_D22)
+#error Invalid pin assignment for FMC7 D22 pin: FMC7_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC7, FMC7_D23)
+#error Invalid pin assignment for FMC7 D23 pin: FMC7_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC7, FMC7_D24)
+#error Invalid pin assignment for FMC7 D24 pin: FMC7_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC7, FMC7_D25)
+#error Invalid pin assignment for FMC7 D25 pin: FMC7_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC7, FMC7_D26)
+#error Invalid pin assignment for FMC7 D26 pin: FMC7_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC7, FMC7_D27)
+#error Invalid pin assignment for FMC7 D27 pin: FMC7_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC7, FMC7_D28)
+#error Invalid pin assignment for FMC7 D28 pin: FMC7_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC7, FMC7_D29)
+#error Invalid pin assignment for FMC7 D29 pin: FMC7_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC7, FMC7_D3)
+#error Invalid pin assignment for FMC7 D3 pin: FMC7_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC7, FMC7_D30)
+#error Invalid pin assignment for FMC7 D30 pin: FMC7_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC7, FMC7_D31)
+#error Invalid pin assignment for FMC7 D31 pin: FMC7_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC7, FMC7_D4)
+#error Invalid pin assignment for FMC7 D4 pin: FMC7_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC7, FMC7_D5)
+#error Invalid pin assignment for FMC7 D5 pin: FMC7_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC7, FMC7_D6)
+#error Invalid pin assignment for FMC7 D6 pin: FMC7_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC7, FMC7_D7)
+#error Invalid pin assignment for FMC7 D7 pin: FMC7_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC7, FMC7_D8)
+#error Invalid pin assignment for FMC7 D8 pin: FMC7_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC7, FMC7_D9)
+#error Invalid pin assignment for FMC7 D9 pin: FMC7_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC7, FMC7_DA0)
+#error Invalid pin assignment for FMC7 DA0 pin: FMC7_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC7, FMC7_DA1)
+#error Invalid pin assignment for FMC7 DA1 pin: FMC7_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC7, FMC7_DA10)
+#error Invalid pin assignment for FMC7 DA10 pin: FMC7_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC7, FMC7_DA11)
+#error Invalid pin assignment for FMC7 DA11 pin: FMC7_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC7, FMC7_DA12)
+#error Invalid pin assignment for FMC7 DA12 pin: FMC7_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC7, FMC7_DA13)
+#error Invalid pin assignment for FMC7 DA13 pin: FMC7_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC7, FMC7_DA14)
+#error Invalid pin assignment for FMC7 DA14 pin: FMC7_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC7, FMC7_DA15)
+#error Invalid pin assignment for FMC7 DA15 pin: FMC7_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC7, FMC7_DA2)
+#error Invalid pin assignment for FMC7 DA2 pin: FMC7_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC7, FMC7_DA3)
+#error Invalid pin assignment for FMC7 DA3 pin: FMC7_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC7, FMC7_DA4)
+#error Invalid pin assignment for FMC7 DA4 pin: FMC7_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC7, FMC7_DA5)
+#error Invalid pin assignment for FMC7 DA5 pin: FMC7_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC7, FMC7_DA6)
+#error Invalid pin assignment for FMC7 DA6 pin: FMC7_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC7, FMC7_DA7)
+#error Invalid pin assignment for FMC7 DA7 pin: FMC7_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC7, FMC7_DA8)
+#error Invalid pin assignment for FMC7 DA8 pin: FMC7_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC7, FMC7_DA9)
+#error Invalid pin assignment for FMC7 DA9 pin: FMC7_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC7, FMC7_INT)
+#error Invalid pin assignment for FMC7 INT pin: FMC7_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC7, FMC7_INT2)
+#error Invalid pin assignment for FMC7 INT2 pin: FMC7_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC7, FMC7_INT3)
+#error Invalid pin assignment for FMC7 INT3 pin: FMC7_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC7, FMC7_INTR)
+#error Invalid pin assignment for FMC7 INTR pin: FMC7_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC7, FMC7_NBL0)
+#error Invalid pin assignment for FMC7 NBL0 pin: FMC7_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC7, FMC7_NBL1)
+#error Invalid pin assignment for FMC7 NBL1 pin: FMC7_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC7, FMC7_NBL2)
+#error Invalid pin assignment for FMC7 NBL2 pin: FMC7_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC7, FMC7_NBL3)
+#error Invalid pin assignment for FMC7 NBL3 pin: FMC7_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC7, FMC7_NCE)
+#error Invalid pin assignment for FMC7 NCE pin: FMC7_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC7, FMC7_NCE2)
+#error Invalid pin assignment for FMC7 NCE2 pin: FMC7_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC7, FMC7_NCE3)
+#error Invalid pin assignment for FMC7 NCE3 pin: FMC7_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC7, FMC7_NE1)
+#error Invalid pin assignment for FMC7 NE1 pin: FMC7_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC7, FMC7_NE2)
+#error Invalid pin assignment for FMC7 NE2 pin: FMC7_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC7, FMC7_NE3)
+#error Invalid pin assignment for FMC7 NE3 pin: FMC7_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC7, FMC7_NE4)
+#error Invalid pin assignment for FMC7 NE4 pin: FMC7_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC7, FMC7_NIORD)
+#error Invalid pin assignment for FMC7 NIORD pin: FMC7_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC7, FMC7_NIOWR)
+#error Invalid pin assignment for FMC7 NIOWR pin: FMC7_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC7, FMC7_NL)
+#error Invalid pin assignment for FMC7 NL pin: FMC7_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC7, FMC7_NOE)
+#error Invalid pin assignment for FMC7 NOE pin: FMC7_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC7, FMC7_NREG)
+#error Invalid pin assignment for FMC7 NREG pin: FMC7_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC7, FMC7_NWAIT)
+#error Invalid pin assignment for FMC7 NWAIT pin: FMC7_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC7, FMC7_NWE)
+#error Invalid pin assignment for FMC7 NWE pin: FMC7_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC7, FMC7_SDCKE0)
+#error Invalid pin assignment for FMC7 SDCKE0 pin: FMC7_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC7, FMC7_SDCKE1)
+#error Invalid pin assignment for FMC7 SDCKE1 pin: FMC7_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC7, FMC7_SDCLK)
+#error Invalid pin assignment for FMC7 SDCLK pin: FMC7_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC7, FMC7_SDNCAS)
+#error Invalid pin assignment for FMC7 SDNCAS pin: FMC7_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC7, FMC7_SDNE0)
+#error Invalid pin assignment for FMC7 SDNE0 pin: FMC7_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC7, FMC7_SDNE1)
+#error Invalid pin assignment for FMC7 SDNE1 pin: FMC7_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC7, FMC7_SDNRAS)
+#error Invalid pin assignment for FMC7 SDNRAS pin: FMC7_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC7, FMC7_SDNWE)
+#error Invalid pin assignment for FMC7 SDNWE pin: FMC7_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC8
+#if !FIND_VALUE_FMC_A0(_FMC8, FMC8_A0)
+#error Invalid pin assignment for FMC8 A0 pin: FMC8_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC8, FMC8_A1)
+#error Invalid pin assignment for FMC8 A1 pin: FMC8_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC8, FMC8_A10)
+#error Invalid pin assignment for FMC8 A10 pin: FMC8_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC8, FMC8_A11)
+#error Invalid pin assignment for FMC8 A11 pin: FMC8_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC8, FMC8_A12)
+#error Invalid pin assignment for FMC8 A12 pin: FMC8_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC8, FMC8_A13)
+#error Invalid pin assignment for FMC8 A13 pin: FMC8_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC8, FMC8_A14)
+#error Invalid pin assignment for FMC8 A14 pin: FMC8_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC8, FMC8_A15)
+#error Invalid pin assignment for FMC8 A15 pin: FMC8_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC8, FMC8_A16)
+#error Invalid pin assignment for FMC8 A16 pin: FMC8_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC8, FMC8_A17)
+#error Invalid pin assignment for FMC8 A17 pin: FMC8_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC8, FMC8_A18)
+#error Invalid pin assignment for FMC8 A18 pin: FMC8_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC8, FMC8_A19)
+#error Invalid pin assignment for FMC8 A19 pin: FMC8_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC8, FMC8_A2)
+#error Invalid pin assignment for FMC8 A2 pin: FMC8_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC8, FMC8_A20)
+#error Invalid pin assignment for FMC8 A20 pin: FMC8_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC8, FMC8_A21)
+#error Invalid pin assignment for FMC8 A21 pin: FMC8_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC8, FMC8_A22)
+#error Invalid pin assignment for FMC8 A22 pin: FMC8_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC8, FMC8_A23)
+#error Invalid pin assignment for FMC8 A23 pin: FMC8_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC8, FMC8_A24)
+#error Invalid pin assignment for FMC8 A24 pin: FMC8_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC8, FMC8_A25)
+#error Invalid pin assignment for FMC8 A25 pin: FMC8_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC8, FMC8_A3)
+#error Invalid pin assignment for FMC8 A3 pin: FMC8_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC8, FMC8_A4)
+#error Invalid pin assignment for FMC8 A4 pin: FMC8_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC8, FMC8_A5)
+#error Invalid pin assignment for FMC8 A5 pin: FMC8_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC8, FMC8_A6)
+#error Invalid pin assignment for FMC8 A6 pin: FMC8_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC8, FMC8_A7)
+#error Invalid pin assignment for FMC8 A7 pin: FMC8_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC8, FMC8_A8)
+#error Invalid pin assignment for FMC8 A8 pin: FMC8_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC8, FMC8_A9)
+#error Invalid pin assignment for FMC8 A9 pin: FMC8_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC8, FMC8_ALE)
+#error Invalid pin assignment for FMC8 ALE pin: FMC8_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC8, FMC8_BA0)
+#error Invalid pin assignment for FMC8 BA0 pin: FMC8_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC8, FMC8_BA1)
+#error Invalid pin assignment for FMC8 BA1 pin: FMC8_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC8, FMC8_CD)
+#error Invalid pin assignment for FMC8 CD pin: FMC8_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC8, FMC8_CLE)
+#error Invalid pin assignment for FMC8 CLE pin: FMC8_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC8, FMC8_CLK)
+#error Invalid pin assignment for FMC8 CLK pin: FMC8_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC8, FMC8_D0)
+#error Invalid pin assignment for FMC8 D0 pin: FMC8_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC8, FMC8_D1)
+#error Invalid pin assignment for FMC8 D1 pin: FMC8_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC8, FMC8_D10)
+#error Invalid pin assignment for FMC8 D10 pin: FMC8_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC8, FMC8_D11)
+#error Invalid pin assignment for FMC8 D11 pin: FMC8_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC8, FMC8_D12)
+#error Invalid pin assignment for FMC8 D12 pin: FMC8_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC8, FMC8_D13)
+#error Invalid pin assignment for FMC8 D13 pin: FMC8_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC8, FMC8_D14)
+#error Invalid pin assignment for FMC8 D14 pin: FMC8_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC8, FMC8_D15)
+#error Invalid pin assignment for FMC8 D15 pin: FMC8_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC8, FMC8_D16)
+#error Invalid pin assignment for FMC8 D16 pin: FMC8_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC8, FMC8_D17)
+#error Invalid pin assignment for FMC8 D17 pin: FMC8_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC8, FMC8_D18)
+#error Invalid pin assignment for FMC8 D18 pin: FMC8_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC8, FMC8_D19)
+#error Invalid pin assignment for FMC8 D19 pin: FMC8_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC8, FMC8_D2)
+#error Invalid pin assignment for FMC8 D2 pin: FMC8_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC8, FMC8_D20)
+#error Invalid pin assignment for FMC8 D20 pin: FMC8_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC8, FMC8_D21)
+#error Invalid pin assignment for FMC8 D21 pin: FMC8_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC8, FMC8_D22)
+#error Invalid pin assignment for FMC8 D22 pin: FMC8_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC8, FMC8_D23)
+#error Invalid pin assignment for FMC8 D23 pin: FMC8_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC8, FMC8_D24)
+#error Invalid pin assignment for FMC8 D24 pin: FMC8_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC8, FMC8_D25)
+#error Invalid pin assignment for FMC8 D25 pin: FMC8_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC8, FMC8_D26)
+#error Invalid pin assignment for FMC8 D26 pin: FMC8_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC8, FMC8_D27)
+#error Invalid pin assignment for FMC8 D27 pin: FMC8_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC8, FMC8_D28)
+#error Invalid pin assignment for FMC8 D28 pin: FMC8_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC8, FMC8_D29)
+#error Invalid pin assignment for FMC8 D29 pin: FMC8_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC8, FMC8_D3)
+#error Invalid pin assignment for FMC8 D3 pin: FMC8_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC8, FMC8_D30)
+#error Invalid pin assignment for FMC8 D30 pin: FMC8_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC8, FMC8_D31)
+#error Invalid pin assignment for FMC8 D31 pin: FMC8_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC8, FMC8_D4)
+#error Invalid pin assignment for FMC8 D4 pin: FMC8_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC8, FMC8_D5)
+#error Invalid pin assignment for FMC8 D5 pin: FMC8_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC8, FMC8_D6)
+#error Invalid pin assignment for FMC8 D6 pin: FMC8_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC8, FMC8_D7)
+#error Invalid pin assignment for FMC8 D7 pin: FMC8_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC8, FMC8_D8)
+#error Invalid pin assignment for FMC8 D8 pin: FMC8_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC8, FMC8_D9)
+#error Invalid pin assignment for FMC8 D9 pin: FMC8_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC8, FMC8_DA0)
+#error Invalid pin assignment for FMC8 DA0 pin: FMC8_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC8, FMC8_DA1)
+#error Invalid pin assignment for FMC8 DA1 pin: FMC8_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC8, FMC8_DA10)
+#error Invalid pin assignment for FMC8 DA10 pin: FMC8_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC8, FMC8_DA11)
+#error Invalid pin assignment for FMC8 DA11 pin: FMC8_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC8, FMC8_DA12)
+#error Invalid pin assignment for FMC8 DA12 pin: FMC8_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC8, FMC8_DA13)
+#error Invalid pin assignment for FMC8 DA13 pin: FMC8_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC8, FMC8_DA14)
+#error Invalid pin assignment for FMC8 DA14 pin: FMC8_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC8, FMC8_DA15)
+#error Invalid pin assignment for FMC8 DA15 pin: FMC8_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC8, FMC8_DA2)
+#error Invalid pin assignment for FMC8 DA2 pin: FMC8_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC8, FMC8_DA3)
+#error Invalid pin assignment for FMC8 DA3 pin: FMC8_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC8, FMC8_DA4)
+#error Invalid pin assignment for FMC8 DA4 pin: FMC8_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC8, FMC8_DA5)
+#error Invalid pin assignment for FMC8 DA5 pin: FMC8_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC8, FMC8_DA6)
+#error Invalid pin assignment for FMC8 DA6 pin: FMC8_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC8, FMC8_DA7)
+#error Invalid pin assignment for FMC8 DA7 pin: FMC8_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC8, FMC8_DA8)
+#error Invalid pin assignment for FMC8 DA8 pin: FMC8_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC8, FMC8_DA9)
+#error Invalid pin assignment for FMC8 DA9 pin: FMC8_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC8, FMC8_INT)
+#error Invalid pin assignment for FMC8 INT pin: FMC8_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC8, FMC8_INT2)
+#error Invalid pin assignment for FMC8 INT2 pin: FMC8_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC8, FMC8_INT3)
+#error Invalid pin assignment for FMC8 INT3 pin: FMC8_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC8, FMC8_INTR)
+#error Invalid pin assignment for FMC8 INTR pin: FMC8_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC8, FMC8_NBL0)
+#error Invalid pin assignment for FMC8 NBL0 pin: FMC8_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC8, FMC8_NBL1)
+#error Invalid pin assignment for FMC8 NBL1 pin: FMC8_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC8, FMC8_NBL2)
+#error Invalid pin assignment for FMC8 NBL2 pin: FMC8_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC8, FMC8_NBL3)
+#error Invalid pin assignment for FMC8 NBL3 pin: FMC8_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC8, FMC8_NCE)
+#error Invalid pin assignment for FMC8 NCE pin: FMC8_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC8, FMC8_NCE2)
+#error Invalid pin assignment for FMC8 NCE2 pin: FMC8_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC8, FMC8_NCE3)
+#error Invalid pin assignment for FMC8 NCE3 pin: FMC8_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC8, FMC8_NE1)
+#error Invalid pin assignment for FMC8 NE1 pin: FMC8_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC8, FMC8_NE2)
+#error Invalid pin assignment for FMC8 NE2 pin: FMC8_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC8, FMC8_NE3)
+#error Invalid pin assignment for FMC8 NE3 pin: FMC8_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC8, FMC8_NE4)
+#error Invalid pin assignment for FMC8 NE4 pin: FMC8_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC8, FMC8_NIORD)
+#error Invalid pin assignment for FMC8 NIORD pin: FMC8_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC8, FMC8_NIOWR)
+#error Invalid pin assignment for FMC8 NIOWR pin: FMC8_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC8, FMC8_NL)
+#error Invalid pin assignment for FMC8 NL pin: FMC8_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC8, FMC8_NOE)
+#error Invalid pin assignment for FMC8 NOE pin: FMC8_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC8, FMC8_NREG)
+#error Invalid pin assignment for FMC8 NREG pin: FMC8_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC8, FMC8_NWAIT)
+#error Invalid pin assignment for FMC8 NWAIT pin: FMC8_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC8, FMC8_NWE)
+#error Invalid pin assignment for FMC8 NWE pin: FMC8_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC8, FMC8_SDCKE0)
+#error Invalid pin assignment for FMC8 SDCKE0 pin: FMC8_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC8, FMC8_SDCKE1)
+#error Invalid pin assignment for FMC8 SDCKE1 pin: FMC8_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC8, FMC8_SDCLK)
+#error Invalid pin assignment for FMC8 SDCLK pin: FMC8_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC8, FMC8_SDNCAS)
+#error Invalid pin assignment for FMC8 SDNCAS pin: FMC8_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC8, FMC8_SDNE0)
+#error Invalid pin assignment for FMC8 SDNE0 pin: FMC8_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC8, FMC8_SDNE1)
+#error Invalid pin assignment for FMC8 SDNE1 pin: FMC8_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC8, FMC8_SDNRAS)
+#error Invalid pin assignment for FMC8 SDNRAS pin: FMC8_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC8, FMC8_SDNWE)
+#error Invalid pin assignment for FMC8 SDNWE pin: FMC8_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC9
+#if !FIND_VALUE_FMC_A0(_FMC9, FMC9_A0)
+#error Invalid pin assignment for FMC9 A0 pin: FMC9_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC9, FMC9_A1)
+#error Invalid pin assignment for FMC9 A1 pin: FMC9_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC9, FMC9_A10)
+#error Invalid pin assignment for FMC9 A10 pin: FMC9_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC9, FMC9_A11)
+#error Invalid pin assignment for FMC9 A11 pin: FMC9_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC9, FMC9_A12)
+#error Invalid pin assignment for FMC9 A12 pin: FMC9_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC9, FMC9_A13)
+#error Invalid pin assignment for FMC9 A13 pin: FMC9_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC9, FMC9_A14)
+#error Invalid pin assignment for FMC9 A14 pin: FMC9_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC9, FMC9_A15)
+#error Invalid pin assignment for FMC9 A15 pin: FMC9_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC9, FMC9_A16)
+#error Invalid pin assignment for FMC9 A16 pin: FMC9_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC9, FMC9_A17)
+#error Invalid pin assignment for FMC9 A17 pin: FMC9_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC9, FMC9_A18)
+#error Invalid pin assignment for FMC9 A18 pin: FMC9_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC9, FMC9_A19)
+#error Invalid pin assignment for FMC9 A19 pin: FMC9_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC9, FMC9_A2)
+#error Invalid pin assignment for FMC9 A2 pin: FMC9_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC9, FMC9_A20)
+#error Invalid pin assignment for FMC9 A20 pin: FMC9_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC9, FMC9_A21)
+#error Invalid pin assignment for FMC9 A21 pin: FMC9_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC9, FMC9_A22)
+#error Invalid pin assignment for FMC9 A22 pin: FMC9_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC9, FMC9_A23)
+#error Invalid pin assignment for FMC9 A23 pin: FMC9_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC9, FMC9_A24)
+#error Invalid pin assignment for FMC9 A24 pin: FMC9_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC9, FMC9_A25)
+#error Invalid pin assignment for FMC9 A25 pin: FMC9_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC9, FMC9_A3)
+#error Invalid pin assignment for FMC9 A3 pin: FMC9_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC9, FMC9_A4)
+#error Invalid pin assignment for FMC9 A4 pin: FMC9_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC9, FMC9_A5)
+#error Invalid pin assignment for FMC9 A5 pin: FMC9_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC9, FMC9_A6)
+#error Invalid pin assignment for FMC9 A6 pin: FMC9_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC9, FMC9_A7)
+#error Invalid pin assignment for FMC9 A7 pin: FMC9_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC9, FMC9_A8)
+#error Invalid pin assignment for FMC9 A8 pin: FMC9_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC9, FMC9_A9)
+#error Invalid pin assignment for FMC9 A9 pin: FMC9_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC9, FMC9_ALE)
+#error Invalid pin assignment for FMC9 ALE pin: FMC9_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC9, FMC9_BA0)
+#error Invalid pin assignment for FMC9 BA0 pin: FMC9_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC9, FMC9_BA1)
+#error Invalid pin assignment for FMC9 BA1 pin: FMC9_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC9, FMC9_CD)
+#error Invalid pin assignment for FMC9 CD pin: FMC9_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC9, FMC9_CLE)
+#error Invalid pin assignment for FMC9 CLE pin: FMC9_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC9, FMC9_CLK)
+#error Invalid pin assignment for FMC9 CLK pin: FMC9_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC9, FMC9_D0)
+#error Invalid pin assignment for FMC9 D0 pin: FMC9_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC9, FMC9_D1)
+#error Invalid pin assignment for FMC9 D1 pin: FMC9_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC9, FMC9_D10)
+#error Invalid pin assignment for FMC9 D10 pin: FMC9_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC9, FMC9_D11)
+#error Invalid pin assignment for FMC9 D11 pin: FMC9_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC9, FMC9_D12)
+#error Invalid pin assignment for FMC9 D12 pin: FMC9_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC9, FMC9_D13)
+#error Invalid pin assignment for FMC9 D13 pin: FMC9_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC9, FMC9_D14)
+#error Invalid pin assignment for FMC9 D14 pin: FMC9_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC9, FMC9_D15)
+#error Invalid pin assignment for FMC9 D15 pin: FMC9_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC9, FMC9_D16)
+#error Invalid pin assignment for FMC9 D16 pin: FMC9_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC9, FMC9_D17)
+#error Invalid pin assignment for FMC9 D17 pin: FMC9_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC9, FMC9_D18)
+#error Invalid pin assignment for FMC9 D18 pin: FMC9_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC9, FMC9_D19)
+#error Invalid pin assignment for FMC9 D19 pin: FMC9_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC9, FMC9_D2)
+#error Invalid pin assignment for FMC9 D2 pin: FMC9_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC9, FMC9_D20)
+#error Invalid pin assignment for FMC9 D20 pin: FMC9_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC9, FMC9_D21)
+#error Invalid pin assignment for FMC9 D21 pin: FMC9_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC9, FMC9_D22)
+#error Invalid pin assignment for FMC9 D22 pin: FMC9_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC9, FMC9_D23)
+#error Invalid pin assignment for FMC9 D23 pin: FMC9_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC9, FMC9_D24)
+#error Invalid pin assignment for FMC9 D24 pin: FMC9_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC9, FMC9_D25)
+#error Invalid pin assignment for FMC9 D25 pin: FMC9_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC9, FMC9_D26)
+#error Invalid pin assignment for FMC9 D26 pin: FMC9_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC9, FMC9_D27)
+#error Invalid pin assignment for FMC9 D27 pin: FMC9_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC9, FMC9_D28)
+#error Invalid pin assignment for FMC9 D28 pin: FMC9_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC9, FMC9_D29)
+#error Invalid pin assignment for FMC9 D29 pin: FMC9_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC9, FMC9_D3)
+#error Invalid pin assignment for FMC9 D3 pin: FMC9_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC9, FMC9_D30)
+#error Invalid pin assignment for FMC9 D30 pin: FMC9_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC9, FMC9_D31)
+#error Invalid pin assignment for FMC9 D31 pin: FMC9_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC9, FMC9_D4)
+#error Invalid pin assignment for FMC9 D4 pin: FMC9_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC9, FMC9_D5)
+#error Invalid pin assignment for FMC9 D5 pin: FMC9_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC9, FMC9_D6)
+#error Invalid pin assignment for FMC9 D6 pin: FMC9_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC9, FMC9_D7)
+#error Invalid pin assignment for FMC9 D7 pin: FMC9_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC9, FMC9_D8)
+#error Invalid pin assignment for FMC9 D8 pin: FMC9_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC9, FMC9_D9)
+#error Invalid pin assignment for FMC9 D9 pin: FMC9_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC9, FMC9_DA0)
+#error Invalid pin assignment for FMC9 DA0 pin: FMC9_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC9, FMC9_DA1)
+#error Invalid pin assignment for FMC9 DA1 pin: FMC9_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC9, FMC9_DA10)
+#error Invalid pin assignment for FMC9 DA10 pin: FMC9_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC9, FMC9_DA11)
+#error Invalid pin assignment for FMC9 DA11 pin: FMC9_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC9, FMC9_DA12)
+#error Invalid pin assignment for FMC9 DA12 pin: FMC9_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC9, FMC9_DA13)
+#error Invalid pin assignment for FMC9 DA13 pin: FMC9_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC9, FMC9_DA14)
+#error Invalid pin assignment for FMC9 DA14 pin: FMC9_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC9, FMC9_DA15)
+#error Invalid pin assignment for FMC9 DA15 pin: FMC9_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC9, FMC9_DA2)
+#error Invalid pin assignment for FMC9 DA2 pin: FMC9_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC9, FMC9_DA3)
+#error Invalid pin assignment for FMC9 DA3 pin: FMC9_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC9, FMC9_DA4)
+#error Invalid pin assignment for FMC9 DA4 pin: FMC9_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC9, FMC9_DA5)
+#error Invalid pin assignment for FMC9 DA5 pin: FMC9_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC9, FMC9_DA6)
+#error Invalid pin assignment for FMC9 DA6 pin: FMC9_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC9, FMC9_DA7)
+#error Invalid pin assignment for FMC9 DA7 pin: FMC9_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC9, FMC9_DA8)
+#error Invalid pin assignment for FMC9 DA8 pin: FMC9_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC9, FMC9_DA9)
+#error Invalid pin assignment for FMC9 DA9 pin: FMC9_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC9, FMC9_INT)
+#error Invalid pin assignment for FMC9 INT pin: FMC9_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC9, FMC9_INT2)
+#error Invalid pin assignment for FMC9 INT2 pin: FMC9_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC9, FMC9_INT3)
+#error Invalid pin assignment for FMC9 INT3 pin: FMC9_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC9, FMC9_INTR)
+#error Invalid pin assignment for FMC9 INTR pin: FMC9_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC9, FMC9_NBL0)
+#error Invalid pin assignment for FMC9 NBL0 pin: FMC9_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC9, FMC9_NBL1)
+#error Invalid pin assignment for FMC9 NBL1 pin: FMC9_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC9, FMC9_NBL2)
+#error Invalid pin assignment for FMC9 NBL2 pin: FMC9_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC9, FMC9_NBL3)
+#error Invalid pin assignment for FMC9 NBL3 pin: FMC9_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC9, FMC9_NCE)
+#error Invalid pin assignment for FMC9 NCE pin: FMC9_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC9, FMC9_NCE2)
+#error Invalid pin assignment for FMC9 NCE2 pin: FMC9_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC9, FMC9_NCE3)
+#error Invalid pin assignment for FMC9 NCE3 pin: FMC9_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC9, FMC9_NE1)
+#error Invalid pin assignment for FMC9 NE1 pin: FMC9_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC9, FMC9_NE2)
+#error Invalid pin assignment for FMC9 NE2 pin: FMC9_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC9, FMC9_NE3)
+#error Invalid pin assignment for FMC9 NE3 pin: FMC9_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC9, FMC9_NE4)
+#error Invalid pin assignment for FMC9 NE4 pin: FMC9_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC9, FMC9_NIORD)
+#error Invalid pin assignment for FMC9 NIORD pin: FMC9_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC9, FMC9_NIOWR)
+#error Invalid pin assignment for FMC9 NIOWR pin: FMC9_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC9, FMC9_NL)
+#error Invalid pin assignment for FMC9 NL pin: FMC9_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC9, FMC9_NOE)
+#error Invalid pin assignment for FMC9 NOE pin: FMC9_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC9, FMC9_NREG)
+#error Invalid pin assignment for FMC9 NREG pin: FMC9_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC9, FMC9_NWAIT)
+#error Invalid pin assignment for FMC9 NWAIT pin: FMC9_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC9, FMC9_NWE)
+#error Invalid pin assignment for FMC9 NWE pin: FMC9_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC9, FMC9_SDCKE0)
+#error Invalid pin assignment for FMC9 SDCKE0 pin: FMC9_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC9, FMC9_SDCKE1)
+#error Invalid pin assignment for FMC9 SDCKE1 pin: FMC9_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC9, FMC9_SDCLK)
+#error Invalid pin assignment for FMC9 SDCLK pin: FMC9_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC9, FMC9_SDNCAS)
+#error Invalid pin assignment for FMC9 SDNCAS pin: FMC9_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC9, FMC9_SDNE0)
+#error Invalid pin assignment for FMC9 SDNE0 pin: FMC9_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC9, FMC9_SDNE1)
+#error Invalid pin assignment for FMC9 SDNE1 pin: FMC9_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC9, FMC9_SDNRAS)
+#error Invalid pin assignment for FMC9 SDNRAS pin: FMC9_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC9, FMC9_SDNWE)
+#error Invalid pin assignment for FMC9 SDNWE pin: FMC9_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC10
+#if !FIND_VALUE_FMC_A0(_FMC10, FMC10_A0)
+#error Invalid pin assignment for FMC10 A0 pin: FMC10_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC10, FMC10_A1)
+#error Invalid pin assignment for FMC10 A1 pin: FMC10_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC10, FMC10_A10)
+#error Invalid pin assignment for FMC10 A10 pin: FMC10_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC10, FMC10_A11)
+#error Invalid pin assignment for FMC10 A11 pin: FMC10_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC10, FMC10_A12)
+#error Invalid pin assignment for FMC10 A12 pin: FMC10_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC10, FMC10_A13)
+#error Invalid pin assignment for FMC10 A13 pin: FMC10_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC10, FMC10_A14)
+#error Invalid pin assignment for FMC10 A14 pin: FMC10_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC10, FMC10_A15)
+#error Invalid pin assignment for FMC10 A15 pin: FMC10_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC10, FMC10_A16)
+#error Invalid pin assignment for FMC10 A16 pin: FMC10_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC10, FMC10_A17)
+#error Invalid pin assignment for FMC10 A17 pin: FMC10_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC10, FMC10_A18)
+#error Invalid pin assignment for FMC10 A18 pin: FMC10_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC10, FMC10_A19)
+#error Invalid pin assignment for FMC10 A19 pin: FMC10_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC10, FMC10_A2)
+#error Invalid pin assignment for FMC10 A2 pin: FMC10_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC10, FMC10_A20)
+#error Invalid pin assignment for FMC10 A20 pin: FMC10_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC10, FMC10_A21)
+#error Invalid pin assignment for FMC10 A21 pin: FMC10_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC10, FMC10_A22)
+#error Invalid pin assignment for FMC10 A22 pin: FMC10_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC10, FMC10_A23)
+#error Invalid pin assignment for FMC10 A23 pin: FMC10_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC10, FMC10_A24)
+#error Invalid pin assignment for FMC10 A24 pin: FMC10_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC10, FMC10_A25)
+#error Invalid pin assignment for FMC10 A25 pin: FMC10_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC10, FMC10_A3)
+#error Invalid pin assignment for FMC10 A3 pin: FMC10_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC10, FMC10_A4)
+#error Invalid pin assignment for FMC10 A4 pin: FMC10_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC10, FMC10_A5)
+#error Invalid pin assignment for FMC10 A5 pin: FMC10_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC10, FMC10_A6)
+#error Invalid pin assignment for FMC10 A6 pin: FMC10_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC10, FMC10_A7)
+#error Invalid pin assignment for FMC10 A7 pin: FMC10_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC10, FMC10_A8)
+#error Invalid pin assignment for FMC10 A8 pin: FMC10_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC10, FMC10_A9)
+#error Invalid pin assignment for FMC10 A9 pin: FMC10_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC10, FMC10_ALE)
+#error Invalid pin assignment for FMC10 ALE pin: FMC10_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC10, FMC10_BA0)
+#error Invalid pin assignment for FMC10 BA0 pin: FMC10_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC10, FMC10_BA1)
+#error Invalid pin assignment for FMC10 BA1 pin: FMC10_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC10, FMC10_CD)
+#error Invalid pin assignment for FMC10 CD pin: FMC10_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC10, FMC10_CLE)
+#error Invalid pin assignment for FMC10 CLE pin: FMC10_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC10, FMC10_CLK)
+#error Invalid pin assignment for FMC10 CLK pin: FMC10_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC10, FMC10_D0)
+#error Invalid pin assignment for FMC10 D0 pin: FMC10_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC10, FMC10_D1)
+#error Invalid pin assignment for FMC10 D1 pin: FMC10_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC10, FMC10_D10)
+#error Invalid pin assignment for FMC10 D10 pin: FMC10_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC10, FMC10_D11)
+#error Invalid pin assignment for FMC10 D11 pin: FMC10_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC10, FMC10_D12)
+#error Invalid pin assignment for FMC10 D12 pin: FMC10_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC10, FMC10_D13)
+#error Invalid pin assignment for FMC10 D13 pin: FMC10_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC10, FMC10_D14)
+#error Invalid pin assignment for FMC10 D14 pin: FMC10_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC10, FMC10_D15)
+#error Invalid pin assignment for FMC10 D15 pin: FMC10_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC10, FMC10_D16)
+#error Invalid pin assignment for FMC10 D16 pin: FMC10_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC10, FMC10_D17)
+#error Invalid pin assignment for FMC10 D17 pin: FMC10_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC10, FMC10_D18)
+#error Invalid pin assignment for FMC10 D18 pin: FMC10_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC10, FMC10_D19)
+#error Invalid pin assignment for FMC10 D19 pin: FMC10_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC10, FMC10_D2)
+#error Invalid pin assignment for FMC10 D2 pin: FMC10_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC10, FMC10_D20)
+#error Invalid pin assignment for FMC10 D20 pin: FMC10_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC10, FMC10_D21)
+#error Invalid pin assignment for FMC10 D21 pin: FMC10_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC10, FMC10_D22)
+#error Invalid pin assignment for FMC10 D22 pin: FMC10_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC10, FMC10_D23)
+#error Invalid pin assignment for FMC10 D23 pin: FMC10_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC10, FMC10_D24)
+#error Invalid pin assignment for FMC10 D24 pin: FMC10_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC10, FMC10_D25)
+#error Invalid pin assignment for FMC10 D25 pin: FMC10_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC10, FMC10_D26)
+#error Invalid pin assignment for FMC10 D26 pin: FMC10_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC10, FMC10_D27)
+#error Invalid pin assignment for FMC10 D27 pin: FMC10_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC10, FMC10_D28)
+#error Invalid pin assignment for FMC10 D28 pin: FMC10_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC10, FMC10_D29)
+#error Invalid pin assignment for FMC10 D29 pin: FMC10_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC10, FMC10_D3)
+#error Invalid pin assignment for FMC10 D3 pin: FMC10_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC10, FMC10_D30)
+#error Invalid pin assignment for FMC10 D30 pin: FMC10_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC10, FMC10_D31)
+#error Invalid pin assignment for FMC10 D31 pin: FMC10_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC10, FMC10_D4)
+#error Invalid pin assignment for FMC10 D4 pin: FMC10_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC10, FMC10_D5)
+#error Invalid pin assignment for FMC10 D5 pin: FMC10_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC10, FMC10_D6)
+#error Invalid pin assignment for FMC10 D6 pin: FMC10_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC10, FMC10_D7)
+#error Invalid pin assignment for FMC10 D7 pin: FMC10_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC10, FMC10_D8)
+#error Invalid pin assignment for FMC10 D8 pin: FMC10_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC10, FMC10_D9)
+#error Invalid pin assignment for FMC10 D9 pin: FMC10_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC10, FMC10_DA0)
+#error Invalid pin assignment for FMC10 DA0 pin: FMC10_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC10, FMC10_DA1)
+#error Invalid pin assignment for FMC10 DA1 pin: FMC10_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC10, FMC10_DA10)
+#error Invalid pin assignment for FMC10 DA10 pin: FMC10_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC10, FMC10_DA11)
+#error Invalid pin assignment for FMC10 DA11 pin: FMC10_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC10, FMC10_DA12)
+#error Invalid pin assignment for FMC10 DA12 pin: FMC10_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC10, FMC10_DA13)
+#error Invalid pin assignment for FMC10 DA13 pin: FMC10_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC10, FMC10_DA14)
+#error Invalid pin assignment for FMC10 DA14 pin: FMC10_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC10, FMC10_DA15)
+#error Invalid pin assignment for FMC10 DA15 pin: FMC10_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC10, FMC10_DA2)
+#error Invalid pin assignment for FMC10 DA2 pin: FMC10_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC10, FMC10_DA3)
+#error Invalid pin assignment for FMC10 DA3 pin: FMC10_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC10, FMC10_DA4)
+#error Invalid pin assignment for FMC10 DA4 pin: FMC10_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC10, FMC10_DA5)
+#error Invalid pin assignment for FMC10 DA5 pin: FMC10_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC10, FMC10_DA6)
+#error Invalid pin assignment for FMC10 DA6 pin: FMC10_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC10, FMC10_DA7)
+#error Invalid pin assignment for FMC10 DA7 pin: FMC10_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC10, FMC10_DA8)
+#error Invalid pin assignment for FMC10 DA8 pin: FMC10_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC10, FMC10_DA9)
+#error Invalid pin assignment for FMC10 DA9 pin: FMC10_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC10, FMC10_INT)
+#error Invalid pin assignment for FMC10 INT pin: FMC10_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC10, FMC10_INT2)
+#error Invalid pin assignment for FMC10 INT2 pin: FMC10_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC10, FMC10_INT3)
+#error Invalid pin assignment for FMC10 INT3 pin: FMC10_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC10, FMC10_INTR)
+#error Invalid pin assignment for FMC10 INTR pin: FMC10_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC10, FMC10_NBL0)
+#error Invalid pin assignment for FMC10 NBL0 pin: FMC10_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC10, FMC10_NBL1)
+#error Invalid pin assignment for FMC10 NBL1 pin: FMC10_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC10, FMC10_NBL2)
+#error Invalid pin assignment for FMC10 NBL2 pin: FMC10_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC10, FMC10_NBL3)
+#error Invalid pin assignment for FMC10 NBL3 pin: FMC10_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC10, FMC10_NCE)
+#error Invalid pin assignment for FMC10 NCE pin: FMC10_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC10, FMC10_NCE2)
+#error Invalid pin assignment for FMC10 NCE2 pin: FMC10_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC10, FMC10_NCE3)
+#error Invalid pin assignment for FMC10 NCE3 pin: FMC10_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC10, FMC10_NE1)
+#error Invalid pin assignment for FMC10 NE1 pin: FMC10_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC10, FMC10_NE2)
+#error Invalid pin assignment for FMC10 NE2 pin: FMC10_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC10, FMC10_NE3)
+#error Invalid pin assignment for FMC10 NE3 pin: FMC10_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC10, FMC10_NE4)
+#error Invalid pin assignment for FMC10 NE4 pin: FMC10_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC10, FMC10_NIORD)
+#error Invalid pin assignment for FMC10 NIORD pin: FMC10_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC10, FMC10_NIOWR)
+#error Invalid pin assignment for FMC10 NIOWR pin: FMC10_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC10, FMC10_NL)
+#error Invalid pin assignment for FMC10 NL pin: FMC10_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC10, FMC10_NOE)
+#error Invalid pin assignment for FMC10 NOE pin: FMC10_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC10, FMC10_NREG)
+#error Invalid pin assignment for FMC10 NREG pin: FMC10_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC10, FMC10_NWAIT)
+#error Invalid pin assignment for FMC10 NWAIT pin: FMC10_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC10, FMC10_NWE)
+#error Invalid pin assignment for FMC10 NWE pin: FMC10_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC10, FMC10_SDCKE0)
+#error Invalid pin assignment for FMC10 SDCKE0 pin: FMC10_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC10, FMC10_SDCKE1)
+#error Invalid pin assignment for FMC10 SDCKE1 pin: FMC10_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC10, FMC10_SDCLK)
+#error Invalid pin assignment for FMC10 SDCLK pin: FMC10_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC10, FMC10_SDNCAS)
+#error Invalid pin assignment for FMC10 SDNCAS pin: FMC10_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC10, FMC10_SDNE0)
+#error Invalid pin assignment for FMC10 SDNE0 pin: FMC10_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC10, FMC10_SDNE1)
+#error Invalid pin assignment for FMC10 SDNE1 pin: FMC10_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC10, FMC10_SDNRAS)
+#error Invalid pin assignment for FMC10 SDNRAS pin: FMC10_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC10, FMC10_SDNWE)
+#error Invalid pin assignment for FMC10 SDNWE pin: FMC10_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC11
+#if !FIND_VALUE_FMC_A0(_FMC11, FMC11_A0)
+#error Invalid pin assignment for FMC11 A0 pin: FMC11_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC11, FMC11_A1)
+#error Invalid pin assignment for FMC11 A1 pin: FMC11_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC11, FMC11_A10)
+#error Invalid pin assignment for FMC11 A10 pin: FMC11_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC11, FMC11_A11)
+#error Invalid pin assignment for FMC11 A11 pin: FMC11_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC11, FMC11_A12)
+#error Invalid pin assignment for FMC11 A12 pin: FMC11_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC11, FMC11_A13)
+#error Invalid pin assignment for FMC11 A13 pin: FMC11_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC11, FMC11_A14)
+#error Invalid pin assignment for FMC11 A14 pin: FMC11_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC11, FMC11_A15)
+#error Invalid pin assignment for FMC11 A15 pin: FMC11_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC11, FMC11_A16)
+#error Invalid pin assignment for FMC11 A16 pin: FMC11_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC11, FMC11_A17)
+#error Invalid pin assignment for FMC11 A17 pin: FMC11_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC11, FMC11_A18)
+#error Invalid pin assignment for FMC11 A18 pin: FMC11_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC11, FMC11_A19)
+#error Invalid pin assignment for FMC11 A19 pin: FMC11_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC11, FMC11_A2)
+#error Invalid pin assignment for FMC11 A2 pin: FMC11_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC11, FMC11_A20)
+#error Invalid pin assignment for FMC11 A20 pin: FMC11_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC11, FMC11_A21)
+#error Invalid pin assignment for FMC11 A21 pin: FMC11_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC11, FMC11_A22)
+#error Invalid pin assignment for FMC11 A22 pin: FMC11_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC11, FMC11_A23)
+#error Invalid pin assignment for FMC11 A23 pin: FMC11_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC11, FMC11_A24)
+#error Invalid pin assignment for FMC11 A24 pin: FMC11_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC11, FMC11_A25)
+#error Invalid pin assignment for FMC11 A25 pin: FMC11_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC11, FMC11_A3)
+#error Invalid pin assignment for FMC11 A3 pin: FMC11_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC11, FMC11_A4)
+#error Invalid pin assignment for FMC11 A4 pin: FMC11_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC11, FMC11_A5)
+#error Invalid pin assignment for FMC11 A5 pin: FMC11_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC11, FMC11_A6)
+#error Invalid pin assignment for FMC11 A6 pin: FMC11_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC11, FMC11_A7)
+#error Invalid pin assignment for FMC11 A7 pin: FMC11_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC11, FMC11_A8)
+#error Invalid pin assignment for FMC11 A8 pin: FMC11_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC11, FMC11_A9)
+#error Invalid pin assignment for FMC11 A9 pin: FMC11_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC11, FMC11_ALE)
+#error Invalid pin assignment for FMC11 ALE pin: FMC11_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC11, FMC11_BA0)
+#error Invalid pin assignment for FMC11 BA0 pin: FMC11_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC11, FMC11_BA1)
+#error Invalid pin assignment for FMC11 BA1 pin: FMC11_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC11, FMC11_CD)
+#error Invalid pin assignment for FMC11 CD pin: FMC11_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC11, FMC11_CLE)
+#error Invalid pin assignment for FMC11 CLE pin: FMC11_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC11, FMC11_CLK)
+#error Invalid pin assignment for FMC11 CLK pin: FMC11_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC11, FMC11_D0)
+#error Invalid pin assignment for FMC11 D0 pin: FMC11_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC11, FMC11_D1)
+#error Invalid pin assignment for FMC11 D1 pin: FMC11_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC11, FMC11_D10)
+#error Invalid pin assignment for FMC11 D10 pin: FMC11_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC11, FMC11_D11)
+#error Invalid pin assignment for FMC11 D11 pin: FMC11_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC11, FMC11_D12)
+#error Invalid pin assignment for FMC11 D12 pin: FMC11_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC11, FMC11_D13)
+#error Invalid pin assignment for FMC11 D13 pin: FMC11_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC11, FMC11_D14)
+#error Invalid pin assignment for FMC11 D14 pin: FMC11_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC11, FMC11_D15)
+#error Invalid pin assignment for FMC11 D15 pin: FMC11_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC11, FMC11_D16)
+#error Invalid pin assignment for FMC11 D16 pin: FMC11_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC11, FMC11_D17)
+#error Invalid pin assignment for FMC11 D17 pin: FMC11_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC11, FMC11_D18)
+#error Invalid pin assignment for FMC11 D18 pin: FMC11_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC11, FMC11_D19)
+#error Invalid pin assignment for FMC11 D19 pin: FMC11_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC11, FMC11_D2)
+#error Invalid pin assignment for FMC11 D2 pin: FMC11_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC11, FMC11_D20)
+#error Invalid pin assignment for FMC11 D20 pin: FMC11_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC11, FMC11_D21)
+#error Invalid pin assignment for FMC11 D21 pin: FMC11_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC11, FMC11_D22)
+#error Invalid pin assignment for FMC11 D22 pin: FMC11_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC11, FMC11_D23)
+#error Invalid pin assignment for FMC11 D23 pin: FMC11_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC11, FMC11_D24)
+#error Invalid pin assignment for FMC11 D24 pin: FMC11_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC11, FMC11_D25)
+#error Invalid pin assignment for FMC11 D25 pin: FMC11_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC11, FMC11_D26)
+#error Invalid pin assignment for FMC11 D26 pin: FMC11_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC11, FMC11_D27)
+#error Invalid pin assignment for FMC11 D27 pin: FMC11_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC11, FMC11_D28)
+#error Invalid pin assignment for FMC11 D28 pin: FMC11_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC11, FMC11_D29)
+#error Invalid pin assignment for FMC11 D29 pin: FMC11_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC11, FMC11_D3)
+#error Invalid pin assignment for FMC11 D3 pin: FMC11_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC11, FMC11_D30)
+#error Invalid pin assignment for FMC11 D30 pin: FMC11_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC11, FMC11_D31)
+#error Invalid pin assignment for FMC11 D31 pin: FMC11_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC11, FMC11_D4)
+#error Invalid pin assignment for FMC11 D4 pin: FMC11_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC11, FMC11_D5)
+#error Invalid pin assignment for FMC11 D5 pin: FMC11_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC11, FMC11_D6)
+#error Invalid pin assignment for FMC11 D6 pin: FMC11_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC11, FMC11_D7)
+#error Invalid pin assignment for FMC11 D7 pin: FMC11_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC11, FMC11_D8)
+#error Invalid pin assignment for FMC11 D8 pin: FMC11_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC11, FMC11_D9)
+#error Invalid pin assignment for FMC11 D9 pin: FMC11_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC11, FMC11_DA0)
+#error Invalid pin assignment for FMC11 DA0 pin: FMC11_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC11, FMC11_DA1)
+#error Invalid pin assignment for FMC11 DA1 pin: FMC11_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC11, FMC11_DA10)
+#error Invalid pin assignment for FMC11 DA10 pin: FMC11_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC11, FMC11_DA11)
+#error Invalid pin assignment for FMC11 DA11 pin: FMC11_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC11, FMC11_DA12)
+#error Invalid pin assignment for FMC11 DA12 pin: FMC11_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC11, FMC11_DA13)
+#error Invalid pin assignment for FMC11 DA13 pin: FMC11_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC11, FMC11_DA14)
+#error Invalid pin assignment for FMC11 DA14 pin: FMC11_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC11, FMC11_DA15)
+#error Invalid pin assignment for FMC11 DA15 pin: FMC11_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC11, FMC11_DA2)
+#error Invalid pin assignment for FMC11 DA2 pin: FMC11_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC11, FMC11_DA3)
+#error Invalid pin assignment for FMC11 DA3 pin: FMC11_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC11, FMC11_DA4)
+#error Invalid pin assignment for FMC11 DA4 pin: FMC11_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC11, FMC11_DA5)
+#error Invalid pin assignment for FMC11 DA5 pin: FMC11_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC11, FMC11_DA6)
+#error Invalid pin assignment for FMC11 DA6 pin: FMC11_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC11, FMC11_DA7)
+#error Invalid pin assignment for FMC11 DA7 pin: FMC11_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC11, FMC11_DA8)
+#error Invalid pin assignment for FMC11 DA8 pin: FMC11_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC11, FMC11_DA9)
+#error Invalid pin assignment for FMC11 DA9 pin: FMC11_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC11, FMC11_INT)
+#error Invalid pin assignment for FMC11 INT pin: FMC11_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC11, FMC11_INT2)
+#error Invalid pin assignment for FMC11 INT2 pin: FMC11_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC11, FMC11_INT3)
+#error Invalid pin assignment for FMC11 INT3 pin: FMC11_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC11, FMC11_INTR)
+#error Invalid pin assignment for FMC11 INTR pin: FMC11_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC11, FMC11_NBL0)
+#error Invalid pin assignment for FMC11 NBL0 pin: FMC11_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC11, FMC11_NBL1)
+#error Invalid pin assignment for FMC11 NBL1 pin: FMC11_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC11, FMC11_NBL2)
+#error Invalid pin assignment for FMC11 NBL2 pin: FMC11_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC11, FMC11_NBL3)
+#error Invalid pin assignment for FMC11 NBL3 pin: FMC11_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC11, FMC11_NCE)
+#error Invalid pin assignment for FMC11 NCE pin: FMC11_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC11, FMC11_NCE2)
+#error Invalid pin assignment for FMC11 NCE2 pin: FMC11_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC11, FMC11_NCE3)
+#error Invalid pin assignment for FMC11 NCE3 pin: FMC11_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC11, FMC11_NE1)
+#error Invalid pin assignment for FMC11 NE1 pin: FMC11_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC11, FMC11_NE2)
+#error Invalid pin assignment for FMC11 NE2 pin: FMC11_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC11, FMC11_NE3)
+#error Invalid pin assignment for FMC11 NE3 pin: FMC11_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC11, FMC11_NE4)
+#error Invalid pin assignment for FMC11 NE4 pin: FMC11_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC11, FMC11_NIORD)
+#error Invalid pin assignment for FMC11 NIORD pin: FMC11_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC11, FMC11_NIOWR)
+#error Invalid pin assignment for FMC11 NIOWR pin: FMC11_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC11, FMC11_NL)
+#error Invalid pin assignment for FMC11 NL pin: FMC11_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC11, FMC11_NOE)
+#error Invalid pin assignment for FMC11 NOE pin: FMC11_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC11, FMC11_NREG)
+#error Invalid pin assignment for FMC11 NREG pin: FMC11_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC11, FMC11_NWAIT)
+#error Invalid pin assignment for FMC11 NWAIT pin: FMC11_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC11, FMC11_NWE)
+#error Invalid pin assignment for FMC11 NWE pin: FMC11_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC11, FMC11_SDCKE0)
+#error Invalid pin assignment for FMC11 SDCKE0 pin: FMC11_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC11, FMC11_SDCKE1)
+#error Invalid pin assignment for FMC11 SDCKE1 pin: FMC11_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC11, FMC11_SDCLK)
+#error Invalid pin assignment for FMC11 SDCLK pin: FMC11_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC11, FMC11_SDNCAS)
+#error Invalid pin assignment for FMC11 SDNCAS pin: FMC11_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC11, FMC11_SDNE0)
+#error Invalid pin assignment for FMC11 SDNE0 pin: FMC11_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC11, FMC11_SDNE1)
+#error Invalid pin assignment for FMC11 SDNE1 pin: FMC11_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC11, FMC11_SDNRAS)
+#error Invalid pin assignment for FMC11 SDNRAS pin: FMC11_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC11, FMC11_SDNWE)
+#error Invalid pin assignment for FMC11 SDNWE pin: FMC11_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC12
+#if !FIND_VALUE_FMC_A0(_FMC12, FMC12_A0)
+#error Invalid pin assignment for FMC12 A0 pin: FMC12_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC12, FMC12_A1)
+#error Invalid pin assignment for FMC12 A1 pin: FMC12_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC12, FMC12_A10)
+#error Invalid pin assignment for FMC12 A10 pin: FMC12_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC12, FMC12_A11)
+#error Invalid pin assignment for FMC12 A11 pin: FMC12_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC12, FMC12_A12)
+#error Invalid pin assignment for FMC12 A12 pin: FMC12_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC12, FMC12_A13)
+#error Invalid pin assignment for FMC12 A13 pin: FMC12_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC12, FMC12_A14)
+#error Invalid pin assignment for FMC12 A14 pin: FMC12_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC12, FMC12_A15)
+#error Invalid pin assignment for FMC12 A15 pin: FMC12_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC12, FMC12_A16)
+#error Invalid pin assignment for FMC12 A16 pin: FMC12_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC12, FMC12_A17)
+#error Invalid pin assignment for FMC12 A17 pin: FMC12_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC12, FMC12_A18)
+#error Invalid pin assignment for FMC12 A18 pin: FMC12_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC12, FMC12_A19)
+#error Invalid pin assignment for FMC12 A19 pin: FMC12_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC12, FMC12_A2)
+#error Invalid pin assignment for FMC12 A2 pin: FMC12_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC12, FMC12_A20)
+#error Invalid pin assignment for FMC12 A20 pin: FMC12_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC12, FMC12_A21)
+#error Invalid pin assignment for FMC12 A21 pin: FMC12_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC12, FMC12_A22)
+#error Invalid pin assignment for FMC12 A22 pin: FMC12_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC12, FMC12_A23)
+#error Invalid pin assignment for FMC12 A23 pin: FMC12_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC12, FMC12_A24)
+#error Invalid pin assignment for FMC12 A24 pin: FMC12_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC12, FMC12_A25)
+#error Invalid pin assignment for FMC12 A25 pin: FMC12_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC12, FMC12_A3)
+#error Invalid pin assignment for FMC12 A3 pin: FMC12_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC12, FMC12_A4)
+#error Invalid pin assignment for FMC12 A4 pin: FMC12_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC12, FMC12_A5)
+#error Invalid pin assignment for FMC12 A5 pin: FMC12_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC12, FMC12_A6)
+#error Invalid pin assignment for FMC12 A6 pin: FMC12_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC12, FMC12_A7)
+#error Invalid pin assignment for FMC12 A7 pin: FMC12_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC12, FMC12_A8)
+#error Invalid pin assignment for FMC12 A8 pin: FMC12_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC12, FMC12_A9)
+#error Invalid pin assignment for FMC12 A9 pin: FMC12_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC12, FMC12_ALE)
+#error Invalid pin assignment for FMC12 ALE pin: FMC12_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC12, FMC12_BA0)
+#error Invalid pin assignment for FMC12 BA0 pin: FMC12_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC12, FMC12_BA1)
+#error Invalid pin assignment for FMC12 BA1 pin: FMC12_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC12, FMC12_CD)
+#error Invalid pin assignment for FMC12 CD pin: FMC12_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC12, FMC12_CLE)
+#error Invalid pin assignment for FMC12 CLE pin: FMC12_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC12, FMC12_CLK)
+#error Invalid pin assignment for FMC12 CLK pin: FMC12_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC12, FMC12_D0)
+#error Invalid pin assignment for FMC12 D0 pin: FMC12_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC12, FMC12_D1)
+#error Invalid pin assignment for FMC12 D1 pin: FMC12_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC12, FMC12_D10)
+#error Invalid pin assignment for FMC12 D10 pin: FMC12_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC12, FMC12_D11)
+#error Invalid pin assignment for FMC12 D11 pin: FMC12_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC12, FMC12_D12)
+#error Invalid pin assignment for FMC12 D12 pin: FMC12_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC12, FMC12_D13)
+#error Invalid pin assignment for FMC12 D13 pin: FMC12_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC12, FMC12_D14)
+#error Invalid pin assignment for FMC12 D14 pin: FMC12_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC12, FMC12_D15)
+#error Invalid pin assignment for FMC12 D15 pin: FMC12_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC12, FMC12_D16)
+#error Invalid pin assignment for FMC12 D16 pin: FMC12_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC12, FMC12_D17)
+#error Invalid pin assignment for FMC12 D17 pin: FMC12_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC12, FMC12_D18)
+#error Invalid pin assignment for FMC12 D18 pin: FMC12_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC12, FMC12_D19)
+#error Invalid pin assignment for FMC12 D19 pin: FMC12_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC12, FMC12_D2)
+#error Invalid pin assignment for FMC12 D2 pin: FMC12_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC12, FMC12_D20)
+#error Invalid pin assignment for FMC12 D20 pin: FMC12_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC12, FMC12_D21)
+#error Invalid pin assignment for FMC12 D21 pin: FMC12_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC12, FMC12_D22)
+#error Invalid pin assignment for FMC12 D22 pin: FMC12_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC12, FMC12_D23)
+#error Invalid pin assignment for FMC12 D23 pin: FMC12_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC12, FMC12_D24)
+#error Invalid pin assignment for FMC12 D24 pin: FMC12_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC12, FMC12_D25)
+#error Invalid pin assignment for FMC12 D25 pin: FMC12_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC12, FMC12_D26)
+#error Invalid pin assignment for FMC12 D26 pin: FMC12_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC12, FMC12_D27)
+#error Invalid pin assignment for FMC12 D27 pin: FMC12_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC12, FMC12_D28)
+#error Invalid pin assignment for FMC12 D28 pin: FMC12_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC12, FMC12_D29)
+#error Invalid pin assignment for FMC12 D29 pin: FMC12_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC12, FMC12_D3)
+#error Invalid pin assignment for FMC12 D3 pin: FMC12_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC12, FMC12_D30)
+#error Invalid pin assignment for FMC12 D30 pin: FMC12_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC12, FMC12_D31)
+#error Invalid pin assignment for FMC12 D31 pin: FMC12_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC12, FMC12_D4)
+#error Invalid pin assignment for FMC12 D4 pin: FMC12_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC12, FMC12_D5)
+#error Invalid pin assignment for FMC12 D5 pin: FMC12_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC12, FMC12_D6)
+#error Invalid pin assignment for FMC12 D6 pin: FMC12_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC12, FMC12_D7)
+#error Invalid pin assignment for FMC12 D7 pin: FMC12_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC12, FMC12_D8)
+#error Invalid pin assignment for FMC12 D8 pin: FMC12_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC12, FMC12_D9)
+#error Invalid pin assignment for FMC12 D9 pin: FMC12_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC12, FMC12_DA0)
+#error Invalid pin assignment for FMC12 DA0 pin: FMC12_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC12, FMC12_DA1)
+#error Invalid pin assignment for FMC12 DA1 pin: FMC12_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC12, FMC12_DA10)
+#error Invalid pin assignment for FMC12 DA10 pin: FMC12_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC12, FMC12_DA11)
+#error Invalid pin assignment for FMC12 DA11 pin: FMC12_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC12, FMC12_DA12)
+#error Invalid pin assignment for FMC12 DA12 pin: FMC12_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC12, FMC12_DA13)
+#error Invalid pin assignment for FMC12 DA13 pin: FMC12_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC12, FMC12_DA14)
+#error Invalid pin assignment for FMC12 DA14 pin: FMC12_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC12, FMC12_DA15)
+#error Invalid pin assignment for FMC12 DA15 pin: FMC12_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC12, FMC12_DA2)
+#error Invalid pin assignment for FMC12 DA2 pin: FMC12_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC12, FMC12_DA3)
+#error Invalid pin assignment for FMC12 DA3 pin: FMC12_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC12, FMC12_DA4)
+#error Invalid pin assignment for FMC12 DA4 pin: FMC12_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC12, FMC12_DA5)
+#error Invalid pin assignment for FMC12 DA5 pin: FMC12_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC12, FMC12_DA6)
+#error Invalid pin assignment for FMC12 DA6 pin: FMC12_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC12, FMC12_DA7)
+#error Invalid pin assignment for FMC12 DA7 pin: FMC12_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC12, FMC12_DA8)
+#error Invalid pin assignment for FMC12 DA8 pin: FMC12_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC12, FMC12_DA9)
+#error Invalid pin assignment for FMC12 DA9 pin: FMC12_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC12, FMC12_INT)
+#error Invalid pin assignment for FMC12 INT pin: FMC12_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC12, FMC12_INT2)
+#error Invalid pin assignment for FMC12 INT2 pin: FMC12_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC12, FMC12_INT3)
+#error Invalid pin assignment for FMC12 INT3 pin: FMC12_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC12, FMC12_INTR)
+#error Invalid pin assignment for FMC12 INTR pin: FMC12_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC12, FMC12_NBL0)
+#error Invalid pin assignment for FMC12 NBL0 pin: FMC12_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC12, FMC12_NBL1)
+#error Invalid pin assignment for FMC12 NBL1 pin: FMC12_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC12, FMC12_NBL2)
+#error Invalid pin assignment for FMC12 NBL2 pin: FMC12_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC12, FMC12_NBL3)
+#error Invalid pin assignment for FMC12 NBL3 pin: FMC12_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC12, FMC12_NCE)
+#error Invalid pin assignment for FMC12 NCE pin: FMC12_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC12, FMC12_NCE2)
+#error Invalid pin assignment for FMC12 NCE2 pin: FMC12_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC12, FMC12_NCE3)
+#error Invalid pin assignment for FMC12 NCE3 pin: FMC12_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC12, FMC12_NE1)
+#error Invalid pin assignment for FMC12 NE1 pin: FMC12_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC12, FMC12_NE2)
+#error Invalid pin assignment for FMC12 NE2 pin: FMC12_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC12, FMC12_NE3)
+#error Invalid pin assignment for FMC12 NE3 pin: FMC12_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC12, FMC12_NE4)
+#error Invalid pin assignment for FMC12 NE4 pin: FMC12_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC12, FMC12_NIORD)
+#error Invalid pin assignment for FMC12 NIORD pin: FMC12_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC12, FMC12_NIOWR)
+#error Invalid pin assignment for FMC12 NIOWR pin: FMC12_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC12, FMC12_NL)
+#error Invalid pin assignment for FMC12 NL pin: FMC12_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC12, FMC12_NOE)
+#error Invalid pin assignment for FMC12 NOE pin: FMC12_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC12, FMC12_NREG)
+#error Invalid pin assignment for FMC12 NREG pin: FMC12_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC12, FMC12_NWAIT)
+#error Invalid pin assignment for FMC12 NWAIT pin: FMC12_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC12, FMC12_NWE)
+#error Invalid pin assignment for FMC12 NWE pin: FMC12_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC12, FMC12_SDCKE0)
+#error Invalid pin assignment for FMC12 SDCKE0 pin: FMC12_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC12, FMC12_SDCKE1)
+#error Invalid pin assignment for FMC12 SDCKE1 pin: FMC12_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC12, FMC12_SDCLK)
+#error Invalid pin assignment for FMC12 SDCLK pin: FMC12_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC12, FMC12_SDNCAS)
+#error Invalid pin assignment for FMC12 SDNCAS pin: FMC12_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC12, FMC12_SDNE0)
+#error Invalid pin assignment for FMC12 SDNE0 pin: FMC12_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC12, FMC12_SDNE1)
+#error Invalid pin assignment for FMC12 SDNE1 pin: FMC12_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC12, FMC12_SDNRAS)
+#error Invalid pin assignment for FMC12 SDNRAS pin: FMC12_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC12, FMC12_SDNWE)
+#error Invalid pin assignment for FMC12 SDNWE pin: FMC12_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC13
+#if !FIND_VALUE_FMC_A0(_FMC13, FMC13_A0)
+#error Invalid pin assignment for FMC13 A0 pin: FMC13_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC13, FMC13_A1)
+#error Invalid pin assignment for FMC13 A1 pin: FMC13_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC13, FMC13_A10)
+#error Invalid pin assignment for FMC13 A10 pin: FMC13_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC13, FMC13_A11)
+#error Invalid pin assignment for FMC13 A11 pin: FMC13_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC13, FMC13_A12)
+#error Invalid pin assignment for FMC13 A12 pin: FMC13_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC13, FMC13_A13)
+#error Invalid pin assignment for FMC13 A13 pin: FMC13_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC13, FMC13_A14)
+#error Invalid pin assignment for FMC13 A14 pin: FMC13_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC13, FMC13_A15)
+#error Invalid pin assignment for FMC13 A15 pin: FMC13_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC13, FMC13_A16)
+#error Invalid pin assignment for FMC13 A16 pin: FMC13_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC13, FMC13_A17)
+#error Invalid pin assignment for FMC13 A17 pin: FMC13_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC13, FMC13_A18)
+#error Invalid pin assignment for FMC13 A18 pin: FMC13_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC13, FMC13_A19)
+#error Invalid pin assignment for FMC13 A19 pin: FMC13_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC13, FMC13_A2)
+#error Invalid pin assignment for FMC13 A2 pin: FMC13_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC13, FMC13_A20)
+#error Invalid pin assignment for FMC13 A20 pin: FMC13_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC13, FMC13_A21)
+#error Invalid pin assignment for FMC13 A21 pin: FMC13_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC13, FMC13_A22)
+#error Invalid pin assignment for FMC13 A22 pin: FMC13_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC13, FMC13_A23)
+#error Invalid pin assignment for FMC13 A23 pin: FMC13_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC13, FMC13_A24)
+#error Invalid pin assignment for FMC13 A24 pin: FMC13_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC13, FMC13_A25)
+#error Invalid pin assignment for FMC13 A25 pin: FMC13_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC13, FMC13_A3)
+#error Invalid pin assignment for FMC13 A3 pin: FMC13_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC13, FMC13_A4)
+#error Invalid pin assignment for FMC13 A4 pin: FMC13_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC13, FMC13_A5)
+#error Invalid pin assignment for FMC13 A5 pin: FMC13_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC13, FMC13_A6)
+#error Invalid pin assignment for FMC13 A6 pin: FMC13_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC13, FMC13_A7)
+#error Invalid pin assignment for FMC13 A7 pin: FMC13_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC13, FMC13_A8)
+#error Invalid pin assignment for FMC13 A8 pin: FMC13_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC13, FMC13_A9)
+#error Invalid pin assignment for FMC13 A9 pin: FMC13_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC13, FMC13_ALE)
+#error Invalid pin assignment for FMC13 ALE pin: FMC13_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC13, FMC13_BA0)
+#error Invalid pin assignment for FMC13 BA0 pin: FMC13_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC13, FMC13_BA1)
+#error Invalid pin assignment for FMC13 BA1 pin: FMC13_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC13, FMC13_CD)
+#error Invalid pin assignment for FMC13 CD pin: FMC13_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC13, FMC13_CLE)
+#error Invalid pin assignment for FMC13 CLE pin: FMC13_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC13, FMC13_CLK)
+#error Invalid pin assignment for FMC13 CLK pin: FMC13_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC13, FMC13_D0)
+#error Invalid pin assignment for FMC13 D0 pin: FMC13_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC13, FMC13_D1)
+#error Invalid pin assignment for FMC13 D1 pin: FMC13_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC13, FMC13_D10)
+#error Invalid pin assignment for FMC13 D10 pin: FMC13_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC13, FMC13_D11)
+#error Invalid pin assignment for FMC13 D11 pin: FMC13_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC13, FMC13_D12)
+#error Invalid pin assignment for FMC13 D12 pin: FMC13_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC13, FMC13_D13)
+#error Invalid pin assignment for FMC13 D13 pin: FMC13_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC13, FMC13_D14)
+#error Invalid pin assignment for FMC13 D14 pin: FMC13_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC13, FMC13_D15)
+#error Invalid pin assignment for FMC13 D15 pin: FMC13_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC13, FMC13_D16)
+#error Invalid pin assignment for FMC13 D16 pin: FMC13_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC13, FMC13_D17)
+#error Invalid pin assignment for FMC13 D17 pin: FMC13_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC13, FMC13_D18)
+#error Invalid pin assignment for FMC13 D18 pin: FMC13_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC13, FMC13_D19)
+#error Invalid pin assignment for FMC13 D19 pin: FMC13_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC13, FMC13_D2)
+#error Invalid pin assignment for FMC13 D2 pin: FMC13_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC13, FMC13_D20)
+#error Invalid pin assignment for FMC13 D20 pin: FMC13_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC13, FMC13_D21)
+#error Invalid pin assignment for FMC13 D21 pin: FMC13_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC13, FMC13_D22)
+#error Invalid pin assignment for FMC13 D22 pin: FMC13_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC13, FMC13_D23)
+#error Invalid pin assignment for FMC13 D23 pin: FMC13_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC13, FMC13_D24)
+#error Invalid pin assignment for FMC13 D24 pin: FMC13_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC13, FMC13_D25)
+#error Invalid pin assignment for FMC13 D25 pin: FMC13_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC13, FMC13_D26)
+#error Invalid pin assignment for FMC13 D26 pin: FMC13_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC13, FMC13_D27)
+#error Invalid pin assignment for FMC13 D27 pin: FMC13_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC13, FMC13_D28)
+#error Invalid pin assignment for FMC13 D28 pin: FMC13_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC13, FMC13_D29)
+#error Invalid pin assignment for FMC13 D29 pin: FMC13_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC13, FMC13_D3)
+#error Invalid pin assignment for FMC13 D3 pin: FMC13_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC13, FMC13_D30)
+#error Invalid pin assignment for FMC13 D30 pin: FMC13_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC13, FMC13_D31)
+#error Invalid pin assignment for FMC13 D31 pin: FMC13_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC13, FMC13_D4)
+#error Invalid pin assignment for FMC13 D4 pin: FMC13_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC13, FMC13_D5)
+#error Invalid pin assignment for FMC13 D5 pin: FMC13_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC13, FMC13_D6)
+#error Invalid pin assignment for FMC13 D6 pin: FMC13_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC13, FMC13_D7)
+#error Invalid pin assignment for FMC13 D7 pin: FMC13_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC13, FMC13_D8)
+#error Invalid pin assignment for FMC13 D8 pin: FMC13_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC13, FMC13_D9)
+#error Invalid pin assignment for FMC13 D9 pin: FMC13_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC13, FMC13_DA0)
+#error Invalid pin assignment for FMC13 DA0 pin: FMC13_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC13, FMC13_DA1)
+#error Invalid pin assignment for FMC13 DA1 pin: FMC13_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC13, FMC13_DA10)
+#error Invalid pin assignment for FMC13 DA10 pin: FMC13_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC13, FMC13_DA11)
+#error Invalid pin assignment for FMC13 DA11 pin: FMC13_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC13, FMC13_DA12)
+#error Invalid pin assignment for FMC13 DA12 pin: FMC13_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC13, FMC13_DA13)
+#error Invalid pin assignment for FMC13 DA13 pin: FMC13_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC13, FMC13_DA14)
+#error Invalid pin assignment for FMC13 DA14 pin: FMC13_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC13, FMC13_DA15)
+#error Invalid pin assignment for FMC13 DA15 pin: FMC13_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC13, FMC13_DA2)
+#error Invalid pin assignment for FMC13 DA2 pin: FMC13_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC13, FMC13_DA3)
+#error Invalid pin assignment for FMC13 DA3 pin: FMC13_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC13, FMC13_DA4)
+#error Invalid pin assignment for FMC13 DA4 pin: FMC13_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC13, FMC13_DA5)
+#error Invalid pin assignment for FMC13 DA5 pin: FMC13_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC13, FMC13_DA6)
+#error Invalid pin assignment for FMC13 DA6 pin: FMC13_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC13, FMC13_DA7)
+#error Invalid pin assignment for FMC13 DA7 pin: FMC13_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC13, FMC13_DA8)
+#error Invalid pin assignment for FMC13 DA8 pin: FMC13_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC13, FMC13_DA9)
+#error Invalid pin assignment for FMC13 DA9 pin: FMC13_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC13, FMC13_INT)
+#error Invalid pin assignment for FMC13 INT pin: FMC13_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC13, FMC13_INT2)
+#error Invalid pin assignment for FMC13 INT2 pin: FMC13_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC13, FMC13_INT3)
+#error Invalid pin assignment for FMC13 INT3 pin: FMC13_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC13, FMC13_INTR)
+#error Invalid pin assignment for FMC13 INTR pin: FMC13_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC13, FMC13_NBL0)
+#error Invalid pin assignment for FMC13 NBL0 pin: FMC13_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC13, FMC13_NBL1)
+#error Invalid pin assignment for FMC13 NBL1 pin: FMC13_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC13, FMC13_NBL2)
+#error Invalid pin assignment for FMC13 NBL2 pin: FMC13_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC13, FMC13_NBL3)
+#error Invalid pin assignment for FMC13 NBL3 pin: FMC13_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC13, FMC13_NCE)
+#error Invalid pin assignment for FMC13 NCE pin: FMC13_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC13, FMC13_NCE2)
+#error Invalid pin assignment for FMC13 NCE2 pin: FMC13_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC13, FMC13_NCE3)
+#error Invalid pin assignment for FMC13 NCE3 pin: FMC13_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC13, FMC13_NE1)
+#error Invalid pin assignment for FMC13 NE1 pin: FMC13_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC13, FMC13_NE2)
+#error Invalid pin assignment for FMC13 NE2 pin: FMC13_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC13, FMC13_NE3)
+#error Invalid pin assignment for FMC13 NE3 pin: FMC13_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC13, FMC13_NE4)
+#error Invalid pin assignment for FMC13 NE4 pin: FMC13_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC13, FMC13_NIORD)
+#error Invalid pin assignment for FMC13 NIORD pin: FMC13_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC13, FMC13_NIOWR)
+#error Invalid pin assignment for FMC13 NIOWR pin: FMC13_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC13, FMC13_NL)
+#error Invalid pin assignment for FMC13 NL pin: FMC13_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC13, FMC13_NOE)
+#error Invalid pin assignment for FMC13 NOE pin: FMC13_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC13, FMC13_NREG)
+#error Invalid pin assignment for FMC13 NREG pin: FMC13_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC13, FMC13_NWAIT)
+#error Invalid pin assignment for FMC13 NWAIT pin: FMC13_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC13, FMC13_NWE)
+#error Invalid pin assignment for FMC13 NWE pin: FMC13_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC13, FMC13_SDCKE0)
+#error Invalid pin assignment for FMC13 SDCKE0 pin: FMC13_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC13, FMC13_SDCKE1)
+#error Invalid pin assignment for FMC13 SDCKE1 pin: FMC13_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC13, FMC13_SDCLK)
+#error Invalid pin assignment for FMC13 SDCLK pin: FMC13_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC13, FMC13_SDNCAS)
+#error Invalid pin assignment for FMC13 SDNCAS pin: FMC13_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC13, FMC13_SDNE0)
+#error Invalid pin assignment for FMC13 SDNE0 pin: FMC13_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC13, FMC13_SDNE1)
+#error Invalid pin assignment for FMC13 SDNE1 pin: FMC13_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC13, FMC13_SDNRAS)
+#error Invalid pin assignment for FMC13 SDNRAS pin: FMC13_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC13, FMC13_SDNWE)
+#error Invalid pin assignment for FMC13 SDNWE pin: FMC13_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC14
+#if !FIND_VALUE_FMC_A0(_FMC14, FMC14_A0)
+#error Invalid pin assignment for FMC14 A0 pin: FMC14_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC14, FMC14_A1)
+#error Invalid pin assignment for FMC14 A1 pin: FMC14_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC14, FMC14_A10)
+#error Invalid pin assignment for FMC14 A10 pin: FMC14_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC14, FMC14_A11)
+#error Invalid pin assignment for FMC14 A11 pin: FMC14_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC14, FMC14_A12)
+#error Invalid pin assignment for FMC14 A12 pin: FMC14_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC14, FMC14_A13)
+#error Invalid pin assignment for FMC14 A13 pin: FMC14_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC14, FMC14_A14)
+#error Invalid pin assignment for FMC14 A14 pin: FMC14_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC14, FMC14_A15)
+#error Invalid pin assignment for FMC14 A15 pin: FMC14_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC14, FMC14_A16)
+#error Invalid pin assignment for FMC14 A16 pin: FMC14_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC14, FMC14_A17)
+#error Invalid pin assignment for FMC14 A17 pin: FMC14_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC14, FMC14_A18)
+#error Invalid pin assignment for FMC14 A18 pin: FMC14_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC14, FMC14_A19)
+#error Invalid pin assignment for FMC14 A19 pin: FMC14_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC14, FMC14_A2)
+#error Invalid pin assignment for FMC14 A2 pin: FMC14_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC14, FMC14_A20)
+#error Invalid pin assignment for FMC14 A20 pin: FMC14_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC14, FMC14_A21)
+#error Invalid pin assignment for FMC14 A21 pin: FMC14_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC14, FMC14_A22)
+#error Invalid pin assignment for FMC14 A22 pin: FMC14_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC14, FMC14_A23)
+#error Invalid pin assignment for FMC14 A23 pin: FMC14_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC14, FMC14_A24)
+#error Invalid pin assignment for FMC14 A24 pin: FMC14_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC14, FMC14_A25)
+#error Invalid pin assignment for FMC14 A25 pin: FMC14_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC14, FMC14_A3)
+#error Invalid pin assignment for FMC14 A3 pin: FMC14_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC14, FMC14_A4)
+#error Invalid pin assignment for FMC14 A4 pin: FMC14_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC14, FMC14_A5)
+#error Invalid pin assignment for FMC14 A5 pin: FMC14_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC14, FMC14_A6)
+#error Invalid pin assignment for FMC14 A6 pin: FMC14_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC14, FMC14_A7)
+#error Invalid pin assignment for FMC14 A7 pin: FMC14_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC14, FMC14_A8)
+#error Invalid pin assignment for FMC14 A8 pin: FMC14_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC14, FMC14_A9)
+#error Invalid pin assignment for FMC14 A9 pin: FMC14_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC14, FMC14_ALE)
+#error Invalid pin assignment for FMC14 ALE pin: FMC14_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC14, FMC14_BA0)
+#error Invalid pin assignment for FMC14 BA0 pin: FMC14_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC14, FMC14_BA1)
+#error Invalid pin assignment for FMC14 BA1 pin: FMC14_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC14, FMC14_CD)
+#error Invalid pin assignment for FMC14 CD pin: FMC14_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC14, FMC14_CLE)
+#error Invalid pin assignment for FMC14 CLE pin: FMC14_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC14, FMC14_CLK)
+#error Invalid pin assignment for FMC14 CLK pin: FMC14_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC14, FMC14_D0)
+#error Invalid pin assignment for FMC14 D0 pin: FMC14_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC14, FMC14_D1)
+#error Invalid pin assignment for FMC14 D1 pin: FMC14_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC14, FMC14_D10)
+#error Invalid pin assignment for FMC14 D10 pin: FMC14_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC14, FMC14_D11)
+#error Invalid pin assignment for FMC14 D11 pin: FMC14_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC14, FMC14_D12)
+#error Invalid pin assignment for FMC14 D12 pin: FMC14_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC14, FMC14_D13)
+#error Invalid pin assignment for FMC14 D13 pin: FMC14_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC14, FMC14_D14)
+#error Invalid pin assignment for FMC14 D14 pin: FMC14_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC14, FMC14_D15)
+#error Invalid pin assignment for FMC14 D15 pin: FMC14_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC14, FMC14_D16)
+#error Invalid pin assignment for FMC14 D16 pin: FMC14_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC14, FMC14_D17)
+#error Invalid pin assignment for FMC14 D17 pin: FMC14_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC14, FMC14_D18)
+#error Invalid pin assignment for FMC14 D18 pin: FMC14_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC14, FMC14_D19)
+#error Invalid pin assignment for FMC14 D19 pin: FMC14_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC14, FMC14_D2)
+#error Invalid pin assignment for FMC14 D2 pin: FMC14_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC14, FMC14_D20)
+#error Invalid pin assignment for FMC14 D20 pin: FMC14_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC14, FMC14_D21)
+#error Invalid pin assignment for FMC14 D21 pin: FMC14_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC14, FMC14_D22)
+#error Invalid pin assignment for FMC14 D22 pin: FMC14_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC14, FMC14_D23)
+#error Invalid pin assignment for FMC14 D23 pin: FMC14_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC14, FMC14_D24)
+#error Invalid pin assignment for FMC14 D24 pin: FMC14_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC14, FMC14_D25)
+#error Invalid pin assignment for FMC14 D25 pin: FMC14_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC14, FMC14_D26)
+#error Invalid pin assignment for FMC14 D26 pin: FMC14_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC14, FMC14_D27)
+#error Invalid pin assignment for FMC14 D27 pin: FMC14_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC14, FMC14_D28)
+#error Invalid pin assignment for FMC14 D28 pin: FMC14_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC14, FMC14_D29)
+#error Invalid pin assignment for FMC14 D29 pin: FMC14_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC14, FMC14_D3)
+#error Invalid pin assignment for FMC14 D3 pin: FMC14_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC14, FMC14_D30)
+#error Invalid pin assignment for FMC14 D30 pin: FMC14_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC14, FMC14_D31)
+#error Invalid pin assignment for FMC14 D31 pin: FMC14_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC14, FMC14_D4)
+#error Invalid pin assignment for FMC14 D4 pin: FMC14_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC14, FMC14_D5)
+#error Invalid pin assignment for FMC14 D5 pin: FMC14_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC14, FMC14_D6)
+#error Invalid pin assignment for FMC14 D6 pin: FMC14_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC14, FMC14_D7)
+#error Invalid pin assignment for FMC14 D7 pin: FMC14_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC14, FMC14_D8)
+#error Invalid pin assignment for FMC14 D8 pin: FMC14_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC14, FMC14_D9)
+#error Invalid pin assignment for FMC14 D9 pin: FMC14_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC14, FMC14_DA0)
+#error Invalid pin assignment for FMC14 DA0 pin: FMC14_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC14, FMC14_DA1)
+#error Invalid pin assignment for FMC14 DA1 pin: FMC14_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC14, FMC14_DA10)
+#error Invalid pin assignment for FMC14 DA10 pin: FMC14_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC14, FMC14_DA11)
+#error Invalid pin assignment for FMC14 DA11 pin: FMC14_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC14, FMC14_DA12)
+#error Invalid pin assignment for FMC14 DA12 pin: FMC14_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC14, FMC14_DA13)
+#error Invalid pin assignment for FMC14 DA13 pin: FMC14_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC14, FMC14_DA14)
+#error Invalid pin assignment for FMC14 DA14 pin: FMC14_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC14, FMC14_DA15)
+#error Invalid pin assignment for FMC14 DA15 pin: FMC14_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC14, FMC14_DA2)
+#error Invalid pin assignment for FMC14 DA2 pin: FMC14_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC14, FMC14_DA3)
+#error Invalid pin assignment for FMC14 DA3 pin: FMC14_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC14, FMC14_DA4)
+#error Invalid pin assignment for FMC14 DA4 pin: FMC14_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC14, FMC14_DA5)
+#error Invalid pin assignment for FMC14 DA5 pin: FMC14_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC14, FMC14_DA6)
+#error Invalid pin assignment for FMC14 DA6 pin: FMC14_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC14, FMC14_DA7)
+#error Invalid pin assignment for FMC14 DA7 pin: FMC14_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC14, FMC14_DA8)
+#error Invalid pin assignment for FMC14 DA8 pin: FMC14_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC14, FMC14_DA9)
+#error Invalid pin assignment for FMC14 DA9 pin: FMC14_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC14, FMC14_INT)
+#error Invalid pin assignment for FMC14 INT pin: FMC14_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC14, FMC14_INT2)
+#error Invalid pin assignment for FMC14 INT2 pin: FMC14_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC14, FMC14_INT3)
+#error Invalid pin assignment for FMC14 INT3 pin: FMC14_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC14, FMC14_INTR)
+#error Invalid pin assignment for FMC14 INTR pin: FMC14_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC14, FMC14_NBL0)
+#error Invalid pin assignment for FMC14 NBL0 pin: FMC14_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC14, FMC14_NBL1)
+#error Invalid pin assignment for FMC14 NBL1 pin: FMC14_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC14, FMC14_NBL2)
+#error Invalid pin assignment for FMC14 NBL2 pin: FMC14_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC14, FMC14_NBL3)
+#error Invalid pin assignment for FMC14 NBL3 pin: FMC14_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC14, FMC14_NCE)
+#error Invalid pin assignment for FMC14 NCE pin: FMC14_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC14, FMC14_NCE2)
+#error Invalid pin assignment for FMC14 NCE2 pin: FMC14_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC14, FMC14_NCE3)
+#error Invalid pin assignment for FMC14 NCE3 pin: FMC14_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC14, FMC14_NE1)
+#error Invalid pin assignment for FMC14 NE1 pin: FMC14_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC14, FMC14_NE2)
+#error Invalid pin assignment for FMC14 NE2 pin: FMC14_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC14, FMC14_NE3)
+#error Invalid pin assignment for FMC14 NE3 pin: FMC14_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC14, FMC14_NE4)
+#error Invalid pin assignment for FMC14 NE4 pin: FMC14_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC14, FMC14_NIORD)
+#error Invalid pin assignment for FMC14 NIORD pin: FMC14_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC14, FMC14_NIOWR)
+#error Invalid pin assignment for FMC14 NIOWR pin: FMC14_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC14, FMC14_NL)
+#error Invalid pin assignment for FMC14 NL pin: FMC14_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC14, FMC14_NOE)
+#error Invalid pin assignment for FMC14 NOE pin: FMC14_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC14, FMC14_NREG)
+#error Invalid pin assignment for FMC14 NREG pin: FMC14_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC14, FMC14_NWAIT)
+#error Invalid pin assignment for FMC14 NWAIT pin: FMC14_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC14, FMC14_NWE)
+#error Invalid pin assignment for FMC14 NWE pin: FMC14_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC14, FMC14_SDCKE0)
+#error Invalid pin assignment for FMC14 SDCKE0 pin: FMC14_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC14, FMC14_SDCKE1)
+#error Invalid pin assignment for FMC14 SDCKE1 pin: FMC14_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC14, FMC14_SDCLK)
+#error Invalid pin assignment for FMC14 SDCLK pin: FMC14_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC14, FMC14_SDNCAS)
+#error Invalid pin assignment for FMC14 SDNCAS pin: FMC14_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC14, FMC14_SDNE0)
+#error Invalid pin assignment for FMC14 SDNE0 pin: FMC14_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC14, FMC14_SDNE1)
+#error Invalid pin assignment for FMC14 SDNE1 pin: FMC14_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC14, FMC14_SDNRAS)
+#error Invalid pin assignment for FMC14 SDNRAS pin: FMC14_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC14, FMC14_SDNWE)
+#error Invalid pin assignment for FMC14 SDNWE pin: FMC14_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC15
+#if !FIND_VALUE_FMC_A0(_FMC15, FMC15_A0)
+#error Invalid pin assignment for FMC15 A0 pin: FMC15_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC15, FMC15_A1)
+#error Invalid pin assignment for FMC15 A1 pin: FMC15_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC15, FMC15_A10)
+#error Invalid pin assignment for FMC15 A10 pin: FMC15_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC15, FMC15_A11)
+#error Invalid pin assignment for FMC15 A11 pin: FMC15_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC15, FMC15_A12)
+#error Invalid pin assignment for FMC15 A12 pin: FMC15_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC15, FMC15_A13)
+#error Invalid pin assignment for FMC15 A13 pin: FMC15_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC15, FMC15_A14)
+#error Invalid pin assignment for FMC15 A14 pin: FMC15_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC15, FMC15_A15)
+#error Invalid pin assignment for FMC15 A15 pin: FMC15_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC15, FMC15_A16)
+#error Invalid pin assignment for FMC15 A16 pin: FMC15_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC15, FMC15_A17)
+#error Invalid pin assignment for FMC15 A17 pin: FMC15_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC15, FMC15_A18)
+#error Invalid pin assignment for FMC15 A18 pin: FMC15_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC15, FMC15_A19)
+#error Invalid pin assignment for FMC15 A19 pin: FMC15_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC15, FMC15_A2)
+#error Invalid pin assignment for FMC15 A2 pin: FMC15_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC15, FMC15_A20)
+#error Invalid pin assignment for FMC15 A20 pin: FMC15_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC15, FMC15_A21)
+#error Invalid pin assignment for FMC15 A21 pin: FMC15_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC15, FMC15_A22)
+#error Invalid pin assignment for FMC15 A22 pin: FMC15_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC15, FMC15_A23)
+#error Invalid pin assignment for FMC15 A23 pin: FMC15_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC15, FMC15_A24)
+#error Invalid pin assignment for FMC15 A24 pin: FMC15_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC15, FMC15_A25)
+#error Invalid pin assignment for FMC15 A25 pin: FMC15_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC15, FMC15_A3)
+#error Invalid pin assignment for FMC15 A3 pin: FMC15_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC15, FMC15_A4)
+#error Invalid pin assignment for FMC15 A4 pin: FMC15_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC15, FMC15_A5)
+#error Invalid pin assignment for FMC15 A5 pin: FMC15_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC15, FMC15_A6)
+#error Invalid pin assignment for FMC15 A6 pin: FMC15_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC15, FMC15_A7)
+#error Invalid pin assignment for FMC15 A7 pin: FMC15_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC15, FMC15_A8)
+#error Invalid pin assignment for FMC15 A8 pin: FMC15_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC15, FMC15_A9)
+#error Invalid pin assignment for FMC15 A9 pin: FMC15_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC15, FMC15_ALE)
+#error Invalid pin assignment for FMC15 ALE pin: FMC15_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC15, FMC15_BA0)
+#error Invalid pin assignment for FMC15 BA0 pin: FMC15_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC15, FMC15_BA1)
+#error Invalid pin assignment for FMC15 BA1 pin: FMC15_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC15, FMC15_CD)
+#error Invalid pin assignment for FMC15 CD pin: FMC15_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC15, FMC15_CLE)
+#error Invalid pin assignment for FMC15 CLE pin: FMC15_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC15, FMC15_CLK)
+#error Invalid pin assignment for FMC15 CLK pin: FMC15_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC15, FMC15_D0)
+#error Invalid pin assignment for FMC15 D0 pin: FMC15_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC15, FMC15_D1)
+#error Invalid pin assignment for FMC15 D1 pin: FMC15_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC15, FMC15_D10)
+#error Invalid pin assignment for FMC15 D10 pin: FMC15_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC15, FMC15_D11)
+#error Invalid pin assignment for FMC15 D11 pin: FMC15_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC15, FMC15_D12)
+#error Invalid pin assignment for FMC15 D12 pin: FMC15_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC15, FMC15_D13)
+#error Invalid pin assignment for FMC15 D13 pin: FMC15_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC15, FMC15_D14)
+#error Invalid pin assignment for FMC15 D14 pin: FMC15_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC15, FMC15_D15)
+#error Invalid pin assignment for FMC15 D15 pin: FMC15_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC15, FMC15_D16)
+#error Invalid pin assignment for FMC15 D16 pin: FMC15_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC15, FMC15_D17)
+#error Invalid pin assignment for FMC15 D17 pin: FMC15_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC15, FMC15_D18)
+#error Invalid pin assignment for FMC15 D18 pin: FMC15_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC15, FMC15_D19)
+#error Invalid pin assignment for FMC15 D19 pin: FMC15_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC15, FMC15_D2)
+#error Invalid pin assignment for FMC15 D2 pin: FMC15_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC15, FMC15_D20)
+#error Invalid pin assignment for FMC15 D20 pin: FMC15_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC15, FMC15_D21)
+#error Invalid pin assignment for FMC15 D21 pin: FMC15_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC15, FMC15_D22)
+#error Invalid pin assignment for FMC15 D22 pin: FMC15_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC15, FMC15_D23)
+#error Invalid pin assignment for FMC15 D23 pin: FMC15_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC15, FMC15_D24)
+#error Invalid pin assignment for FMC15 D24 pin: FMC15_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC15, FMC15_D25)
+#error Invalid pin assignment for FMC15 D25 pin: FMC15_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC15, FMC15_D26)
+#error Invalid pin assignment for FMC15 D26 pin: FMC15_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC15, FMC15_D27)
+#error Invalid pin assignment for FMC15 D27 pin: FMC15_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC15, FMC15_D28)
+#error Invalid pin assignment for FMC15 D28 pin: FMC15_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC15, FMC15_D29)
+#error Invalid pin assignment for FMC15 D29 pin: FMC15_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC15, FMC15_D3)
+#error Invalid pin assignment for FMC15 D3 pin: FMC15_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC15, FMC15_D30)
+#error Invalid pin assignment for FMC15 D30 pin: FMC15_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC15, FMC15_D31)
+#error Invalid pin assignment for FMC15 D31 pin: FMC15_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC15, FMC15_D4)
+#error Invalid pin assignment for FMC15 D4 pin: FMC15_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC15, FMC15_D5)
+#error Invalid pin assignment for FMC15 D5 pin: FMC15_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC15, FMC15_D6)
+#error Invalid pin assignment for FMC15 D6 pin: FMC15_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC15, FMC15_D7)
+#error Invalid pin assignment for FMC15 D7 pin: FMC15_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC15, FMC15_D8)
+#error Invalid pin assignment for FMC15 D8 pin: FMC15_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC15, FMC15_D9)
+#error Invalid pin assignment for FMC15 D9 pin: FMC15_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC15, FMC15_DA0)
+#error Invalid pin assignment for FMC15 DA0 pin: FMC15_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC15, FMC15_DA1)
+#error Invalid pin assignment for FMC15 DA1 pin: FMC15_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC15, FMC15_DA10)
+#error Invalid pin assignment for FMC15 DA10 pin: FMC15_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC15, FMC15_DA11)
+#error Invalid pin assignment for FMC15 DA11 pin: FMC15_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC15, FMC15_DA12)
+#error Invalid pin assignment for FMC15 DA12 pin: FMC15_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC15, FMC15_DA13)
+#error Invalid pin assignment for FMC15 DA13 pin: FMC15_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC15, FMC15_DA14)
+#error Invalid pin assignment for FMC15 DA14 pin: FMC15_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC15, FMC15_DA15)
+#error Invalid pin assignment for FMC15 DA15 pin: FMC15_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC15, FMC15_DA2)
+#error Invalid pin assignment for FMC15 DA2 pin: FMC15_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC15, FMC15_DA3)
+#error Invalid pin assignment for FMC15 DA3 pin: FMC15_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC15, FMC15_DA4)
+#error Invalid pin assignment for FMC15 DA4 pin: FMC15_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC15, FMC15_DA5)
+#error Invalid pin assignment for FMC15 DA5 pin: FMC15_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC15, FMC15_DA6)
+#error Invalid pin assignment for FMC15 DA6 pin: FMC15_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC15, FMC15_DA7)
+#error Invalid pin assignment for FMC15 DA7 pin: FMC15_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC15, FMC15_DA8)
+#error Invalid pin assignment for FMC15 DA8 pin: FMC15_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC15, FMC15_DA9)
+#error Invalid pin assignment for FMC15 DA9 pin: FMC15_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC15, FMC15_INT)
+#error Invalid pin assignment for FMC15 INT pin: FMC15_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC15, FMC15_INT2)
+#error Invalid pin assignment for FMC15 INT2 pin: FMC15_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC15, FMC15_INT3)
+#error Invalid pin assignment for FMC15 INT3 pin: FMC15_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC15, FMC15_INTR)
+#error Invalid pin assignment for FMC15 INTR pin: FMC15_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC15, FMC15_NBL0)
+#error Invalid pin assignment for FMC15 NBL0 pin: FMC15_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC15, FMC15_NBL1)
+#error Invalid pin assignment for FMC15 NBL1 pin: FMC15_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC15, FMC15_NBL2)
+#error Invalid pin assignment for FMC15 NBL2 pin: FMC15_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC15, FMC15_NBL3)
+#error Invalid pin assignment for FMC15 NBL3 pin: FMC15_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC15, FMC15_NCE)
+#error Invalid pin assignment for FMC15 NCE pin: FMC15_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC15, FMC15_NCE2)
+#error Invalid pin assignment for FMC15 NCE2 pin: FMC15_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC15, FMC15_NCE3)
+#error Invalid pin assignment for FMC15 NCE3 pin: FMC15_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC15, FMC15_NE1)
+#error Invalid pin assignment for FMC15 NE1 pin: FMC15_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC15, FMC15_NE2)
+#error Invalid pin assignment for FMC15 NE2 pin: FMC15_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC15, FMC15_NE3)
+#error Invalid pin assignment for FMC15 NE3 pin: FMC15_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC15, FMC15_NE4)
+#error Invalid pin assignment for FMC15 NE4 pin: FMC15_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC15, FMC15_NIORD)
+#error Invalid pin assignment for FMC15 NIORD pin: FMC15_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC15, FMC15_NIOWR)
+#error Invalid pin assignment for FMC15 NIOWR pin: FMC15_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC15, FMC15_NL)
+#error Invalid pin assignment for FMC15 NL pin: FMC15_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC15, FMC15_NOE)
+#error Invalid pin assignment for FMC15 NOE pin: FMC15_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC15, FMC15_NREG)
+#error Invalid pin assignment for FMC15 NREG pin: FMC15_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC15, FMC15_NWAIT)
+#error Invalid pin assignment for FMC15 NWAIT pin: FMC15_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC15, FMC15_NWE)
+#error Invalid pin assignment for FMC15 NWE pin: FMC15_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC15, FMC15_SDCKE0)
+#error Invalid pin assignment for FMC15 SDCKE0 pin: FMC15_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC15, FMC15_SDCKE1)
+#error Invalid pin assignment for FMC15 SDCKE1 pin: FMC15_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC15, FMC15_SDCLK)
+#error Invalid pin assignment for FMC15 SDCLK pin: FMC15_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC15, FMC15_SDNCAS)
+#error Invalid pin assignment for FMC15 SDNCAS pin: FMC15_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC15, FMC15_SDNE0)
+#error Invalid pin assignment for FMC15 SDNE0 pin: FMC15_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC15, FMC15_SDNE1)
+#error Invalid pin assignment for FMC15 SDNE1 pin: FMC15_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC15, FMC15_SDNRAS)
+#error Invalid pin assignment for FMC15 SDNRAS pin: FMC15_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC15, FMC15_SDNWE)
+#error Invalid pin assignment for FMC15 SDNWE pin: FMC15_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC16
+#if !FIND_VALUE_FMC_A0(_FMC16, FMC16_A0)
+#error Invalid pin assignment for FMC16 A0 pin: FMC16_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC16, FMC16_A1)
+#error Invalid pin assignment for FMC16 A1 pin: FMC16_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC16, FMC16_A10)
+#error Invalid pin assignment for FMC16 A10 pin: FMC16_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC16, FMC16_A11)
+#error Invalid pin assignment for FMC16 A11 pin: FMC16_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC16, FMC16_A12)
+#error Invalid pin assignment for FMC16 A12 pin: FMC16_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC16, FMC16_A13)
+#error Invalid pin assignment for FMC16 A13 pin: FMC16_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC16, FMC16_A14)
+#error Invalid pin assignment for FMC16 A14 pin: FMC16_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC16, FMC16_A15)
+#error Invalid pin assignment for FMC16 A15 pin: FMC16_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC16, FMC16_A16)
+#error Invalid pin assignment for FMC16 A16 pin: FMC16_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC16, FMC16_A17)
+#error Invalid pin assignment for FMC16 A17 pin: FMC16_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC16, FMC16_A18)
+#error Invalid pin assignment for FMC16 A18 pin: FMC16_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC16, FMC16_A19)
+#error Invalid pin assignment for FMC16 A19 pin: FMC16_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC16, FMC16_A2)
+#error Invalid pin assignment for FMC16 A2 pin: FMC16_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC16, FMC16_A20)
+#error Invalid pin assignment for FMC16 A20 pin: FMC16_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC16, FMC16_A21)
+#error Invalid pin assignment for FMC16 A21 pin: FMC16_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC16, FMC16_A22)
+#error Invalid pin assignment for FMC16 A22 pin: FMC16_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC16, FMC16_A23)
+#error Invalid pin assignment for FMC16 A23 pin: FMC16_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC16, FMC16_A24)
+#error Invalid pin assignment for FMC16 A24 pin: FMC16_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC16, FMC16_A25)
+#error Invalid pin assignment for FMC16 A25 pin: FMC16_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC16, FMC16_A3)
+#error Invalid pin assignment for FMC16 A3 pin: FMC16_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC16, FMC16_A4)
+#error Invalid pin assignment for FMC16 A4 pin: FMC16_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC16, FMC16_A5)
+#error Invalid pin assignment for FMC16 A5 pin: FMC16_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC16, FMC16_A6)
+#error Invalid pin assignment for FMC16 A6 pin: FMC16_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC16, FMC16_A7)
+#error Invalid pin assignment for FMC16 A7 pin: FMC16_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC16, FMC16_A8)
+#error Invalid pin assignment for FMC16 A8 pin: FMC16_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC16, FMC16_A9)
+#error Invalid pin assignment for FMC16 A9 pin: FMC16_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC16, FMC16_ALE)
+#error Invalid pin assignment for FMC16 ALE pin: FMC16_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC16, FMC16_BA0)
+#error Invalid pin assignment for FMC16 BA0 pin: FMC16_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC16, FMC16_BA1)
+#error Invalid pin assignment for FMC16 BA1 pin: FMC16_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC16, FMC16_CD)
+#error Invalid pin assignment for FMC16 CD pin: FMC16_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC16, FMC16_CLE)
+#error Invalid pin assignment for FMC16 CLE pin: FMC16_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC16, FMC16_CLK)
+#error Invalid pin assignment for FMC16 CLK pin: FMC16_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC16, FMC16_D0)
+#error Invalid pin assignment for FMC16 D0 pin: FMC16_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC16, FMC16_D1)
+#error Invalid pin assignment for FMC16 D1 pin: FMC16_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC16, FMC16_D10)
+#error Invalid pin assignment for FMC16 D10 pin: FMC16_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC16, FMC16_D11)
+#error Invalid pin assignment for FMC16 D11 pin: FMC16_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC16, FMC16_D12)
+#error Invalid pin assignment for FMC16 D12 pin: FMC16_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC16, FMC16_D13)
+#error Invalid pin assignment for FMC16 D13 pin: FMC16_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC16, FMC16_D14)
+#error Invalid pin assignment for FMC16 D14 pin: FMC16_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC16, FMC16_D15)
+#error Invalid pin assignment for FMC16 D15 pin: FMC16_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC16, FMC16_D16)
+#error Invalid pin assignment for FMC16 D16 pin: FMC16_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC16, FMC16_D17)
+#error Invalid pin assignment for FMC16 D17 pin: FMC16_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC16, FMC16_D18)
+#error Invalid pin assignment for FMC16 D18 pin: FMC16_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC16, FMC16_D19)
+#error Invalid pin assignment for FMC16 D19 pin: FMC16_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC16, FMC16_D2)
+#error Invalid pin assignment for FMC16 D2 pin: FMC16_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC16, FMC16_D20)
+#error Invalid pin assignment for FMC16 D20 pin: FMC16_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC16, FMC16_D21)
+#error Invalid pin assignment for FMC16 D21 pin: FMC16_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC16, FMC16_D22)
+#error Invalid pin assignment for FMC16 D22 pin: FMC16_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC16, FMC16_D23)
+#error Invalid pin assignment for FMC16 D23 pin: FMC16_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC16, FMC16_D24)
+#error Invalid pin assignment for FMC16 D24 pin: FMC16_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC16, FMC16_D25)
+#error Invalid pin assignment for FMC16 D25 pin: FMC16_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC16, FMC16_D26)
+#error Invalid pin assignment for FMC16 D26 pin: FMC16_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC16, FMC16_D27)
+#error Invalid pin assignment for FMC16 D27 pin: FMC16_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC16, FMC16_D28)
+#error Invalid pin assignment for FMC16 D28 pin: FMC16_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC16, FMC16_D29)
+#error Invalid pin assignment for FMC16 D29 pin: FMC16_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC16, FMC16_D3)
+#error Invalid pin assignment for FMC16 D3 pin: FMC16_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC16, FMC16_D30)
+#error Invalid pin assignment for FMC16 D30 pin: FMC16_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC16, FMC16_D31)
+#error Invalid pin assignment for FMC16 D31 pin: FMC16_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC16, FMC16_D4)
+#error Invalid pin assignment for FMC16 D4 pin: FMC16_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC16, FMC16_D5)
+#error Invalid pin assignment for FMC16 D5 pin: FMC16_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC16, FMC16_D6)
+#error Invalid pin assignment for FMC16 D6 pin: FMC16_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC16, FMC16_D7)
+#error Invalid pin assignment for FMC16 D7 pin: FMC16_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC16, FMC16_D8)
+#error Invalid pin assignment for FMC16 D8 pin: FMC16_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC16, FMC16_D9)
+#error Invalid pin assignment for FMC16 D9 pin: FMC16_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC16, FMC16_DA0)
+#error Invalid pin assignment for FMC16 DA0 pin: FMC16_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC16, FMC16_DA1)
+#error Invalid pin assignment for FMC16 DA1 pin: FMC16_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC16, FMC16_DA10)
+#error Invalid pin assignment for FMC16 DA10 pin: FMC16_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC16, FMC16_DA11)
+#error Invalid pin assignment for FMC16 DA11 pin: FMC16_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC16, FMC16_DA12)
+#error Invalid pin assignment for FMC16 DA12 pin: FMC16_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC16, FMC16_DA13)
+#error Invalid pin assignment for FMC16 DA13 pin: FMC16_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC16, FMC16_DA14)
+#error Invalid pin assignment for FMC16 DA14 pin: FMC16_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC16, FMC16_DA15)
+#error Invalid pin assignment for FMC16 DA15 pin: FMC16_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC16, FMC16_DA2)
+#error Invalid pin assignment for FMC16 DA2 pin: FMC16_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC16, FMC16_DA3)
+#error Invalid pin assignment for FMC16 DA3 pin: FMC16_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC16, FMC16_DA4)
+#error Invalid pin assignment for FMC16 DA4 pin: FMC16_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC16, FMC16_DA5)
+#error Invalid pin assignment for FMC16 DA5 pin: FMC16_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC16, FMC16_DA6)
+#error Invalid pin assignment for FMC16 DA6 pin: FMC16_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC16, FMC16_DA7)
+#error Invalid pin assignment for FMC16 DA7 pin: FMC16_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC16, FMC16_DA8)
+#error Invalid pin assignment for FMC16 DA8 pin: FMC16_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC16, FMC16_DA9)
+#error Invalid pin assignment for FMC16 DA9 pin: FMC16_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC16, FMC16_INT)
+#error Invalid pin assignment for FMC16 INT pin: FMC16_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC16, FMC16_INT2)
+#error Invalid pin assignment for FMC16 INT2 pin: FMC16_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC16, FMC16_INT3)
+#error Invalid pin assignment for FMC16 INT3 pin: FMC16_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC16, FMC16_INTR)
+#error Invalid pin assignment for FMC16 INTR pin: FMC16_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC16, FMC16_NBL0)
+#error Invalid pin assignment for FMC16 NBL0 pin: FMC16_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC16, FMC16_NBL1)
+#error Invalid pin assignment for FMC16 NBL1 pin: FMC16_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC16, FMC16_NBL2)
+#error Invalid pin assignment for FMC16 NBL2 pin: FMC16_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC16, FMC16_NBL3)
+#error Invalid pin assignment for FMC16 NBL3 pin: FMC16_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC16, FMC16_NCE)
+#error Invalid pin assignment for FMC16 NCE pin: FMC16_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC16, FMC16_NCE2)
+#error Invalid pin assignment for FMC16 NCE2 pin: FMC16_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC16, FMC16_NCE3)
+#error Invalid pin assignment for FMC16 NCE3 pin: FMC16_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC16, FMC16_NE1)
+#error Invalid pin assignment for FMC16 NE1 pin: FMC16_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC16, FMC16_NE2)
+#error Invalid pin assignment for FMC16 NE2 pin: FMC16_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC16, FMC16_NE3)
+#error Invalid pin assignment for FMC16 NE3 pin: FMC16_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC16, FMC16_NE4)
+#error Invalid pin assignment for FMC16 NE4 pin: FMC16_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC16, FMC16_NIORD)
+#error Invalid pin assignment for FMC16 NIORD pin: FMC16_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC16, FMC16_NIOWR)
+#error Invalid pin assignment for FMC16 NIOWR pin: FMC16_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC16, FMC16_NL)
+#error Invalid pin assignment for FMC16 NL pin: FMC16_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC16, FMC16_NOE)
+#error Invalid pin assignment for FMC16 NOE pin: FMC16_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC16, FMC16_NREG)
+#error Invalid pin assignment for FMC16 NREG pin: FMC16_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC16, FMC16_NWAIT)
+#error Invalid pin assignment for FMC16 NWAIT pin: FMC16_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC16, FMC16_NWE)
+#error Invalid pin assignment for FMC16 NWE pin: FMC16_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC16, FMC16_SDCKE0)
+#error Invalid pin assignment for FMC16 SDCKE0 pin: FMC16_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC16, FMC16_SDCKE1)
+#error Invalid pin assignment for FMC16 SDCKE1 pin: FMC16_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC16, FMC16_SDCLK)
+#error Invalid pin assignment for FMC16 SDCLK pin: FMC16_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC16, FMC16_SDNCAS)
+#error Invalid pin assignment for FMC16 SDNCAS pin: FMC16_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC16, FMC16_SDNE0)
+#error Invalid pin assignment for FMC16 SDNE0 pin: FMC16_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC16, FMC16_SDNE1)
+#error Invalid pin assignment for FMC16 SDNE1 pin: FMC16_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC16, FMC16_SDNRAS)
+#error Invalid pin assignment for FMC16 SDNRAS pin: FMC16_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC16, FMC16_SDNWE)
+#error Invalid pin assignment for FMC16 SDNWE pin: FMC16_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC17
+#if !FIND_VALUE_FMC_A0(_FMC17, FMC17_A0)
+#error Invalid pin assignment for FMC17 A0 pin: FMC17_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC17, FMC17_A1)
+#error Invalid pin assignment for FMC17 A1 pin: FMC17_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC17, FMC17_A10)
+#error Invalid pin assignment for FMC17 A10 pin: FMC17_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC17, FMC17_A11)
+#error Invalid pin assignment for FMC17 A11 pin: FMC17_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC17, FMC17_A12)
+#error Invalid pin assignment for FMC17 A12 pin: FMC17_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC17, FMC17_A13)
+#error Invalid pin assignment for FMC17 A13 pin: FMC17_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC17, FMC17_A14)
+#error Invalid pin assignment for FMC17 A14 pin: FMC17_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC17, FMC17_A15)
+#error Invalid pin assignment for FMC17 A15 pin: FMC17_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC17, FMC17_A16)
+#error Invalid pin assignment for FMC17 A16 pin: FMC17_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC17, FMC17_A17)
+#error Invalid pin assignment for FMC17 A17 pin: FMC17_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC17, FMC17_A18)
+#error Invalid pin assignment for FMC17 A18 pin: FMC17_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC17, FMC17_A19)
+#error Invalid pin assignment for FMC17 A19 pin: FMC17_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC17, FMC17_A2)
+#error Invalid pin assignment for FMC17 A2 pin: FMC17_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC17, FMC17_A20)
+#error Invalid pin assignment for FMC17 A20 pin: FMC17_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC17, FMC17_A21)
+#error Invalid pin assignment for FMC17 A21 pin: FMC17_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC17, FMC17_A22)
+#error Invalid pin assignment for FMC17 A22 pin: FMC17_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC17, FMC17_A23)
+#error Invalid pin assignment for FMC17 A23 pin: FMC17_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC17, FMC17_A24)
+#error Invalid pin assignment for FMC17 A24 pin: FMC17_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC17, FMC17_A25)
+#error Invalid pin assignment for FMC17 A25 pin: FMC17_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC17, FMC17_A3)
+#error Invalid pin assignment for FMC17 A3 pin: FMC17_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC17, FMC17_A4)
+#error Invalid pin assignment for FMC17 A4 pin: FMC17_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC17, FMC17_A5)
+#error Invalid pin assignment for FMC17 A5 pin: FMC17_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC17, FMC17_A6)
+#error Invalid pin assignment for FMC17 A6 pin: FMC17_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC17, FMC17_A7)
+#error Invalid pin assignment for FMC17 A7 pin: FMC17_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC17, FMC17_A8)
+#error Invalid pin assignment for FMC17 A8 pin: FMC17_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC17, FMC17_A9)
+#error Invalid pin assignment for FMC17 A9 pin: FMC17_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC17, FMC17_ALE)
+#error Invalid pin assignment for FMC17 ALE pin: FMC17_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC17, FMC17_BA0)
+#error Invalid pin assignment for FMC17 BA0 pin: FMC17_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC17, FMC17_BA1)
+#error Invalid pin assignment for FMC17 BA1 pin: FMC17_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC17, FMC17_CD)
+#error Invalid pin assignment for FMC17 CD pin: FMC17_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC17, FMC17_CLE)
+#error Invalid pin assignment for FMC17 CLE pin: FMC17_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC17, FMC17_CLK)
+#error Invalid pin assignment for FMC17 CLK pin: FMC17_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC17, FMC17_D0)
+#error Invalid pin assignment for FMC17 D0 pin: FMC17_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC17, FMC17_D1)
+#error Invalid pin assignment for FMC17 D1 pin: FMC17_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC17, FMC17_D10)
+#error Invalid pin assignment for FMC17 D10 pin: FMC17_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC17, FMC17_D11)
+#error Invalid pin assignment for FMC17 D11 pin: FMC17_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC17, FMC17_D12)
+#error Invalid pin assignment for FMC17 D12 pin: FMC17_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC17, FMC17_D13)
+#error Invalid pin assignment for FMC17 D13 pin: FMC17_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC17, FMC17_D14)
+#error Invalid pin assignment for FMC17 D14 pin: FMC17_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC17, FMC17_D15)
+#error Invalid pin assignment for FMC17 D15 pin: FMC17_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC17, FMC17_D16)
+#error Invalid pin assignment for FMC17 D16 pin: FMC17_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC17, FMC17_D17)
+#error Invalid pin assignment for FMC17 D17 pin: FMC17_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC17, FMC17_D18)
+#error Invalid pin assignment for FMC17 D18 pin: FMC17_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC17, FMC17_D19)
+#error Invalid pin assignment for FMC17 D19 pin: FMC17_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC17, FMC17_D2)
+#error Invalid pin assignment for FMC17 D2 pin: FMC17_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC17, FMC17_D20)
+#error Invalid pin assignment for FMC17 D20 pin: FMC17_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC17, FMC17_D21)
+#error Invalid pin assignment for FMC17 D21 pin: FMC17_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC17, FMC17_D22)
+#error Invalid pin assignment for FMC17 D22 pin: FMC17_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC17, FMC17_D23)
+#error Invalid pin assignment for FMC17 D23 pin: FMC17_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC17, FMC17_D24)
+#error Invalid pin assignment for FMC17 D24 pin: FMC17_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC17, FMC17_D25)
+#error Invalid pin assignment for FMC17 D25 pin: FMC17_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC17, FMC17_D26)
+#error Invalid pin assignment for FMC17 D26 pin: FMC17_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC17, FMC17_D27)
+#error Invalid pin assignment for FMC17 D27 pin: FMC17_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC17, FMC17_D28)
+#error Invalid pin assignment for FMC17 D28 pin: FMC17_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC17, FMC17_D29)
+#error Invalid pin assignment for FMC17 D29 pin: FMC17_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC17, FMC17_D3)
+#error Invalid pin assignment for FMC17 D3 pin: FMC17_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC17, FMC17_D30)
+#error Invalid pin assignment for FMC17 D30 pin: FMC17_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC17, FMC17_D31)
+#error Invalid pin assignment for FMC17 D31 pin: FMC17_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC17, FMC17_D4)
+#error Invalid pin assignment for FMC17 D4 pin: FMC17_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC17, FMC17_D5)
+#error Invalid pin assignment for FMC17 D5 pin: FMC17_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC17, FMC17_D6)
+#error Invalid pin assignment for FMC17 D6 pin: FMC17_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC17, FMC17_D7)
+#error Invalid pin assignment for FMC17 D7 pin: FMC17_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC17, FMC17_D8)
+#error Invalid pin assignment for FMC17 D8 pin: FMC17_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC17, FMC17_D9)
+#error Invalid pin assignment for FMC17 D9 pin: FMC17_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC17, FMC17_DA0)
+#error Invalid pin assignment for FMC17 DA0 pin: FMC17_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC17, FMC17_DA1)
+#error Invalid pin assignment for FMC17 DA1 pin: FMC17_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC17, FMC17_DA10)
+#error Invalid pin assignment for FMC17 DA10 pin: FMC17_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC17, FMC17_DA11)
+#error Invalid pin assignment for FMC17 DA11 pin: FMC17_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC17, FMC17_DA12)
+#error Invalid pin assignment for FMC17 DA12 pin: FMC17_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC17, FMC17_DA13)
+#error Invalid pin assignment for FMC17 DA13 pin: FMC17_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC17, FMC17_DA14)
+#error Invalid pin assignment for FMC17 DA14 pin: FMC17_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC17, FMC17_DA15)
+#error Invalid pin assignment for FMC17 DA15 pin: FMC17_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC17, FMC17_DA2)
+#error Invalid pin assignment for FMC17 DA2 pin: FMC17_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC17, FMC17_DA3)
+#error Invalid pin assignment for FMC17 DA3 pin: FMC17_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC17, FMC17_DA4)
+#error Invalid pin assignment for FMC17 DA4 pin: FMC17_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC17, FMC17_DA5)
+#error Invalid pin assignment for FMC17 DA5 pin: FMC17_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC17, FMC17_DA6)
+#error Invalid pin assignment for FMC17 DA6 pin: FMC17_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC17, FMC17_DA7)
+#error Invalid pin assignment for FMC17 DA7 pin: FMC17_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC17, FMC17_DA8)
+#error Invalid pin assignment for FMC17 DA8 pin: FMC17_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC17, FMC17_DA9)
+#error Invalid pin assignment for FMC17 DA9 pin: FMC17_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC17, FMC17_INT)
+#error Invalid pin assignment for FMC17 INT pin: FMC17_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC17, FMC17_INT2)
+#error Invalid pin assignment for FMC17 INT2 pin: FMC17_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC17, FMC17_INT3)
+#error Invalid pin assignment for FMC17 INT3 pin: FMC17_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC17, FMC17_INTR)
+#error Invalid pin assignment for FMC17 INTR pin: FMC17_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC17, FMC17_NBL0)
+#error Invalid pin assignment for FMC17 NBL0 pin: FMC17_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC17, FMC17_NBL1)
+#error Invalid pin assignment for FMC17 NBL1 pin: FMC17_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC17, FMC17_NBL2)
+#error Invalid pin assignment for FMC17 NBL2 pin: FMC17_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC17, FMC17_NBL3)
+#error Invalid pin assignment for FMC17 NBL3 pin: FMC17_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC17, FMC17_NCE)
+#error Invalid pin assignment for FMC17 NCE pin: FMC17_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC17, FMC17_NCE2)
+#error Invalid pin assignment for FMC17 NCE2 pin: FMC17_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC17, FMC17_NCE3)
+#error Invalid pin assignment for FMC17 NCE3 pin: FMC17_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC17, FMC17_NE1)
+#error Invalid pin assignment for FMC17 NE1 pin: FMC17_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC17, FMC17_NE2)
+#error Invalid pin assignment for FMC17 NE2 pin: FMC17_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC17, FMC17_NE3)
+#error Invalid pin assignment for FMC17 NE3 pin: FMC17_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC17, FMC17_NE4)
+#error Invalid pin assignment for FMC17 NE4 pin: FMC17_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC17, FMC17_NIORD)
+#error Invalid pin assignment for FMC17 NIORD pin: FMC17_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC17, FMC17_NIOWR)
+#error Invalid pin assignment for FMC17 NIOWR pin: FMC17_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC17, FMC17_NL)
+#error Invalid pin assignment for FMC17 NL pin: FMC17_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC17, FMC17_NOE)
+#error Invalid pin assignment for FMC17 NOE pin: FMC17_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC17, FMC17_NREG)
+#error Invalid pin assignment for FMC17 NREG pin: FMC17_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC17, FMC17_NWAIT)
+#error Invalid pin assignment for FMC17 NWAIT pin: FMC17_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC17, FMC17_NWE)
+#error Invalid pin assignment for FMC17 NWE pin: FMC17_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC17, FMC17_SDCKE0)
+#error Invalid pin assignment for FMC17 SDCKE0 pin: FMC17_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC17, FMC17_SDCKE1)
+#error Invalid pin assignment for FMC17 SDCKE1 pin: FMC17_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC17, FMC17_SDCLK)
+#error Invalid pin assignment for FMC17 SDCLK pin: FMC17_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC17, FMC17_SDNCAS)
+#error Invalid pin assignment for FMC17 SDNCAS pin: FMC17_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC17, FMC17_SDNE0)
+#error Invalid pin assignment for FMC17 SDNE0 pin: FMC17_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC17, FMC17_SDNE1)
+#error Invalid pin assignment for FMC17 SDNE1 pin: FMC17_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC17, FMC17_SDNRAS)
+#error Invalid pin assignment for FMC17 SDNRAS pin: FMC17_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC17, FMC17_SDNWE)
+#error Invalid pin assignment for FMC17 SDNWE pin: FMC17_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC18
+#if !FIND_VALUE_FMC_A0(_FMC18, FMC18_A0)
+#error Invalid pin assignment for FMC18 A0 pin: FMC18_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC18, FMC18_A1)
+#error Invalid pin assignment for FMC18 A1 pin: FMC18_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC18, FMC18_A10)
+#error Invalid pin assignment for FMC18 A10 pin: FMC18_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC18, FMC18_A11)
+#error Invalid pin assignment for FMC18 A11 pin: FMC18_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC18, FMC18_A12)
+#error Invalid pin assignment for FMC18 A12 pin: FMC18_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC18, FMC18_A13)
+#error Invalid pin assignment for FMC18 A13 pin: FMC18_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC18, FMC18_A14)
+#error Invalid pin assignment for FMC18 A14 pin: FMC18_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC18, FMC18_A15)
+#error Invalid pin assignment for FMC18 A15 pin: FMC18_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC18, FMC18_A16)
+#error Invalid pin assignment for FMC18 A16 pin: FMC18_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC18, FMC18_A17)
+#error Invalid pin assignment for FMC18 A17 pin: FMC18_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC18, FMC18_A18)
+#error Invalid pin assignment for FMC18 A18 pin: FMC18_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC18, FMC18_A19)
+#error Invalid pin assignment for FMC18 A19 pin: FMC18_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC18, FMC18_A2)
+#error Invalid pin assignment for FMC18 A2 pin: FMC18_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC18, FMC18_A20)
+#error Invalid pin assignment for FMC18 A20 pin: FMC18_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC18, FMC18_A21)
+#error Invalid pin assignment for FMC18 A21 pin: FMC18_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC18, FMC18_A22)
+#error Invalid pin assignment for FMC18 A22 pin: FMC18_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC18, FMC18_A23)
+#error Invalid pin assignment for FMC18 A23 pin: FMC18_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC18, FMC18_A24)
+#error Invalid pin assignment for FMC18 A24 pin: FMC18_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC18, FMC18_A25)
+#error Invalid pin assignment for FMC18 A25 pin: FMC18_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC18, FMC18_A3)
+#error Invalid pin assignment for FMC18 A3 pin: FMC18_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC18, FMC18_A4)
+#error Invalid pin assignment for FMC18 A4 pin: FMC18_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC18, FMC18_A5)
+#error Invalid pin assignment for FMC18 A5 pin: FMC18_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC18, FMC18_A6)
+#error Invalid pin assignment for FMC18 A6 pin: FMC18_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC18, FMC18_A7)
+#error Invalid pin assignment for FMC18 A7 pin: FMC18_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC18, FMC18_A8)
+#error Invalid pin assignment for FMC18 A8 pin: FMC18_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC18, FMC18_A9)
+#error Invalid pin assignment for FMC18 A9 pin: FMC18_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC18, FMC18_ALE)
+#error Invalid pin assignment for FMC18 ALE pin: FMC18_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC18, FMC18_BA0)
+#error Invalid pin assignment for FMC18 BA0 pin: FMC18_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC18, FMC18_BA1)
+#error Invalid pin assignment for FMC18 BA1 pin: FMC18_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC18, FMC18_CD)
+#error Invalid pin assignment for FMC18 CD pin: FMC18_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC18, FMC18_CLE)
+#error Invalid pin assignment for FMC18 CLE pin: FMC18_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC18, FMC18_CLK)
+#error Invalid pin assignment for FMC18 CLK pin: FMC18_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC18, FMC18_D0)
+#error Invalid pin assignment for FMC18 D0 pin: FMC18_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC18, FMC18_D1)
+#error Invalid pin assignment for FMC18 D1 pin: FMC18_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC18, FMC18_D10)
+#error Invalid pin assignment for FMC18 D10 pin: FMC18_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC18, FMC18_D11)
+#error Invalid pin assignment for FMC18 D11 pin: FMC18_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC18, FMC18_D12)
+#error Invalid pin assignment for FMC18 D12 pin: FMC18_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC18, FMC18_D13)
+#error Invalid pin assignment for FMC18 D13 pin: FMC18_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC18, FMC18_D14)
+#error Invalid pin assignment for FMC18 D14 pin: FMC18_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC18, FMC18_D15)
+#error Invalid pin assignment for FMC18 D15 pin: FMC18_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC18, FMC18_D16)
+#error Invalid pin assignment for FMC18 D16 pin: FMC18_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC18, FMC18_D17)
+#error Invalid pin assignment for FMC18 D17 pin: FMC18_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC18, FMC18_D18)
+#error Invalid pin assignment for FMC18 D18 pin: FMC18_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC18, FMC18_D19)
+#error Invalid pin assignment for FMC18 D19 pin: FMC18_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC18, FMC18_D2)
+#error Invalid pin assignment for FMC18 D2 pin: FMC18_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC18, FMC18_D20)
+#error Invalid pin assignment for FMC18 D20 pin: FMC18_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC18, FMC18_D21)
+#error Invalid pin assignment for FMC18 D21 pin: FMC18_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC18, FMC18_D22)
+#error Invalid pin assignment for FMC18 D22 pin: FMC18_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC18, FMC18_D23)
+#error Invalid pin assignment for FMC18 D23 pin: FMC18_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC18, FMC18_D24)
+#error Invalid pin assignment for FMC18 D24 pin: FMC18_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC18, FMC18_D25)
+#error Invalid pin assignment for FMC18 D25 pin: FMC18_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC18, FMC18_D26)
+#error Invalid pin assignment for FMC18 D26 pin: FMC18_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC18, FMC18_D27)
+#error Invalid pin assignment for FMC18 D27 pin: FMC18_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC18, FMC18_D28)
+#error Invalid pin assignment for FMC18 D28 pin: FMC18_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC18, FMC18_D29)
+#error Invalid pin assignment for FMC18 D29 pin: FMC18_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC18, FMC18_D3)
+#error Invalid pin assignment for FMC18 D3 pin: FMC18_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC18, FMC18_D30)
+#error Invalid pin assignment for FMC18 D30 pin: FMC18_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC18, FMC18_D31)
+#error Invalid pin assignment for FMC18 D31 pin: FMC18_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC18, FMC18_D4)
+#error Invalid pin assignment for FMC18 D4 pin: FMC18_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC18, FMC18_D5)
+#error Invalid pin assignment for FMC18 D5 pin: FMC18_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC18, FMC18_D6)
+#error Invalid pin assignment for FMC18 D6 pin: FMC18_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC18, FMC18_D7)
+#error Invalid pin assignment for FMC18 D7 pin: FMC18_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC18, FMC18_D8)
+#error Invalid pin assignment for FMC18 D8 pin: FMC18_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC18, FMC18_D9)
+#error Invalid pin assignment for FMC18 D9 pin: FMC18_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC18, FMC18_DA0)
+#error Invalid pin assignment for FMC18 DA0 pin: FMC18_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC18, FMC18_DA1)
+#error Invalid pin assignment for FMC18 DA1 pin: FMC18_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC18, FMC18_DA10)
+#error Invalid pin assignment for FMC18 DA10 pin: FMC18_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC18, FMC18_DA11)
+#error Invalid pin assignment for FMC18 DA11 pin: FMC18_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC18, FMC18_DA12)
+#error Invalid pin assignment for FMC18 DA12 pin: FMC18_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC18, FMC18_DA13)
+#error Invalid pin assignment for FMC18 DA13 pin: FMC18_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC18, FMC18_DA14)
+#error Invalid pin assignment for FMC18 DA14 pin: FMC18_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC18, FMC18_DA15)
+#error Invalid pin assignment for FMC18 DA15 pin: FMC18_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC18, FMC18_DA2)
+#error Invalid pin assignment for FMC18 DA2 pin: FMC18_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC18, FMC18_DA3)
+#error Invalid pin assignment for FMC18 DA3 pin: FMC18_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC18, FMC18_DA4)
+#error Invalid pin assignment for FMC18 DA4 pin: FMC18_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC18, FMC18_DA5)
+#error Invalid pin assignment for FMC18 DA5 pin: FMC18_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC18, FMC18_DA6)
+#error Invalid pin assignment for FMC18 DA6 pin: FMC18_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC18, FMC18_DA7)
+#error Invalid pin assignment for FMC18 DA7 pin: FMC18_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC18, FMC18_DA8)
+#error Invalid pin assignment for FMC18 DA8 pin: FMC18_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC18, FMC18_DA9)
+#error Invalid pin assignment for FMC18 DA9 pin: FMC18_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC18, FMC18_INT)
+#error Invalid pin assignment for FMC18 INT pin: FMC18_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC18, FMC18_INT2)
+#error Invalid pin assignment for FMC18 INT2 pin: FMC18_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC18, FMC18_INT3)
+#error Invalid pin assignment for FMC18 INT3 pin: FMC18_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC18, FMC18_INTR)
+#error Invalid pin assignment for FMC18 INTR pin: FMC18_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC18, FMC18_NBL0)
+#error Invalid pin assignment for FMC18 NBL0 pin: FMC18_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC18, FMC18_NBL1)
+#error Invalid pin assignment for FMC18 NBL1 pin: FMC18_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC18, FMC18_NBL2)
+#error Invalid pin assignment for FMC18 NBL2 pin: FMC18_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC18, FMC18_NBL3)
+#error Invalid pin assignment for FMC18 NBL3 pin: FMC18_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC18, FMC18_NCE)
+#error Invalid pin assignment for FMC18 NCE pin: FMC18_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC18, FMC18_NCE2)
+#error Invalid pin assignment for FMC18 NCE2 pin: FMC18_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC18, FMC18_NCE3)
+#error Invalid pin assignment for FMC18 NCE3 pin: FMC18_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC18, FMC18_NE1)
+#error Invalid pin assignment for FMC18 NE1 pin: FMC18_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC18, FMC18_NE2)
+#error Invalid pin assignment for FMC18 NE2 pin: FMC18_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC18, FMC18_NE3)
+#error Invalid pin assignment for FMC18 NE3 pin: FMC18_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC18, FMC18_NE4)
+#error Invalid pin assignment for FMC18 NE4 pin: FMC18_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC18, FMC18_NIORD)
+#error Invalid pin assignment for FMC18 NIORD pin: FMC18_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC18, FMC18_NIOWR)
+#error Invalid pin assignment for FMC18 NIOWR pin: FMC18_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC18, FMC18_NL)
+#error Invalid pin assignment for FMC18 NL pin: FMC18_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC18, FMC18_NOE)
+#error Invalid pin assignment for FMC18 NOE pin: FMC18_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC18, FMC18_NREG)
+#error Invalid pin assignment for FMC18 NREG pin: FMC18_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC18, FMC18_NWAIT)
+#error Invalid pin assignment for FMC18 NWAIT pin: FMC18_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC18, FMC18_NWE)
+#error Invalid pin assignment for FMC18 NWE pin: FMC18_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC18, FMC18_SDCKE0)
+#error Invalid pin assignment for FMC18 SDCKE0 pin: FMC18_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC18, FMC18_SDCKE1)
+#error Invalid pin assignment for FMC18 SDCKE1 pin: FMC18_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC18, FMC18_SDCLK)
+#error Invalid pin assignment for FMC18 SDCLK pin: FMC18_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC18, FMC18_SDNCAS)
+#error Invalid pin assignment for FMC18 SDNCAS pin: FMC18_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC18, FMC18_SDNE0)
+#error Invalid pin assignment for FMC18 SDNE0 pin: FMC18_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC18, FMC18_SDNE1)
+#error Invalid pin assignment for FMC18 SDNE1 pin: FMC18_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC18, FMC18_SDNRAS)
+#error Invalid pin assignment for FMC18 SDNRAS pin: FMC18_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC18, FMC18_SDNWE)
+#error Invalid pin assignment for FMC18 SDNWE pin: FMC18_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC19
+#if !FIND_VALUE_FMC_A0(_FMC19, FMC19_A0)
+#error Invalid pin assignment for FMC19 A0 pin: FMC19_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC19, FMC19_A1)
+#error Invalid pin assignment for FMC19 A1 pin: FMC19_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC19, FMC19_A10)
+#error Invalid pin assignment for FMC19 A10 pin: FMC19_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC19, FMC19_A11)
+#error Invalid pin assignment for FMC19 A11 pin: FMC19_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC19, FMC19_A12)
+#error Invalid pin assignment for FMC19 A12 pin: FMC19_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC19, FMC19_A13)
+#error Invalid pin assignment for FMC19 A13 pin: FMC19_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC19, FMC19_A14)
+#error Invalid pin assignment for FMC19 A14 pin: FMC19_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC19, FMC19_A15)
+#error Invalid pin assignment for FMC19 A15 pin: FMC19_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC19, FMC19_A16)
+#error Invalid pin assignment for FMC19 A16 pin: FMC19_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC19, FMC19_A17)
+#error Invalid pin assignment for FMC19 A17 pin: FMC19_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC19, FMC19_A18)
+#error Invalid pin assignment for FMC19 A18 pin: FMC19_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC19, FMC19_A19)
+#error Invalid pin assignment for FMC19 A19 pin: FMC19_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC19, FMC19_A2)
+#error Invalid pin assignment for FMC19 A2 pin: FMC19_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC19, FMC19_A20)
+#error Invalid pin assignment for FMC19 A20 pin: FMC19_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC19, FMC19_A21)
+#error Invalid pin assignment for FMC19 A21 pin: FMC19_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC19, FMC19_A22)
+#error Invalid pin assignment for FMC19 A22 pin: FMC19_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC19, FMC19_A23)
+#error Invalid pin assignment for FMC19 A23 pin: FMC19_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC19, FMC19_A24)
+#error Invalid pin assignment for FMC19 A24 pin: FMC19_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC19, FMC19_A25)
+#error Invalid pin assignment for FMC19 A25 pin: FMC19_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC19, FMC19_A3)
+#error Invalid pin assignment for FMC19 A3 pin: FMC19_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC19, FMC19_A4)
+#error Invalid pin assignment for FMC19 A4 pin: FMC19_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC19, FMC19_A5)
+#error Invalid pin assignment for FMC19 A5 pin: FMC19_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC19, FMC19_A6)
+#error Invalid pin assignment for FMC19 A6 pin: FMC19_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC19, FMC19_A7)
+#error Invalid pin assignment for FMC19 A7 pin: FMC19_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC19, FMC19_A8)
+#error Invalid pin assignment for FMC19 A8 pin: FMC19_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC19, FMC19_A9)
+#error Invalid pin assignment for FMC19 A9 pin: FMC19_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC19, FMC19_ALE)
+#error Invalid pin assignment for FMC19 ALE pin: FMC19_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC19, FMC19_BA0)
+#error Invalid pin assignment for FMC19 BA0 pin: FMC19_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC19, FMC19_BA1)
+#error Invalid pin assignment for FMC19 BA1 pin: FMC19_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC19, FMC19_CD)
+#error Invalid pin assignment for FMC19 CD pin: FMC19_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC19, FMC19_CLE)
+#error Invalid pin assignment for FMC19 CLE pin: FMC19_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC19, FMC19_CLK)
+#error Invalid pin assignment for FMC19 CLK pin: FMC19_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC19, FMC19_D0)
+#error Invalid pin assignment for FMC19 D0 pin: FMC19_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC19, FMC19_D1)
+#error Invalid pin assignment for FMC19 D1 pin: FMC19_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC19, FMC19_D10)
+#error Invalid pin assignment for FMC19 D10 pin: FMC19_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC19, FMC19_D11)
+#error Invalid pin assignment for FMC19 D11 pin: FMC19_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC19, FMC19_D12)
+#error Invalid pin assignment for FMC19 D12 pin: FMC19_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC19, FMC19_D13)
+#error Invalid pin assignment for FMC19 D13 pin: FMC19_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC19, FMC19_D14)
+#error Invalid pin assignment for FMC19 D14 pin: FMC19_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC19, FMC19_D15)
+#error Invalid pin assignment for FMC19 D15 pin: FMC19_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC19, FMC19_D16)
+#error Invalid pin assignment for FMC19 D16 pin: FMC19_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC19, FMC19_D17)
+#error Invalid pin assignment for FMC19 D17 pin: FMC19_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC19, FMC19_D18)
+#error Invalid pin assignment for FMC19 D18 pin: FMC19_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC19, FMC19_D19)
+#error Invalid pin assignment for FMC19 D19 pin: FMC19_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC19, FMC19_D2)
+#error Invalid pin assignment for FMC19 D2 pin: FMC19_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC19, FMC19_D20)
+#error Invalid pin assignment for FMC19 D20 pin: FMC19_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC19, FMC19_D21)
+#error Invalid pin assignment for FMC19 D21 pin: FMC19_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC19, FMC19_D22)
+#error Invalid pin assignment for FMC19 D22 pin: FMC19_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC19, FMC19_D23)
+#error Invalid pin assignment for FMC19 D23 pin: FMC19_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC19, FMC19_D24)
+#error Invalid pin assignment for FMC19 D24 pin: FMC19_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC19, FMC19_D25)
+#error Invalid pin assignment for FMC19 D25 pin: FMC19_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC19, FMC19_D26)
+#error Invalid pin assignment for FMC19 D26 pin: FMC19_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC19, FMC19_D27)
+#error Invalid pin assignment for FMC19 D27 pin: FMC19_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC19, FMC19_D28)
+#error Invalid pin assignment for FMC19 D28 pin: FMC19_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC19, FMC19_D29)
+#error Invalid pin assignment for FMC19 D29 pin: FMC19_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC19, FMC19_D3)
+#error Invalid pin assignment for FMC19 D3 pin: FMC19_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC19, FMC19_D30)
+#error Invalid pin assignment for FMC19 D30 pin: FMC19_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC19, FMC19_D31)
+#error Invalid pin assignment for FMC19 D31 pin: FMC19_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC19, FMC19_D4)
+#error Invalid pin assignment for FMC19 D4 pin: FMC19_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC19, FMC19_D5)
+#error Invalid pin assignment for FMC19 D5 pin: FMC19_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC19, FMC19_D6)
+#error Invalid pin assignment for FMC19 D6 pin: FMC19_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC19, FMC19_D7)
+#error Invalid pin assignment for FMC19 D7 pin: FMC19_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC19, FMC19_D8)
+#error Invalid pin assignment for FMC19 D8 pin: FMC19_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC19, FMC19_D9)
+#error Invalid pin assignment for FMC19 D9 pin: FMC19_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC19, FMC19_DA0)
+#error Invalid pin assignment for FMC19 DA0 pin: FMC19_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC19, FMC19_DA1)
+#error Invalid pin assignment for FMC19 DA1 pin: FMC19_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC19, FMC19_DA10)
+#error Invalid pin assignment for FMC19 DA10 pin: FMC19_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC19, FMC19_DA11)
+#error Invalid pin assignment for FMC19 DA11 pin: FMC19_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC19, FMC19_DA12)
+#error Invalid pin assignment for FMC19 DA12 pin: FMC19_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC19, FMC19_DA13)
+#error Invalid pin assignment for FMC19 DA13 pin: FMC19_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC19, FMC19_DA14)
+#error Invalid pin assignment for FMC19 DA14 pin: FMC19_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC19, FMC19_DA15)
+#error Invalid pin assignment for FMC19 DA15 pin: FMC19_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC19, FMC19_DA2)
+#error Invalid pin assignment for FMC19 DA2 pin: FMC19_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC19, FMC19_DA3)
+#error Invalid pin assignment for FMC19 DA3 pin: FMC19_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC19, FMC19_DA4)
+#error Invalid pin assignment for FMC19 DA4 pin: FMC19_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC19, FMC19_DA5)
+#error Invalid pin assignment for FMC19 DA5 pin: FMC19_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC19, FMC19_DA6)
+#error Invalid pin assignment for FMC19 DA6 pin: FMC19_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC19, FMC19_DA7)
+#error Invalid pin assignment for FMC19 DA7 pin: FMC19_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC19, FMC19_DA8)
+#error Invalid pin assignment for FMC19 DA8 pin: FMC19_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC19, FMC19_DA9)
+#error Invalid pin assignment for FMC19 DA9 pin: FMC19_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC19, FMC19_INT)
+#error Invalid pin assignment for FMC19 INT pin: FMC19_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC19, FMC19_INT2)
+#error Invalid pin assignment for FMC19 INT2 pin: FMC19_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC19, FMC19_INT3)
+#error Invalid pin assignment for FMC19 INT3 pin: FMC19_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC19, FMC19_INTR)
+#error Invalid pin assignment for FMC19 INTR pin: FMC19_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC19, FMC19_NBL0)
+#error Invalid pin assignment for FMC19 NBL0 pin: FMC19_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC19, FMC19_NBL1)
+#error Invalid pin assignment for FMC19 NBL1 pin: FMC19_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC19, FMC19_NBL2)
+#error Invalid pin assignment for FMC19 NBL2 pin: FMC19_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC19, FMC19_NBL3)
+#error Invalid pin assignment for FMC19 NBL3 pin: FMC19_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC19, FMC19_NCE)
+#error Invalid pin assignment for FMC19 NCE pin: FMC19_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC19, FMC19_NCE2)
+#error Invalid pin assignment for FMC19 NCE2 pin: FMC19_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC19, FMC19_NCE3)
+#error Invalid pin assignment for FMC19 NCE3 pin: FMC19_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC19, FMC19_NE1)
+#error Invalid pin assignment for FMC19 NE1 pin: FMC19_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC19, FMC19_NE2)
+#error Invalid pin assignment for FMC19 NE2 pin: FMC19_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC19, FMC19_NE3)
+#error Invalid pin assignment for FMC19 NE3 pin: FMC19_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC19, FMC19_NE4)
+#error Invalid pin assignment for FMC19 NE4 pin: FMC19_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC19, FMC19_NIORD)
+#error Invalid pin assignment for FMC19 NIORD pin: FMC19_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC19, FMC19_NIOWR)
+#error Invalid pin assignment for FMC19 NIOWR pin: FMC19_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC19, FMC19_NL)
+#error Invalid pin assignment for FMC19 NL pin: FMC19_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC19, FMC19_NOE)
+#error Invalid pin assignment for FMC19 NOE pin: FMC19_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC19, FMC19_NREG)
+#error Invalid pin assignment for FMC19 NREG pin: FMC19_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC19, FMC19_NWAIT)
+#error Invalid pin assignment for FMC19 NWAIT pin: FMC19_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC19, FMC19_NWE)
+#error Invalid pin assignment for FMC19 NWE pin: FMC19_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC19, FMC19_SDCKE0)
+#error Invalid pin assignment for FMC19 SDCKE0 pin: FMC19_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC19, FMC19_SDCKE1)
+#error Invalid pin assignment for FMC19 SDCKE1 pin: FMC19_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC19, FMC19_SDCLK)
+#error Invalid pin assignment for FMC19 SDCLK pin: FMC19_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC19, FMC19_SDNCAS)
+#error Invalid pin assignment for FMC19 SDNCAS pin: FMC19_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC19, FMC19_SDNE0)
+#error Invalid pin assignment for FMC19 SDNE0 pin: FMC19_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC19, FMC19_SDNE1)
+#error Invalid pin assignment for FMC19 SDNE1 pin: FMC19_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC19, FMC19_SDNRAS)
+#error Invalid pin assignment for FMC19 SDNRAS pin: FMC19_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC19, FMC19_SDNWE)
+#error Invalid pin assignment for FMC19 SDNWE pin: FMC19_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC20
+#if !FIND_VALUE_FMC_A0(_FMC20, FMC20_A0)
+#error Invalid pin assignment for FMC20 A0 pin: FMC20_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC20, FMC20_A1)
+#error Invalid pin assignment for FMC20 A1 pin: FMC20_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC20, FMC20_A10)
+#error Invalid pin assignment for FMC20 A10 pin: FMC20_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC20, FMC20_A11)
+#error Invalid pin assignment for FMC20 A11 pin: FMC20_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC20, FMC20_A12)
+#error Invalid pin assignment for FMC20 A12 pin: FMC20_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC20, FMC20_A13)
+#error Invalid pin assignment for FMC20 A13 pin: FMC20_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC20, FMC20_A14)
+#error Invalid pin assignment for FMC20 A14 pin: FMC20_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC20, FMC20_A15)
+#error Invalid pin assignment for FMC20 A15 pin: FMC20_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC20, FMC20_A16)
+#error Invalid pin assignment for FMC20 A16 pin: FMC20_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC20, FMC20_A17)
+#error Invalid pin assignment for FMC20 A17 pin: FMC20_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC20, FMC20_A18)
+#error Invalid pin assignment for FMC20 A18 pin: FMC20_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC20, FMC20_A19)
+#error Invalid pin assignment for FMC20 A19 pin: FMC20_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC20, FMC20_A2)
+#error Invalid pin assignment for FMC20 A2 pin: FMC20_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC20, FMC20_A20)
+#error Invalid pin assignment for FMC20 A20 pin: FMC20_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC20, FMC20_A21)
+#error Invalid pin assignment for FMC20 A21 pin: FMC20_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC20, FMC20_A22)
+#error Invalid pin assignment for FMC20 A22 pin: FMC20_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC20, FMC20_A23)
+#error Invalid pin assignment for FMC20 A23 pin: FMC20_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC20, FMC20_A24)
+#error Invalid pin assignment for FMC20 A24 pin: FMC20_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC20, FMC20_A25)
+#error Invalid pin assignment for FMC20 A25 pin: FMC20_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC20, FMC20_A3)
+#error Invalid pin assignment for FMC20 A3 pin: FMC20_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC20, FMC20_A4)
+#error Invalid pin assignment for FMC20 A4 pin: FMC20_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC20, FMC20_A5)
+#error Invalid pin assignment for FMC20 A5 pin: FMC20_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC20, FMC20_A6)
+#error Invalid pin assignment for FMC20 A6 pin: FMC20_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC20, FMC20_A7)
+#error Invalid pin assignment for FMC20 A7 pin: FMC20_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC20, FMC20_A8)
+#error Invalid pin assignment for FMC20 A8 pin: FMC20_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC20, FMC20_A9)
+#error Invalid pin assignment for FMC20 A9 pin: FMC20_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC20, FMC20_ALE)
+#error Invalid pin assignment for FMC20 ALE pin: FMC20_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC20, FMC20_BA0)
+#error Invalid pin assignment for FMC20 BA0 pin: FMC20_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC20, FMC20_BA1)
+#error Invalid pin assignment for FMC20 BA1 pin: FMC20_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC20, FMC20_CD)
+#error Invalid pin assignment for FMC20 CD pin: FMC20_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC20, FMC20_CLE)
+#error Invalid pin assignment for FMC20 CLE pin: FMC20_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC20, FMC20_CLK)
+#error Invalid pin assignment for FMC20 CLK pin: FMC20_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC20, FMC20_D0)
+#error Invalid pin assignment for FMC20 D0 pin: FMC20_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC20, FMC20_D1)
+#error Invalid pin assignment for FMC20 D1 pin: FMC20_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC20, FMC20_D10)
+#error Invalid pin assignment for FMC20 D10 pin: FMC20_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC20, FMC20_D11)
+#error Invalid pin assignment for FMC20 D11 pin: FMC20_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC20, FMC20_D12)
+#error Invalid pin assignment for FMC20 D12 pin: FMC20_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC20, FMC20_D13)
+#error Invalid pin assignment for FMC20 D13 pin: FMC20_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC20, FMC20_D14)
+#error Invalid pin assignment for FMC20 D14 pin: FMC20_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC20, FMC20_D15)
+#error Invalid pin assignment for FMC20 D15 pin: FMC20_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC20, FMC20_D16)
+#error Invalid pin assignment for FMC20 D16 pin: FMC20_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC20, FMC20_D17)
+#error Invalid pin assignment for FMC20 D17 pin: FMC20_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC20, FMC20_D18)
+#error Invalid pin assignment for FMC20 D18 pin: FMC20_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC20, FMC20_D19)
+#error Invalid pin assignment for FMC20 D19 pin: FMC20_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC20, FMC20_D2)
+#error Invalid pin assignment for FMC20 D2 pin: FMC20_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC20, FMC20_D20)
+#error Invalid pin assignment for FMC20 D20 pin: FMC20_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC20, FMC20_D21)
+#error Invalid pin assignment for FMC20 D21 pin: FMC20_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC20, FMC20_D22)
+#error Invalid pin assignment for FMC20 D22 pin: FMC20_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC20, FMC20_D23)
+#error Invalid pin assignment for FMC20 D23 pin: FMC20_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC20, FMC20_D24)
+#error Invalid pin assignment for FMC20 D24 pin: FMC20_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC20, FMC20_D25)
+#error Invalid pin assignment for FMC20 D25 pin: FMC20_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC20, FMC20_D26)
+#error Invalid pin assignment for FMC20 D26 pin: FMC20_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC20, FMC20_D27)
+#error Invalid pin assignment for FMC20 D27 pin: FMC20_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC20, FMC20_D28)
+#error Invalid pin assignment for FMC20 D28 pin: FMC20_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC20, FMC20_D29)
+#error Invalid pin assignment for FMC20 D29 pin: FMC20_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC20, FMC20_D3)
+#error Invalid pin assignment for FMC20 D3 pin: FMC20_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC20, FMC20_D30)
+#error Invalid pin assignment for FMC20 D30 pin: FMC20_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC20, FMC20_D31)
+#error Invalid pin assignment for FMC20 D31 pin: FMC20_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC20, FMC20_D4)
+#error Invalid pin assignment for FMC20 D4 pin: FMC20_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC20, FMC20_D5)
+#error Invalid pin assignment for FMC20 D5 pin: FMC20_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC20, FMC20_D6)
+#error Invalid pin assignment for FMC20 D6 pin: FMC20_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC20, FMC20_D7)
+#error Invalid pin assignment for FMC20 D7 pin: FMC20_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC20, FMC20_D8)
+#error Invalid pin assignment for FMC20 D8 pin: FMC20_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC20, FMC20_D9)
+#error Invalid pin assignment for FMC20 D9 pin: FMC20_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC20, FMC20_DA0)
+#error Invalid pin assignment for FMC20 DA0 pin: FMC20_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC20, FMC20_DA1)
+#error Invalid pin assignment for FMC20 DA1 pin: FMC20_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC20, FMC20_DA10)
+#error Invalid pin assignment for FMC20 DA10 pin: FMC20_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC20, FMC20_DA11)
+#error Invalid pin assignment for FMC20 DA11 pin: FMC20_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC20, FMC20_DA12)
+#error Invalid pin assignment for FMC20 DA12 pin: FMC20_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC20, FMC20_DA13)
+#error Invalid pin assignment for FMC20 DA13 pin: FMC20_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC20, FMC20_DA14)
+#error Invalid pin assignment for FMC20 DA14 pin: FMC20_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC20, FMC20_DA15)
+#error Invalid pin assignment for FMC20 DA15 pin: FMC20_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC20, FMC20_DA2)
+#error Invalid pin assignment for FMC20 DA2 pin: FMC20_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC20, FMC20_DA3)
+#error Invalid pin assignment for FMC20 DA3 pin: FMC20_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC20, FMC20_DA4)
+#error Invalid pin assignment for FMC20 DA4 pin: FMC20_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC20, FMC20_DA5)
+#error Invalid pin assignment for FMC20 DA5 pin: FMC20_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC20, FMC20_DA6)
+#error Invalid pin assignment for FMC20 DA6 pin: FMC20_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC20, FMC20_DA7)
+#error Invalid pin assignment for FMC20 DA7 pin: FMC20_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC20, FMC20_DA8)
+#error Invalid pin assignment for FMC20 DA8 pin: FMC20_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC20, FMC20_DA9)
+#error Invalid pin assignment for FMC20 DA9 pin: FMC20_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC20, FMC20_INT)
+#error Invalid pin assignment for FMC20 INT pin: FMC20_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC20, FMC20_INT2)
+#error Invalid pin assignment for FMC20 INT2 pin: FMC20_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC20, FMC20_INT3)
+#error Invalid pin assignment for FMC20 INT3 pin: FMC20_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC20, FMC20_INTR)
+#error Invalid pin assignment for FMC20 INTR pin: FMC20_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC20, FMC20_NBL0)
+#error Invalid pin assignment for FMC20 NBL0 pin: FMC20_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC20, FMC20_NBL1)
+#error Invalid pin assignment for FMC20 NBL1 pin: FMC20_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC20, FMC20_NBL2)
+#error Invalid pin assignment for FMC20 NBL2 pin: FMC20_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC20, FMC20_NBL3)
+#error Invalid pin assignment for FMC20 NBL3 pin: FMC20_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC20, FMC20_NCE)
+#error Invalid pin assignment for FMC20 NCE pin: FMC20_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC20, FMC20_NCE2)
+#error Invalid pin assignment for FMC20 NCE2 pin: FMC20_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC20, FMC20_NCE3)
+#error Invalid pin assignment for FMC20 NCE3 pin: FMC20_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC20, FMC20_NE1)
+#error Invalid pin assignment for FMC20 NE1 pin: FMC20_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC20, FMC20_NE2)
+#error Invalid pin assignment for FMC20 NE2 pin: FMC20_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC20, FMC20_NE3)
+#error Invalid pin assignment for FMC20 NE3 pin: FMC20_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC20, FMC20_NE4)
+#error Invalid pin assignment for FMC20 NE4 pin: FMC20_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC20, FMC20_NIORD)
+#error Invalid pin assignment for FMC20 NIORD pin: FMC20_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC20, FMC20_NIOWR)
+#error Invalid pin assignment for FMC20 NIOWR pin: FMC20_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC20, FMC20_NL)
+#error Invalid pin assignment for FMC20 NL pin: FMC20_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC20, FMC20_NOE)
+#error Invalid pin assignment for FMC20 NOE pin: FMC20_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC20, FMC20_NREG)
+#error Invalid pin assignment for FMC20 NREG pin: FMC20_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC20, FMC20_NWAIT)
+#error Invalid pin assignment for FMC20 NWAIT pin: FMC20_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC20, FMC20_NWE)
+#error Invalid pin assignment for FMC20 NWE pin: FMC20_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC20, FMC20_SDCKE0)
+#error Invalid pin assignment for FMC20 SDCKE0 pin: FMC20_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC20, FMC20_SDCKE1)
+#error Invalid pin assignment for FMC20 SDCKE1 pin: FMC20_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC20, FMC20_SDCLK)
+#error Invalid pin assignment for FMC20 SDCLK pin: FMC20_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC20, FMC20_SDNCAS)
+#error Invalid pin assignment for FMC20 SDNCAS pin: FMC20_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC20, FMC20_SDNE0)
+#error Invalid pin assignment for FMC20 SDNE0 pin: FMC20_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC20, FMC20_SDNE1)
+#error Invalid pin assignment for FMC20 SDNE1 pin: FMC20_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC20, FMC20_SDNRAS)
+#error Invalid pin assignment for FMC20 SDNRAS pin: FMC20_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC20, FMC20_SDNWE)
+#error Invalid pin assignment for FMC20 SDNWE pin: FMC20_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC21
+#if !FIND_VALUE_FMC_A0(_FMC21, FMC21_A0)
+#error Invalid pin assignment for FMC21 A0 pin: FMC21_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC21, FMC21_A1)
+#error Invalid pin assignment for FMC21 A1 pin: FMC21_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC21, FMC21_A10)
+#error Invalid pin assignment for FMC21 A10 pin: FMC21_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC21, FMC21_A11)
+#error Invalid pin assignment for FMC21 A11 pin: FMC21_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC21, FMC21_A12)
+#error Invalid pin assignment for FMC21 A12 pin: FMC21_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC21, FMC21_A13)
+#error Invalid pin assignment for FMC21 A13 pin: FMC21_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC21, FMC21_A14)
+#error Invalid pin assignment for FMC21 A14 pin: FMC21_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC21, FMC21_A15)
+#error Invalid pin assignment for FMC21 A15 pin: FMC21_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC21, FMC21_A16)
+#error Invalid pin assignment for FMC21 A16 pin: FMC21_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC21, FMC21_A17)
+#error Invalid pin assignment for FMC21 A17 pin: FMC21_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC21, FMC21_A18)
+#error Invalid pin assignment for FMC21 A18 pin: FMC21_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC21, FMC21_A19)
+#error Invalid pin assignment for FMC21 A19 pin: FMC21_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC21, FMC21_A2)
+#error Invalid pin assignment for FMC21 A2 pin: FMC21_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC21, FMC21_A20)
+#error Invalid pin assignment for FMC21 A20 pin: FMC21_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC21, FMC21_A21)
+#error Invalid pin assignment for FMC21 A21 pin: FMC21_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC21, FMC21_A22)
+#error Invalid pin assignment for FMC21 A22 pin: FMC21_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC21, FMC21_A23)
+#error Invalid pin assignment for FMC21 A23 pin: FMC21_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC21, FMC21_A24)
+#error Invalid pin assignment for FMC21 A24 pin: FMC21_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC21, FMC21_A25)
+#error Invalid pin assignment for FMC21 A25 pin: FMC21_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC21, FMC21_A3)
+#error Invalid pin assignment for FMC21 A3 pin: FMC21_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC21, FMC21_A4)
+#error Invalid pin assignment for FMC21 A4 pin: FMC21_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC21, FMC21_A5)
+#error Invalid pin assignment for FMC21 A5 pin: FMC21_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC21, FMC21_A6)
+#error Invalid pin assignment for FMC21 A6 pin: FMC21_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC21, FMC21_A7)
+#error Invalid pin assignment for FMC21 A7 pin: FMC21_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC21, FMC21_A8)
+#error Invalid pin assignment for FMC21 A8 pin: FMC21_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC21, FMC21_A9)
+#error Invalid pin assignment for FMC21 A9 pin: FMC21_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC21, FMC21_ALE)
+#error Invalid pin assignment for FMC21 ALE pin: FMC21_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC21, FMC21_BA0)
+#error Invalid pin assignment for FMC21 BA0 pin: FMC21_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC21, FMC21_BA1)
+#error Invalid pin assignment for FMC21 BA1 pin: FMC21_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC21, FMC21_CD)
+#error Invalid pin assignment for FMC21 CD pin: FMC21_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC21, FMC21_CLE)
+#error Invalid pin assignment for FMC21 CLE pin: FMC21_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC21, FMC21_CLK)
+#error Invalid pin assignment for FMC21 CLK pin: FMC21_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC21, FMC21_D0)
+#error Invalid pin assignment for FMC21 D0 pin: FMC21_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC21, FMC21_D1)
+#error Invalid pin assignment for FMC21 D1 pin: FMC21_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC21, FMC21_D10)
+#error Invalid pin assignment for FMC21 D10 pin: FMC21_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC21, FMC21_D11)
+#error Invalid pin assignment for FMC21 D11 pin: FMC21_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC21, FMC21_D12)
+#error Invalid pin assignment for FMC21 D12 pin: FMC21_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC21, FMC21_D13)
+#error Invalid pin assignment for FMC21 D13 pin: FMC21_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC21, FMC21_D14)
+#error Invalid pin assignment for FMC21 D14 pin: FMC21_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC21, FMC21_D15)
+#error Invalid pin assignment for FMC21 D15 pin: FMC21_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC21, FMC21_D16)
+#error Invalid pin assignment for FMC21 D16 pin: FMC21_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC21, FMC21_D17)
+#error Invalid pin assignment for FMC21 D17 pin: FMC21_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC21, FMC21_D18)
+#error Invalid pin assignment for FMC21 D18 pin: FMC21_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC21, FMC21_D19)
+#error Invalid pin assignment for FMC21 D19 pin: FMC21_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC21, FMC21_D2)
+#error Invalid pin assignment for FMC21 D2 pin: FMC21_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC21, FMC21_D20)
+#error Invalid pin assignment for FMC21 D20 pin: FMC21_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC21, FMC21_D21)
+#error Invalid pin assignment for FMC21 D21 pin: FMC21_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC21, FMC21_D22)
+#error Invalid pin assignment for FMC21 D22 pin: FMC21_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC21, FMC21_D23)
+#error Invalid pin assignment for FMC21 D23 pin: FMC21_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC21, FMC21_D24)
+#error Invalid pin assignment for FMC21 D24 pin: FMC21_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC21, FMC21_D25)
+#error Invalid pin assignment for FMC21 D25 pin: FMC21_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC21, FMC21_D26)
+#error Invalid pin assignment for FMC21 D26 pin: FMC21_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC21, FMC21_D27)
+#error Invalid pin assignment for FMC21 D27 pin: FMC21_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC21, FMC21_D28)
+#error Invalid pin assignment for FMC21 D28 pin: FMC21_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC21, FMC21_D29)
+#error Invalid pin assignment for FMC21 D29 pin: FMC21_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC21, FMC21_D3)
+#error Invalid pin assignment for FMC21 D3 pin: FMC21_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC21, FMC21_D30)
+#error Invalid pin assignment for FMC21 D30 pin: FMC21_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC21, FMC21_D31)
+#error Invalid pin assignment for FMC21 D31 pin: FMC21_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC21, FMC21_D4)
+#error Invalid pin assignment for FMC21 D4 pin: FMC21_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC21, FMC21_D5)
+#error Invalid pin assignment for FMC21 D5 pin: FMC21_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC21, FMC21_D6)
+#error Invalid pin assignment for FMC21 D6 pin: FMC21_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC21, FMC21_D7)
+#error Invalid pin assignment for FMC21 D7 pin: FMC21_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC21, FMC21_D8)
+#error Invalid pin assignment for FMC21 D8 pin: FMC21_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC21, FMC21_D9)
+#error Invalid pin assignment for FMC21 D9 pin: FMC21_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC21, FMC21_DA0)
+#error Invalid pin assignment for FMC21 DA0 pin: FMC21_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC21, FMC21_DA1)
+#error Invalid pin assignment for FMC21 DA1 pin: FMC21_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC21, FMC21_DA10)
+#error Invalid pin assignment for FMC21 DA10 pin: FMC21_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC21, FMC21_DA11)
+#error Invalid pin assignment for FMC21 DA11 pin: FMC21_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC21, FMC21_DA12)
+#error Invalid pin assignment for FMC21 DA12 pin: FMC21_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC21, FMC21_DA13)
+#error Invalid pin assignment for FMC21 DA13 pin: FMC21_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC21, FMC21_DA14)
+#error Invalid pin assignment for FMC21 DA14 pin: FMC21_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC21, FMC21_DA15)
+#error Invalid pin assignment for FMC21 DA15 pin: FMC21_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC21, FMC21_DA2)
+#error Invalid pin assignment for FMC21 DA2 pin: FMC21_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC21, FMC21_DA3)
+#error Invalid pin assignment for FMC21 DA3 pin: FMC21_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC21, FMC21_DA4)
+#error Invalid pin assignment for FMC21 DA4 pin: FMC21_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC21, FMC21_DA5)
+#error Invalid pin assignment for FMC21 DA5 pin: FMC21_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC21, FMC21_DA6)
+#error Invalid pin assignment for FMC21 DA6 pin: FMC21_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC21, FMC21_DA7)
+#error Invalid pin assignment for FMC21 DA7 pin: FMC21_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC21, FMC21_DA8)
+#error Invalid pin assignment for FMC21 DA8 pin: FMC21_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC21, FMC21_DA9)
+#error Invalid pin assignment for FMC21 DA9 pin: FMC21_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC21, FMC21_INT)
+#error Invalid pin assignment for FMC21 INT pin: FMC21_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC21, FMC21_INT2)
+#error Invalid pin assignment for FMC21 INT2 pin: FMC21_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC21, FMC21_INT3)
+#error Invalid pin assignment for FMC21 INT3 pin: FMC21_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC21, FMC21_INTR)
+#error Invalid pin assignment for FMC21 INTR pin: FMC21_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC21, FMC21_NBL0)
+#error Invalid pin assignment for FMC21 NBL0 pin: FMC21_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC21, FMC21_NBL1)
+#error Invalid pin assignment for FMC21 NBL1 pin: FMC21_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC21, FMC21_NBL2)
+#error Invalid pin assignment for FMC21 NBL2 pin: FMC21_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC21, FMC21_NBL3)
+#error Invalid pin assignment for FMC21 NBL3 pin: FMC21_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC21, FMC21_NCE)
+#error Invalid pin assignment for FMC21 NCE pin: FMC21_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC21, FMC21_NCE2)
+#error Invalid pin assignment for FMC21 NCE2 pin: FMC21_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC21, FMC21_NCE3)
+#error Invalid pin assignment for FMC21 NCE3 pin: FMC21_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC21, FMC21_NE1)
+#error Invalid pin assignment for FMC21 NE1 pin: FMC21_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC21, FMC21_NE2)
+#error Invalid pin assignment for FMC21 NE2 pin: FMC21_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC21, FMC21_NE3)
+#error Invalid pin assignment for FMC21 NE3 pin: FMC21_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC21, FMC21_NE4)
+#error Invalid pin assignment for FMC21 NE4 pin: FMC21_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC21, FMC21_NIORD)
+#error Invalid pin assignment for FMC21 NIORD pin: FMC21_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC21, FMC21_NIOWR)
+#error Invalid pin assignment for FMC21 NIOWR pin: FMC21_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC21, FMC21_NL)
+#error Invalid pin assignment for FMC21 NL pin: FMC21_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC21, FMC21_NOE)
+#error Invalid pin assignment for FMC21 NOE pin: FMC21_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC21, FMC21_NREG)
+#error Invalid pin assignment for FMC21 NREG pin: FMC21_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC21, FMC21_NWAIT)
+#error Invalid pin assignment for FMC21 NWAIT pin: FMC21_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC21, FMC21_NWE)
+#error Invalid pin assignment for FMC21 NWE pin: FMC21_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC21, FMC21_SDCKE0)
+#error Invalid pin assignment for FMC21 SDCKE0 pin: FMC21_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC21, FMC21_SDCKE1)
+#error Invalid pin assignment for FMC21 SDCKE1 pin: FMC21_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC21, FMC21_SDCLK)
+#error Invalid pin assignment for FMC21 SDCLK pin: FMC21_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC21, FMC21_SDNCAS)
+#error Invalid pin assignment for FMC21 SDNCAS pin: FMC21_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC21, FMC21_SDNE0)
+#error Invalid pin assignment for FMC21 SDNE0 pin: FMC21_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC21, FMC21_SDNE1)
+#error Invalid pin assignment for FMC21 SDNE1 pin: FMC21_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC21, FMC21_SDNRAS)
+#error Invalid pin assignment for FMC21 SDNRAS pin: FMC21_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC21, FMC21_SDNWE)
+#error Invalid pin assignment for FMC21 SDNWE pin: FMC21_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC22
+#if !FIND_VALUE_FMC_A0(_FMC22, FMC22_A0)
+#error Invalid pin assignment for FMC22 A0 pin: FMC22_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC22, FMC22_A1)
+#error Invalid pin assignment for FMC22 A1 pin: FMC22_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC22, FMC22_A10)
+#error Invalid pin assignment for FMC22 A10 pin: FMC22_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC22, FMC22_A11)
+#error Invalid pin assignment for FMC22 A11 pin: FMC22_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC22, FMC22_A12)
+#error Invalid pin assignment for FMC22 A12 pin: FMC22_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC22, FMC22_A13)
+#error Invalid pin assignment for FMC22 A13 pin: FMC22_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC22, FMC22_A14)
+#error Invalid pin assignment for FMC22 A14 pin: FMC22_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC22, FMC22_A15)
+#error Invalid pin assignment for FMC22 A15 pin: FMC22_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC22, FMC22_A16)
+#error Invalid pin assignment for FMC22 A16 pin: FMC22_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC22, FMC22_A17)
+#error Invalid pin assignment for FMC22 A17 pin: FMC22_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC22, FMC22_A18)
+#error Invalid pin assignment for FMC22 A18 pin: FMC22_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC22, FMC22_A19)
+#error Invalid pin assignment for FMC22 A19 pin: FMC22_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC22, FMC22_A2)
+#error Invalid pin assignment for FMC22 A2 pin: FMC22_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC22, FMC22_A20)
+#error Invalid pin assignment for FMC22 A20 pin: FMC22_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC22, FMC22_A21)
+#error Invalid pin assignment for FMC22 A21 pin: FMC22_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC22, FMC22_A22)
+#error Invalid pin assignment for FMC22 A22 pin: FMC22_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC22, FMC22_A23)
+#error Invalid pin assignment for FMC22 A23 pin: FMC22_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC22, FMC22_A24)
+#error Invalid pin assignment for FMC22 A24 pin: FMC22_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC22, FMC22_A25)
+#error Invalid pin assignment for FMC22 A25 pin: FMC22_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC22, FMC22_A3)
+#error Invalid pin assignment for FMC22 A3 pin: FMC22_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC22, FMC22_A4)
+#error Invalid pin assignment for FMC22 A4 pin: FMC22_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC22, FMC22_A5)
+#error Invalid pin assignment for FMC22 A5 pin: FMC22_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC22, FMC22_A6)
+#error Invalid pin assignment for FMC22 A6 pin: FMC22_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC22, FMC22_A7)
+#error Invalid pin assignment for FMC22 A7 pin: FMC22_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC22, FMC22_A8)
+#error Invalid pin assignment for FMC22 A8 pin: FMC22_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC22, FMC22_A9)
+#error Invalid pin assignment for FMC22 A9 pin: FMC22_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC22, FMC22_ALE)
+#error Invalid pin assignment for FMC22 ALE pin: FMC22_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC22, FMC22_BA0)
+#error Invalid pin assignment for FMC22 BA0 pin: FMC22_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC22, FMC22_BA1)
+#error Invalid pin assignment for FMC22 BA1 pin: FMC22_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC22, FMC22_CD)
+#error Invalid pin assignment for FMC22 CD pin: FMC22_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC22, FMC22_CLE)
+#error Invalid pin assignment for FMC22 CLE pin: FMC22_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC22, FMC22_CLK)
+#error Invalid pin assignment for FMC22 CLK pin: FMC22_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC22, FMC22_D0)
+#error Invalid pin assignment for FMC22 D0 pin: FMC22_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC22, FMC22_D1)
+#error Invalid pin assignment for FMC22 D1 pin: FMC22_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC22, FMC22_D10)
+#error Invalid pin assignment for FMC22 D10 pin: FMC22_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC22, FMC22_D11)
+#error Invalid pin assignment for FMC22 D11 pin: FMC22_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC22, FMC22_D12)
+#error Invalid pin assignment for FMC22 D12 pin: FMC22_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC22, FMC22_D13)
+#error Invalid pin assignment for FMC22 D13 pin: FMC22_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC22, FMC22_D14)
+#error Invalid pin assignment for FMC22 D14 pin: FMC22_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC22, FMC22_D15)
+#error Invalid pin assignment for FMC22 D15 pin: FMC22_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC22, FMC22_D16)
+#error Invalid pin assignment for FMC22 D16 pin: FMC22_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC22, FMC22_D17)
+#error Invalid pin assignment for FMC22 D17 pin: FMC22_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC22, FMC22_D18)
+#error Invalid pin assignment for FMC22 D18 pin: FMC22_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC22, FMC22_D19)
+#error Invalid pin assignment for FMC22 D19 pin: FMC22_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC22, FMC22_D2)
+#error Invalid pin assignment for FMC22 D2 pin: FMC22_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC22, FMC22_D20)
+#error Invalid pin assignment for FMC22 D20 pin: FMC22_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC22, FMC22_D21)
+#error Invalid pin assignment for FMC22 D21 pin: FMC22_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC22, FMC22_D22)
+#error Invalid pin assignment for FMC22 D22 pin: FMC22_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC22, FMC22_D23)
+#error Invalid pin assignment for FMC22 D23 pin: FMC22_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC22, FMC22_D24)
+#error Invalid pin assignment for FMC22 D24 pin: FMC22_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC22, FMC22_D25)
+#error Invalid pin assignment for FMC22 D25 pin: FMC22_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC22, FMC22_D26)
+#error Invalid pin assignment for FMC22 D26 pin: FMC22_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC22, FMC22_D27)
+#error Invalid pin assignment for FMC22 D27 pin: FMC22_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC22, FMC22_D28)
+#error Invalid pin assignment for FMC22 D28 pin: FMC22_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC22, FMC22_D29)
+#error Invalid pin assignment for FMC22 D29 pin: FMC22_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC22, FMC22_D3)
+#error Invalid pin assignment for FMC22 D3 pin: FMC22_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC22, FMC22_D30)
+#error Invalid pin assignment for FMC22 D30 pin: FMC22_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC22, FMC22_D31)
+#error Invalid pin assignment for FMC22 D31 pin: FMC22_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC22, FMC22_D4)
+#error Invalid pin assignment for FMC22 D4 pin: FMC22_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC22, FMC22_D5)
+#error Invalid pin assignment for FMC22 D5 pin: FMC22_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC22, FMC22_D6)
+#error Invalid pin assignment for FMC22 D6 pin: FMC22_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC22, FMC22_D7)
+#error Invalid pin assignment for FMC22 D7 pin: FMC22_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC22, FMC22_D8)
+#error Invalid pin assignment for FMC22 D8 pin: FMC22_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC22, FMC22_D9)
+#error Invalid pin assignment for FMC22 D9 pin: FMC22_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC22, FMC22_DA0)
+#error Invalid pin assignment for FMC22 DA0 pin: FMC22_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC22, FMC22_DA1)
+#error Invalid pin assignment for FMC22 DA1 pin: FMC22_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC22, FMC22_DA10)
+#error Invalid pin assignment for FMC22 DA10 pin: FMC22_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC22, FMC22_DA11)
+#error Invalid pin assignment for FMC22 DA11 pin: FMC22_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC22, FMC22_DA12)
+#error Invalid pin assignment for FMC22 DA12 pin: FMC22_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC22, FMC22_DA13)
+#error Invalid pin assignment for FMC22 DA13 pin: FMC22_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC22, FMC22_DA14)
+#error Invalid pin assignment for FMC22 DA14 pin: FMC22_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC22, FMC22_DA15)
+#error Invalid pin assignment for FMC22 DA15 pin: FMC22_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC22, FMC22_DA2)
+#error Invalid pin assignment for FMC22 DA2 pin: FMC22_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC22, FMC22_DA3)
+#error Invalid pin assignment for FMC22 DA3 pin: FMC22_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC22, FMC22_DA4)
+#error Invalid pin assignment for FMC22 DA4 pin: FMC22_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC22, FMC22_DA5)
+#error Invalid pin assignment for FMC22 DA5 pin: FMC22_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC22, FMC22_DA6)
+#error Invalid pin assignment for FMC22 DA6 pin: FMC22_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC22, FMC22_DA7)
+#error Invalid pin assignment for FMC22 DA7 pin: FMC22_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC22, FMC22_DA8)
+#error Invalid pin assignment for FMC22 DA8 pin: FMC22_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC22, FMC22_DA9)
+#error Invalid pin assignment for FMC22 DA9 pin: FMC22_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC22, FMC22_INT)
+#error Invalid pin assignment for FMC22 INT pin: FMC22_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC22, FMC22_INT2)
+#error Invalid pin assignment for FMC22 INT2 pin: FMC22_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC22, FMC22_INT3)
+#error Invalid pin assignment for FMC22 INT3 pin: FMC22_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC22, FMC22_INTR)
+#error Invalid pin assignment for FMC22 INTR pin: FMC22_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC22, FMC22_NBL0)
+#error Invalid pin assignment for FMC22 NBL0 pin: FMC22_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC22, FMC22_NBL1)
+#error Invalid pin assignment for FMC22 NBL1 pin: FMC22_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC22, FMC22_NBL2)
+#error Invalid pin assignment for FMC22 NBL2 pin: FMC22_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC22, FMC22_NBL3)
+#error Invalid pin assignment for FMC22 NBL3 pin: FMC22_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC22, FMC22_NCE)
+#error Invalid pin assignment for FMC22 NCE pin: FMC22_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC22, FMC22_NCE2)
+#error Invalid pin assignment for FMC22 NCE2 pin: FMC22_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC22, FMC22_NCE3)
+#error Invalid pin assignment for FMC22 NCE3 pin: FMC22_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC22, FMC22_NE1)
+#error Invalid pin assignment for FMC22 NE1 pin: FMC22_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC22, FMC22_NE2)
+#error Invalid pin assignment for FMC22 NE2 pin: FMC22_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC22, FMC22_NE3)
+#error Invalid pin assignment for FMC22 NE3 pin: FMC22_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC22, FMC22_NE4)
+#error Invalid pin assignment for FMC22 NE4 pin: FMC22_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC22, FMC22_NIORD)
+#error Invalid pin assignment for FMC22 NIORD pin: FMC22_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC22, FMC22_NIOWR)
+#error Invalid pin assignment for FMC22 NIOWR pin: FMC22_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC22, FMC22_NL)
+#error Invalid pin assignment for FMC22 NL pin: FMC22_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC22, FMC22_NOE)
+#error Invalid pin assignment for FMC22 NOE pin: FMC22_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC22, FMC22_NREG)
+#error Invalid pin assignment for FMC22 NREG pin: FMC22_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC22, FMC22_NWAIT)
+#error Invalid pin assignment for FMC22 NWAIT pin: FMC22_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC22, FMC22_NWE)
+#error Invalid pin assignment for FMC22 NWE pin: FMC22_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC22, FMC22_SDCKE0)
+#error Invalid pin assignment for FMC22 SDCKE0 pin: FMC22_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC22, FMC22_SDCKE1)
+#error Invalid pin assignment for FMC22 SDCKE1 pin: FMC22_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC22, FMC22_SDCLK)
+#error Invalid pin assignment for FMC22 SDCLK pin: FMC22_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC22, FMC22_SDNCAS)
+#error Invalid pin assignment for FMC22 SDNCAS pin: FMC22_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC22, FMC22_SDNE0)
+#error Invalid pin assignment for FMC22 SDNE0 pin: FMC22_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC22, FMC22_SDNE1)
+#error Invalid pin assignment for FMC22 SDNE1 pin: FMC22_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC22, FMC22_SDNRAS)
+#error Invalid pin assignment for FMC22 SDNRAS pin: FMC22_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC22, FMC22_SDNWE)
+#error Invalid pin assignment for FMC22 SDNWE pin: FMC22_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC23
+#if !FIND_VALUE_FMC_A0(_FMC23, FMC23_A0)
+#error Invalid pin assignment for FMC23 A0 pin: FMC23_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC23, FMC23_A1)
+#error Invalid pin assignment for FMC23 A1 pin: FMC23_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC23, FMC23_A10)
+#error Invalid pin assignment for FMC23 A10 pin: FMC23_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC23, FMC23_A11)
+#error Invalid pin assignment for FMC23 A11 pin: FMC23_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC23, FMC23_A12)
+#error Invalid pin assignment for FMC23 A12 pin: FMC23_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC23, FMC23_A13)
+#error Invalid pin assignment for FMC23 A13 pin: FMC23_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC23, FMC23_A14)
+#error Invalid pin assignment for FMC23 A14 pin: FMC23_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC23, FMC23_A15)
+#error Invalid pin assignment for FMC23 A15 pin: FMC23_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC23, FMC23_A16)
+#error Invalid pin assignment for FMC23 A16 pin: FMC23_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC23, FMC23_A17)
+#error Invalid pin assignment for FMC23 A17 pin: FMC23_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC23, FMC23_A18)
+#error Invalid pin assignment for FMC23 A18 pin: FMC23_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC23, FMC23_A19)
+#error Invalid pin assignment for FMC23 A19 pin: FMC23_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC23, FMC23_A2)
+#error Invalid pin assignment for FMC23 A2 pin: FMC23_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC23, FMC23_A20)
+#error Invalid pin assignment for FMC23 A20 pin: FMC23_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC23, FMC23_A21)
+#error Invalid pin assignment for FMC23 A21 pin: FMC23_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC23, FMC23_A22)
+#error Invalid pin assignment for FMC23 A22 pin: FMC23_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC23, FMC23_A23)
+#error Invalid pin assignment for FMC23 A23 pin: FMC23_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC23, FMC23_A24)
+#error Invalid pin assignment for FMC23 A24 pin: FMC23_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC23, FMC23_A25)
+#error Invalid pin assignment for FMC23 A25 pin: FMC23_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC23, FMC23_A3)
+#error Invalid pin assignment for FMC23 A3 pin: FMC23_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC23, FMC23_A4)
+#error Invalid pin assignment for FMC23 A4 pin: FMC23_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC23, FMC23_A5)
+#error Invalid pin assignment for FMC23 A5 pin: FMC23_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC23, FMC23_A6)
+#error Invalid pin assignment for FMC23 A6 pin: FMC23_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC23, FMC23_A7)
+#error Invalid pin assignment for FMC23 A7 pin: FMC23_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC23, FMC23_A8)
+#error Invalid pin assignment for FMC23 A8 pin: FMC23_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC23, FMC23_A9)
+#error Invalid pin assignment for FMC23 A9 pin: FMC23_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC23, FMC23_ALE)
+#error Invalid pin assignment for FMC23 ALE pin: FMC23_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC23, FMC23_BA0)
+#error Invalid pin assignment for FMC23 BA0 pin: FMC23_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC23, FMC23_BA1)
+#error Invalid pin assignment for FMC23 BA1 pin: FMC23_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC23, FMC23_CD)
+#error Invalid pin assignment for FMC23 CD pin: FMC23_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC23, FMC23_CLE)
+#error Invalid pin assignment for FMC23 CLE pin: FMC23_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC23, FMC23_CLK)
+#error Invalid pin assignment for FMC23 CLK pin: FMC23_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC23, FMC23_D0)
+#error Invalid pin assignment for FMC23 D0 pin: FMC23_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC23, FMC23_D1)
+#error Invalid pin assignment for FMC23 D1 pin: FMC23_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC23, FMC23_D10)
+#error Invalid pin assignment for FMC23 D10 pin: FMC23_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC23, FMC23_D11)
+#error Invalid pin assignment for FMC23 D11 pin: FMC23_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC23, FMC23_D12)
+#error Invalid pin assignment for FMC23 D12 pin: FMC23_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC23, FMC23_D13)
+#error Invalid pin assignment for FMC23 D13 pin: FMC23_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC23, FMC23_D14)
+#error Invalid pin assignment for FMC23 D14 pin: FMC23_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC23, FMC23_D15)
+#error Invalid pin assignment for FMC23 D15 pin: FMC23_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC23, FMC23_D16)
+#error Invalid pin assignment for FMC23 D16 pin: FMC23_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC23, FMC23_D17)
+#error Invalid pin assignment for FMC23 D17 pin: FMC23_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC23, FMC23_D18)
+#error Invalid pin assignment for FMC23 D18 pin: FMC23_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC23, FMC23_D19)
+#error Invalid pin assignment for FMC23 D19 pin: FMC23_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC23, FMC23_D2)
+#error Invalid pin assignment for FMC23 D2 pin: FMC23_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC23, FMC23_D20)
+#error Invalid pin assignment for FMC23 D20 pin: FMC23_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC23, FMC23_D21)
+#error Invalid pin assignment for FMC23 D21 pin: FMC23_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC23, FMC23_D22)
+#error Invalid pin assignment for FMC23 D22 pin: FMC23_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC23, FMC23_D23)
+#error Invalid pin assignment for FMC23 D23 pin: FMC23_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC23, FMC23_D24)
+#error Invalid pin assignment for FMC23 D24 pin: FMC23_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC23, FMC23_D25)
+#error Invalid pin assignment for FMC23 D25 pin: FMC23_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC23, FMC23_D26)
+#error Invalid pin assignment for FMC23 D26 pin: FMC23_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC23, FMC23_D27)
+#error Invalid pin assignment for FMC23 D27 pin: FMC23_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC23, FMC23_D28)
+#error Invalid pin assignment for FMC23 D28 pin: FMC23_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC23, FMC23_D29)
+#error Invalid pin assignment for FMC23 D29 pin: FMC23_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC23, FMC23_D3)
+#error Invalid pin assignment for FMC23 D3 pin: FMC23_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC23, FMC23_D30)
+#error Invalid pin assignment for FMC23 D30 pin: FMC23_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC23, FMC23_D31)
+#error Invalid pin assignment for FMC23 D31 pin: FMC23_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC23, FMC23_D4)
+#error Invalid pin assignment for FMC23 D4 pin: FMC23_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC23, FMC23_D5)
+#error Invalid pin assignment for FMC23 D5 pin: FMC23_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC23, FMC23_D6)
+#error Invalid pin assignment for FMC23 D6 pin: FMC23_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC23, FMC23_D7)
+#error Invalid pin assignment for FMC23 D7 pin: FMC23_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC23, FMC23_D8)
+#error Invalid pin assignment for FMC23 D8 pin: FMC23_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC23, FMC23_D9)
+#error Invalid pin assignment for FMC23 D9 pin: FMC23_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC23, FMC23_DA0)
+#error Invalid pin assignment for FMC23 DA0 pin: FMC23_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC23, FMC23_DA1)
+#error Invalid pin assignment for FMC23 DA1 pin: FMC23_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC23, FMC23_DA10)
+#error Invalid pin assignment for FMC23 DA10 pin: FMC23_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC23, FMC23_DA11)
+#error Invalid pin assignment for FMC23 DA11 pin: FMC23_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC23, FMC23_DA12)
+#error Invalid pin assignment for FMC23 DA12 pin: FMC23_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC23, FMC23_DA13)
+#error Invalid pin assignment for FMC23 DA13 pin: FMC23_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC23, FMC23_DA14)
+#error Invalid pin assignment for FMC23 DA14 pin: FMC23_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC23, FMC23_DA15)
+#error Invalid pin assignment for FMC23 DA15 pin: FMC23_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC23, FMC23_DA2)
+#error Invalid pin assignment for FMC23 DA2 pin: FMC23_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC23, FMC23_DA3)
+#error Invalid pin assignment for FMC23 DA3 pin: FMC23_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC23, FMC23_DA4)
+#error Invalid pin assignment for FMC23 DA4 pin: FMC23_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC23, FMC23_DA5)
+#error Invalid pin assignment for FMC23 DA5 pin: FMC23_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC23, FMC23_DA6)
+#error Invalid pin assignment for FMC23 DA6 pin: FMC23_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC23, FMC23_DA7)
+#error Invalid pin assignment for FMC23 DA7 pin: FMC23_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC23, FMC23_DA8)
+#error Invalid pin assignment for FMC23 DA8 pin: FMC23_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC23, FMC23_DA9)
+#error Invalid pin assignment for FMC23 DA9 pin: FMC23_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC23, FMC23_INT)
+#error Invalid pin assignment for FMC23 INT pin: FMC23_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC23, FMC23_INT2)
+#error Invalid pin assignment for FMC23 INT2 pin: FMC23_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC23, FMC23_INT3)
+#error Invalid pin assignment for FMC23 INT3 pin: FMC23_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC23, FMC23_INTR)
+#error Invalid pin assignment for FMC23 INTR pin: FMC23_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC23, FMC23_NBL0)
+#error Invalid pin assignment for FMC23 NBL0 pin: FMC23_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC23, FMC23_NBL1)
+#error Invalid pin assignment for FMC23 NBL1 pin: FMC23_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC23, FMC23_NBL2)
+#error Invalid pin assignment for FMC23 NBL2 pin: FMC23_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC23, FMC23_NBL3)
+#error Invalid pin assignment for FMC23 NBL3 pin: FMC23_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC23, FMC23_NCE)
+#error Invalid pin assignment for FMC23 NCE pin: FMC23_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC23, FMC23_NCE2)
+#error Invalid pin assignment for FMC23 NCE2 pin: FMC23_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC23, FMC23_NCE3)
+#error Invalid pin assignment for FMC23 NCE3 pin: FMC23_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC23, FMC23_NE1)
+#error Invalid pin assignment for FMC23 NE1 pin: FMC23_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC23, FMC23_NE2)
+#error Invalid pin assignment for FMC23 NE2 pin: FMC23_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC23, FMC23_NE3)
+#error Invalid pin assignment for FMC23 NE3 pin: FMC23_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC23, FMC23_NE4)
+#error Invalid pin assignment for FMC23 NE4 pin: FMC23_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC23, FMC23_NIORD)
+#error Invalid pin assignment for FMC23 NIORD pin: FMC23_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC23, FMC23_NIOWR)
+#error Invalid pin assignment for FMC23 NIOWR pin: FMC23_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC23, FMC23_NL)
+#error Invalid pin assignment for FMC23 NL pin: FMC23_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC23, FMC23_NOE)
+#error Invalid pin assignment for FMC23 NOE pin: FMC23_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC23, FMC23_NREG)
+#error Invalid pin assignment for FMC23 NREG pin: FMC23_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC23, FMC23_NWAIT)
+#error Invalid pin assignment for FMC23 NWAIT pin: FMC23_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC23, FMC23_NWE)
+#error Invalid pin assignment for FMC23 NWE pin: FMC23_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC23, FMC23_SDCKE0)
+#error Invalid pin assignment for FMC23 SDCKE0 pin: FMC23_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC23, FMC23_SDCKE1)
+#error Invalid pin assignment for FMC23 SDCKE1 pin: FMC23_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC23, FMC23_SDCLK)
+#error Invalid pin assignment for FMC23 SDCLK pin: FMC23_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC23, FMC23_SDNCAS)
+#error Invalid pin assignment for FMC23 SDNCAS pin: FMC23_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC23, FMC23_SDNE0)
+#error Invalid pin assignment for FMC23 SDNE0 pin: FMC23_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC23, FMC23_SDNE1)
+#error Invalid pin assignment for FMC23 SDNE1 pin: FMC23_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC23, FMC23_SDNRAS)
+#error Invalid pin assignment for FMC23 SDNRAS pin: FMC23_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC23, FMC23_SDNWE)
+#error Invalid pin assignment for FMC23 SDNWE pin: FMC23_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC24
+#if !FIND_VALUE_FMC_A0(_FMC24, FMC24_A0)
+#error Invalid pin assignment for FMC24 A0 pin: FMC24_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC24, FMC24_A1)
+#error Invalid pin assignment for FMC24 A1 pin: FMC24_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC24, FMC24_A10)
+#error Invalid pin assignment for FMC24 A10 pin: FMC24_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC24, FMC24_A11)
+#error Invalid pin assignment for FMC24 A11 pin: FMC24_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC24, FMC24_A12)
+#error Invalid pin assignment for FMC24 A12 pin: FMC24_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC24, FMC24_A13)
+#error Invalid pin assignment for FMC24 A13 pin: FMC24_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC24, FMC24_A14)
+#error Invalid pin assignment for FMC24 A14 pin: FMC24_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC24, FMC24_A15)
+#error Invalid pin assignment for FMC24 A15 pin: FMC24_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC24, FMC24_A16)
+#error Invalid pin assignment for FMC24 A16 pin: FMC24_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC24, FMC24_A17)
+#error Invalid pin assignment for FMC24 A17 pin: FMC24_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC24, FMC24_A18)
+#error Invalid pin assignment for FMC24 A18 pin: FMC24_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC24, FMC24_A19)
+#error Invalid pin assignment for FMC24 A19 pin: FMC24_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC24, FMC24_A2)
+#error Invalid pin assignment for FMC24 A2 pin: FMC24_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC24, FMC24_A20)
+#error Invalid pin assignment for FMC24 A20 pin: FMC24_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC24, FMC24_A21)
+#error Invalid pin assignment for FMC24 A21 pin: FMC24_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC24, FMC24_A22)
+#error Invalid pin assignment for FMC24 A22 pin: FMC24_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC24, FMC24_A23)
+#error Invalid pin assignment for FMC24 A23 pin: FMC24_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC24, FMC24_A24)
+#error Invalid pin assignment for FMC24 A24 pin: FMC24_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC24, FMC24_A25)
+#error Invalid pin assignment for FMC24 A25 pin: FMC24_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC24, FMC24_A3)
+#error Invalid pin assignment for FMC24 A3 pin: FMC24_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC24, FMC24_A4)
+#error Invalid pin assignment for FMC24 A4 pin: FMC24_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC24, FMC24_A5)
+#error Invalid pin assignment for FMC24 A5 pin: FMC24_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC24, FMC24_A6)
+#error Invalid pin assignment for FMC24 A6 pin: FMC24_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC24, FMC24_A7)
+#error Invalid pin assignment for FMC24 A7 pin: FMC24_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC24, FMC24_A8)
+#error Invalid pin assignment for FMC24 A8 pin: FMC24_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC24, FMC24_A9)
+#error Invalid pin assignment for FMC24 A9 pin: FMC24_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC24, FMC24_ALE)
+#error Invalid pin assignment for FMC24 ALE pin: FMC24_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC24, FMC24_BA0)
+#error Invalid pin assignment for FMC24 BA0 pin: FMC24_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC24, FMC24_BA1)
+#error Invalid pin assignment for FMC24 BA1 pin: FMC24_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC24, FMC24_CD)
+#error Invalid pin assignment for FMC24 CD pin: FMC24_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC24, FMC24_CLE)
+#error Invalid pin assignment for FMC24 CLE pin: FMC24_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC24, FMC24_CLK)
+#error Invalid pin assignment for FMC24 CLK pin: FMC24_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC24, FMC24_D0)
+#error Invalid pin assignment for FMC24 D0 pin: FMC24_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC24, FMC24_D1)
+#error Invalid pin assignment for FMC24 D1 pin: FMC24_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC24, FMC24_D10)
+#error Invalid pin assignment for FMC24 D10 pin: FMC24_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC24, FMC24_D11)
+#error Invalid pin assignment for FMC24 D11 pin: FMC24_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC24, FMC24_D12)
+#error Invalid pin assignment for FMC24 D12 pin: FMC24_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC24, FMC24_D13)
+#error Invalid pin assignment for FMC24 D13 pin: FMC24_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC24, FMC24_D14)
+#error Invalid pin assignment for FMC24 D14 pin: FMC24_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC24, FMC24_D15)
+#error Invalid pin assignment for FMC24 D15 pin: FMC24_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC24, FMC24_D16)
+#error Invalid pin assignment for FMC24 D16 pin: FMC24_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC24, FMC24_D17)
+#error Invalid pin assignment for FMC24 D17 pin: FMC24_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC24, FMC24_D18)
+#error Invalid pin assignment for FMC24 D18 pin: FMC24_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC24, FMC24_D19)
+#error Invalid pin assignment for FMC24 D19 pin: FMC24_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC24, FMC24_D2)
+#error Invalid pin assignment for FMC24 D2 pin: FMC24_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC24, FMC24_D20)
+#error Invalid pin assignment for FMC24 D20 pin: FMC24_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC24, FMC24_D21)
+#error Invalid pin assignment for FMC24 D21 pin: FMC24_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC24, FMC24_D22)
+#error Invalid pin assignment for FMC24 D22 pin: FMC24_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC24, FMC24_D23)
+#error Invalid pin assignment for FMC24 D23 pin: FMC24_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC24, FMC24_D24)
+#error Invalid pin assignment for FMC24 D24 pin: FMC24_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC24, FMC24_D25)
+#error Invalid pin assignment for FMC24 D25 pin: FMC24_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC24, FMC24_D26)
+#error Invalid pin assignment for FMC24 D26 pin: FMC24_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC24, FMC24_D27)
+#error Invalid pin assignment for FMC24 D27 pin: FMC24_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC24, FMC24_D28)
+#error Invalid pin assignment for FMC24 D28 pin: FMC24_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC24, FMC24_D29)
+#error Invalid pin assignment for FMC24 D29 pin: FMC24_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC24, FMC24_D3)
+#error Invalid pin assignment for FMC24 D3 pin: FMC24_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC24, FMC24_D30)
+#error Invalid pin assignment for FMC24 D30 pin: FMC24_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC24, FMC24_D31)
+#error Invalid pin assignment for FMC24 D31 pin: FMC24_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC24, FMC24_D4)
+#error Invalid pin assignment for FMC24 D4 pin: FMC24_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC24, FMC24_D5)
+#error Invalid pin assignment for FMC24 D5 pin: FMC24_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC24, FMC24_D6)
+#error Invalid pin assignment for FMC24 D6 pin: FMC24_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC24, FMC24_D7)
+#error Invalid pin assignment for FMC24 D7 pin: FMC24_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC24, FMC24_D8)
+#error Invalid pin assignment for FMC24 D8 pin: FMC24_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC24, FMC24_D9)
+#error Invalid pin assignment for FMC24 D9 pin: FMC24_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC24, FMC24_DA0)
+#error Invalid pin assignment for FMC24 DA0 pin: FMC24_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC24, FMC24_DA1)
+#error Invalid pin assignment for FMC24 DA1 pin: FMC24_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC24, FMC24_DA10)
+#error Invalid pin assignment for FMC24 DA10 pin: FMC24_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC24, FMC24_DA11)
+#error Invalid pin assignment for FMC24 DA11 pin: FMC24_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC24, FMC24_DA12)
+#error Invalid pin assignment for FMC24 DA12 pin: FMC24_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC24, FMC24_DA13)
+#error Invalid pin assignment for FMC24 DA13 pin: FMC24_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC24, FMC24_DA14)
+#error Invalid pin assignment for FMC24 DA14 pin: FMC24_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC24, FMC24_DA15)
+#error Invalid pin assignment for FMC24 DA15 pin: FMC24_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC24, FMC24_DA2)
+#error Invalid pin assignment for FMC24 DA2 pin: FMC24_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC24, FMC24_DA3)
+#error Invalid pin assignment for FMC24 DA3 pin: FMC24_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC24, FMC24_DA4)
+#error Invalid pin assignment for FMC24 DA4 pin: FMC24_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC24, FMC24_DA5)
+#error Invalid pin assignment for FMC24 DA5 pin: FMC24_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC24, FMC24_DA6)
+#error Invalid pin assignment for FMC24 DA6 pin: FMC24_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC24, FMC24_DA7)
+#error Invalid pin assignment for FMC24 DA7 pin: FMC24_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC24, FMC24_DA8)
+#error Invalid pin assignment for FMC24 DA8 pin: FMC24_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC24, FMC24_DA9)
+#error Invalid pin assignment for FMC24 DA9 pin: FMC24_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC24, FMC24_INT)
+#error Invalid pin assignment for FMC24 INT pin: FMC24_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC24, FMC24_INT2)
+#error Invalid pin assignment for FMC24 INT2 pin: FMC24_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC24, FMC24_INT3)
+#error Invalid pin assignment for FMC24 INT3 pin: FMC24_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC24, FMC24_INTR)
+#error Invalid pin assignment for FMC24 INTR pin: FMC24_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC24, FMC24_NBL0)
+#error Invalid pin assignment for FMC24 NBL0 pin: FMC24_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC24, FMC24_NBL1)
+#error Invalid pin assignment for FMC24 NBL1 pin: FMC24_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC24, FMC24_NBL2)
+#error Invalid pin assignment for FMC24 NBL2 pin: FMC24_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC24, FMC24_NBL3)
+#error Invalid pin assignment for FMC24 NBL3 pin: FMC24_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC24, FMC24_NCE)
+#error Invalid pin assignment for FMC24 NCE pin: FMC24_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC24, FMC24_NCE2)
+#error Invalid pin assignment for FMC24 NCE2 pin: FMC24_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC24, FMC24_NCE3)
+#error Invalid pin assignment for FMC24 NCE3 pin: FMC24_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC24, FMC24_NE1)
+#error Invalid pin assignment for FMC24 NE1 pin: FMC24_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC24, FMC24_NE2)
+#error Invalid pin assignment for FMC24 NE2 pin: FMC24_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC24, FMC24_NE3)
+#error Invalid pin assignment for FMC24 NE3 pin: FMC24_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC24, FMC24_NE4)
+#error Invalid pin assignment for FMC24 NE4 pin: FMC24_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC24, FMC24_NIORD)
+#error Invalid pin assignment for FMC24 NIORD pin: FMC24_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC24, FMC24_NIOWR)
+#error Invalid pin assignment for FMC24 NIOWR pin: FMC24_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC24, FMC24_NL)
+#error Invalid pin assignment for FMC24 NL pin: FMC24_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC24, FMC24_NOE)
+#error Invalid pin assignment for FMC24 NOE pin: FMC24_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC24, FMC24_NREG)
+#error Invalid pin assignment for FMC24 NREG pin: FMC24_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC24, FMC24_NWAIT)
+#error Invalid pin assignment for FMC24 NWAIT pin: FMC24_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC24, FMC24_NWE)
+#error Invalid pin assignment for FMC24 NWE pin: FMC24_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC24, FMC24_SDCKE0)
+#error Invalid pin assignment for FMC24 SDCKE0 pin: FMC24_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC24, FMC24_SDCKE1)
+#error Invalid pin assignment for FMC24 SDCKE1 pin: FMC24_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC24, FMC24_SDCLK)
+#error Invalid pin assignment for FMC24 SDCLK pin: FMC24_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC24, FMC24_SDNCAS)
+#error Invalid pin assignment for FMC24 SDNCAS pin: FMC24_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC24, FMC24_SDNE0)
+#error Invalid pin assignment for FMC24 SDNE0 pin: FMC24_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC24, FMC24_SDNE1)
+#error Invalid pin assignment for FMC24 SDNE1 pin: FMC24_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC24, FMC24_SDNRAS)
+#error Invalid pin assignment for FMC24 SDNRAS pin: FMC24_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC24, FMC24_SDNWE)
+#error Invalid pin assignment for FMC24 SDNWE pin: FMC24_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC25
+#if !FIND_VALUE_FMC_A0(_FMC25, FMC25_A0)
+#error Invalid pin assignment for FMC25 A0 pin: FMC25_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC25, FMC25_A1)
+#error Invalid pin assignment for FMC25 A1 pin: FMC25_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC25, FMC25_A10)
+#error Invalid pin assignment for FMC25 A10 pin: FMC25_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC25, FMC25_A11)
+#error Invalid pin assignment for FMC25 A11 pin: FMC25_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC25, FMC25_A12)
+#error Invalid pin assignment for FMC25 A12 pin: FMC25_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC25, FMC25_A13)
+#error Invalid pin assignment for FMC25 A13 pin: FMC25_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC25, FMC25_A14)
+#error Invalid pin assignment for FMC25 A14 pin: FMC25_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC25, FMC25_A15)
+#error Invalid pin assignment for FMC25 A15 pin: FMC25_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC25, FMC25_A16)
+#error Invalid pin assignment for FMC25 A16 pin: FMC25_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC25, FMC25_A17)
+#error Invalid pin assignment for FMC25 A17 pin: FMC25_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC25, FMC25_A18)
+#error Invalid pin assignment for FMC25 A18 pin: FMC25_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC25, FMC25_A19)
+#error Invalid pin assignment for FMC25 A19 pin: FMC25_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC25, FMC25_A2)
+#error Invalid pin assignment for FMC25 A2 pin: FMC25_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC25, FMC25_A20)
+#error Invalid pin assignment for FMC25 A20 pin: FMC25_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC25, FMC25_A21)
+#error Invalid pin assignment for FMC25 A21 pin: FMC25_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC25, FMC25_A22)
+#error Invalid pin assignment for FMC25 A22 pin: FMC25_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC25, FMC25_A23)
+#error Invalid pin assignment for FMC25 A23 pin: FMC25_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC25, FMC25_A24)
+#error Invalid pin assignment for FMC25 A24 pin: FMC25_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC25, FMC25_A25)
+#error Invalid pin assignment for FMC25 A25 pin: FMC25_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC25, FMC25_A3)
+#error Invalid pin assignment for FMC25 A3 pin: FMC25_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC25, FMC25_A4)
+#error Invalid pin assignment for FMC25 A4 pin: FMC25_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC25, FMC25_A5)
+#error Invalid pin assignment for FMC25 A5 pin: FMC25_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC25, FMC25_A6)
+#error Invalid pin assignment for FMC25 A6 pin: FMC25_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC25, FMC25_A7)
+#error Invalid pin assignment for FMC25 A7 pin: FMC25_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC25, FMC25_A8)
+#error Invalid pin assignment for FMC25 A8 pin: FMC25_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC25, FMC25_A9)
+#error Invalid pin assignment for FMC25 A9 pin: FMC25_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC25, FMC25_ALE)
+#error Invalid pin assignment for FMC25 ALE pin: FMC25_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC25, FMC25_BA0)
+#error Invalid pin assignment for FMC25 BA0 pin: FMC25_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC25, FMC25_BA1)
+#error Invalid pin assignment for FMC25 BA1 pin: FMC25_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC25, FMC25_CD)
+#error Invalid pin assignment for FMC25 CD pin: FMC25_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC25, FMC25_CLE)
+#error Invalid pin assignment for FMC25 CLE pin: FMC25_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC25, FMC25_CLK)
+#error Invalid pin assignment for FMC25 CLK pin: FMC25_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC25, FMC25_D0)
+#error Invalid pin assignment for FMC25 D0 pin: FMC25_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC25, FMC25_D1)
+#error Invalid pin assignment for FMC25 D1 pin: FMC25_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC25, FMC25_D10)
+#error Invalid pin assignment for FMC25 D10 pin: FMC25_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC25, FMC25_D11)
+#error Invalid pin assignment for FMC25 D11 pin: FMC25_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC25, FMC25_D12)
+#error Invalid pin assignment for FMC25 D12 pin: FMC25_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC25, FMC25_D13)
+#error Invalid pin assignment for FMC25 D13 pin: FMC25_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC25, FMC25_D14)
+#error Invalid pin assignment for FMC25 D14 pin: FMC25_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC25, FMC25_D15)
+#error Invalid pin assignment for FMC25 D15 pin: FMC25_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC25, FMC25_D16)
+#error Invalid pin assignment for FMC25 D16 pin: FMC25_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC25, FMC25_D17)
+#error Invalid pin assignment for FMC25 D17 pin: FMC25_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC25, FMC25_D18)
+#error Invalid pin assignment for FMC25 D18 pin: FMC25_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC25, FMC25_D19)
+#error Invalid pin assignment for FMC25 D19 pin: FMC25_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC25, FMC25_D2)
+#error Invalid pin assignment for FMC25 D2 pin: FMC25_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC25, FMC25_D20)
+#error Invalid pin assignment for FMC25 D20 pin: FMC25_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC25, FMC25_D21)
+#error Invalid pin assignment for FMC25 D21 pin: FMC25_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC25, FMC25_D22)
+#error Invalid pin assignment for FMC25 D22 pin: FMC25_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC25, FMC25_D23)
+#error Invalid pin assignment for FMC25 D23 pin: FMC25_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC25, FMC25_D24)
+#error Invalid pin assignment for FMC25 D24 pin: FMC25_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC25, FMC25_D25)
+#error Invalid pin assignment for FMC25 D25 pin: FMC25_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC25, FMC25_D26)
+#error Invalid pin assignment for FMC25 D26 pin: FMC25_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC25, FMC25_D27)
+#error Invalid pin assignment for FMC25 D27 pin: FMC25_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC25, FMC25_D28)
+#error Invalid pin assignment for FMC25 D28 pin: FMC25_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC25, FMC25_D29)
+#error Invalid pin assignment for FMC25 D29 pin: FMC25_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC25, FMC25_D3)
+#error Invalid pin assignment for FMC25 D3 pin: FMC25_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC25, FMC25_D30)
+#error Invalid pin assignment for FMC25 D30 pin: FMC25_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC25, FMC25_D31)
+#error Invalid pin assignment for FMC25 D31 pin: FMC25_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC25, FMC25_D4)
+#error Invalid pin assignment for FMC25 D4 pin: FMC25_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC25, FMC25_D5)
+#error Invalid pin assignment for FMC25 D5 pin: FMC25_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC25, FMC25_D6)
+#error Invalid pin assignment for FMC25 D6 pin: FMC25_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC25, FMC25_D7)
+#error Invalid pin assignment for FMC25 D7 pin: FMC25_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC25, FMC25_D8)
+#error Invalid pin assignment for FMC25 D8 pin: FMC25_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC25, FMC25_D9)
+#error Invalid pin assignment for FMC25 D9 pin: FMC25_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC25, FMC25_DA0)
+#error Invalid pin assignment for FMC25 DA0 pin: FMC25_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC25, FMC25_DA1)
+#error Invalid pin assignment for FMC25 DA1 pin: FMC25_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC25, FMC25_DA10)
+#error Invalid pin assignment for FMC25 DA10 pin: FMC25_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC25, FMC25_DA11)
+#error Invalid pin assignment for FMC25 DA11 pin: FMC25_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC25, FMC25_DA12)
+#error Invalid pin assignment for FMC25 DA12 pin: FMC25_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC25, FMC25_DA13)
+#error Invalid pin assignment for FMC25 DA13 pin: FMC25_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC25, FMC25_DA14)
+#error Invalid pin assignment for FMC25 DA14 pin: FMC25_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC25, FMC25_DA15)
+#error Invalid pin assignment for FMC25 DA15 pin: FMC25_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC25, FMC25_DA2)
+#error Invalid pin assignment for FMC25 DA2 pin: FMC25_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC25, FMC25_DA3)
+#error Invalid pin assignment for FMC25 DA3 pin: FMC25_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC25, FMC25_DA4)
+#error Invalid pin assignment for FMC25 DA4 pin: FMC25_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC25, FMC25_DA5)
+#error Invalid pin assignment for FMC25 DA5 pin: FMC25_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC25, FMC25_DA6)
+#error Invalid pin assignment for FMC25 DA6 pin: FMC25_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC25, FMC25_DA7)
+#error Invalid pin assignment for FMC25 DA7 pin: FMC25_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC25, FMC25_DA8)
+#error Invalid pin assignment for FMC25 DA8 pin: FMC25_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC25, FMC25_DA9)
+#error Invalid pin assignment for FMC25 DA9 pin: FMC25_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC25, FMC25_INT)
+#error Invalid pin assignment for FMC25 INT pin: FMC25_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC25, FMC25_INT2)
+#error Invalid pin assignment for FMC25 INT2 pin: FMC25_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC25, FMC25_INT3)
+#error Invalid pin assignment for FMC25 INT3 pin: FMC25_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC25, FMC25_INTR)
+#error Invalid pin assignment for FMC25 INTR pin: FMC25_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC25, FMC25_NBL0)
+#error Invalid pin assignment for FMC25 NBL0 pin: FMC25_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC25, FMC25_NBL1)
+#error Invalid pin assignment for FMC25 NBL1 pin: FMC25_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC25, FMC25_NBL2)
+#error Invalid pin assignment for FMC25 NBL2 pin: FMC25_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC25, FMC25_NBL3)
+#error Invalid pin assignment for FMC25 NBL3 pin: FMC25_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC25, FMC25_NCE)
+#error Invalid pin assignment for FMC25 NCE pin: FMC25_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC25, FMC25_NCE2)
+#error Invalid pin assignment for FMC25 NCE2 pin: FMC25_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC25, FMC25_NCE3)
+#error Invalid pin assignment for FMC25 NCE3 pin: FMC25_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC25, FMC25_NE1)
+#error Invalid pin assignment for FMC25 NE1 pin: FMC25_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC25, FMC25_NE2)
+#error Invalid pin assignment for FMC25 NE2 pin: FMC25_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC25, FMC25_NE3)
+#error Invalid pin assignment for FMC25 NE3 pin: FMC25_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC25, FMC25_NE4)
+#error Invalid pin assignment for FMC25 NE4 pin: FMC25_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC25, FMC25_NIORD)
+#error Invalid pin assignment for FMC25 NIORD pin: FMC25_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC25, FMC25_NIOWR)
+#error Invalid pin assignment for FMC25 NIOWR pin: FMC25_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC25, FMC25_NL)
+#error Invalid pin assignment for FMC25 NL pin: FMC25_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC25, FMC25_NOE)
+#error Invalid pin assignment for FMC25 NOE pin: FMC25_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC25, FMC25_NREG)
+#error Invalid pin assignment for FMC25 NREG pin: FMC25_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC25, FMC25_NWAIT)
+#error Invalid pin assignment for FMC25 NWAIT pin: FMC25_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC25, FMC25_NWE)
+#error Invalid pin assignment for FMC25 NWE pin: FMC25_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC25, FMC25_SDCKE0)
+#error Invalid pin assignment for FMC25 SDCKE0 pin: FMC25_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC25, FMC25_SDCKE1)
+#error Invalid pin assignment for FMC25 SDCKE1 pin: FMC25_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC25, FMC25_SDCLK)
+#error Invalid pin assignment for FMC25 SDCLK pin: FMC25_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC25, FMC25_SDNCAS)
+#error Invalid pin assignment for FMC25 SDNCAS pin: FMC25_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC25, FMC25_SDNE0)
+#error Invalid pin assignment for FMC25 SDNE0 pin: FMC25_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC25, FMC25_SDNE1)
+#error Invalid pin assignment for FMC25 SDNE1 pin: FMC25_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC25, FMC25_SDNRAS)
+#error Invalid pin assignment for FMC25 SDNRAS pin: FMC25_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC25, FMC25_SDNWE)
+#error Invalid pin assignment for FMC25 SDNWE pin: FMC25_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC26
+#if !FIND_VALUE_FMC_A0(_FMC26, FMC26_A0)
+#error Invalid pin assignment for FMC26 A0 pin: FMC26_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC26, FMC26_A1)
+#error Invalid pin assignment for FMC26 A1 pin: FMC26_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC26, FMC26_A10)
+#error Invalid pin assignment for FMC26 A10 pin: FMC26_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC26, FMC26_A11)
+#error Invalid pin assignment for FMC26 A11 pin: FMC26_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC26, FMC26_A12)
+#error Invalid pin assignment for FMC26 A12 pin: FMC26_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC26, FMC26_A13)
+#error Invalid pin assignment for FMC26 A13 pin: FMC26_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC26, FMC26_A14)
+#error Invalid pin assignment for FMC26 A14 pin: FMC26_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC26, FMC26_A15)
+#error Invalid pin assignment for FMC26 A15 pin: FMC26_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC26, FMC26_A16)
+#error Invalid pin assignment for FMC26 A16 pin: FMC26_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC26, FMC26_A17)
+#error Invalid pin assignment for FMC26 A17 pin: FMC26_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC26, FMC26_A18)
+#error Invalid pin assignment for FMC26 A18 pin: FMC26_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC26, FMC26_A19)
+#error Invalid pin assignment for FMC26 A19 pin: FMC26_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC26, FMC26_A2)
+#error Invalid pin assignment for FMC26 A2 pin: FMC26_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC26, FMC26_A20)
+#error Invalid pin assignment for FMC26 A20 pin: FMC26_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC26, FMC26_A21)
+#error Invalid pin assignment for FMC26 A21 pin: FMC26_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC26, FMC26_A22)
+#error Invalid pin assignment for FMC26 A22 pin: FMC26_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC26, FMC26_A23)
+#error Invalid pin assignment for FMC26 A23 pin: FMC26_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC26, FMC26_A24)
+#error Invalid pin assignment for FMC26 A24 pin: FMC26_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC26, FMC26_A25)
+#error Invalid pin assignment for FMC26 A25 pin: FMC26_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC26, FMC26_A3)
+#error Invalid pin assignment for FMC26 A3 pin: FMC26_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC26, FMC26_A4)
+#error Invalid pin assignment for FMC26 A4 pin: FMC26_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC26, FMC26_A5)
+#error Invalid pin assignment for FMC26 A5 pin: FMC26_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC26, FMC26_A6)
+#error Invalid pin assignment for FMC26 A6 pin: FMC26_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC26, FMC26_A7)
+#error Invalid pin assignment for FMC26 A7 pin: FMC26_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC26, FMC26_A8)
+#error Invalid pin assignment for FMC26 A8 pin: FMC26_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC26, FMC26_A9)
+#error Invalid pin assignment for FMC26 A9 pin: FMC26_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC26, FMC26_ALE)
+#error Invalid pin assignment for FMC26 ALE pin: FMC26_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC26, FMC26_BA0)
+#error Invalid pin assignment for FMC26 BA0 pin: FMC26_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC26, FMC26_BA1)
+#error Invalid pin assignment for FMC26 BA1 pin: FMC26_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC26, FMC26_CD)
+#error Invalid pin assignment for FMC26 CD pin: FMC26_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC26, FMC26_CLE)
+#error Invalid pin assignment for FMC26 CLE pin: FMC26_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC26, FMC26_CLK)
+#error Invalid pin assignment for FMC26 CLK pin: FMC26_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC26, FMC26_D0)
+#error Invalid pin assignment for FMC26 D0 pin: FMC26_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC26, FMC26_D1)
+#error Invalid pin assignment for FMC26 D1 pin: FMC26_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC26, FMC26_D10)
+#error Invalid pin assignment for FMC26 D10 pin: FMC26_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC26, FMC26_D11)
+#error Invalid pin assignment for FMC26 D11 pin: FMC26_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC26, FMC26_D12)
+#error Invalid pin assignment for FMC26 D12 pin: FMC26_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC26, FMC26_D13)
+#error Invalid pin assignment for FMC26 D13 pin: FMC26_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC26, FMC26_D14)
+#error Invalid pin assignment for FMC26 D14 pin: FMC26_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC26, FMC26_D15)
+#error Invalid pin assignment for FMC26 D15 pin: FMC26_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC26, FMC26_D16)
+#error Invalid pin assignment for FMC26 D16 pin: FMC26_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC26, FMC26_D17)
+#error Invalid pin assignment for FMC26 D17 pin: FMC26_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC26, FMC26_D18)
+#error Invalid pin assignment for FMC26 D18 pin: FMC26_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC26, FMC26_D19)
+#error Invalid pin assignment for FMC26 D19 pin: FMC26_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC26, FMC26_D2)
+#error Invalid pin assignment for FMC26 D2 pin: FMC26_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC26, FMC26_D20)
+#error Invalid pin assignment for FMC26 D20 pin: FMC26_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC26, FMC26_D21)
+#error Invalid pin assignment for FMC26 D21 pin: FMC26_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC26, FMC26_D22)
+#error Invalid pin assignment for FMC26 D22 pin: FMC26_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC26, FMC26_D23)
+#error Invalid pin assignment for FMC26 D23 pin: FMC26_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC26, FMC26_D24)
+#error Invalid pin assignment for FMC26 D24 pin: FMC26_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC26, FMC26_D25)
+#error Invalid pin assignment for FMC26 D25 pin: FMC26_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC26, FMC26_D26)
+#error Invalid pin assignment for FMC26 D26 pin: FMC26_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC26, FMC26_D27)
+#error Invalid pin assignment for FMC26 D27 pin: FMC26_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC26, FMC26_D28)
+#error Invalid pin assignment for FMC26 D28 pin: FMC26_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC26, FMC26_D29)
+#error Invalid pin assignment for FMC26 D29 pin: FMC26_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC26, FMC26_D3)
+#error Invalid pin assignment for FMC26 D3 pin: FMC26_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC26, FMC26_D30)
+#error Invalid pin assignment for FMC26 D30 pin: FMC26_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC26, FMC26_D31)
+#error Invalid pin assignment for FMC26 D31 pin: FMC26_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC26, FMC26_D4)
+#error Invalid pin assignment for FMC26 D4 pin: FMC26_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC26, FMC26_D5)
+#error Invalid pin assignment for FMC26 D5 pin: FMC26_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC26, FMC26_D6)
+#error Invalid pin assignment for FMC26 D6 pin: FMC26_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC26, FMC26_D7)
+#error Invalid pin assignment for FMC26 D7 pin: FMC26_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC26, FMC26_D8)
+#error Invalid pin assignment for FMC26 D8 pin: FMC26_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC26, FMC26_D9)
+#error Invalid pin assignment for FMC26 D9 pin: FMC26_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC26, FMC26_DA0)
+#error Invalid pin assignment for FMC26 DA0 pin: FMC26_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC26, FMC26_DA1)
+#error Invalid pin assignment for FMC26 DA1 pin: FMC26_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC26, FMC26_DA10)
+#error Invalid pin assignment for FMC26 DA10 pin: FMC26_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC26, FMC26_DA11)
+#error Invalid pin assignment for FMC26 DA11 pin: FMC26_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC26, FMC26_DA12)
+#error Invalid pin assignment for FMC26 DA12 pin: FMC26_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC26, FMC26_DA13)
+#error Invalid pin assignment for FMC26 DA13 pin: FMC26_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC26, FMC26_DA14)
+#error Invalid pin assignment for FMC26 DA14 pin: FMC26_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC26, FMC26_DA15)
+#error Invalid pin assignment for FMC26 DA15 pin: FMC26_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC26, FMC26_DA2)
+#error Invalid pin assignment for FMC26 DA2 pin: FMC26_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC26, FMC26_DA3)
+#error Invalid pin assignment for FMC26 DA3 pin: FMC26_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC26, FMC26_DA4)
+#error Invalid pin assignment for FMC26 DA4 pin: FMC26_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC26, FMC26_DA5)
+#error Invalid pin assignment for FMC26 DA5 pin: FMC26_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC26, FMC26_DA6)
+#error Invalid pin assignment for FMC26 DA6 pin: FMC26_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC26, FMC26_DA7)
+#error Invalid pin assignment for FMC26 DA7 pin: FMC26_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC26, FMC26_DA8)
+#error Invalid pin assignment for FMC26 DA8 pin: FMC26_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC26, FMC26_DA9)
+#error Invalid pin assignment for FMC26 DA9 pin: FMC26_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC26, FMC26_INT)
+#error Invalid pin assignment for FMC26 INT pin: FMC26_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC26, FMC26_INT2)
+#error Invalid pin assignment for FMC26 INT2 pin: FMC26_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC26, FMC26_INT3)
+#error Invalid pin assignment for FMC26 INT3 pin: FMC26_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC26, FMC26_INTR)
+#error Invalid pin assignment for FMC26 INTR pin: FMC26_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC26, FMC26_NBL0)
+#error Invalid pin assignment for FMC26 NBL0 pin: FMC26_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC26, FMC26_NBL1)
+#error Invalid pin assignment for FMC26 NBL1 pin: FMC26_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC26, FMC26_NBL2)
+#error Invalid pin assignment for FMC26 NBL2 pin: FMC26_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC26, FMC26_NBL3)
+#error Invalid pin assignment for FMC26 NBL3 pin: FMC26_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC26, FMC26_NCE)
+#error Invalid pin assignment for FMC26 NCE pin: FMC26_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC26, FMC26_NCE2)
+#error Invalid pin assignment for FMC26 NCE2 pin: FMC26_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC26, FMC26_NCE3)
+#error Invalid pin assignment for FMC26 NCE3 pin: FMC26_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC26, FMC26_NE1)
+#error Invalid pin assignment for FMC26 NE1 pin: FMC26_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC26, FMC26_NE2)
+#error Invalid pin assignment for FMC26 NE2 pin: FMC26_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC26, FMC26_NE3)
+#error Invalid pin assignment for FMC26 NE3 pin: FMC26_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC26, FMC26_NE4)
+#error Invalid pin assignment for FMC26 NE4 pin: FMC26_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC26, FMC26_NIORD)
+#error Invalid pin assignment for FMC26 NIORD pin: FMC26_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC26, FMC26_NIOWR)
+#error Invalid pin assignment for FMC26 NIOWR pin: FMC26_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC26, FMC26_NL)
+#error Invalid pin assignment for FMC26 NL pin: FMC26_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC26, FMC26_NOE)
+#error Invalid pin assignment for FMC26 NOE pin: FMC26_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC26, FMC26_NREG)
+#error Invalid pin assignment for FMC26 NREG pin: FMC26_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC26, FMC26_NWAIT)
+#error Invalid pin assignment for FMC26 NWAIT pin: FMC26_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC26, FMC26_NWE)
+#error Invalid pin assignment for FMC26 NWE pin: FMC26_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC26, FMC26_SDCKE0)
+#error Invalid pin assignment for FMC26 SDCKE0 pin: FMC26_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC26, FMC26_SDCKE1)
+#error Invalid pin assignment for FMC26 SDCKE1 pin: FMC26_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC26, FMC26_SDCLK)
+#error Invalid pin assignment for FMC26 SDCLK pin: FMC26_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC26, FMC26_SDNCAS)
+#error Invalid pin assignment for FMC26 SDNCAS pin: FMC26_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC26, FMC26_SDNE0)
+#error Invalid pin assignment for FMC26 SDNE0 pin: FMC26_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC26, FMC26_SDNE1)
+#error Invalid pin assignment for FMC26 SDNE1 pin: FMC26_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC26, FMC26_SDNRAS)
+#error Invalid pin assignment for FMC26 SDNRAS pin: FMC26_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC26, FMC26_SDNWE)
+#error Invalid pin assignment for FMC26 SDNWE pin: FMC26_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC27
+#if !FIND_VALUE_FMC_A0(_FMC27, FMC27_A0)
+#error Invalid pin assignment for FMC27 A0 pin: FMC27_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC27, FMC27_A1)
+#error Invalid pin assignment for FMC27 A1 pin: FMC27_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC27, FMC27_A10)
+#error Invalid pin assignment for FMC27 A10 pin: FMC27_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC27, FMC27_A11)
+#error Invalid pin assignment for FMC27 A11 pin: FMC27_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC27, FMC27_A12)
+#error Invalid pin assignment for FMC27 A12 pin: FMC27_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC27, FMC27_A13)
+#error Invalid pin assignment for FMC27 A13 pin: FMC27_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC27, FMC27_A14)
+#error Invalid pin assignment for FMC27 A14 pin: FMC27_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC27, FMC27_A15)
+#error Invalid pin assignment for FMC27 A15 pin: FMC27_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC27, FMC27_A16)
+#error Invalid pin assignment for FMC27 A16 pin: FMC27_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC27, FMC27_A17)
+#error Invalid pin assignment for FMC27 A17 pin: FMC27_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC27, FMC27_A18)
+#error Invalid pin assignment for FMC27 A18 pin: FMC27_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC27, FMC27_A19)
+#error Invalid pin assignment for FMC27 A19 pin: FMC27_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC27, FMC27_A2)
+#error Invalid pin assignment for FMC27 A2 pin: FMC27_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC27, FMC27_A20)
+#error Invalid pin assignment for FMC27 A20 pin: FMC27_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC27, FMC27_A21)
+#error Invalid pin assignment for FMC27 A21 pin: FMC27_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC27, FMC27_A22)
+#error Invalid pin assignment for FMC27 A22 pin: FMC27_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC27, FMC27_A23)
+#error Invalid pin assignment for FMC27 A23 pin: FMC27_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC27, FMC27_A24)
+#error Invalid pin assignment for FMC27 A24 pin: FMC27_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC27, FMC27_A25)
+#error Invalid pin assignment for FMC27 A25 pin: FMC27_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC27, FMC27_A3)
+#error Invalid pin assignment for FMC27 A3 pin: FMC27_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC27, FMC27_A4)
+#error Invalid pin assignment for FMC27 A4 pin: FMC27_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC27, FMC27_A5)
+#error Invalid pin assignment for FMC27 A5 pin: FMC27_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC27, FMC27_A6)
+#error Invalid pin assignment for FMC27 A6 pin: FMC27_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC27, FMC27_A7)
+#error Invalid pin assignment for FMC27 A7 pin: FMC27_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC27, FMC27_A8)
+#error Invalid pin assignment for FMC27 A8 pin: FMC27_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC27, FMC27_A9)
+#error Invalid pin assignment for FMC27 A9 pin: FMC27_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC27, FMC27_ALE)
+#error Invalid pin assignment for FMC27 ALE pin: FMC27_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC27, FMC27_BA0)
+#error Invalid pin assignment for FMC27 BA0 pin: FMC27_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC27, FMC27_BA1)
+#error Invalid pin assignment for FMC27 BA1 pin: FMC27_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC27, FMC27_CD)
+#error Invalid pin assignment for FMC27 CD pin: FMC27_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC27, FMC27_CLE)
+#error Invalid pin assignment for FMC27 CLE pin: FMC27_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC27, FMC27_CLK)
+#error Invalid pin assignment for FMC27 CLK pin: FMC27_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC27, FMC27_D0)
+#error Invalid pin assignment for FMC27 D0 pin: FMC27_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC27, FMC27_D1)
+#error Invalid pin assignment for FMC27 D1 pin: FMC27_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC27, FMC27_D10)
+#error Invalid pin assignment for FMC27 D10 pin: FMC27_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC27, FMC27_D11)
+#error Invalid pin assignment for FMC27 D11 pin: FMC27_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC27, FMC27_D12)
+#error Invalid pin assignment for FMC27 D12 pin: FMC27_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC27, FMC27_D13)
+#error Invalid pin assignment for FMC27 D13 pin: FMC27_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC27, FMC27_D14)
+#error Invalid pin assignment for FMC27 D14 pin: FMC27_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC27, FMC27_D15)
+#error Invalid pin assignment for FMC27 D15 pin: FMC27_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC27, FMC27_D16)
+#error Invalid pin assignment for FMC27 D16 pin: FMC27_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC27, FMC27_D17)
+#error Invalid pin assignment for FMC27 D17 pin: FMC27_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC27, FMC27_D18)
+#error Invalid pin assignment for FMC27 D18 pin: FMC27_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC27, FMC27_D19)
+#error Invalid pin assignment for FMC27 D19 pin: FMC27_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC27, FMC27_D2)
+#error Invalid pin assignment for FMC27 D2 pin: FMC27_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC27, FMC27_D20)
+#error Invalid pin assignment for FMC27 D20 pin: FMC27_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC27, FMC27_D21)
+#error Invalid pin assignment for FMC27 D21 pin: FMC27_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC27, FMC27_D22)
+#error Invalid pin assignment for FMC27 D22 pin: FMC27_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC27, FMC27_D23)
+#error Invalid pin assignment for FMC27 D23 pin: FMC27_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC27, FMC27_D24)
+#error Invalid pin assignment for FMC27 D24 pin: FMC27_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC27, FMC27_D25)
+#error Invalid pin assignment for FMC27 D25 pin: FMC27_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC27, FMC27_D26)
+#error Invalid pin assignment for FMC27 D26 pin: FMC27_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC27, FMC27_D27)
+#error Invalid pin assignment for FMC27 D27 pin: FMC27_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC27, FMC27_D28)
+#error Invalid pin assignment for FMC27 D28 pin: FMC27_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC27, FMC27_D29)
+#error Invalid pin assignment for FMC27 D29 pin: FMC27_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC27, FMC27_D3)
+#error Invalid pin assignment for FMC27 D3 pin: FMC27_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC27, FMC27_D30)
+#error Invalid pin assignment for FMC27 D30 pin: FMC27_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC27, FMC27_D31)
+#error Invalid pin assignment for FMC27 D31 pin: FMC27_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC27, FMC27_D4)
+#error Invalid pin assignment for FMC27 D4 pin: FMC27_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC27, FMC27_D5)
+#error Invalid pin assignment for FMC27 D5 pin: FMC27_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC27, FMC27_D6)
+#error Invalid pin assignment for FMC27 D6 pin: FMC27_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC27, FMC27_D7)
+#error Invalid pin assignment for FMC27 D7 pin: FMC27_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC27, FMC27_D8)
+#error Invalid pin assignment for FMC27 D8 pin: FMC27_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC27, FMC27_D9)
+#error Invalid pin assignment for FMC27 D9 pin: FMC27_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC27, FMC27_DA0)
+#error Invalid pin assignment for FMC27 DA0 pin: FMC27_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC27, FMC27_DA1)
+#error Invalid pin assignment for FMC27 DA1 pin: FMC27_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC27, FMC27_DA10)
+#error Invalid pin assignment for FMC27 DA10 pin: FMC27_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC27, FMC27_DA11)
+#error Invalid pin assignment for FMC27 DA11 pin: FMC27_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC27, FMC27_DA12)
+#error Invalid pin assignment for FMC27 DA12 pin: FMC27_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC27, FMC27_DA13)
+#error Invalid pin assignment for FMC27 DA13 pin: FMC27_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC27, FMC27_DA14)
+#error Invalid pin assignment for FMC27 DA14 pin: FMC27_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC27, FMC27_DA15)
+#error Invalid pin assignment for FMC27 DA15 pin: FMC27_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC27, FMC27_DA2)
+#error Invalid pin assignment for FMC27 DA2 pin: FMC27_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC27, FMC27_DA3)
+#error Invalid pin assignment for FMC27 DA3 pin: FMC27_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC27, FMC27_DA4)
+#error Invalid pin assignment for FMC27 DA4 pin: FMC27_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC27, FMC27_DA5)
+#error Invalid pin assignment for FMC27 DA5 pin: FMC27_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC27, FMC27_DA6)
+#error Invalid pin assignment for FMC27 DA6 pin: FMC27_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC27, FMC27_DA7)
+#error Invalid pin assignment for FMC27 DA7 pin: FMC27_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC27, FMC27_DA8)
+#error Invalid pin assignment for FMC27 DA8 pin: FMC27_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC27, FMC27_DA9)
+#error Invalid pin assignment for FMC27 DA9 pin: FMC27_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC27, FMC27_INT)
+#error Invalid pin assignment for FMC27 INT pin: FMC27_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC27, FMC27_INT2)
+#error Invalid pin assignment for FMC27 INT2 pin: FMC27_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC27, FMC27_INT3)
+#error Invalid pin assignment for FMC27 INT3 pin: FMC27_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC27, FMC27_INTR)
+#error Invalid pin assignment for FMC27 INTR pin: FMC27_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC27, FMC27_NBL0)
+#error Invalid pin assignment for FMC27 NBL0 pin: FMC27_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC27, FMC27_NBL1)
+#error Invalid pin assignment for FMC27 NBL1 pin: FMC27_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC27, FMC27_NBL2)
+#error Invalid pin assignment for FMC27 NBL2 pin: FMC27_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC27, FMC27_NBL3)
+#error Invalid pin assignment for FMC27 NBL3 pin: FMC27_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC27, FMC27_NCE)
+#error Invalid pin assignment for FMC27 NCE pin: FMC27_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC27, FMC27_NCE2)
+#error Invalid pin assignment for FMC27 NCE2 pin: FMC27_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC27, FMC27_NCE3)
+#error Invalid pin assignment for FMC27 NCE3 pin: FMC27_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC27, FMC27_NE1)
+#error Invalid pin assignment for FMC27 NE1 pin: FMC27_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC27, FMC27_NE2)
+#error Invalid pin assignment for FMC27 NE2 pin: FMC27_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC27, FMC27_NE3)
+#error Invalid pin assignment for FMC27 NE3 pin: FMC27_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC27, FMC27_NE4)
+#error Invalid pin assignment for FMC27 NE4 pin: FMC27_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC27, FMC27_NIORD)
+#error Invalid pin assignment for FMC27 NIORD pin: FMC27_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC27, FMC27_NIOWR)
+#error Invalid pin assignment for FMC27 NIOWR pin: FMC27_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC27, FMC27_NL)
+#error Invalid pin assignment for FMC27 NL pin: FMC27_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC27, FMC27_NOE)
+#error Invalid pin assignment for FMC27 NOE pin: FMC27_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC27, FMC27_NREG)
+#error Invalid pin assignment for FMC27 NREG pin: FMC27_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC27, FMC27_NWAIT)
+#error Invalid pin assignment for FMC27 NWAIT pin: FMC27_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC27, FMC27_NWE)
+#error Invalid pin assignment for FMC27 NWE pin: FMC27_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC27, FMC27_SDCKE0)
+#error Invalid pin assignment for FMC27 SDCKE0 pin: FMC27_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC27, FMC27_SDCKE1)
+#error Invalid pin assignment for FMC27 SDCKE1 pin: FMC27_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC27, FMC27_SDCLK)
+#error Invalid pin assignment for FMC27 SDCLK pin: FMC27_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC27, FMC27_SDNCAS)
+#error Invalid pin assignment for FMC27 SDNCAS pin: FMC27_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC27, FMC27_SDNE0)
+#error Invalid pin assignment for FMC27 SDNE0 pin: FMC27_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC27, FMC27_SDNE1)
+#error Invalid pin assignment for FMC27 SDNE1 pin: FMC27_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC27, FMC27_SDNRAS)
+#error Invalid pin assignment for FMC27 SDNRAS pin: FMC27_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC27, FMC27_SDNWE)
+#error Invalid pin assignment for FMC27 SDNWE pin: FMC27_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC28
+#if !FIND_VALUE_FMC_A0(_FMC28, FMC28_A0)
+#error Invalid pin assignment for FMC28 A0 pin: FMC28_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC28, FMC28_A1)
+#error Invalid pin assignment for FMC28 A1 pin: FMC28_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC28, FMC28_A10)
+#error Invalid pin assignment for FMC28 A10 pin: FMC28_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC28, FMC28_A11)
+#error Invalid pin assignment for FMC28 A11 pin: FMC28_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC28, FMC28_A12)
+#error Invalid pin assignment for FMC28 A12 pin: FMC28_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC28, FMC28_A13)
+#error Invalid pin assignment for FMC28 A13 pin: FMC28_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC28, FMC28_A14)
+#error Invalid pin assignment for FMC28 A14 pin: FMC28_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC28, FMC28_A15)
+#error Invalid pin assignment for FMC28 A15 pin: FMC28_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC28, FMC28_A16)
+#error Invalid pin assignment for FMC28 A16 pin: FMC28_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC28, FMC28_A17)
+#error Invalid pin assignment for FMC28 A17 pin: FMC28_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC28, FMC28_A18)
+#error Invalid pin assignment for FMC28 A18 pin: FMC28_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC28, FMC28_A19)
+#error Invalid pin assignment for FMC28 A19 pin: FMC28_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC28, FMC28_A2)
+#error Invalid pin assignment for FMC28 A2 pin: FMC28_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC28, FMC28_A20)
+#error Invalid pin assignment for FMC28 A20 pin: FMC28_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC28, FMC28_A21)
+#error Invalid pin assignment for FMC28 A21 pin: FMC28_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC28, FMC28_A22)
+#error Invalid pin assignment for FMC28 A22 pin: FMC28_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC28, FMC28_A23)
+#error Invalid pin assignment for FMC28 A23 pin: FMC28_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC28, FMC28_A24)
+#error Invalid pin assignment for FMC28 A24 pin: FMC28_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC28, FMC28_A25)
+#error Invalid pin assignment for FMC28 A25 pin: FMC28_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC28, FMC28_A3)
+#error Invalid pin assignment for FMC28 A3 pin: FMC28_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC28, FMC28_A4)
+#error Invalid pin assignment for FMC28 A4 pin: FMC28_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC28, FMC28_A5)
+#error Invalid pin assignment for FMC28 A5 pin: FMC28_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC28, FMC28_A6)
+#error Invalid pin assignment for FMC28 A6 pin: FMC28_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC28, FMC28_A7)
+#error Invalid pin assignment for FMC28 A7 pin: FMC28_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC28, FMC28_A8)
+#error Invalid pin assignment for FMC28 A8 pin: FMC28_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC28, FMC28_A9)
+#error Invalid pin assignment for FMC28 A9 pin: FMC28_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC28, FMC28_ALE)
+#error Invalid pin assignment for FMC28 ALE pin: FMC28_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC28, FMC28_BA0)
+#error Invalid pin assignment for FMC28 BA0 pin: FMC28_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC28, FMC28_BA1)
+#error Invalid pin assignment for FMC28 BA1 pin: FMC28_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC28, FMC28_CD)
+#error Invalid pin assignment for FMC28 CD pin: FMC28_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC28, FMC28_CLE)
+#error Invalid pin assignment for FMC28 CLE pin: FMC28_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC28, FMC28_CLK)
+#error Invalid pin assignment for FMC28 CLK pin: FMC28_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC28, FMC28_D0)
+#error Invalid pin assignment for FMC28 D0 pin: FMC28_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC28, FMC28_D1)
+#error Invalid pin assignment for FMC28 D1 pin: FMC28_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC28, FMC28_D10)
+#error Invalid pin assignment for FMC28 D10 pin: FMC28_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC28, FMC28_D11)
+#error Invalid pin assignment for FMC28 D11 pin: FMC28_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC28, FMC28_D12)
+#error Invalid pin assignment for FMC28 D12 pin: FMC28_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC28, FMC28_D13)
+#error Invalid pin assignment for FMC28 D13 pin: FMC28_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC28, FMC28_D14)
+#error Invalid pin assignment for FMC28 D14 pin: FMC28_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC28, FMC28_D15)
+#error Invalid pin assignment for FMC28 D15 pin: FMC28_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC28, FMC28_D16)
+#error Invalid pin assignment for FMC28 D16 pin: FMC28_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC28, FMC28_D17)
+#error Invalid pin assignment for FMC28 D17 pin: FMC28_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC28, FMC28_D18)
+#error Invalid pin assignment for FMC28 D18 pin: FMC28_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC28, FMC28_D19)
+#error Invalid pin assignment for FMC28 D19 pin: FMC28_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC28, FMC28_D2)
+#error Invalid pin assignment for FMC28 D2 pin: FMC28_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC28, FMC28_D20)
+#error Invalid pin assignment for FMC28 D20 pin: FMC28_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC28, FMC28_D21)
+#error Invalid pin assignment for FMC28 D21 pin: FMC28_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC28, FMC28_D22)
+#error Invalid pin assignment for FMC28 D22 pin: FMC28_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC28, FMC28_D23)
+#error Invalid pin assignment for FMC28 D23 pin: FMC28_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC28, FMC28_D24)
+#error Invalid pin assignment for FMC28 D24 pin: FMC28_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC28, FMC28_D25)
+#error Invalid pin assignment for FMC28 D25 pin: FMC28_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC28, FMC28_D26)
+#error Invalid pin assignment for FMC28 D26 pin: FMC28_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC28, FMC28_D27)
+#error Invalid pin assignment for FMC28 D27 pin: FMC28_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC28, FMC28_D28)
+#error Invalid pin assignment for FMC28 D28 pin: FMC28_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC28, FMC28_D29)
+#error Invalid pin assignment for FMC28 D29 pin: FMC28_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC28, FMC28_D3)
+#error Invalid pin assignment for FMC28 D3 pin: FMC28_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC28, FMC28_D30)
+#error Invalid pin assignment for FMC28 D30 pin: FMC28_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC28, FMC28_D31)
+#error Invalid pin assignment for FMC28 D31 pin: FMC28_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC28, FMC28_D4)
+#error Invalid pin assignment for FMC28 D4 pin: FMC28_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC28, FMC28_D5)
+#error Invalid pin assignment for FMC28 D5 pin: FMC28_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC28, FMC28_D6)
+#error Invalid pin assignment for FMC28 D6 pin: FMC28_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC28, FMC28_D7)
+#error Invalid pin assignment for FMC28 D7 pin: FMC28_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC28, FMC28_D8)
+#error Invalid pin assignment for FMC28 D8 pin: FMC28_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC28, FMC28_D9)
+#error Invalid pin assignment for FMC28 D9 pin: FMC28_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC28, FMC28_DA0)
+#error Invalid pin assignment for FMC28 DA0 pin: FMC28_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC28, FMC28_DA1)
+#error Invalid pin assignment for FMC28 DA1 pin: FMC28_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC28, FMC28_DA10)
+#error Invalid pin assignment for FMC28 DA10 pin: FMC28_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC28, FMC28_DA11)
+#error Invalid pin assignment for FMC28 DA11 pin: FMC28_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC28, FMC28_DA12)
+#error Invalid pin assignment for FMC28 DA12 pin: FMC28_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC28, FMC28_DA13)
+#error Invalid pin assignment for FMC28 DA13 pin: FMC28_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC28, FMC28_DA14)
+#error Invalid pin assignment for FMC28 DA14 pin: FMC28_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC28, FMC28_DA15)
+#error Invalid pin assignment for FMC28 DA15 pin: FMC28_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC28, FMC28_DA2)
+#error Invalid pin assignment for FMC28 DA2 pin: FMC28_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC28, FMC28_DA3)
+#error Invalid pin assignment for FMC28 DA3 pin: FMC28_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC28, FMC28_DA4)
+#error Invalid pin assignment for FMC28 DA4 pin: FMC28_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC28, FMC28_DA5)
+#error Invalid pin assignment for FMC28 DA5 pin: FMC28_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC28, FMC28_DA6)
+#error Invalid pin assignment for FMC28 DA6 pin: FMC28_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC28, FMC28_DA7)
+#error Invalid pin assignment for FMC28 DA7 pin: FMC28_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC28, FMC28_DA8)
+#error Invalid pin assignment for FMC28 DA8 pin: FMC28_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC28, FMC28_DA9)
+#error Invalid pin assignment for FMC28 DA9 pin: FMC28_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC28, FMC28_INT)
+#error Invalid pin assignment for FMC28 INT pin: FMC28_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC28, FMC28_INT2)
+#error Invalid pin assignment for FMC28 INT2 pin: FMC28_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC28, FMC28_INT3)
+#error Invalid pin assignment for FMC28 INT3 pin: FMC28_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC28, FMC28_INTR)
+#error Invalid pin assignment for FMC28 INTR pin: FMC28_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC28, FMC28_NBL0)
+#error Invalid pin assignment for FMC28 NBL0 pin: FMC28_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC28, FMC28_NBL1)
+#error Invalid pin assignment for FMC28 NBL1 pin: FMC28_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC28, FMC28_NBL2)
+#error Invalid pin assignment for FMC28 NBL2 pin: FMC28_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC28, FMC28_NBL3)
+#error Invalid pin assignment for FMC28 NBL3 pin: FMC28_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC28, FMC28_NCE)
+#error Invalid pin assignment for FMC28 NCE pin: FMC28_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC28, FMC28_NCE2)
+#error Invalid pin assignment for FMC28 NCE2 pin: FMC28_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC28, FMC28_NCE3)
+#error Invalid pin assignment for FMC28 NCE3 pin: FMC28_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC28, FMC28_NE1)
+#error Invalid pin assignment for FMC28 NE1 pin: FMC28_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC28, FMC28_NE2)
+#error Invalid pin assignment for FMC28 NE2 pin: FMC28_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC28, FMC28_NE3)
+#error Invalid pin assignment for FMC28 NE3 pin: FMC28_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC28, FMC28_NE4)
+#error Invalid pin assignment for FMC28 NE4 pin: FMC28_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC28, FMC28_NIORD)
+#error Invalid pin assignment for FMC28 NIORD pin: FMC28_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC28, FMC28_NIOWR)
+#error Invalid pin assignment for FMC28 NIOWR pin: FMC28_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC28, FMC28_NL)
+#error Invalid pin assignment for FMC28 NL pin: FMC28_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC28, FMC28_NOE)
+#error Invalid pin assignment for FMC28 NOE pin: FMC28_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC28, FMC28_NREG)
+#error Invalid pin assignment for FMC28 NREG pin: FMC28_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC28, FMC28_NWAIT)
+#error Invalid pin assignment for FMC28 NWAIT pin: FMC28_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC28, FMC28_NWE)
+#error Invalid pin assignment for FMC28 NWE pin: FMC28_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC28, FMC28_SDCKE0)
+#error Invalid pin assignment for FMC28 SDCKE0 pin: FMC28_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC28, FMC28_SDCKE1)
+#error Invalid pin assignment for FMC28 SDCKE1 pin: FMC28_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC28, FMC28_SDCLK)
+#error Invalid pin assignment for FMC28 SDCLK pin: FMC28_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC28, FMC28_SDNCAS)
+#error Invalid pin assignment for FMC28 SDNCAS pin: FMC28_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC28, FMC28_SDNE0)
+#error Invalid pin assignment for FMC28 SDNE0 pin: FMC28_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC28, FMC28_SDNE1)
+#error Invalid pin assignment for FMC28 SDNE1 pin: FMC28_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC28, FMC28_SDNRAS)
+#error Invalid pin assignment for FMC28 SDNRAS pin: FMC28_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC28, FMC28_SDNWE)
+#error Invalid pin assignment for FMC28 SDNWE pin: FMC28_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC29
+#if !FIND_VALUE_FMC_A0(_FMC29, FMC29_A0)
+#error Invalid pin assignment for FMC29 A0 pin: FMC29_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC29, FMC29_A1)
+#error Invalid pin assignment for FMC29 A1 pin: FMC29_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC29, FMC29_A10)
+#error Invalid pin assignment for FMC29 A10 pin: FMC29_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC29, FMC29_A11)
+#error Invalid pin assignment for FMC29 A11 pin: FMC29_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC29, FMC29_A12)
+#error Invalid pin assignment for FMC29 A12 pin: FMC29_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC29, FMC29_A13)
+#error Invalid pin assignment for FMC29 A13 pin: FMC29_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC29, FMC29_A14)
+#error Invalid pin assignment for FMC29 A14 pin: FMC29_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC29, FMC29_A15)
+#error Invalid pin assignment for FMC29 A15 pin: FMC29_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC29, FMC29_A16)
+#error Invalid pin assignment for FMC29 A16 pin: FMC29_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC29, FMC29_A17)
+#error Invalid pin assignment for FMC29 A17 pin: FMC29_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC29, FMC29_A18)
+#error Invalid pin assignment for FMC29 A18 pin: FMC29_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC29, FMC29_A19)
+#error Invalid pin assignment for FMC29 A19 pin: FMC29_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC29, FMC29_A2)
+#error Invalid pin assignment for FMC29 A2 pin: FMC29_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC29, FMC29_A20)
+#error Invalid pin assignment for FMC29 A20 pin: FMC29_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC29, FMC29_A21)
+#error Invalid pin assignment for FMC29 A21 pin: FMC29_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC29, FMC29_A22)
+#error Invalid pin assignment for FMC29 A22 pin: FMC29_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC29, FMC29_A23)
+#error Invalid pin assignment for FMC29 A23 pin: FMC29_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC29, FMC29_A24)
+#error Invalid pin assignment for FMC29 A24 pin: FMC29_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC29, FMC29_A25)
+#error Invalid pin assignment for FMC29 A25 pin: FMC29_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC29, FMC29_A3)
+#error Invalid pin assignment for FMC29 A3 pin: FMC29_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC29, FMC29_A4)
+#error Invalid pin assignment for FMC29 A4 pin: FMC29_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC29, FMC29_A5)
+#error Invalid pin assignment for FMC29 A5 pin: FMC29_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC29, FMC29_A6)
+#error Invalid pin assignment for FMC29 A6 pin: FMC29_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC29, FMC29_A7)
+#error Invalid pin assignment for FMC29 A7 pin: FMC29_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC29, FMC29_A8)
+#error Invalid pin assignment for FMC29 A8 pin: FMC29_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC29, FMC29_A9)
+#error Invalid pin assignment for FMC29 A9 pin: FMC29_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC29, FMC29_ALE)
+#error Invalid pin assignment for FMC29 ALE pin: FMC29_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC29, FMC29_BA0)
+#error Invalid pin assignment for FMC29 BA0 pin: FMC29_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC29, FMC29_BA1)
+#error Invalid pin assignment for FMC29 BA1 pin: FMC29_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC29, FMC29_CD)
+#error Invalid pin assignment for FMC29 CD pin: FMC29_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC29, FMC29_CLE)
+#error Invalid pin assignment for FMC29 CLE pin: FMC29_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC29, FMC29_CLK)
+#error Invalid pin assignment for FMC29 CLK pin: FMC29_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC29, FMC29_D0)
+#error Invalid pin assignment for FMC29 D0 pin: FMC29_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC29, FMC29_D1)
+#error Invalid pin assignment for FMC29 D1 pin: FMC29_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC29, FMC29_D10)
+#error Invalid pin assignment for FMC29 D10 pin: FMC29_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC29, FMC29_D11)
+#error Invalid pin assignment for FMC29 D11 pin: FMC29_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC29, FMC29_D12)
+#error Invalid pin assignment for FMC29 D12 pin: FMC29_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC29, FMC29_D13)
+#error Invalid pin assignment for FMC29 D13 pin: FMC29_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC29, FMC29_D14)
+#error Invalid pin assignment for FMC29 D14 pin: FMC29_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC29, FMC29_D15)
+#error Invalid pin assignment for FMC29 D15 pin: FMC29_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC29, FMC29_D16)
+#error Invalid pin assignment for FMC29 D16 pin: FMC29_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC29, FMC29_D17)
+#error Invalid pin assignment for FMC29 D17 pin: FMC29_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC29, FMC29_D18)
+#error Invalid pin assignment for FMC29 D18 pin: FMC29_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC29, FMC29_D19)
+#error Invalid pin assignment for FMC29 D19 pin: FMC29_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC29, FMC29_D2)
+#error Invalid pin assignment for FMC29 D2 pin: FMC29_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC29, FMC29_D20)
+#error Invalid pin assignment for FMC29 D20 pin: FMC29_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC29, FMC29_D21)
+#error Invalid pin assignment for FMC29 D21 pin: FMC29_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC29, FMC29_D22)
+#error Invalid pin assignment for FMC29 D22 pin: FMC29_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC29, FMC29_D23)
+#error Invalid pin assignment for FMC29 D23 pin: FMC29_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC29, FMC29_D24)
+#error Invalid pin assignment for FMC29 D24 pin: FMC29_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC29, FMC29_D25)
+#error Invalid pin assignment for FMC29 D25 pin: FMC29_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC29, FMC29_D26)
+#error Invalid pin assignment for FMC29 D26 pin: FMC29_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC29, FMC29_D27)
+#error Invalid pin assignment for FMC29 D27 pin: FMC29_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC29, FMC29_D28)
+#error Invalid pin assignment for FMC29 D28 pin: FMC29_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC29, FMC29_D29)
+#error Invalid pin assignment for FMC29 D29 pin: FMC29_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC29, FMC29_D3)
+#error Invalid pin assignment for FMC29 D3 pin: FMC29_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC29, FMC29_D30)
+#error Invalid pin assignment for FMC29 D30 pin: FMC29_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC29, FMC29_D31)
+#error Invalid pin assignment for FMC29 D31 pin: FMC29_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC29, FMC29_D4)
+#error Invalid pin assignment for FMC29 D4 pin: FMC29_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC29, FMC29_D5)
+#error Invalid pin assignment for FMC29 D5 pin: FMC29_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC29, FMC29_D6)
+#error Invalid pin assignment for FMC29 D6 pin: FMC29_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC29, FMC29_D7)
+#error Invalid pin assignment for FMC29 D7 pin: FMC29_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC29, FMC29_D8)
+#error Invalid pin assignment for FMC29 D8 pin: FMC29_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC29, FMC29_D9)
+#error Invalid pin assignment for FMC29 D9 pin: FMC29_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC29, FMC29_DA0)
+#error Invalid pin assignment for FMC29 DA0 pin: FMC29_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC29, FMC29_DA1)
+#error Invalid pin assignment for FMC29 DA1 pin: FMC29_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC29, FMC29_DA10)
+#error Invalid pin assignment for FMC29 DA10 pin: FMC29_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC29, FMC29_DA11)
+#error Invalid pin assignment for FMC29 DA11 pin: FMC29_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC29, FMC29_DA12)
+#error Invalid pin assignment for FMC29 DA12 pin: FMC29_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC29, FMC29_DA13)
+#error Invalid pin assignment for FMC29 DA13 pin: FMC29_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC29, FMC29_DA14)
+#error Invalid pin assignment for FMC29 DA14 pin: FMC29_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC29, FMC29_DA15)
+#error Invalid pin assignment for FMC29 DA15 pin: FMC29_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC29, FMC29_DA2)
+#error Invalid pin assignment for FMC29 DA2 pin: FMC29_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC29, FMC29_DA3)
+#error Invalid pin assignment for FMC29 DA3 pin: FMC29_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC29, FMC29_DA4)
+#error Invalid pin assignment for FMC29 DA4 pin: FMC29_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC29, FMC29_DA5)
+#error Invalid pin assignment for FMC29 DA5 pin: FMC29_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC29, FMC29_DA6)
+#error Invalid pin assignment for FMC29 DA6 pin: FMC29_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC29, FMC29_DA7)
+#error Invalid pin assignment for FMC29 DA7 pin: FMC29_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC29, FMC29_DA8)
+#error Invalid pin assignment for FMC29 DA8 pin: FMC29_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC29, FMC29_DA9)
+#error Invalid pin assignment for FMC29 DA9 pin: FMC29_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC29, FMC29_INT)
+#error Invalid pin assignment for FMC29 INT pin: FMC29_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC29, FMC29_INT2)
+#error Invalid pin assignment for FMC29 INT2 pin: FMC29_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC29, FMC29_INT3)
+#error Invalid pin assignment for FMC29 INT3 pin: FMC29_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC29, FMC29_INTR)
+#error Invalid pin assignment for FMC29 INTR pin: FMC29_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC29, FMC29_NBL0)
+#error Invalid pin assignment for FMC29 NBL0 pin: FMC29_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC29, FMC29_NBL1)
+#error Invalid pin assignment for FMC29 NBL1 pin: FMC29_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC29, FMC29_NBL2)
+#error Invalid pin assignment for FMC29 NBL2 pin: FMC29_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC29, FMC29_NBL3)
+#error Invalid pin assignment for FMC29 NBL3 pin: FMC29_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC29, FMC29_NCE)
+#error Invalid pin assignment for FMC29 NCE pin: FMC29_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC29, FMC29_NCE2)
+#error Invalid pin assignment for FMC29 NCE2 pin: FMC29_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC29, FMC29_NCE3)
+#error Invalid pin assignment for FMC29 NCE3 pin: FMC29_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC29, FMC29_NE1)
+#error Invalid pin assignment for FMC29 NE1 pin: FMC29_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC29, FMC29_NE2)
+#error Invalid pin assignment for FMC29 NE2 pin: FMC29_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC29, FMC29_NE3)
+#error Invalid pin assignment for FMC29 NE3 pin: FMC29_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC29, FMC29_NE4)
+#error Invalid pin assignment for FMC29 NE4 pin: FMC29_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC29, FMC29_NIORD)
+#error Invalid pin assignment for FMC29 NIORD pin: FMC29_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC29, FMC29_NIOWR)
+#error Invalid pin assignment for FMC29 NIOWR pin: FMC29_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC29, FMC29_NL)
+#error Invalid pin assignment for FMC29 NL pin: FMC29_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC29, FMC29_NOE)
+#error Invalid pin assignment for FMC29 NOE pin: FMC29_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC29, FMC29_NREG)
+#error Invalid pin assignment for FMC29 NREG pin: FMC29_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC29, FMC29_NWAIT)
+#error Invalid pin assignment for FMC29 NWAIT pin: FMC29_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC29, FMC29_NWE)
+#error Invalid pin assignment for FMC29 NWE pin: FMC29_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC29, FMC29_SDCKE0)
+#error Invalid pin assignment for FMC29 SDCKE0 pin: FMC29_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC29, FMC29_SDCKE1)
+#error Invalid pin assignment for FMC29 SDCKE1 pin: FMC29_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC29, FMC29_SDCLK)
+#error Invalid pin assignment for FMC29 SDCLK pin: FMC29_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC29, FMC29_SDNCAS)
+#error Invalid pin assignment for FMC29 SDNCAS pin: FMC29_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC29, FMC29_SDNE0)
+#error Invalid pin assignment for FMC29 SDNE0 pin: FMC29_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC29, FMC29_SDNE1)
+#error Invalid pin assignment for FMC29 SDNE1 pin: FMC29_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC29, FMC29_SDNRAS)
+#error Invalid pin assignment for FMC29 SDNRAS pin: FMC29_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC29, FMC29_SDNWE)
+#error Invalid pin assignment for FMC29 SDNWE pin: FMC29_SDNWE
+#endif
+#endif
+
+#ifdef USE_FMC30
+#if !FIND_VALUE_FMC_A0(_FMC30, FMC30_A0)
+#error Invalid pin assignment for FMC30 A0 pin: FMC30_A0
+#endif
+#if !FIND_VALUE_FMC_A1(_FMC30, FMC30_A1)
+#error Invalid pin assignment for FMC30 A1 pin: FMC30_A1
+#endif
+#if !FIND_VALUE_FMC_A10(_FMC30, FMC30_A10)
+#error Invalid pin assignment for FMC30 A10 pin: FMC30_A10
+#endif
+#if !FIND_VALUE_FMC_A11(_FMC30, FMC30_A11)
+#error Invalid pin assignment for FMC30 A11 pin: FMC30_A11
+#endif
+#if !FIND_VALUE_FMC_A12(_FMC30, FMC30_A12)
+#error Invalid pin assignment for FMC30 A12 pin: FMC30_A12
+#endif
+#if !FIND_VALUE_FMC_A13(_FMC30, FMC30_A13)
+#error Invalid pin assignment for FMC30 A13 pin: FMC30_A13
+#endif
+#if !FIND_VALUE_FMC_A14(_FMC30, FMC30_A14)
+#error Invalid pin assignment for FMC30 A14 pin: FMC30_A14
+#endif
+#if !FIND_VALUE_FMC_A15(_FMC30, FMC30_A15)
+#error Invalid pin assignment for FMC30 A15 pin: FMC30_A15
+#endif
+#if !FIND_VALUE_FMC_A16(_FMC30, FMC30_A16)
+#error Invalid pin assignment for FMC30 A16 pin: FMC30_A16
+#endif
+#if !FIND_VALUE_FMC_A17(_FMC30, FMC30_A17)
+#error Invalid pin assignment for FMC30 A17 pin: FMC30_A17
+#endif
+#if !FIND_VALUE_FMC_A18(_FMC30, FMC30_A18)
+#error Invalid pin assignment for FMC30 A18 pin: FMC30_A18
+#endif
+#if !FIND_VALUE_FMC_A19(_FMC30, FMC30_A19)
+#error Invalid pin assignment for FMC30 A19 pin: FMC30_A19
+#endif
+#if !FIND_VALUE_FMC_A2(_FMC30, FMC30_A2)
+#error Invalid pin assignment for FMC30 A2 pin: FMC30_A2
+#endif
+#if !FIND_VALUE_FMC_A20(_FMC30, FMC30_A20)
+#error Invalid pin assignment for FMC30 A20 pin: FMC30_A20
+#endif
+#if !FIND_VALUE_FMC_A21(_FMC30, FMC30_A21)
+#error Invalid pin assignment for FMC30 A21 pin: FMC30_A21
+#endif
+#if !FIND_VALUE_FMC_A22(_FMC30, FMC30_A22)
+#error Invalid pin assignment for FMC30 A22 pin: FMC30_A22
+#endif
+#if !FIND_VALUE_FMC_A23(_FMC30, FMC30_A23)
+#error Invalid pin assignment for FMC30 A23 pin: FMC30_A23
+#endif
+#if !FIND_VALUE_FMC_A24(_FMC30, FMC30_A24)
+#error Invalid pin assignment for FMC30 A24 pin: FMC30_A24
+#endif
+#if !FIND_VALUE_FMC_A25(_FMC30, FMC30_A25)
+#error Invalid pin assignment for FMC30 A25 pin: FMC30_A25
+#endif
+#if !FIND_VALUE_FMC_A3(_FMC30, FMC30_A3)
+#error Invalid pin assignment for FMC30 A3 pin: FMC30_A3
+#endif
+#if !FIND_VALUE_FMC_A4(_FMC30, FMC30_A4)
+#error Invalid pin assignment for FMC30 A4 pin: FMC30_A4
+#endif
+#if !FIND_VALUE_FMC_A5(_FMC30, FMC30_A5)
+#error Invalid pin assignment for FMC30 A5 pin: FMC30_A5
+#endif
+#if !FIND_VALUE_FMC_A6(_FMC30, FMC30_A6)
+#error Invalid pin assignment for FMC30 A6 pin: FMC30_A6
+#endif
+#if !FIND_VALUE_FMC_A7(_FMC30, FMC30_A7)
+#error Invalid pin assignment for FMC30 A7 pin: FMC30_A7
+#endif
+#if !FIND_VALUE_FMC_A8(_FMC30, FMC30_A8)
+#error Invalid pin assignment for FMC30 A8 pin: FMC30_A8
+#endif
+#if !FIND_VALUE_FMC_A9(_FMC30, FMC30_A9)
+#error Invalid pin assignment for FMC30 A9 pin: FMC30_A9
+#endif
+#if !FIND_VALUE_FMC_ALE(_FMC30, FMC30_ALE)
+#error Invalid pin assignment for FMC30 ALE pin: FMC30_ALE
+#endif
+#if !FIND_VALUE_FMC_BA0(_FMC30, FMC30_BA0)
+#error Invalid pin assignment for FMC30 BA0 pin: FMC30_BA0
+#endif
+#if !FIND_VALUE_FMC_BA1(_FMC30, FMC30_BA1)
+#error Invalid pin assignment for FMC30 BA1 pin: FMC30_BA1
+#endif
+#if !FIND_VALUE_FMC_CD(_FMC30, FMC30_CD)
+#error Invalid pin assignment for FMC30 CD pin: FMC30_CD
+#endif
+#if !FIND_VALUE_FMC_CLE(_FMC30, FMC30_CLE)
+#error Invalid pin assignment for FMC30 CLE pin: FMC30_CLE
+#endif
+#if !FIND_VALUE_FMC_CLK(_FMC30, FMC30_CLK)
+#error Invalid pin assignment for FMC30 CLK pin: FMC30_CLK
+#endif
+#if !FIND_VALUE_FMC_D0(_FMC30, FMC30_D0)
+#error Invalid pin assignment for FMC30 D0 pin: FMC30_D0
+#endif
+#if !FIND_VALUE_FMC_D1(_FMC30, FMC30_D1)
+#error Invalid pin assignment for FMC30 D1 pin: FMC30_D1
+#endif
+#if !FIND_VALUE_FMC_D10(_FMC30, FMC30_D10)
+#error Invalid pin assignment for FMC30 D10 pin: FMC30_D10
+#endif
+#if !FIND_VALUE_FMC_D11(_FMC30, FMC30_D11)
+#error Invalid pin assignment for FMC30 D11 pin: FMC30_D11
+#endif
+#if !FIND_VALUE_FMC_D12(_FMC30, FMC30_D12)
+#error Invalid pin assignment for FMC30 D12 pin: FMC30_D12
+#endif
+#if !FIND_VALUE_FMC_D13(_FMC30, FMC30_D13)
+#error Invalid pin assignment for FMC30 D13 pin: FMC30_D13
+#endif
+#if !FIND_VALUE_FMC_D14(_FMC30, FMC30_D14)
+#error Invalid pin assignment for FMC30 D14 pin: FMC30_D14
+#endif
+#if !FIND_VALUE_FMC_D15(_FMC30, FMC30_D15)
+#error Invalid pin assignment for FMC30 D15 pin: FMC30_D15
+#endif
+#if !FIND_VALUE_FMC_D16(_FMC30, FMC30_D16)
+#error Invalid pin assignment for FMC30 D16 pin: FMC30_D16
+#endif
+#if !FIND_VALUE_FMC_D17(_FMC30, FMC30_D17)
+#error Invalid pin assignment for FMC30 D17 pin: FMC30_D17
+#endif
+#if !FIND_VALUE_FMC_D18(_FMC30, FMC30_D18)
+#error Invalid pin assignment for FMC30 D18 pin: FMC30_D18
+#endif
+#if !FIND_VALUE_FMC_D19(_FMC30, FMC30_D19)
+#error Invalid pin assignment for FMC30 D19 pin: FMC30_D19
+#endif
+#if !FIND_VALUE_FMC_D2(_FMC30, FMC30_D2)
+#error Invalid pin assignment for FMC30 D2 pin: FMC30_D2
+#endif
+#if !FIND_VALUE_FMC_D20(_FMC30, FMC30_D20)
+#error Invalid pin assignment for FMC30 D20 pin: FMC30_D20
+#endif
+#if !FIND_VALUE_FMC_D21(_FMC30, FMC30_D21)
+#error Invalid pin assignment for FMC30 D21 pin: FMC30_D21
+#endif
+#if !FIND_VALUE_FMC_D22(_FMC30, FMC30_D22)
+#error Invalid pin assignment for FMC30 D22 pin: FMC30_D22
+#endif
+#if !FIND_VALUE_FMC_D23(_FMC30, FMC30_D23)
+#error Invalid pin assignment for FMC30 D23 pin: FMC30_D23
+#endif
+#if !FIND_VALUE_FMC_D24(_FMC30, FMC30_D24)
+#error Invalid pin assignment for FMC30 D24 pin: FMC30_D24
+#endif
+#if !FIND_VALUE_FMC_D25(_FMC30, FMC30_D25)
+#error Invalid pin assignment for FMC30 D25 pin: FMC30_D25
+#endif
+#if !FIND_VALUE_FMC_D26(_FMC30, FMC30_D26)
+#error Invalid pin assignment for FMC30 D26 pin: FMC30_D26
+#endif
+#if !FIND_VALUE_FMC_D27(_FMC30, FMC30_D27)
+#error Invalid pin assignment for FMC30 D27 pin: FMC30_D27
+#endif
+#if !FIND_VALUE_FMC_D28(_FMC30, FMC30_D28)
+#error Invalid pin assignment for FMC30 D28 pin: FMC30_D28
+#endif
+#if !FIND_VALUE_FMC_D29(_FMC30, FMC30_D29)
+#error Invalid pin assignment for FMC30 D29 pin: FMC30_D29
+#endif
+#if !FIND_VALUE_FMC_D3(_FMC30, FMC30_D3)
+#error Invalid pin assignment for FMC30 D3 pin: FMC30_D3
+#endif
+#if !FIND_VALUE_FMC_D30(_FMC30, FMC30_D30)
+#error Invalid pin assignment for FMC30 D30 pin: FMC30_D30
+#endif
+#if !FIND_VALUE_FMC_D31(_FMC30, FMC30_D31)
+#error Invalid pin assignment for FMC30 D31 pin: FMC30_D31
+#endif
+#if !FIND_VALUE_FMC_D4(_FMC30, FMC30_D4)
+#error Invalid pin assignment for FMC30 D4 pin: FMC30_D4
+#endif
+#if !FIND_VALUE_FMC_D5(_FMC30, FMC30_D5)
+#error Invalid pin assignment for FMC30 D5 pin: FMC30_D5
+#endif
+#if !FIND_VALUE_FMC_D6(_FMC30, FMC30_D6)
+#error Invalid pin assignment for FMC30 D6 pin: FMC30_D6
+#endif
+#if !FIND_VALUE_FMC_D7(_FMC30, FMC30_D7)
+#error Invalid pin assignment for FMC30 D7 pin: FMC30_D7
+#endif
+#if !FIND_VALUE_FMC_D8(_FMC30, FMC30_D8)
+#error Invalid pin assignment for FMC30 D8 pin: FMC30_D8
+#endif
+#if !FIND_VALUE_FMC_D9(_FMC30, FMC30_D9)
+#error Invalid pin assignment for FMC30 D9 pin: FMC30_D9
+#endif
+#if !FIND_VALUE_FMC_DA0(_FMC30, FMC30_DA0)
+#error Invalid pin assignment for FMC30 DA0 pin: FMC30_DA0
+#endif
+#if !FIND_VALUE_FMC_DA1(_FMC30, FMC30_DA1)
+#error Invalid pin assignment for FMC30 DA1 pin: FMC30_DA1
+#endif
+#if !FIND_VALUE_FMC_DA10(_FMC30, FMC30_DA10)
+#error Invalid pin assignment for FMC30 DA10 pin: FMC30_DA10
+#endif
+#if !FIND_VALUE_FMC_DA11(_FMC30, FMC30_DA11)
+#error Invalid pin assignment for FMC30 DA11 pin: FMC30_DA11
+#endif
+#if !FIND_VALUE_FMC_DA12(_FMC30, FMC30_DA12)
+#error Invalid pin assignment for FMC30 DA12 pin: FMC30_DA12
+#endif
+#if !FIND_VALUE_FMC_DA13(_FMC30, FMC30_DA13)
+#error Invalid pin assignment for FMC30 DA13 pin: FMC30_DA13
+#endif
+#if !FIND_VALUE_FMC_DA14(_FMC30, FMC30_DA14)
+#error Invalid pin assignment for FMC30 DA14 pin: FMC30_DA14
+#endif
+#if !FIND_VALUE_FMC_DA15(_FMC30, FMC30_DA15)
+#error Invalid pin assignment for FMC30 DA15 pin: FMC30_DA15
+#endif
+#if !FIND_VALUE_FMC_DA2(_FMC30, FMC30_DA2)
+#error Invalid pin assignment for FMC30 DA2 pin: FMC30_DA2
+#endif
+#if !FIND_VALUE_FMC_DA3(_FMC30, FMC30_DA3)
+#error Invalid pin assignment for FMC30 DA3 pin: FMC30_DA3
+#endif
+#if !FIND_VALUE_FMC_DA4(_FMC30, FMC30_DA4)
+#error Invalid pin assignment for FMC30 DA4 pin: FMC30_DA4
+#endif
+#if !FIND_VALUE_FMC_DA5(_FMC30, FMC30_DA5)
+#error Invalid pin assignment for FMC30 DA5 pin: FMC30_DA5
+#endif
+#if !FIND_VALUE_FMC_DA6(_FMC30, FMC30_DA6)
+#error Invalid pin assignment for FMC30 DA6 pin: FMC30_DA6
+#endif
+#if !FIND_VALUE_FMC_DA7(_FMC30, FMC30_DA7)
+#error Invalid pin assignment for FMC30 DA7 pin: FMC30_DA7
+#endif
+#if !FIND_VALUE_FMC_DA8(_FMC30, FMC30_DA8)
+#error Invalid pin assignment for FMC30 DA8 pin: FMC30_DA8
+#endif
+#if !FIND_VALUE_FMC_DA9(_FMC30, FMC30_DA9)
+#error Invalid pin assignment for FMC30 DA9 pin: FMC30_DA9
+#endif
+#if !FIND_VALUE_FMC_INT(_FMC30, FMC30_INT)
+#error Invalid pin assignment for FMC30 INT pin: FMC30_INT
+#endif
+#if !FIND_VALUE_FMC_INT2(_FMC30, FMC30_INT2)
+#error Invalid pin assignment for FMC30 INT2 pin: FMC30_INT2
+#endif
+#if !FIND_VALUE_FMC_INT3(_FMC30, FMC30_INT3)
+#error Invalid pin assignment for FMC30 INT3 pin: FMC30_INT3
+#endif
+#if !FIND_VALUE_FMC_INTR(_FMC30, FMC30_INTR)
+#error Invalid pin assignment for FMC30 INTR pin: FMC30_INTR
+#endif
+#if !FIND_VALUE_FMC_NBL0(_FMC30, FMC30_NBL0)
+#error Invalid pin assignment for FMC30 NBL0 pin: FMC30_NBL0
+#endif
+#if !FIND_VALUE_FMC_NBL1(_FMC30, FMC30_NBL1)
+#error Invalid pin assignment for FMC30 NBL1 pin: FMC30_NBL1
+#endif
+#if !FIND_VALUE_FMC_NBL2(_FMC30, FMC30_NBL2)
+#error Invalid pin assignment for FMC30 NBL2 pin: FMC30_NBL2
+#endif
+#if !FIND_VALUE_FMC_NBL3(_FMC30, FMC30_NBL3)
+#error Invalid pin assignment for FMC30 NBL3 pin: FMC30_NBL3
+#endif
+#if !FIND_VALUE_FMC_NCE(_FMC30, FMC30_NCE)
+#error Invalid pin assignment for FMC30 NCE pin: FMC30_NCE
+#endif
+#if !FIND_VALUE_FMC_NCE2(_FMC30, FMC30_NCE2)
+#error Invalid pin assignment for FMC30 NCE2 pin: FMC30_NCE2
+#endif
+#if !FIND_VALUE_FMC_NCE3(_FMC30, FMC30_NCE3)
+#error Invalid pin assignment for FMC30 NCE3 pin: FMC30_NCE3
+#endif
+#if !FIND_VALUE_FMC_NE1(_FMC30, FMC30_NE1)
+#error Invalid pin assignment for FMC30 NE1 pin: FMC30_NE1
+#endif
+#if !FIND_VALUE_FMC_NE2(_FMC30, FMC30_NE2)
+#error Invalid pin assignment for FMC30 NE2 pin: FMC30_NE2
+#endif
+#if !FIND_VALUE_FMC_NE3(_FMC30, FMC30_NE3)
+#error Invalid pin assignment for FMC30 NE3 pin: FMC30_NE3
+#endif
+#if !FIND_VALUE_FMC_NE4(_FMC30, FMC30_NE4)
+#error Invalid pin assignment for FMC30 NE4 pin: FMC30_NE4
+#endif
+#if !FIND_VALUE_FMC_NIORD(_FMC30, FMC30_NIORD)
+#error Invalid pin assignment for FMC30 NIORD pin: FMC30_NIORD
+#endif
+#if !FIND_VALUE_FMC_NIOWR(_FMC30, FMC30_NIOWR)
+#error Invalid pin assignment for FMC30 NIOWR pin: FMC30_NIOWR
+#endif
+#if !FIND_VALUE_FMC_NL(_FMC30, FMC30_NL)
+#error Invalid pin assignment for FMC30 NL pin: FMC30_NL
+#endif
+#if !FIND_VALUE_FMC_NOE(_FMC30, FMC30_NOE)
+#error Invalid pin assignment for FMC30 NOE pin: FMC30_NOE
+#endif
+#if !FIND_VALUE_FMC_NREG(_FMC30, FMC30_NREG)
+#error Invalid pin assignment for FMC30 NREG pin: FMC30_NREG
+#endif
+#if !FIND_VALUE_FMC_NWAIT(_FMC30, FMC30_NWAIT)
+#error Invalid pin assignment for FMC30 NWAIT pin: FMC30_NWAIT
+#endif
+#if !FIND_VALUE_FMC_NWE(_FMC30, FMC30_NWE)
+#error Invalid pin assignment for FMC30 NWE pin: FMC30_NWE
+#endif
+#if !FIND_VALUE_FMC_SDCKE0(_FMC30, FMC30_SDCKE0)
+#error Invalid pin assignment for FMC30 SDCKE0 pin: FMC30_SDCKE0
+#endif
+#if !FIND_VALUE_FMC_SDCKE1(_FMC30, FMC30_SDCKE1)
+#error Invalid pin assignment for FMC30 SDCKE1 pin: FMC30_SDCKE1
+#endif
+#if !FIND_VALUE_FMC_SDCLK(_FMC30, FMC30_SDCLK)
+#error Invalid pin assignment for FMC30 SDCLK pin: FMC30_SDCLK
+#endif
+#if !FIND_VALUE_FMC_SDNCAS(_FMC30, FMC30_SDNCAS)
+#error Invalid pin assignment for FMC30 SDNCAS pin: FMC30_SDNCAS
+#endif
+#if !FIND_VALUE_FMC_SDNE0(_FMC30, FMC30_SDNE0)
+#error Invalid pin assignment for FMC30 SDNE0 pin: FMC30_SDNE0
+#endif
+#if !FIND_VALUE_FMC_SDNE1(_FMC30, FMC30_SDNE1)
+#error Invalid pin assignment for FMC30 SDNE1 pin: FMC30_SDNE1
+#endif
+#if !FIND_VALUE_FMC_SDNRAS(_FMC30, FMC30_SDNRAS)
+#error Invalid pin assignment for FMC30 SDNRAS pin: FMC30_SDNRAS
+#endif
+#if !FIND_VALUE_FMC_SDNWE(_FMC30, FMC30_SDNWE)
+#error Invalid pin assignment for FMC30 SDNWE pin: FMC30_SDNWE
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc_nce.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc_nce.h
new file mode 100644
index 000000000..f4c0525cb
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmc_nce.h
@@ -0,0 +1,47 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.400728
+ */
+
+#define FIND_VALUE_FMC_NCE_1_inner(INDEX,PIN) I2C##_FMC_NCE_##PIN
+#define FIND_VALUE_FMC_NCE_1(INDEX,PIN) FIND_VALUE_FMC_NCE_1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMC_NCE_2_inner(INDEX,PIN) I2C##_FMC_NCE_##PIN
+#define FIND_VALUE_FMC_NCE_2(INDEX,PIN) FIND_VALUE_FMC_NCE_2_inner(INDEX,PIN)
+
+#ifdef USE_FMC_NCE0
+#if !FIND_VALUE_FMC_NCE_1(_FMC_NCE0, FMC_NCE0_1)
+#error Invalid pin assignment for FMC_NCE0 1 pin: FMC_NCE0_1
+#endif
+#if !FIND_VALUE_FMC_NCE_2(_FMC_NCE0, FMC_NCE0_2)
+#error Invalid pin assignment for FMC_NCE0 2 pin: FMC_NCE0_2
+#endif
+#endif
+
+#ifdef USE_FMC_NCE1
+#if !FIND_VALUE_FMC_NCE_1(_FMC_NCE1, FMC_NCE1_1)
+#error Invalid pin assignment for FMC_NCE1 1 pin: FMC_NCE1_1
+#endif
+#if !FIND_VALUE_FMC_NCE_2(_FMC_NCE1, FMC_NCE1_2)
+#error Invalid pin assignment for FMC_NCE1 2 pin: FMC_NCE1_2
+#endif
+#endif
+
+#ifdef USE_FMC_NCE2
+#if !FIND_VALUE_FMC_NCE_1(_FMC_NCE2, FMC_NCE2_1)
+#error Invalid pin assignment for FMC_NCE2 1 pin: FMC_NCE2_1
+#endif
+#if !FIND_VALUE_FMC_NCE_2(_FMC_NCE2, FMC_NCE2_2)
+#error Invalid pin assignment for FMC_NCE2 2 pin: FMC_NCE2_2
+#endif
+#endif
+
+#ifdef USE_FMC_NCE3
+#if !FIND_VALUE_FMC_NCE_1(_FMC_NCE3, FMC_NCE3_1)
+#error Invalid pin assignment for FMC_NCE3 1 pin: FMC_NCE3_1
+#endif
+#if !FIND_VALUE_FMC_NCE_2(_FMC_NCE3, FMC_NCE3_2)
+#error Invalid pin assignment for FMC_NCE3 2 pin: FMC_NCE3_2
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmpi2c.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmpi2c.h
new file mode 100644
index 000000000..fe9958a42
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fmpi2c.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.400748
+ */
+
+#define FIND_VALUE_FMPI2C_SCL_inner(INDEX,PIN) I2C##_FMPI2C_##PIN
+#define FIND_VALUE_FMPI2C_SCL(INDEX,PIN) FIND_VALUE_FMPI2C_SCL_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMPI2C_SDA_inner(INDEX,PIN) I2C##_FMPI2C_##PIN
+#define FIND_VALUE_FMPI2C_SDA(INDEX,PIN) FIND_VALUE_FMPI2C_SDA_inner(INDEX,PIN)
+
+#define FIND_VALUE_FMPI2C_SMBA_inner(INDEX,PIN) I2C##_FMPI2C_##PIN
+#define FIND_VALUE_FMPI2C_SMBA(INDEX,PIN) FIND_VALUE_FMPI2C_SMBA_inner(INDEX,PIN)
+
+#ifdef USE_FMPI2C0
+#if !FIND_VALUE_FMPI2C_SCL(_FMPI2C0, FMPI2C0_SCL)
+#error Invalid pin assignment for FMPI2C0 SCL pin: FMPI2C0_SCL
+#endif
+#if !FIND_VALUE_FMPI2C_SDA(_FMPI2C0, FMPI2C0_SDA)
+#error Invalid pin assignment for FMPI2C0 SDA pin: FMPI2C0_SDA
+#endif
+#if !FIND_VALUE_FMPI2C_SMBA(_FMPI2C0, FMPI2C0_SMBA)
+#error Invalid pin assignment for FMPI2C0 SMBA pin: FMPI2C0_SMBA
+#endif
+#endif
+
+#ifdef USE_FMPI2C1
+#if !FIND_VALUE_FMPI2C_SCL(_FMPI2C1, FMPI2C1_SCL)
+#error Invalid pin assignment for FMPI2C1 SCL pin: FMPI2C1_SCL
+#endif
+#if !FIND_VALUE_FMPI2C_SDA(_FMPI2C1, FMPI2C1_SDA)
+#error Invalid pin assignment for FMPI2C1 SDA pin: FMPI2C1_SDA
+#endif
+#if !FIND_VALUE_FMPI2C_SMBA(_FMPI2C1, FMPI2C1_SMBA)
+#error Invalid pin assignment for FMPI2C1 SMBA pin: FMPI2C1_SMBA
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc.h
new file mode 100644
index 000000000..0e5cb6996
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc.h
@@ -0,0 +1,6320 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.400766
+ */
+
+#define FIND_VALUE_FSMC_A0_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A0(INDEX,PIN) FIND_VALUE_FSMC_A0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A1_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A1(INDEX,PIN) FIND_VALUE_FSMC_A1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A10_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A10(INDEX,PIN) FIND_VALUE_FSMC_A10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A11_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A11(INDEX,PIN) FIND_VALUE_FSMC_A11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A12_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A12(INDEX,PIN) FIND_VALUE_FSMC_A12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A13_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A13(INDEX,PIN) FIND_VALUE_FSMC_A13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A14_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A14(INDEX,PIN) FIND_VALUE_FSMC_A14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A15_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A15(INDEX,PIN) FIND_VALUE_FSMC_A15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A16_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A16(INDEX,PIN) FIND_VALUE_FSMC_A16_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A17_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A17(INDEX,PIN) FIND_VALUE_FSMC_A17_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A18_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A18(INDEX,PIN) FIND_VALUE_FSMC_A18_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A19_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A19(INDEX,PIN) FIND_VALUE_FSMC_A19_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A2(INDEX,PIN) FIND_VALUE_FSMC_A2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A20_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A20(INDEX,PIN) FIND_VALUE_FSMC_A20_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A21_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A21(INDEX,PIN) FIND_VALUE_FSMC_A21_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A22_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A22(INDEX,PIN) FIND_VALUE_FSMC_A22_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A23_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A23(INDEX,PIN) FIND_VALUE_FSMC_A23_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A24_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A24(INDEX,PIN) FIND_VALUE_FSMC_A24_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A25_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A25(INDEX,PIN) FIND_VALUE_FSMC_A25_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A3(INDEX,PIN) FIND_VALUE_FSMC_A3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A4_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A4(INDEX,PIN) FIND_VALUE_FSMC_A4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A5_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A5(INDEX,PIN) FIND_VALUE_FSMC_A5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A6_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A6(INDEX,PIN) FIND_VALUE_FSMC_A6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A7_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A7(INDEX,PIN) FIND_VALUE_FSMC_A7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A8_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A8(INDEX,PIN) FIND_VALUE_FSMC_A8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_A9_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_A9(INDEX,PIN) FIND_VALUE_FSMC_A9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_ALE_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_ALE(INDEX,PIN) FIND_VALUE_FSMC_ALE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_CD_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_CD(INDEX,PIN) FIND_VALUE_FSMC_CD_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_CLE_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_CLE(INDEX,PIN) FIND_VALUE_FSMC_CLE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_CLK_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_CLK(INDEX,PIN) FIND_VALUE_FSMC_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D0_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D0(INDEX,PIN) FIND_VALUE_FSMC_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D1_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D1(INDEX,PIN) FIND_VALUE_FSMC_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D10_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D10(INDEX,PIN) FIND_VALUE_FSMC_D10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D11_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D11(INDEX,PIN) FIND_VALUE_FSMC_D11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D12_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D12(INDEX,PIN) FIND_VALUE_FSMC_D12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D13_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D13(INDEX,PIN) FIND_VALUE_FSMC_D13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D14_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D14(INDEX,PIN) FIND_VALUE_FSMC_D14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D15_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D15(INDEX,PIN) FIND_VALUE_FSMC_D15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D2(INDEX,PIN) FIND_VALUE_FSMC_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D3(INDEX,PIN) FIND_VALUE_FSMC_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D4_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D4(INDEX,PIN) FIND_VALUE_FSMC_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D5_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D5(INDEX,PIN) FIND_VALUE_FSMC_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D6_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D6(INDEX,PIN) FIND_VALUE_FSMC_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D7_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D7(INDEX,PIN) FIND_VALUE_FSMC_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D8_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D8(INDEX,PIN) FIND_VALUE_FSMC_D8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_D9_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_D9(INDEX,PIN) FIND_VALUE_FSMC_D9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA0_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA0(INDEX,PIN) FIND_VALUE_FSMC_DA0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA1_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA1(INDEX,PIN) FIND_VALUE_FSMC_DA1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA10_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA10(INDEX,PIN) FIND_VALUE_FSMC_DA10_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA11_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA11(INDEX,PIN) FIND_VALUE_FSMC_DA11_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA12_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA12(INDEX,PIN) FIND_VALUE_FSMC_DA12_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA13_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA13(INDEX,PIN) FIND_VALUE_FSMC_DA13_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA14_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA14(INDEX,PIN) FIND_VALUE_FSMC_DA14_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA15_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA15(INDEX,PIN) FIND_VALUE_FSMC_DA15_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA2(INDEX,PIN) FIND_VALUE_FSMC_DA2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA3(INDEX,PIN) FIND_VALUE_FSMC_DA3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA4_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA4(INDEX,PIN) FIND_VALUE_FSMC_DA4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA5_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA5(INDEX,PIN) FIND_VALUE_FSMC_DA5_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA6_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA6(INDEX,PIN) FIND_VALUE_FSMC_DA6_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA7_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA7(INDEX,PIN) FIND_VALUE_FSMC_DA7_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA8_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA8(INDEX,PIN) FIND_VALUE_FSMC_DA8_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_DA9_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_DA9(INDEX,PIN) FIND_VALUE_FSMC_DA9_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_INT2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_INT2(INDEX,PIN) FIND_VALUE_FSMC_INT2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_INT3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_INT3(INDEX,PIN) FIND_VALUE_FSMC_INT3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_INTR_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_INTR(INDEX,PIN) FIND_VALUE_FSMC_INTR_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NBL0_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NBL0(INDEX,PIN) FIND_VALUE_FSMC_NBL0_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NBL1_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NBL1(INDEX,PIN) FIND_VALUE_FSMC_NBL1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NCE2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NCE2(INDEX,PIN) FIND_VALUE_FSMC_NCE2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NCE3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NCE3(INDEX,PIN) FIND_VALUE_FSMC_NCE3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NE1_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NE1(INDEX,PIN) FIND_VALUE_FSMC_NE1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NE2_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NE2(INDEX,PIN) FIND_VALUE_FSMC_NE2_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NE3_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NE3(INDEX,PIN) FIND_VALUE_FSMC_NE3_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NE4_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NE4(INDEX,PIN) FIND_VALUE_FSMC_NE4_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NIORD_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NIORD(INDEX,PIN) FIND_VALUE_FSMC_NIORD_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NIOWR_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NIOWR(INDEX,PIN) FIND_VALUE_FSMC_NIOWR_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NL_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NL(INDEX,PIN) FIND_VALUE_FSMC_NL_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NOE_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NOE(INDEX,PIN) FIND_VALUE_FSMC_NOE_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NREG_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NREG(INDEX,PIN) FIND_VALUE_FSMC_NREG_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NWAIT_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NWAIT(INDEX,PIN) FIND_VALUE_FSMC_NWAIT_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NWE_inner(INDEX,PIN) I2C##_FSMC_##PIN
+#define FIND_VALUE_FSMC_NWE(INDEX,PIN) FIND_VALUE_FSMC_NWE_inner(INDEX,PIN)
+
+#ifdef USE_FSMC0
+#if !FIND_VALUE_FSMC_A0(_FSMC0, FSMC0_A0)
+#error Invalid pin assignment for FSMC0 A0 pin: FSMC0_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC0, FSMC0_A1)
+#error Invalid pin assignment for FSMC0 A1 pin: FSMC0_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC0, FSMC0_A10)
+#error Invalid pin assignment for FSMC0 A10 pin: FSMC0_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC0, FSMC0_A11)
+#error Invalid pin assignment for FSMC0 A11 pin: FSMC0_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC0, FSMC0_A12)
+#error Invalid pin assignment for FSMC0 A12 pin: FSMC0_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC0, FSMC0_A13)
+#error Invalid pin assignment for FSMC0 A13 pin: FSMC0_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC0, FSMC0_A14)
+#error Invalid pin assignment for FSMC0 A14 pin: FSMC0_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC0, FSMC0_A15)
+#error Invalid pin assignment for FSMC0 A15 pin: FSMC0_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC0, FSMC0_A16)
+#error Invalid pin assignment for FSMC0 A16 pin: FSMC0_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC0, FSMC0_A17)
+#error Invalid pin assignment for FSMC0 A17 pin: FSMC0_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC0, FSMC0_A18)
+#error Invalid pin assignment for FSMC0 A18 pin: FSMC0_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC0, FSMC0_A19)
+#error Invalid pin assignment for FSMC0 A19 pin: FSMC0_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC0, FSMC0_A2)
+#error Invalid pin assignment for FSMC0 A2 pin: FSMC0_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC0, FSMC0_A20)
+#error Invalid pin assignment for FSMC0 A20 pin: FSMC0_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC0, FSMC0_A21)
+#error Invalid pin assignment for FSMC0 A21 pin: FSMC0_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC0, FSMC0_A22)
+#error Invalid pin assignment for FSMC0 A22 pin: FSMC0_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC0, FSMC0_A23)
+#error Invalid pin assignment for FSMC0 A23 pin: FSMC0_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC0, FSMC0_A24)
+#error Invalid pin assignment for FSMC0 A24 pin: FSMC0_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC0, FSMC0_A25)
+#error Invalid pin assignment for FSMC0 A25 pin: FSMC0_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC0, FSMC0_A3)
+#error Invalid pin assignment for FSMC0 A3 pin: FSMC0_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC0, FSMC0_A4)
+#error Invalid pin assignment for FSMC0 A4 pin: FSMC0_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC0, FSMC0_A5)
+#error Invalid pin assignment for FSMC0 A5 pin: FSMC0_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC0, FSMC0_A6)
+#error Invalid pin assignment for FSMC0 A6 pin: FSMC0_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC0, FSMC0_A7)
+#error Invalid pin assignment for FSMC0 A7 pin: FSMC0_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC0, FSMC0_A8)
+#error Invalid pin assignment for FSMC0 A8 pin: FSMC0_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC0, FSMC0_A9)
+#error Invalid pin assignment for FSMC0 A9 pin: FSMC0_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC0, FSMC0_ALE)
+#error Invalid pin assignment for FSMC0 ALE pin: FSMC0_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC0, FSMC0_CD)
+#error Invalid pin assignment for FSMC0 CD pin: FSMC0_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC0, FSMC0_CLE)
+#error Invalid pin assignment for FSMC0 CLE pin: FSMC0_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC0, FSMC0_CLK)
+#error Invalid pin assignment for FSMC0 CLK pin: FSMC0_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC0, FSMC0_D0)
+#error Invalid pin assignment for FSMC0 D0 pin: FSMC0_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC0, FSMC0_D1)
+#error Invalid pin assignment for FSMC0 D1 pin: FSMC0_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC0, FSMC0_D10)
+#error Invalid pin assignment for FSMC0 D10 pin: FSMC0_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC0, FSMC0_D11)
+#error Invalid pin assignment for FSMC0 D11 pin: FSMC0_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC0, FSMC0_D12)
+#error Invalid pin assignment for FSMC0 D12 pin: FSMC0_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC0, FSMC0_D13)
+#error Invalid pin assignment for FSMC0 D13 pin: FSMC0_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC0, FSMC0_D14)
+#error Invalid pin assignment for FSMC0 D14 pin: FSMC0_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC0, FSMC0_D15)
+#error Invalid pin assignment for FSMC0 D15 pin: FSMC0_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC0, FSMC0_D2)
+#error Invalid pin assignment for FSMC0 D2 pin: FSMC0_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC0, FSMC0_D3)
+#error Invalid pin assignment for FSMC0 D3 pin: FSMC0_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC0, FSMC0_D4)
+#error Invalid pin assignment for FSMC0 D4 pin: FSMC0_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC0, FSMC0_D5)
+#error Invalid pin assignment for FSMC0 D5 pin: FSMC0_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC0, FSMC0_D6)
+#error Invalid pin assignment for FSMC0 D6 pin: FSMC0_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC0, FSMC0_D7)
+#error Invalid pin assignment for FSMC0 D7 pin: FSMC0_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC0, FSMC0_D8)
+#error Invalid pin assignment for FSMC0 D8 pin: FSMC0_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC0, FSMC0_D9)
+#error Invalid pin assignment for FSMC0 D9 pin: FSMC0_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC0, FSMC0_DA0)
+#error Invalid pin assignment for FSMC0 DA0 pin: FSMC0_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC0, FSMC0_DA1)
+#error Invalid pin assignment for FSMC0 DA1 pin: FSMC0_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC0, FSMC0_DA10)
+#error Invalid pin assignment for FSMC0 DA10 pin: FSMC0_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC0, FSMC0_DA11)
+#error Invalid pin assignment for FSMC0 DA11 pin: FSMC0_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC0, FSMC0_DA12)
+#error Invalid pin assignment for FSMC0 DA12 pin: FSMC0_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC0, FSMC0_DA13)
+#error Invalid pin assignment for FSMC0 DA13 pin: FSMC0_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC0, FSMC0_DA14)
+#error Invalid pin assignment for FSMC0 DA14 pin: FSMC0_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC0, FSMC0_DA15)
+#error Invalid pin assignment for FSMC0 DA15 pin: FSMC0_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC0, FSMC0_DA2)
+#error Invalid pin assignment for FSMC0 DA2 pin: FSMC0_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC0, FSMC0_DA3)
+#error Invalid pin assignment for FSMC0 DA3 pin: FSMC0_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC0, FSMC0_DA4)
+#error Invalid pin assignment for FSMC0 DA4 pin: FSMC0_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC0, FSMC0_DA5)
+#error Invalid pin assignment for FSMC0 DA5 pin: FSMC0_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC0, FSMC0_DA6)
+#error Invalid pin assignment for FSMC0 DA6 pin: FSMC0_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC0, FSMC0_DA7)
+#error Invalid pin assignment for FSMC0 DA7 pin: FSMC0_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC0, FSMC0_DA8)
+#error Invalid pin assignment for FSMC0 DA8 pin: FSMC0_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC0, FSMC0_DA9)
+#error Invalid pin assignment for FSMC0 DA9 pin: FSMC0_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC0, FSMC0_INT2)
+#error Invalid pin assignment for FSMC0 INT2 pin: FSMC0_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC0, FSMC0_INT3)
+#error Invalid pin assignment for FSMC0 INT3 pin: FSMC0_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC0, FSMC0_INTR)
+#error Invalid pin assignment for FSMC0 INTR pin: FSMC0_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC0, FSMC0_NBL0)
+#error Invalid pin assignment for FSMC0 NBL0 pin: FSMC0_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC0, FSMC0_NBL1)
+#error Invalid pin assignment for FSMC0 NBL1 pin: FSMC0_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC0, FSMC0_NCE2)
+#error Invalid pin assignment for FSMC0 NCE2 pin: FSMC0_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC0, FSMC0_NCE3)
+#error Invalid pin assignment for FSMC0 NCE3 pin: FSMC0_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC0, FSMC0_NE1)
+#error Invalid pin assignment for FSMC0 NE1 pin: FSMC0_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC0, FSMC0_NE2)
+#error Invalid pin assignment for FSMC0 NE2 pin: FSMC0_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC0, FSMC0_NE3)
+#error Invalid pin assignment for FSMC0 NE3 pin: FSMC0_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC0, FSMC0_NE4)
+#error Invalid pin assignment for FSMC0 NE4 pin: FSMC0_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC0, FSMC0_NIORD)
+#error Invalid pin assignment for FSMC0 NIORD pin: FSMC0_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC0, FSMC0_NIOWR)
+#error Invalid pin assignment for FSMC0 NIOWR pin: FSMC0_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC0, FSMC0_NL)
+#error Invalid pin assignment for FSMC0 NL pin: FSMC0_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC0, FSMC0_NOE)
+#error Invalid pin assignment for FSMC0 NOE pin: FSMC0_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC0, FSMC0_NREG)
+#error Invalid pin assignment for FSMC0 NREG pin: FSMC0_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC0, FSMC0_NWAIT)
+#error Invalid pin assignment for FSMC0 NWAIT pin: FSMC0_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC0, FSMC0_NWE)
+#error Invalid pin assignment for FSMC0 NWE pin: FSMC0_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC1
+#if !FIND_VALUE_FSMC_A0(_FSMC1, FSMC1_A0)
+#error Invalid pin assignment for FSMC1 A0 pin: FSMC1_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC1, FSMC1_A1)
+#error Invalid pin assignment for FSMC1 A1 pin: FSMC1_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC1, FSMC1_A10)
+#error Invalid pin assignment for FSMC1 A10 pin: FSMC1_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC1, FSMC1_A11)
+#error Invalid pin assignment for FSMC1 A11 pin: FSMC1_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC1, FSMC1_A12)
+#error Invalid pin assignment for FSMC1 A12 pin: FSMC1_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC1, FSMC1_A13)
+#error Invalid pin assignment for FSMC1 A13 pin: FSMC1_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC1, FSMC1_A14)
+#error Invalid pin assignment for FSMC1 A14 pin: FSMC1_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC1, FSMC1_A15)
+#error Invalid pin assignment for FSMC1 A15 pin: FSMC1_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC1, FSMC1_A16)
+#error Invalid pin assignment for FSMC1 A16 pin: FSMC1_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC1, FSMC1_A17)
+#error Invalid pin assignment for FSMC1 A17 pin: FSMC1_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC1, FSMC1_A18)
+#error Invalid pin assignment for FSMC1 A18 pin: FSMC1_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC1, FSMC1_A19)
+#error Invalid pin assignment for FSMC1 A19 pin: FSMC1_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC1, FSMC1_A2)
+#error Invalid pin assignment for FSMC1 A2 pin: FSMC1_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC1, FSMC1_A20)
+#error Invalid pin assignment for FSMC1 A20 pin: FSMC1_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC1, FSMC1_A21)
+#error Invalid pin assignment for FSMC1 A21 pin: FSMC1_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC1, FSMC1_A22)
+#error Invalid pin assignment for FSMC1 A22 pin: FSMC1_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC1, FSMC1_A23)
+#error Invalid pin assignment for FSMC1 A23 pin: FSMC1_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC1, FSMC1_A24)
+#error Invalid pin assignment for FSMC1 A24 pin: FSMC1_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC1, FSMC1_A25)
+#error Invalid pin assignment for FSMC1 A25 pin: FSMC1_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC1, FSMC1_A3)
+#error Invalid pin assignment for FSMC1 A3 pin: FSMC1_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC1, FSMC1_A4)
+#error Invalid pin assignment for FSMC1 A4 pin: FSMC1_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC1, FSMC1_A5)
+#error Invalid pin assignment for FSMC1 A5 pin: FSMC1_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC1, FSMC1_A6)
+#error Invalid pin assignment for FSMC1 A6 pin: FSMC1_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC1, FSMC1_A7)
+#error Invalid pin assignment for FSMC1 A7 pin: FSMC1_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC1, FSMC1_A8)
+#error Invalid pin assignment for FSMC1 A8 pin: FSMC1_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC1, FSMC1_A9)
+#error Invalid pin assignment for FSMC1 A9 pin: FSMC1_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC1, FSMC1_ALE)
+#error Invalid pin assignment for FSMC1 ALE pin: FSMC1_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC1, FSMC1_CD)
+#error Invalid pin assignment for FSMC1 CD pin: FSMC1_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC1, FSMC1_CLE)
+#error Invalid pin assignment for FSMC1 CLE pin: FSMC1_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC1, FSMC1_CLK)
+#error Invalid pin assignment for FSMC1 CLK pin: FSMC1_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC1, FSMC1_D0)
+#error Invalid pin assignment for FSMC1 D0 pin: FSMC1_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC1, FSMC1_D1)
+#error Invalid pin assignment for FSMC1 D1 pin: FSMC1_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC1, FSMC1_D10)
+#error Invalid pin assignment for FSMC1 D10 pin: FSMC1_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC1, FSMC1_D11)
+#error Invalid pin assignment for FSMC1 D11 pin: FSMC1_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC1, FSMC1_D12)
+#error Invalid pin assignment for FSMC1 D12 pin: FSMC1_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC1, FSMC1_D13)
+#error Invalid pin assignment for FSMC1 D13 pin: FSMC1_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC1, FSMC1_D14)
+#error Invalid pin assignment for FSMC1 D14 pin: FSMC1_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC1, FSMC1_D15)
+#error Invalid pin assignment for FSMC1 D15 pin: FSMC1_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC1, FSMC1_D2)
+#error Invalid pin assignment for FSMC1 D2 pin: FSMC1_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC1, FSMC1_D3)
+#error Invalid pin assignment for FSMC1 D3 pin: FSMC1_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC1, FSMC1_D4)
+#error Invalid pin assignment for FSMC1 D4 pin: FSMC1_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC1, FSMC1_D5)
+#error Invalid pin assignment for FSMC1 D5 pin: FSMC1_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC1, FSMC1_D6)
+#error Invalid pin assignment for FSMC1 D6 pin: FSMC1_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC1, FSMC1_D7)
+#error Invalid pin assignment for FSMC1 D7 pin: FSMC1_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC1, FSMC1_D8)
+#error Invalid pin assignment for FSMC1 D8 pin: FSMC1_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC1, FSMC1_D9)
+#error Invalid pin assignment for FSMC1 D9 pin: FSMC1_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC1, FSMC1_DA0)
+#error Invalid pin assignment for FSMC1 DA0 pin: FSMC1_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC1, FSMC1_DA1)
+#error Invalid pin assignment for FSMC1 DA1 pin: FSMC1_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC1, FSMC1_DA10)
+#error Invalid pin assignment for FSMC1 DA10 pin: FSMC1_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC1, FSMC1_DA11)
+#error Invalid pin assignment for FSMC1 DA11 pin: FSMC1_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC1, FSMC1_DA12)
+#error Invalid pin assignment for FSMC1 DA12 pin: FSMC1_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC1, FSMC1_DA13)
+#error Invalid pin assignment for FSMC1 DA13 pin: FSMC1_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC1, FSMC1_DA14)
+#error Invalid pin assignment for FSMC1 DA14 pin: FSMC1_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC1, FSMC1_DA15)
+#error Invalid pin assignment for FSMC1 DA15 pin: FSMC1_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC1, FSMC1_DA2)
+#error Invalid pin assignment for FSMC1 DA2 pin: FSMC1_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC1, FSMC1_DA3)
+#error Invalid pin assignment for FSMC1 DA3 pin: FSMC1_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC1, FSMC1_DA4)
+#error Invalid pin assignment for FSMC1 DA4 pin: FSMC1_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC1, FSMC1_DA5)
+#error Invalid pin assignment for FSMC1 DA5 pin: FSMC1_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC1, FSMC1_DA6)
+#error Invalid pin assignment for FSMC1 DA6 pin: FSMC1_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC1, FSMC1_DA7)
+#error Invalid pin assignment for FSMC1 DA7 pin: FSMC1_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC1, FSMC1_DA8)
+#error Invalid pin assignment for FSMC1 DA8 pin: FSMC1_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC1, FSMC1_DA9)
+#error Invalid pin assignment for FSMC1 DA9 pin: FSMC1_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC1, FSMC1_INT2)
+#error Invalid pin assignment for FSMC1 INT2 pin: FSMC1_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC1, FSMC1_INT3)
+#error Invalid pin assignment for FSMC1 INT3 pin: FSMC1_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC1, FSMC1_INTR)
+#error Invalid pin assignment for FSMC1 INTR pin: FSMC1_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC1, FSMC1_NBL0)
+#error Invalid pin assignment for FSMC1 NBL0 pin: FSMC1_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC1, FSMC1_NBL1)
+#error Invalid pin assignment for FSMC1 NBL1 pin: FSMC1_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC1, FSMC1_NCE2)
+#error Invalid pin assignment for FSMC1 NCE2 pin: FSMC1_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC1, FSMC1_NCE3)
+#error Invalid pin assignment for FSMC1 NCE3 pin: FSMC1_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC1, FSMC1_NE1)
+#error Invalid pin assignment for FSMC1 NE1 pin: FSMC1_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC1, FSMC1_NE2)
+#error Invalid pin assignment for FSMC1 NE2 pin: FSMC1_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC1, FSMC1_NE3)
+#error Invalid pin assignment for FSMC1 NE3 pin: FSMC1_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC1, FSMC1_NE4)
+#error Invalid pin assignment for FSMC1 NE4 pin: FSMC1_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC1, FSMC1_NIORD)
+#error Invalid pin assignment for FSMC1 NIORD pin: FSMC1_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC1, FSMC1_NIOWR)
+#error Invalid pin assignment for FSMC1 NIOWR pin: FSMC1_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC1, FSMC1_NL)
+#error Invalid pin assignment for FSMC1 NL pin: FSMC1_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC1, FSMC1_NOE)
+#error Invalid pin assignment for FSMC1 NOE pin: FSMC1_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC1, FSMC1_NREG)
+#error Invalid pin assignment for FSMC1 NREG pin: FSMC1_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC1, FSMC1_NWAIT)
+#error Invalid pin assignment for FSMC1 NWAIT pin: FSMC1_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC1, FSMC1_NWE)
+#error Invalid pin assignment for FSMC1 NWE pin: FSMC1_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC2
+#if !FIND_VALUE_FSMC_A0(_FSMC2, FSMC2_A0)
+#error Invalid pin assignment for FSMC2 A0 pin: FSMC2_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC2, FSMC2_A1)
+#error Invalid pin assignment for FSMC2 A1 pin: FSMC2_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC2, FSMC2_A10)
+#error Invalid pin assignment for FSMC2 A10 pin: FSMC2_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC2, FSMC2_A11)
+#error Invalid pin assignment for FSMC2 A11 pin: FSMC2_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC2, FSMC2_A12)
+#error Invalid pin assignment for FSMC2 A12 pin: FSMC2_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC2, FSMC2_A13)
+#error Invalid pin assignment for FSMC2 A13 pin: FSMC2_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC2, FSMC2_A14)
+#error Invalid pin assignment for FSMC2 A14 pin: FSMC2_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC2, FSMC2_A15)
+#error Invalid pin assignment for FSMC2 A15 pin: FSMC2_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC2, FSMC2_A16)
+#error Invalid pin assignment for FSMC2 A16 pin: FSMC2_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC2, FSMC2_A17)
+#error Invalid pin assignment for FSMC2 A17 pin: FSMC2_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC2, FSMC2_A18)
+#error Invalid pin assignment for FSMC2 A18 pin: FSMC2_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC2, FSMC2_A19)
+#error Invalid pin assignment for FSMC2 A19 pin: FSMC2_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC2, FSMC2_A2)
+#error Invalid pin assignment for FSMC2 A2 pin: FSMC2_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC2, FSMC2_A20)
+#error Invalid pin assignment for FSMC2 A20 pin: FSMC2_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC2, FSMC2_A21)
+#error Invalid pin assignment for FSMC2 A21 pin: FSMC2_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC2, FSMC2_A22)
+#error Invalid pin assignment for FSMC2 A22 pin: FSMC2_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC2, FSMC2_A23)
+#error Invalid pin assignment for FSMC2 A23 pin: FSMC2_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC2, FSMC2_A24)
+#error Invalid pin assignment for FSMC2 A24 pin: FSMC2_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC2, FSMC2_A25)
+#error Invalid pin assignment for FSMC2 A25 pin: FSMC2_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC2, FSMC2_A3)
+#error Invalid pin assignment for FSMC2 A3 pin: FSMC2_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC2, FSMC2_A4)
+#error Invalid pin assignment for FSMC2 A4 pin: FSMC2_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC2, FSMC2_A5)
+#error Invalid pin assignment for FSMC2 A5 pin: FSMC2_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC2, FSMC2_A6)
+#error Invalid pin assignment for FSMC2 A6 pin: FSMC2_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC2, FSMC2_A7)
+#error Invalid pin assignment for FSMC2 A7 pin: FSMC2_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC2, FSMC2_A8)
+#error Invalid pin assignment for FSMC2 A8 pin: FSMC2_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC2, FSMC2_A9)
+#error Invalid pin assignment for FSMC2 A9 pin: FSMC2_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC2, FSMC2_ALE)
+#error Invalid pin assignment for FSMC2 ALE pin: FSMC2_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC2, FSMC2_CD)
+#error Invalid pin assignment for FSMC2 CD pin: FSMC2_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC2, FSMC2_CLE)
+#error Invalid pin assignment for FSMC2 CLE pin: FSMC2_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC2, FSMC2_CLK)
+#error Invalid pin assignment for FSMC2 CLK pin: FSMC2_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC2, FSMC2_D0)
+#error Invalid pin assignment for FSMC2 D0 pin: FSMC2_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC2, FSMC2_D1)
+#error Invalid pin assignment for FSMC2 D1 pin: FSMC2_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC2, FSMC2_D10)
+#error Invalid pin assignment for FSMC2 D10 pin: FSMC2_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC2, FSMC2_D11)
+#error Invalid pin assignment for FSMC2 D11 pin: FSMC2_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC2, FSMC2_D12)
+#error Invalid pin assignment for FSMC2 D12 pin: FSMC2_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC2, FSMC2_D13)
+#error Invalid pin assignment for FSMC2 D13 pin: FSMC2_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC2, FSMC2_D14)
+#error Invalid pin assignment for FSMC2 D14 pin: FSMC2_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC2, FSMC2_D15)
+#error Invalid pin assignment for FSMC2 D15 pin: FSMC2_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC2, FSMC2_D2)
+#error Invalid pin assignment for FSMC2 D2 pin: FSMC2_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC2, FSMC2_D3)
+#error Invalid pin assignment for FSMC2 D3 pin: FSMC2_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC2, FSMC2_D4)
+#error Invalid pin assignment for FSMC2 D4 pin: FSMC2_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC2, FSMC2_D5)
+#error Invalid pin assignment for FSMC2 D5 pin: FSMC2_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC2, FSMC2_D6)
+#error Invalid pin assignment for FSMC2 D6 pin: FSMC2_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC2, FSMC2_D7)
+#error Invalid pin assignment for FSMC2 D7 pin: FSMC2_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC2, FSMC2_D8)
+#error Invalid pin assignment for FSMC2 D8 pin: FSMC2_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC2, FSMC2_D9)
+#error Invalid pin assignment for FSMC2 D9 pin: FSMC2_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC2, FSMC2_DA0)
+#error Invalid pin assignment for FSMC2 DA0 pin: FSMC2_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC2, FSMC2_DA1)
+#error Invalid pin assignment for FSMC2 DA1 pin: FSMC2_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC2, FSMC2_DA10)
+#error Invalid pin assignment for FSMC2 DA10 pin: FSMC2_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC2, FSMC2_DA11)
+#error Invalid pin assignment for FSMC2 DA11 pin: FSMC2_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC2, FSMC2_DA12)
+#error Invalid pin assignment for FSMC2 DA12 pin: FSMC2_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC2, FSMC2_DA13)
+#error Invalid pin assignment for FSMC2 DA13 pin: FSMC2_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC2, FSMC2_DA14)
+#error Invalid pin assignment for FSMC2 DA14 pin: FSMC2_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC2, FSMC2_DA15)
+#error Invalid pin assignment for FSMC2 DA15 pin: FSMC2_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC2, FSMC2_DA2)
+#error Invalid pin assignment for FSMC2 DA2 pin: FSMC2_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC2, FSMC2_DA3)
+#error Invalid pin assignment for FSMC2 DA3 pin: FSMC2_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC2, FSMC2_DA4)
+#error Invalid pin assignment for FSMC2 DA4 pin: FSMC2_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC2, FSMC2_DA5)
+#error Invalid pin assignment for FSMC2 DA5 pin: FSMC2_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC2, FSMC2_DA6)
+#error Invalid pin assignment for FSMC2 DA6 pin: FSMC2_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC2, FSMC2_DA7)
+#error Invalid pin assignment for FSMC2 DA7 pin: FSMC2_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC2, FSMC2_DA8)
+#error Invalid pin assignment for FSMC2 DA8 pin: FSMC2_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC2, FSMC2_DA9)
+#error Invalid pin assignment for FSMC2 DA9 pin: FSMC2_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC2, FSMC2_INT2)
+#error Invalid pin assignment for FSMC2 INT2 pin: FSMC2_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC2, FSMC2_INT3)
+#error Invalid pin assignment for FSMC2 INT3 pin: FSMC2_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC2, FSMC2_INTR)
+#error Invalid pin assignment for FSMC2 INTR pin: FSMC2_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC2, FSMC2_NBL0)
+#error Invalid pin assignment for FSMC2 NBL0 pin: FSMC2_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC2, FSMC2_NBL1)
+#error Invalid pin assignment for FSMC2 NBL1 pin: FSMC2_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC2, FSMC2_NCE2)
+#error Invalid pin assignment for FSMC2 NCE2 pin: FSMC2_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC2, FSMC2_NCE3)
+#error Invalid pin assignment for FSMC2 NCE3 pin: FSMC2_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC2, FSMC2_NE1)
+#error Invalid pin assignment for FSMC2 NE1 pin: FSMC2_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC2, FSMC2_NE2)
+#error Invalid pin assignment for FSMC2 NE2 pin: FSMC2_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC2, FSMC2_NE3)
+#error Invalid pin assignment for FSMC2 NE3 pin: FSMC2_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC2, FSMC2_NE4)
+#error Invalid pin assignment for FSMC2 NE4 pin: FSMC2_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC2, FSMC2_NIORD)
+#error Invalid pin assignment for FSMC2 NIORD pin: FSMC2_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC2, FSMC2_NIOWR)
+#error Invalid pin assignment for FSMC2 NIOWR pin: FSMC2_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC2, FSMC2_NL)
+#error Invalid pin assignment for FSMC2 NL pin: FSMC2_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC2, FSMC2_NOE)
+#error Invalid pin assignment for FSMC2 NOE pin: FSMC2_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC2, FSMC2_NREG)
+#error Invalid pin assignment for FSMC2 NREG pin: FSMC2_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC2, FSMC2_NWAIT)
+#error Invalid pin assignment for FSMC2 NWAIT pin: FSMC2_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC2, FSMC2_NWE)
+#error Invalid pin assignment for FSMC2 NWE pin: FSMC2_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC3
+#if !FIND_VALUE_FSMC_A0(_FSMC3, FSMC3_A0)
+#error Invalid pin assignment for FSMC3 A0 pin: FSMC3_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC3, FSMC3_A1)
+#error Invalid pin assignment for FSMC3 A1 pin: FSMC3_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC3, FSMC3_A10)
+#error Invalid pin assignment for FSMC3 A10 pin: FSMC3_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC3, FSMC3_A11)
+#error Invalid pin assignment for FSMC3 A11 pin: FSMC3_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC3, FSMC3_A12)
+#error Invalid pin assignment for FSMC3 A12 pin: FSMC3_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC3, FSMC3_A13)
+#error Invalid pin assignment for FSMC3 A13 pin: FSMC3_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC3, FSMC3_A14)
+#error Invalid pin assignment for FSMC3 A14 pin: FSMC3_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC3, FSMC3_A15)
+#error Invalid pin assignment for FSMC3 A15 pin: FSMC3_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC3, FSMC3_A16)
+#error Invalid pin assignment for FSMC3 A16 pin: FSMC3_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC3, FSMC3_A17)
+#error Invalid pin assignment for FSMC3 A17 pin: FSMC3_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC3, FSMC3_A18)
+#error Invalid pin assignment for FSMC3 A18 pin: FSMC3_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC3, FSMC3_A19)
+#error Invalid pin assignment for FSMC3 A19 pin: FSMC3_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC3, FSMC3_A2)
+#error Invalid pin assignment for FSMC3 A2 pin: FSMC3_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC3, FSMC3_A20)
+#error Invalid pin assignment for FSMC3 A20 pin: FSMC3_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC3, FSMC3_A21)
+#error Invalid pin assignment for FSMC3 A21 pin: FSMC3_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC3, FSMC3_A22)
+#error Invalid pin assignment for FSMC3 A22 pin: FSMC3_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC3, FSMC3_A23)
+#error Invalid pin assignment for FSMC3 A23 pin: FSMC3_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC3, FSMC3_A24)
+#error Invalid pin assignment for FSMC3 A24 pin: FSMC3_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC3, FSMC3_A25)
+#error Invalid pin assignment for FSMC3 A25 pin: FSMC3_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC3, FSMC3_A3)
+#error Invalid pin assignment for FSMC3 A3 pin: FSMC3_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC3, FSMC3_A4)
+#error Invalid pin assignment for FSMC3 A4 pin: FSMC3_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC3, FSMC3_A5)
+#error Invalid pin assignment for FSMC3 A5 pin: FSMC3_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC3, FSMC3_A6)
+#error Invalid pin assignment for FSMC3 A6 pin: FSMC3_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC3, FSMC3_A7)
+#error Invalid pin assignment for FSMC3 A7 pin: FSMC3_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC3, FSMC3_A8)
+#error Invalid pin assignment for FSMC3 A8 pin: FSMC3_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC3, FSMC3_A9)
+#error Invalid pin assignment for FSMC3 A9 pin: FSMC3_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC3, FSMC3_ALE)
+#error Invalid pin assignment for FSMC3 ALE pin: FSMC3_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC3, FSMC3_CD)
+#error Invalid pin assignment for FSMC3 CD pin: FSMC3_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC3, FSMC3_CLE)
+#error Invalid pin assignment for FSMC3 CLE pin: FSMC3_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC3, FSMC3_CLK)
+#error Invalid pin assignment for FSMC3 CLK pin: FSMC3_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC3, FSMC3_D0)
+#error Invalid pin assignment for FSMC3 D0 pin: FSMC3_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC3, FSMC3_D1)
+#error Invalid pin assignment for FSMC3 D1 pin: FSMC3_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC3, FSMC3_D10)
+#error Invalid pin assignment for FSMC3 D10 pin: FSMC3_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC3, FSMC3_D11)
+#error Invalid pin assignment for FSMC3 D11 pin: FSMC3_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC3, FSMC3_D12)
+#error Invalid pin assignment for FSMC3 D12 pin: FSMC3_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC3, FSMC3_D13)
+#error Invalid pin assignment for FSMC3 D13 pin: FSMC3_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC3, FSMC3_D14)
+#error Invalid pin assignment for FSMC3 D14 pin: FSMC3_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC3, FSMC3_D15)
+#error Invalid pin assignment for FSMC3 D15 pin: FSMC3_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC3, FSMC3_D2)
+#error Invalid pin assignment for FSMC3 D2 pin: FSMC3_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC3, FSMC3_D3)
+#error Invalid pin assignment for FSMC3 D3 pin: FSMC3_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC3, FSMC3_D4)
+#error Invalid pin assignment for FSMC3 D4 pin: FSMC3_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC3, FSMC3_D5)
+#error Invalid pin assignment for FSMC3 D5 pin: FSMC3_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC3, FSMC3_D6)
+#error Invalid pin assignment for FSMC3 D6 pin: FSMC3_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC3, FSMC3_D7)
+#error Invalid pin assignment for FSMC3 D7 pin: FSMC3_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC3, FSMC3_D8)
+#error Invalid pin assignment for FSMC3 D8 pin: FSMC3_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC3, FSMC3_D9)
+#error Invalid pin assignment for FSMC3 D9 pin: FSMC3_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC3, FSMC3_DA0)
+#error Invalid pin assignment for FSMC3 DA0 pin: FSMC3_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC3, FSMC3_DA1)
+#error Invalid pin assignment for FSMC3 DA1 pin: FSMC3_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC3, FSMC3_DA10)
+#error Invalid pin assignment for FSMC3 DA10 pin: FSMC3_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC3, FSMC3_DA11)
+#error Invalid pin assignment for FSMC3 DA11 pin: FSMC3_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC3, FSMC3_DA12)
+#error Invalid pin assignment for FSMC3 DA12 pin: FSMC3_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC3, FSMC3_DA13)
+#error Invalid pin assignment for FSMC3 DA13 pin: FSMC3_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC3, FSMC3_DA14)
+#error Invalid pin assignment for FSMC3 DA14 pin: FSMC3_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC3, FSMC3_DA15)
+#error Invalid pin assignment for FSMC3 DA15 pin: FSMC3_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC3, FSMC3_DA2)
+#error Invalid pin assignment for FSMC3 DA2 pin: FSMC3_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC3, FSMC3_DA3)
+#error Invalid pin assignment for FSMC3 DA3 pin: FSMC3_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC3, FSMC3_DA4)
+#error Invalid pin assignment for FSMC3 DA4 pin: FSMC3_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC3, FSMC3_DA5)
+#error Invalid pin assignment for FSMC3 DA5 pin: FSMC3_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC3, FSMC3_DA6)
+#error Invalid pin assignment for FSMC3 DA6 pin: FSMC3_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC3, FSMC3_DA7)
+#error Invalid pin assignment for FSMC3 DA7 pin: FSMC3_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC3, FSMC3_DA8)
+#error Invalid pin assignment for FSMC3 DA8 pin: FSMC3_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC3, FSMC3_DA9)
+#error Invalid pin assignment for FSMC3 DA9 pin: FSMC3_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC3, FSMC3_INT2)
+#error Invalid pin assignment for FSMC3 INT2 pin: FSMC3_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC3, FSMC3_INT3)
+#error Invalid pin assignment for FSMC3 INT3 pin: FSMC3_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC3, FSMC3_INTR)
+#error Invalid pin assignment for FSMC3 INTR pin: FSMC3_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC3, FSMC3_NBL0)
+#error Invalid pin assignment for FSMC3 NBL0 pin: FSMC3_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC3, FSMC3_NBL1)
+#error Invalid pin assignment for FSMC3 NBL1 pin: FSMC3_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC3, FSMC3_NCE2)
+#error Invalid pin assignment for FSMC3 NCE2 pin: FSMC3_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC3, FSMC3_NCE3)
+#error Invalid pin assignment for FSMC3 NCE3 pin: FSMC3_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC3, FSMC3_NE1)
+#error Invalid pin assignment for FSMC3 NE1 pin: FSMC3_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC3, FSMC3_NE2)
+#error Invalid pin assignment for FSMC3 NE2 pin: FSMC3_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC3, FSMC3_NE3)
+#error Invalid pin assignment for FSMC3 NE3 pin: FSMC3_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC3, FSMC3_NE4)
+#error Invalid pin assignment for FSMC3 NE4 pin: FSMC3_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC3, FSMC3_NIORD)
+#error Invalid pin assignment for FSMC3 NIORD pin: FSMC3_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC3, FSMC3_NIOWR)
+#error Invalid pin assignment for FSMC3 NIOWR pin: FSMC3_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC3, FSMC3_NL)
+#error Invalid pin assignment for FSMC3 NL pin: FSMC3_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC3, FSMC3_NOE)
+#error Invalid pin assignment for FSMC3 NOE pin: FSMC3_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC3, FSMC3_NREG)
+#error Invalid pin assignment for FSMC3 NREG pin: FSMC3_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC3, FSMC3_NWAIT)
+#error Invalid pin assignment for FSMC3 NWAIT pin: FSMC3_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC3, FSMC3_NWE)
+#error Invalid pin assignment for FSMC3 NWE pin: FSMC3_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC4
+#if !FIND_VALUE_FSMC_A0(_FSMC4, FSMC4_A0)
+#error Invalid pin assignment for FSMC4 A0 pin: FSMC4_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC4, FSMC4_A1)
+#error Invalid pin assignment for FSMC4 A1 pin: FSMC4_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC4, FSMC4_A10)
+#error Invalid pin assignment for FSMC4 A10 pin: FSMC4_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC4, FSMC4_A11)
+#error Invalid pin assignment for FSMC4 A11 pin: FSMC4_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC4, FSMC4_A12)
+#error Invalid pin assignment for FSMC4 A12 pin: FSMC4_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC4, FSMC4_A13)
+#error Invalid pin assignment for FSMC4 A13 pin: FSMC4_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC4, FSMC4_A14)
+#error Invalid pin assignment for FSMC4 A14 pin: FSMC4_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC4, FSMC4_A15)
+#error Invalid pin assignment for FSMC4 A15 pin: FSMC4_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC4, FSMC4_A16)
+#error Invalid pin assignment for FSMC4 A16 pin: FSMC4_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC4, FSMC4_A17)
+#error Invalid pin assignment for FSMC4 A17 pin: FSMC4_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC4, FSMC4_A18)
+#error Invalid pin assignment for FSMC4 A18 pin: FSMC4_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC4, FSMC4_A19)
+#error Invalid pin assignment for FSMC4 A19 pin: FSMC4_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC4, FSMC4_A2)
+#error Invalid pin assignment for FSMC4 A2 pin: FSMC4_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC4, FSMC4_A20)
+#error Invalid pin assignment for FSMC4 A20 pin: FSMC4_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC4, FSMC4_A21)
+#error Invalid pin assignment for FSMC4 A21 pin: FSMC4_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC4, FSMC4_A22)
+#error Invalid pin assignment for FSMC4 A22 pin: FSMC4_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC4, FSMC4_A23)
+#error Invalid pin assignment for FSMC4 A23 pin: FSMC4_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC4, FSMC4_A24)
+#error Invalid pin assignment for FSMC4 A24 pin: FSMC4_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC4, FSMC4_A25)
+#error Invalid pin assignment for FSMC4 A25 pin: FSMC4_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC4, FSMC4_A3)
+#error Invalid pin assignment for FSMC4 A3 pin: FSMC4_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC4, FSMC4_A4)
+#error Invalid pin assignment for FSMC4 A4 pin: FSMC4_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC4, FSMC4_A5)
+#error Invalid pin assignment for FSMC4 A5 pin: FSMC4_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC4, FSMC4_A6)
+#error Invalid pin assignment for FSMC4 A6 pin: FSMC4_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC4, FSMC4_A7)
+#error Invalid pin assignment for FSMC4 A7 pin: FSMC4_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC4, FSMC4_A8)
+#error Invalid pin assignment for FSMC4 A8 pin: FSMC4_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC4, FSMC4_A9)
+#error Invalid pin assignment for FSMC4 A9 pin: FSMC4_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC4, FSMC4_ALE)
+#error Invalid pin assignment for FSMC4 ALE pin: FSMC4_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC4, FSMC4_CD)
+#error Invalid pin assignment for FSMC4 CD pin: FSMC4_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC4, FSMC4_CLE)
+#error Invalid pin assignment for FSMC4 CLE pin: FSMC4_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC4, FSMC4_CLK)
+#error Invalid pin assignment for FSMC4 CLK pin: FSMC4_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC4, FSMC4_D0)
+#error Invalid pin assignment for FSMC4 D0 pin: FSMC4_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC4, FSMC4_D1)
+#error Invalid pin assignment for FSMC4 D1 pin: FSMC4_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC4, FSMC4_D10)
+#error Invalid pin assignment for FSMC4 D10 pin: FSMC4_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC4, FSMC4_D11)
+#error Invalid pin assignment for FSMC4 D11 pin: FSMC4_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC4, FSMC4_D12)
+#error Invalid pin assignment for FSMC4 D12 pin: FSMC4_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC4, FSMC4_D13)
+#error Invalid pin assignment for FSMC4 D13 pin: FSMC4_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC4, FSMC4_D14)
+#error Invalid pin assignment for FSMC4 D14 pin: FSMC4_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC4, FSMC4_D15)
+#error Invalid pin assignment for FSMC4 D15 pin: FSMC4_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC4, FSMC4_D2)
+#error Invalid pin assignment for FSMC4 D2 pin: FSMC4_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC4, FSMC4_D3)
+#error Invalid pin assignment for FSMC4 D3 pin: FSMC4_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC4, FSMC4_D4)
+#error Invalid pin assignment for FSMC4 D4 pin: FSMC4_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC4, FSMC4_D5)
+#error Invalid pin assignment for FSMC4 D5 pin: FSMC4_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC4, FSMC4_D6)
+#error Invalid pin assignment for FSMC4 D6 pin: FSMC4_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC4, FSMC4_D7)
+#error Invalid pin assignment for FSMC4 D7 pin: FSMC4_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC4, FSMC4_D8)
+#error Invalid pin assignment for FSMC4 D8 pin: FSMC4_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC4, FSMC4_D9)
+#error Invalid pin assignment for FSMC4 D9 pin: FSMC4_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC4, FSMC4_DA0)
+#error Invalid pin assignment for FSMC4 DA0 pin: FSMC4_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC4, FSMC4_DA1)
+#error Invalid pin assignment for FSMC4 DA1 pin: FSMC4_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC4, FSMC4_DA10)
+#error Invalid pin assignment for FSMC4 DA10 pin: FSMC4_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC4, FSMC4_DA11)
+#error Invalid pin assignment for FSMC4 DA11 pin: FSMC4_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC4, FSMC4_DA12)
+#error Invalid pin assignment for FSMC4 DA12 pin: FSMC4_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC4, FSMC4_DA13)
+#error Invalid pin assignment for FSMC4 DA13 pin: FSMC4_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC4, FSMC4_DA14)
+#error Invalid pin assignment for FSMC4 DA14 pin: FSMC4_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC4, FSMC4_DA15)
+#error Invalid pin assignment for FSMC4 DA15 pin: FSMC4_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC4, FSMC4_DA2)
+#error Invalid pin assignment for FSMC4 DA2 pin: FSMC4_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC4, FSMC4_DA3)
+#error Invalid pin assignment for FSMC4 DA3 pin: FSMC4_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC4, FSMC4_DA4)
+#error Invalid pin assignment for FSMC4 DA4 pin: FSMC4_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC4, FSMC4_DA5)
+#error Invalid pin assignment for FSMC4 DA5 pin: FSMC4_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC4, FSMC4_DA6)
+#error Invalid pin assignment for FSMC4 DA6 pin: FSMC4_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC4, FSMC4_DA7)
+#error Invalid pin assignment for FSMC4 DA7 pin: FSMC4_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC4, FSMC4_DA8)
+#error Invalid pin assignment for FSMC4 DA8 pin: FSMC4_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC4, FSMC4_DA9)
+#error Invalid pin assignment for FSMC4 DA9 pin: FSMC4_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC4, FSMC4_INT2)
+#error Invalid pin assignment for FSMC4 INT2 pin: FSMC4_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC4, FSMC4_INT3)
+#error Invalid pin assignment for FSMC4 INT3 pin: FSMC4_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC4, FSMC4_INTR)
+#error Invalid pin assignment for FSMC4 INTR pin: FSMC4_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC4, FSMC4_NBL0)
+#error Invalid pin assignment for FSMC4 NBL0 pin: FSMC4_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC4, FSMC4_NBL1)
+#error Invalid pin assignment for FSMC4 NBL1 pin: FSMC4_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC4, FSMC4_NCE2)
+#error Invalid pin assignment for FSMC4 NCE2 pin: FSMC4_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC4, FSMC4_NCE3)
+#error Invalid pin assignment for FSMC4 NCE3 pin: FSMC4_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC4, FSMC4_NE1)
+#error Invalid pin assignment for FSMC4 NE1 pin: FSMC4_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC4, FSMC4_NE2)
+#error Invalid pin assignment for FSMC4 NE2 pin: FSMC4_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC4, FSMC4_NE3)
+#error Invalid pin assignment for FSMC4 NE3 pin: FSMC4_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC4, FSMC4_NE4)
+#error Invalid pin assignment for FSMC4 NE4 pin: FSMC4_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC4, FSMC4_NIORD)
+#error Invalid pin assignment for FSMC4 NIORD pin: FSMC4_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC4, FSMC4_NIOWR)
+#error Invalid pin assignment for FSMC4 NIOWR pin: FSMC4_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC4, FSMC4_NL)
+#error Invalid pin assignment for FSMC4 NL pin: FSMC4_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC4, FSMC4_NOE)
+#error Invalid pin assignment for FSMC4 NOE pin: FSMC4_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC4, FSMC4_NREG)
+#error Invalid pin assignment for FSMC4 NREG pin: FSMC4_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC4, FSMC4_NWAIT)
+#error Invalid pin assignment for FSMC4 NWAIT pin: FSMC4_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC4, FSMC4_NWE)
+#error Invalid pin assignment for FSMC4 NWE pin: FSMC4_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC5
+#if !FIND_VALUE_FSMC_A0(_FSMC5, FSMC5_A0)
+#error Invalid pin assignment for FSMC5 A0 pin: FSMC5_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC5, FSMC5_A1)
+#error Invalid pin assignment for FSMC5 A1 pin: FSMC5_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC5, FSMC5_A10)
+#error Invalid pin assignment for FSMC5 A10 pin: FSMC5_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC5, FSMC5_A11)
+#error Invalid pin assignment for FSMC5 A11 pin: FSMC5_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC5, FSMC5_A12)
+#error Invalid pin assignment for FSMC5 A12 pin: FSMC5_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC5, FSMC5_A13)
+#error Invalid pin assignment for FSMC5 A13 pin: FSMC5_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC5, FSMC5_A14)
+#error Invalid pin assignment for FSMC5 A14 pin: FSMC5_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC5, FSMC5_A15)
+#error Invalid pin assignment for FSMC5 A15 pin: FSMC5_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC5, FSMC5_A16)
+#error Invalid pin assignment for FSMC5 A16 pin: FSMC5_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC5, FSMC5_A17)
+#error Invalid pin assignment for FSMC5 A17 pin: FSMC5_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC5, FSMC5_A18)
+#error Invalid pin assignment for FSMC5 A18 pin: FSMC5_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC5, FSMC5_A19)
+#error Invalid pin assignment for FSMC5 A19 pin: FSMC5_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC5, FSMC5_A2)
+#error Invalid pin assignment for FSMC5 A2 pin: FSMC5_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC5, FSMC5_A20)
+#error Invalid pin assignment for FSMC5 A20 pin: FSMC5_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC5, FSMC5_A21)
+#error Invalid pin assignment for FSMC5 A21 pin: FSMC5_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC5, FSMC5_A22)
+#error Invalid pin assignment for FSMC5 A22 pin: FSMC5_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC5, FSMC5_A23)
+#error Invalid pin assignment for FSMC5 A23 pin: FSMC5_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC5, FSMC5_A24)
+#error Invalid pin assignment for FSMC5 A24 pin: FSMC5_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC5, FSMC5_A25)
+#error Invalid pin assignment for FSMC5 A25 pin: FSMC5_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC5, FSMC5_A3)
+#error Invalid pin assignment for FSMC5 A3 pin: FSMC5_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC5, FSMC5_A4)
+#error Invalid pin assignment for FSMC5 A4 pin: FSMC5_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC5, FSMC5_A5)
+#error Invalid pin assignment for FSMC5 A5 pin: FSMC5_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC5, FSMC5_A6)
+#error Invalid pin assignment for FSMC5 A6 pin: FSMC5_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC5, FSMC5_A7)
+#error Invalid pin assignment for FSMC5 A7 pin: FSMC5_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC5, FSMC5_A8)
+#error Invalid pin assignment for FSMC5 A8 pin: FSMC5_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC5, FSMC5_A9)
+#error Invalid pin assignment for FSMC5 A9 pin: FSMC5_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC5, FSMC5_ALE)
+#error Invalid pin assignment for FSMC5 ALE pin: FSMC5_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC5, FSMC5_CD)
+#error Invalid pin assignment for FSMC5 CD pin: FSMC5_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC5, FSMC5_CLE)
+#error Invalid pin assignment for FSMC5 CLE pin: FSMC5_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC5, FSMC5_CLK)
+#error Invalid pin assignment for FSMC5 CLK pin: FSMC5_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC5, FSMC5_D0)
+#error Invalid pin assignment for FSMC5 D0 pin: FSMC5_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC5, FSMC5_D1)
+#error Invalid pin assignment for FSMC5 D1 pin: FSMC5_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC5, FSMC5_D10)
+#error Invalid pin assignment for FSMC5 D10 pin: FSMC5_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC5, FSMC5_D11)
+#error Invalid pin assignment for FSMC5 D11 pin: FSMC5_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC5, FSMC5_D12)
+#error Invalid pin assignment for FSMC5 D12 pin: FSMC5_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC5, FSMC5_D13)
+#error Invalid pin assignment for FSMC5 D13 pin: FSMC5_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC5, FSMC5_D14)
+#error Invalid pin assignment for FSMC5 D14 pin: FSMC5_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC5, FSMC5_D15)
+#error Invalid pin assignment for FSMC5 D15 pin: FSMC5_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC5, FSMC5_D2)
+#error Invalid pin assignment for FSMC5 D2 pin: FSMC5_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC5, FSMC5_D3)
+#error Invalid pin assignment for FSMC5 D3 pin: FSMC5_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC5, FSMC5_D4)
+#error Invalid pin assignment for FSMC5 D4 pin: FSMC5_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC5, FSMC5_D5)
+#error Invalid pin assignment for FSMC5 D5 pin: FSMC5_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC5, FSMC5_D6)
+#error Invalid pin assignment for FSMC5 D6 pin: FSMC5_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC5, FSMC5_D7)
+#error Invalid pin assignment for FSMC5 D7 pin: FSMC5_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC5, FSMC5_D8)
+#error Invalid pin assignment for FSMC5 D8 pin: FSMC5_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC5, FSMC5_D9)
+#error Invalid pin assignment for FSMC5 D9 pin: FSMC5_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC5, FSMC5_DA0)
+#error Invalid pin assignment for FSMC5 DA0 pin: FSMC5_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC5, FSMC5_DA1)
+#error Invalid pin assignment for FSMC5 DA1 pin: FSMC5_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC5, FSMC5_DA10)
+#error Invalid pin assignment for FSMC5 DA10 pin: FSMC5_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC5, FSMC5_DA11)
+#error Invalid pin assignment for FSMC5 DA11 pin: FSMC5_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC5, FSMC5_DA12)
+#error Invalid pin assignment for FSMC5 DA12 pin: FSMC5_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC5, FSMC5_DA13)
+#error Invalid pin assignment for FSMC5 DA13 pin: FSMC5_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC5, FSMC5_DA14)
+#error Invalid pin assignment for FSMC5 DA14 pin: FSMC5_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC5, FSMC5_DA15)
+#error Invalid pin assignment for FSMC5 DA15 pin: FSMC5_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC5, FSMC5_DA2)
+#error Invalid pin assignment for FSMC5 DA2 pin: FSMC5_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC5, FSMC5_DA3)
+#error Invalid pin assignment for FSMC5 DA3 pin: FSMC5_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC5, FSMC5_DA4)
+#error Invalid pin assignment for FSMC5 DA4 pin: FSMC5_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC5, FSMC5_DA5)
+#error Invalid pin assignment for FSMC5 DA5 pin: FSMC5_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC5, FSMC5_DA6)
+#error Invalid pin assignment for FSMC5 DA6 pin: FSMC5_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC5, FSMC5_DA7)
+#error Invalid pin assignment for FSMC5 DA7 pin: FSMC5_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC5, FSMC5_DA8)
+#error Invalid pin assignment for FSMC5 DA8 pin: FSMC5_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC5, FSMC5_DA9)
+#error Invalid pin assignment for FSMC5 DA9 pin: FSMC5_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC5, FSMC5_INT2)
+#error Invalid pin assignment for FSMC5 INT2 pin: FSMC5_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC5, FSMC5_INT3)
+#error Invalid pin assignment for FSMC5 INT3 pin: FSMC5_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC5, FSMC5_INTR)
+#error Invalid pin assignment for FSMC5 INTR pin: FSMC5_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC5, FSMC5_NBL0)
+#error Invalid pin assignment for FSMC5 NBL0 pin: FSMC5_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC5, FSMC5_NBL1)
+#error Invalid pin assignment for FSMC5 NBL1 pin: FSMC5_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC5, FSMC5_NCE2)
+#error Invalid pin assignment for FSMC5 NCE2 pin: FSMC5_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC5, FSMC5_NCE3)
+#error Invalid pin assignment for FSMC5 NCE3 pin: FSMC5_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC5, FSMC5_NE1)
+#error Invalid pin assignment for FSMC5 NE1 pin: FSMC5_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC5, FSMC5_NE2)
+#error Invalid pin assignment for FSMC5 NE2 pin: FSMC5_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC5, FSMC5_NE3)
+#error Invalid pin assignment for FSMC5 NE3 pin: FSMC5_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC5, FSMC5_NE4)
+#error Invalid pin assignment for FSMC5 NE4 pin: FSMC5_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC5, FSMC5_NIORD)
+#error Invalid pin assignment for FSMC5 NIORD pin: FSMC5_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC5, FSMC5_NIOWR)
+#error Invalid pin assignment for FSMC5 NIOWR pin: FSMC5_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC5, FSMC5_NL)
+#error Invalid pin assignment for FSMC5 NL pin: FSMC5_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC5, FSMC5_NOE)
+#error Invalid pin assignment for FSMC5 NOE pin: FSMC5_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC5, FSMC5_NREG)
+#error Invalid pin assignment for FSMC5 NREG pin: FSMC5_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC5, FSMC5_NWAIT)
+#error Invalid pin assignment for FSMC5 NWAIT pin: FSMC5_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC5, FSMC5_NWE)
+#error Invalid pin assignment for FSMC5 NWE pin: FSMC5_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC6
+#if !FIND_VALUE_FSMC_A0(_FSMC6, FSMC6_A0)
+#error Invalid pin assignment for FSMC6 A0 pin: FSMC6_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC6, FSMC6_A1)
+#error Invalid pin assignment for FSMC6 A1 pin: FSMC6_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC6, FSMC6_A10)
+#error Invalid pin assignment for FSMC6 A10 pin: FSMC6_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC6, FSMC6_A11)
+#error Invalid pin assignment for FSMC6 A11 pin: FSMC6_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC6, FSMC6_A12)
+#error Invalid pin assignment for FSMC6 A12 pin: FSMC6_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC6, FSMC6_A13)
+#error Invalid pin assignment for FSMC6 A13 pin: FSMC6_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC6, FSMC6_A14)
+#error Invalid pin assignment for FSMC6 A14 pin: FSMC6_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC6, FSMC6_A15)
+#error Invalid pin assignment for FSMC6 A15 pin: FSMC6_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC6, FSMC6_A16)
+#error Invalid pin assignment for FSMC6 A16 pin: FSMC6_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC6, FSMC6_A17)
+#error Invalid pin assignment for FSMC6 A17 pin: FSMC6_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC6, FSMC6_A18)
+#error Invalid pin assignment for FSMC6 A18 pin: FSMC6_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC6, FSMC6_A19)
+#error Invalid pin assignment for FSMC6 A19 pin: FSMC6_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC6, FSMC6_A2)
+#error Invalid pin assignment for FSMC6 A2 pin: FSMC6_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC6, FSMC6_A20)
+#error Invalid pin assignment for FSMC6 A20 pin: FSMC6_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC6, FSMC6_A21)
+#error Invalid pin assignment for FSMC6 A21 pin: FSMC6_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC6, FSMC6_A22)
+#error Invalid pin assignment for FSMC6 A22 pin: FSMC6_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC6, FSMC6_A23)
+#error Invalid pin assignment for FSMC6 A23 pin: FSMC6_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC6, FSMC6_A24)
+#error Invalid pin assignment for FSMC6 A24 pin: FSMC6_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC6, FSMC6_A25)
+#error Invalid pin assignment for FSMC6 A25 pin: FSMC6_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC6, FSMC6_A3)
+#error Invalid pin assignment for FSMC6 A3 pin: FSMC6_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC6, FSMC6_A4)
+#error Invalid pin assignment for FSMC6 A4 pin: FSMC6_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC6, FSMC6_A5)
+#error Invalid pin assignment for FSMC6 A5 pin: FSMC6_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC6, FSMC6_A6)
+#error Invalid pin assignment for FSMC6 A6 pin: FSMC6_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC6, FSMC6_A7)
+#error Invalid pin assignment for FSMC6 A7 pin: FSMC6_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC6, FSMC6_A8)
+#error Invalid pin assignment for FSMC6 A8 pin: FSMC6_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC6, FSMC6_A9)
+#error Invalid pin assignment for FSMC6 A9 pin: FSMC6_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC6, FSMC6_ALE)
+#error Invalid pin assignment for FSMC6 ALE pin: FSMC6_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC6, FSMC6_CD)
+#error Invalid pin assignment for FSMC6 CD pin: FSMC6_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC6, FSMC6_CLE)
+#error Invalid pin assignment for FSMC6 CLE pin: FSMC6_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC6, FSMC6_CLK)
+#error Invalid pin assignment for FSMC6 CLK pin: FSMC6_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC6, FSMC6_D0)
+#error Invalid pin assignment for FSMC6 D0 pin: FSMC6_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC6, FSMC6_D1)
+#error Invalid pin assignment for FSMC6 D1 pin: FSMC6_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC6, FSMC6_D10)
+#error Invalid pin assignment for FSMC6 D10 pin: FSMC6_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC6, FSMC6_D11)
+#error Invalid pin assignment for FSMC6 D11 pin: FSMC6_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC6, FSMC6_D12)
+#error Invalid pin assignment for FSMC6 D12 pin: FSMC6_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC6, FSMC6_D13)
+#error Invalid pin assignment for FSMC6 D13 pin: FSMC6_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC6, FSMC6_D14)
+#error Invalid pin assignment for FSMC6 D14 pin: FSMC6_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC6, FSMC6_D15)
+#error Invalid pin assignment for FSMC6 D15 pin: FSMC6_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC6, FSMC6_D2)
+#error Invalid pin assignment for FSMC6 D2 pin: FSMC6_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC6, FSMC6_D3)
+#error Invalid pin assignment for FSMC6 D3 pin: FSMC6_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC6, FSMC6_D4)
+#error Invalid pin assignment for FSMC6 D4 pin: FSMC6_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC6, FSMC6_D5)
+#error Invalid pin assignment for FSMC6 D5 pin: FSMC6_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC6, FSMC6_D6)
+#error Invalid pin assignment for FSMC6 D6 pin: FSMC6_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC6, FSMC6_D7)
+#error Invalid pin assignment for FSMC6 D7 pin: FSMC6_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC6, FSMC6_D8)
+#error Invalid pin assignment for FSMC6 D8 pin: FSMC6_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC6, FSMC6_D9)
+#error Invalid pin assignment for FSMC6 D9 pin: FSMC6_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC6, FSMC6_DA0)
+#error Invalid pin assignment for FSMC6 DA0 pin: FSMC6_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC6, FSMC6_DA1)
+#error Invalid pin assignment for FSMC6 DA1 pin: FSMC6_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC6, FSMC6_DA10)
+#error Invalid pin assignment for FSMC6 DA10 pin: FSMC6_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC6, FSMC6_DA11)
+#error Invalid pin assignment for FSMC6 DA11 pin: FSMC6_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC6, FSMC6_DA12)
+#error Invalid pin assignment for FSMC6 DA12 pin: FSMC6_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC6, FSMC6_DA13)
+#error Invalid pin assignment for FSMC6 DA13 pin: FSMC6_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC6, FSMC6_DA14)
+#error Invalid pin assignment for FSMC6 DA14 pin: FSMC6_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC6, FSMC6_DA15)
+#error Invalid pin assignment for FSMC6 DA15 pin: FSMC6_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC6, FSMC6_DA2)
+#error Invalid pin assignment for FSMC6 DA2 pin: FSMC6_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC6, FSMC6_DA3)
+#error Invalid pin assignment for FSMC6 DA3 pin: FSMC6_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC6, FSMC6_DA4)
+#error Invalid pin assignment for FSMC6 DA4 pin: FSMC6_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC6, FSMC6_DA5)
+#error Invalid pin assignment for FSMC6 DA5 pin: FSMC6_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC6, FSMC6_DA6)
+#error Invalid pin assignment for FSMC6 DA6 pin: FSMC6_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC6, FSMC6_DA7)
+#error Invalid pin assignment for FSMC6 DA7 pin: FSMC6_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC6, FSMC6_DA8)
+#error Invalid pin assignment for FSMC6 DA8 pin: FSMC6_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC6, FSMC6_DA9)
+#error Invalid pin assignment for FSMC6 DA9 pin: FSMC6_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC6, FSMC6_INT2)
+#error Invalid pin assignment for FSMC6 INT2 pin: FSMC6_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC6, FSMC6_INT3)
+#error Invalid pin assignment for FSMC6 INT3 pin: FSMC6_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC6, FSMC6_INTR)
+#error Invalid pin assignment for FSMC6 INTR pin: FSMC6_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC6, FSMC6_NBL0)
+#error Invalid pin assignment for FSMC6 NBL0 pin: FSMC6_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC6, FSMC6_NBL1)
+#error Invalid pin assignment for FSMC6 NBL1 pin: FSMC6_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC6, FSMC6_NCE2)
+#error Invalid pin assignment for FSMC6 NCE2 pin: FSMC6_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC6, FSMC6_NCE3)
+#error Invalid pin assignment for FSMC6 NCE3 pin: FSMC6_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC6, FSMC6_NE1)
+#error Invalid pin assignment for FSMC6 NE1 pin: FSMC6_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC6, FSMC6_NE2)
+#error Invalid pin assignment for FSMC6 NE2 pin: FSMC6_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC6, FSMC6_NE3)
+#error Invalid pin assignment for FSMC6 NE3 pin: FSMC6_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC6, FSMC6_NE4)
+#error Invalid pin assignment for FSMC6 NE4 pin: FSMC6_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC6, FSMC6_NIORD)
+#error Invalid pin assignment for FSMC6 NIORD pin: FSMC6_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC6, FSMC6_NIOWR)
+#error Invalid pin assignment for FSMC6 NIOWR pin: FSMC6_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC6, FSMC6_NL)
+#error Invalid pin assignment for FSMC6 NL pin: FSMC6_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC6, FSMC6_NOE)
+#error Invalid pin assignment for FSMC6 NOE pin: FSMC6_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC6, FSMC6_NREG)
+#error Invalid pin assignment for FSMC6 NREG pin: FSMC6_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC6, FSMC6_NWAIT)
+#error Invalid pin assignment for FSMC6 NWAIT pin: FSMC6_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC6, FSMC6_NWE)
+#error Invalid pin assignment for FSMC6 NWE pin: FSMC6_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC7
+#if !FIND_VALUE_FSMC_A0(_FSMC7, FSMC7_A0)
+#error Invalid pin assignment for FSMC7 A0 pin: FSMC7_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC7, FSMC7_A1)
+#error Invalid pin assignment for FSMC7 A1 pin: FSMC7_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC7, FSMC7_A10)
+#error Invalid pin assignment for FSMC7 A10 pin: FSMC7_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC7, FSMC7_A11)
+#error Invalid pin assignment for FSMC7 A11 pin: FSMC7_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC7, FSMC7_A12)
+#error Invalid pin assignment for FSMC7 A12 pin: FSMC7_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC7, FSMC7_A13)
+#error Invalid pin assignment for FSMC7 A13 pin: FSMC7_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC7, FSMC7_A14)
+#error Invalid pin assignment for FSMC7 A14 pin: FSMC7_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC7, FSMC7_A15)
+#error Invalid pin assignment for FSMC7 A15 pin: FSMC7_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC7, FSMC7_A16)
+#error Invalid pin assignment for FSMC7 A16 pin: FSMC7_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC7, FSMC7_A17)
+#error Invalid pin assignment for FSMC7 A17 pin: FSMC7_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC7, FSMC7_A18)
+#error Invalid pin assignment for FSMC7 A18 pin: FSMC7_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC7, FSMC7_A19)
+#error Invalid pin assignment for FSMC7 A19 pin: FSMC7_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC7, FSMC7_A2)
+#error Invalid pin assignment for FSMC7 A2 pin: FSMC7_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC7, FSMC7_A20)
+#error Invalid pin assignment for FSMC7 A20 pin: FSMC7_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC7, FSMC7_A21)
+#error Invalid pin assignment for FSMC7 A21 pin: FSMC7_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC7, FSMC7_A22)
+#error Invalid pin assignment for FSMC7 A22 pin: FSMC7_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC7, FSMC7_A23)
+#error Invalid pin assignment for FSMC7 A23 pin: FSMC7_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC7, FSMC7_A24)
+#error Invalid pin assignment for FSMC7 A24 pin: FSMC7_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC7, FSMC7_A25)
+#error Invalid pin assignment for FSMC7 A25 pin: FSMC7_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC7, FSMC7_A3)
+#error Invalid pin assignment for FSMC7 A3 pin: FSMC7_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC7, FSMC7_A4)
+#error Invalid pin assignment for FSMC7 A4 pin: FSMC7_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC7, FSMC7_A5)
+#error Invalid pin assignment for FSMC7 A5 pin: FSMC7_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC7, FSMC7_A6)
+#error Invalid pin assignment for FSMC7 A6 pin: FSMC7_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC7, FSMC7_A7)
+#error Invalid pin assignment for FSMC7 A7 pin: FSMC7_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC7, FSMC7_A8)
+#error Invalid pin assignment for FSMC7 A8 pin: FSMC7_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC7, FSMC7_A9)
+#error Invalid pin assignment for FSMC7 A9 pin: FSMC7_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC7, FSMC7_ALE)
+#error Invalid pin assignment for FSMC7 ALE pin: FSMC7_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC7, FSMC7_CD)
+#error Invalid pin assignment for FSMC7 CD pin: FSMC7_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC7, FSMC7_CLE)
+#error Invalid pin assignment for FSMC7 CLE pin: FSMC7_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC7, FSMC7_CLK)
+#error Invalid pin assignment for FSMC7 CLK pin: FSMC7_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC7, FSMC7_D0)
+#error Invalid pin assignment for FSMC7 D0 pin: FSMC7_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC7, FSMC7_D1)
+#error Invalid pin assignment for FSMC7 D1 pin: FSMC7_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC7, FSMC7_D10)
+#error Invalid pin assignment for FSMC7 D10 pin: FSMC7_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC7, FSMC7_D11)
+#error Invalid pin assignment for FSMC7 D11 pin: FSMC7_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC7, FSMC7_D12)
+#error Invalid pin assignment for FSMC7 D12 pin: FSMC7_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC7, FSMC7_D13)
+#error Invalid pin assignment for FSMC7 D13 pin: FSMC7_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC7, FSMC7_D14)
+#error Invalid pin assignment for FSMC7 D14 pin: FSMC7_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC7, FSMC7_D15)
+#error Invalid pin assignment for FSMC7 D15 pin: FSMC7_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC7, FSMC7_D2)
+#error Invalid pin assignment for FSMC7 D2 pin: FSMC7_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC7, FSMC7_D3)
+#error Invalid pin assignment for FSMC7 D3 pin: FSMC7_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC7, FSMC7_D4)
+#error Invalid pin assignment for FSMC7 D4 pin: FSMC7_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC7, FSMC7_D5)
+#error Invalid pin assignment for FSMC7 D5 pin: FSMC7_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC7, FSMC7_D6)
+#error Invalid pin assignment for FSMC7 D6 pin: FSMC7_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC7, FSMC7_D7)
+#error Invalid pin assignment for FSMC7 D7 pin: FSMC7_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC7, FSMC7_D8)
+#error Invalid pin assignment for FSMC7 D8 pin: FSMC7_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC7, FSMC7_D9)
+#error Invalid pin assignment for FSMC7 D9 pin: FSMC7_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC7, FSMC7_DA0)
+#error Invalid pin assignment for FSMC7 DA0 pin: FSMC7_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC7, FSMC7_DA1)
+#error Invalid pin assignment for FSMC7 DA1 pin: FSMC7_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC7, FSMC7_DA10)
+#error Invalid pin assignment for FSMC7 DA10 pin: FSMC7_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC7, FSMC7_DA11)
+#error Invalid pin assignment for FSMC7 DA11 pin: FSMC7_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC7, FSMC7_DA12)
+#error Invalid pin assignment for FSMC7 DA12 pin: FSMC7_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC7, FSMC7_DA13)
+#error Invalid pin assignment for FSMC7 DA13 pin: FSMC7_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC7, FSMC7_DA14)
+#error Invalid pin assignment for FSMC7 DA14 pin: FSMC7_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC7, FSMC7_DA15)
+#error Invalid pin assignment for FSMC7 DA15 pin: FSMC7_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC7, FSMC7_DA2)
+#error Invalid pin assignment for FSMC7 DA2 pin: FSMC7_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC7, FSMC7_DA3)
+#error Invalid pin assignment for FSMC7 DA3 pin: FSMC7_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC7, FSMC7_DA4)
+#error Invalid pin assignment for FSMC7 DA4 pin: FSMC7_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC7, FSMC7_DA5)
+#error Invalid pin assignment for FSMC7 DA5 pin: FSMC7_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC7, FSMC7_DA6)
+#error Invalid pin assignment for FSMC7 DA6 pin: FSMC7_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC7, FSMC7_DA7)
+#error Invalid pin assignment for FSMC7 DA7 pin: FSMC7_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC7, FSMC7_DA8)
+#error Invalid pin assignment for FSMC7 DA8 pin: FSMC7_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC7, FSMC7_DA9)
+#error Invalid pin assignment for FSMC7 DA9 pin: FSMC7_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC7, FSMC7_INT2)
+#error Invalid pin assignment for FSMC7 INT2 pin: FSMC7_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC7, FSMC7_INT3)
+#error Invalid pin assignment for FSMC7 INT3 pin: FSMC7_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC7, FSMC7_INTR)
+#error Invalid pin assignment for FSMC7 INTR pin: FSMC7_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC7, FSMC7_NBL0)
+#error Invalid pin assignment for FSMC7 NBL0 pin: FSMC7_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC7, FSMC7_NBL1)
+#error Invalid pin assignment for FSMC7 NBL1 pin: FSMC7_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC7, FSMC7_NCE2)
+#error Invalid pin assignment for FSMC7 NCE2 pin: FSMC7_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC7, FSMC7_NCE3)
+#error Invalid pin assignment for FSMC7 NCE3 pin: FSMC7_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC7, FSMC7_NE1)
+#error Invalid pin assignment for FSMC7 NE1 pin: FSMC7_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC7, FSMC7_NE2)
+#error Invalid pin assignment for FSMC7 NE2 pin: FSMC7_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC7, FSMC7_NE3)
+#error Invalid pin assignment for FSMC7 NE3 pin: FSMC7_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC7, FSMC7_NE4)
+#error Invalid pin assignment for FSMC7 NE4 pin: FSMC7_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC7, FSMC7_NIORD)
+#error Invalid pin assignment for FSMC7 NIORD pin: FSMC7_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC7, FSMC7_NIOWR)
+#error Invalid pin assignment for FSMC7 NIOWR pin: FSMC7_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC7, FSMC7_NL)
+#error Invalid pin assignment for FSMC7 NL pin: FSMC7_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC7, FSMC7_NOE)
+#error Invalid pin assignment for FSMC7 NOE pin: FSMC7_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC7, FSMC7_NREG)
+#error Invalid pin assignment for FSMC7 NREG pin: FSMC7_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC7, FSMC7_NWAIT)
+#error Invalid pin assignment for FSMC7 NWAIT pin: FSMC7_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC7, FSMC7_NWE)
+#error Invalid pin assignment for FSMC7 NWE pin: FSMC7_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC8
+#if !FIND_VALUE_FSMC_A0(_FSMC8, FSMC8_A0)
+#error Invalid pin assignment for FSMC8 A0 pin: FSMC8_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC8, FSMC8_A1)
+#error Invalid pin assignment for FSMC8 A1 pin: FSMC8_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC8, FSMC8_A10)
+#error Invalid pin assignment for FSMC8 A10 pin: FSMC8_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC8, FSMC8_A11)
+#error Invalid pin assignment for FSMC8 A11 pin: FSMC8_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC8, FSMC8_A12)
+#error Invalid pin assignment for FSMC8 A12 pin: FSMC8_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC8, FSMC8_A13)
+#error Invalid pin assignment for FSMC8 A13 pin: FSMC8_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC8, FSMC8_A14)
+#error Invalid pin assignment for FSMC8 A14 pin: FSMC8_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC8, FSMC8_A15)
+#error Invalid pin assignment for FSMC8 A15 pin: FSMC8_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC8, FSMC8_A16)
+#error Invalid pin assignment for FSMC8 A16 pin: FSMC8_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC8, FSMC8_A17)
+#error Invalid pin assignment for FSMC8 A17 pin: FSMC8_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC8, FSMC8_A18)
+#error Invalid pin assignment for FSMC8 A18 pin: FSMC8_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC8, FSMC8_A19)
+#error Invalid pin assignment for FSMC8 A19 pin: FSMC8_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC8, FSMC8_A2)
+#error Invalid pin assignment for FSMC8 A2 pin: FSMC8_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC8, FSMC8_A20)
+#error Invalid pin assignment for FSMC8 A20 pin: FSMC8_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC8, FSMC8_A21)
+#error Invalid pin assignment for FSMC8 A21 pin: FSMC8_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC8, FSMC8_A22)
+#error Invalid pin assignment for FSMC8 A22 pin: FSMC8_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC8, FSMC8_A23)
+#error Invalid pin assignment for FSMC8 A23 pin: FSMC8_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC8, FSMC8_A24)
+#error Invalid pin assignment for FSMC8 A24 pin: FSMC8_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC8, FSMC8_A25)
+#error Invalid pin assignment for FSMC8 A25 pin: FSMC8_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC8, FSMC8_A3)
+#error Invalid pin assignment for FSMC8 A3 pin: FSMC8_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC8, FSMC8_A4)
+#error Invalid pin assignment for FSMC8 A4 pin: FSMC8_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC8, FSMC8_A5)
+#error Invalid pin assignment for FSMC8 A5 pin: FSMC8_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC8, FSMC8_A6)
+#error Invalid pin assignment for FSMC8 A6 pin: FSMC8_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC8, FSMC8_A7)
+#error Invalid pin assignment for FSMC8 A7 pin: FSMC8_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC8, FSMC8_A8)
+#error Invalid pin assignment for FSMC8 A8 pin: FSMC8_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC8, FSMC8_A9)
+#error Invalid pin assignment for FSMC8 A9 pin: FSMC8_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC8, FSMC8_ALE)
+#error Invalid pin assignment for FSMC8 ALE pin: FSMC8_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC8, FSMC8_CD)
+#error Invalid pin assignment for FSMC8 CD pin: FSMC8_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC8, FSMC8_CLE)
+#error Invalid pin assignment for FSMC8 CLE pin: FSMC8_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC8, FSMC8_CLK)
+#error Invalid pin assignment for FSMC8 CLK pin: FSMC8_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC8, FSMC8_D0)
+#error Invalid pin assignment for FSMC8 D0 pin: FSMC8_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC8, FSMC8_D1)
+#error Invalid pin assignment for FSMC8 D1 pin: FSMC8_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC8, FSMC8_D10)
+#error Invalid pin assignment for FSMC8 D10 pin: FSMC8_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC8, FSMC8_D11)
+#error Invalid pin assignment for FSMC8 D11 pin: FSMC8_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC8, FSMC8_D12)
+#error Invalid pin assignment for FSMC8 D12 pin: FSMC8_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC8, FSMC8_D13)
+#error Invalid pin assignment for FSMC8 D13 pin: FSMC8_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC8, FSMC8_D14)
+#error Invalid pin assignment for FSMC8 D14 pin: FSMC8_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC8, FSMC8_D15)
+#error Invalid pin assignment for FSMC8 D15 pin: FSMC8_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC8, FSMC8_D2)
+#error Invalid pin assignment for FSMC8 D2 pin: FSMC8_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC8, FSMC8_D3)
+#error Invalid pin assignment for FSMC8 D3 pin: FSMC8_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC8, FSMC8_D4)
+#error Invalid pin assignment for FSMC8 D4 pin: FSMC8_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC8, FSMC8_D5)
+#error Invalid pin assignment for FSMC8 D5 pin: FSMC8_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC8, FSMC8_D6)
+#error Invalid pin assignment for FSMC8 D6 pin: FSMC8_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC8, FSMC8_D7)
+#error Invalid pin assignment for FSMC8 D7 pin: FSMC8_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC8, FSMC8_D8)
+#error Invalid pin assignment for FSMC8 D8 pin: FSMC8_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC8, FSMC8_D9)
+#error Invalid pin assignment for FSMC8 D9 pin: FSMC8_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC8, FSMC8_DA0)
+#error Invalid pin assignment for FSMC8 DA0 pin: FSMC8_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC8, FSMC8_DA1)
+#error Invalid pin assignment for FSMC8 DA1 pin: FSMC8_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC8, FSMC8_DA10)
+#error Invalid pin assignment for FSMC8 DA10 pin: FSMC8_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC8, FSMC8_DA11)
+#error Invalid pin assignment for FSMC8 DA11 pin: FSMC8_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC8, FSMC8_DA12)
+#error Invalid pin assignment for FSMC8 DA12 pin: FSMC8_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC8, FSMC8_DA13)
+#error Invalid pin assignment for FSMC8 DA13 pin: FSMC8_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC8, FSMC8_DA14)
+#error Invalid pin assignment for FSMC8 DA14 pin: FSMC8_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC8, FSMC8_DA15)
+#error Invalid pin assignment for FSMC8 DA15 pin: FSMC8_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC8, FSMC8_DA2)
+#error Invalid pin assignment for FSMC8 DA2 pin: FSMC8_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC8, FSMC8_DA3)
+#error Invalid pin assignment for FSMC8 DA3 pin: FSMC8_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC8, FSMC8_DA4)
+#error Invalid pin assignment for FSMC8 DA4 pin: FSMC8_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC8, FSMC8_DA5)
+#error Invalid pin assignment for FSMC8 DA5 pin: FSMC8_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC8, FSMC8_DA6)
+#error Invalid pin assignment for FSMC8 DA6 pin: FSMC8_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC8, FSMC8_DA7)
+#error Invalid pin assignment for FSMC8 DA7 pin: FSMC8_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC8, FSMC8_DA8)
+#error Invalid pin assignment for FSMC8 DA8 pin: FSMC8_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC8, FSMC8_DA9)
+#error Invalid pin assignment for FSMC8 DA9 pin: FSMC8_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC8, FSMC8_INT2)
+#error Invalid pin assignment for FSMC8 INT2 pin: FSMC8_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC8, FSMC8_INT3)
+#error Invalid pin assignment for FSMC8 INT3 pin: FSMC8_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC8, FSMC8_INTR)
+#error Invalid pin assignment for FSMC8 INTR pin: FSMC8_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC8, FSMC8_NBL0)
+#error Invalid pin assignment for FSMC8 NBL0 pin: FSMC8_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC8, FSMC8_NBL1)
+#error Invalid pin assignment for FSMC8 NBL1 pin: FSMC8_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC8, FSMC8_NCE2)
+#error Invalid pin assignment for FSMC8 NCE2 pin: FSMC8_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC8, FSMC8_NCE3)
+#error Invalid pin assignment for FSMC8 NCE3 pin: FSMC8_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC8, FSMC8_NE1)
+#error Invalid pin assignment for FSMC8 NE1 pin: FSMC8_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC8, FSMC8_NE2)
+#error Invalid pin assignment for FSMC8 NE2 pin: FSMC8_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC8, FSMC8_NE3)
+#error Invalid pin assignment for FSMC8 NE3 pin: FSMC8_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC8, FSMC8_NE4)
+#error Invalid pin assignment for FSMC8 NE4 pin: FSMC8_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC8, FSMC8_NIORD)
+#error Invalid pin assignment for FSMC8 NIORD pin: FSMC8_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC8, FSMC8_NIOWR)
+#error Invalid pin assignment for FSMC8 NIOWR pin: FSMC8_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC8, FSMC8_NL)
+#error Invalid pin assignment for FSMC8 NL pin: FSMC8_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC8, FSMC8_NOE)
+#error Invalid pin assignment for FSMC8 NOE pin: FSMC8_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC8, FSMC8_NREG)
+#error Invalid pin assignment for FSMC8 NREG pin: FSMC8_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC8, FSMC8_NWAIT)
+#error Invalid pin assignment for FSMC8 NWAIT pin: FSMC8_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC8, FSMC8_NWE)
+#error Invalid pin assignment for FSMC8 NWE pin: FSMC8_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC9
+#if !FIND_VALUE_FSMC_A0(_FSMC9, FSMC9_A0)
+#error Invalid pin assignment for FSMC9 A0 pin: FSMC9_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC9, FSMC9_A1)
+#error Invalid pin assignment for FSMC9 A1 pin: FSMC9_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC9, FSMC9_A10)
+#error Invalid pin assignment for FSMC9 A10 pin: FSMC9_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC9, FSMC9_A11)
+#error Invalid pin assignment for FSMC9 A11 pin: FSMC9_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC9, FSMC9_A12)
+#error Invalid pin assignment for FSMC9 A12 pin: FSMC9_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC9, FSMC9_A13)
+#error Invalid pin assignment for FSMC9 A13 pin: FSMC9_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC9, FSMC9_A14)
+#error Invalid pin assignment for FSMC9 A14 pin: FSMC9_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC9, FSMC9_A15)
+#error Invalid pin assignment for FSMC9 A15 pin: FSMC9_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC9, FSMC9_A16)
+#error Invalid pin assignment for FSMC9 A16 pin: FSMC9_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC9, FSMC9_A17)
+#error Invalid pin assignment for FSMC9 A17 pin: FSMC9_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC9, FSMC9_A18)
+#error Invalid pin assignment for FSMC9 A18 pin: FSMC9_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC9, FSMC9_A19)
+#error Invalid pin assignment for FSMC9 A19 pin: FSMC9_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC9, FSMC9_A2)
+#error Invalid pin assignment for FSMC9 A2 pin: FSMC9_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC9, FSMC9_A20)
+#error Invalid pin assignment for FSMC9 A20 pin: FSMC9_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC9, FSMC9_A21)
+#error Invalid pin assignment for FSMC9 A21 pin: FSMC9_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC9, FSMC9_A22)
+#error Invalid pin assignment for FSMC9 A22 pin: FSMC9_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC9, FSMC9_A23)
+#error Invalid pin assignment for FSMC9 A23 pin: FSMC9_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC9, FSMC9_A24)
+#error Invalid pin assignment for FSMC9 A24 pin: FSMC9_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC9, FSMC9_A25)
+#error Invalid pin assignment for FSMC9 A25 pin: FSMC9_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC9, FSMC9_A3)
+#error Invalid pin assignment for FSMC9 A3 pin: FSMC9_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC9, FSMC9_A4)
+#error Invalid pin assignment for FSMC9 A4 pin: FSMC9_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC9, FSMC9_A5)
+#error Invalid pin assignment for FSMC9 A5 pin: FSMC9_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC9, FSMC9_A6)
+#error Invalid pin assignment for FSMC9 A6 pin: FSMC9_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC9, FSMC9_A7)
+#error Invalid pin assignment for FSMC9 A7 pin: FSMC9_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC9, FSMC9_A8)
+#error Invalid pin assignment for FSMC9 A8 pin: FSMC9_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC9, FSMC9_A9)
+#error Invalid pin assignment for FSMC9 A9 pin: FSMC9_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC9, FSMC9_ALE)
+#error Invalid pin assignment for FSMC9 ALE pin: FSMC9_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC9, FSMC9_CD)
+#error Invalid pin assignment for FSMC9 CD pin: FSMC9_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC9, FSMC9_CLE)
+#error Invalid pin assignment for FSMC9 CLE pin: FSMC9_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC9, FSMC9_CLK)
+#error Invalid pin assignment for FSMC9 CLK pin: FSMC9_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC9, FSMC9_D0)
+#error Invalid pin assignment for FSMC9 D0 pin: FSMC9_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC9, FSMC9_D1)
+#error Invalid pin assignment for FSMC9 D1 pin: FSMC9_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC9, FSMC9_D10)
+#error Invalid pin assignment for FSMC9 D10 pin: FSMC9_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC9, FSMC9_D11)
+#error Invalid pin assignment for FSMC9 D11 pin: FSMC9_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC9, FSMC9_D12)
+#error Invalid pin assignment for FSMC9 D12 pin: FSMC9_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC9, FSMC9_D13)
+#error Invalid pin assignment for FSMC9 D13 pin: FSMC9_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC9, FSMC9_D14)
+#error Invalid pin assignment for FSMC9 D14 pin: FSMC9_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC9, FSMC9_D15)
+#error Invalid pin assignment for FSMC9 D15 pin: FSMC9_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC9, FSMC9_D2)
+#error Invalid pin assignment for FSMC9 D2 pin: FSMC9_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC9, FSMC9_D3)
+#error Invalid pin assignment for FSMC9 D3 pin: FSMC9_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC9, FSMC9_D4)
+#error Invalid pin assignment for FSMC9 D4 pin: FSMC9_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC9, FSMC9_D5)
+#error Invalid pin assignment for FSMC9 D5 pin: FSMC9_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC9, FSMC9_D6)
+#error Invalid pin assignment for FSMC9 D6 pin: FSMC9_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC9, FSMC9_D7)
+#error Invalid pin assignment for FSMC9 D7 pin: FSMC9_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC9, FSMC9_D8)
+#error Invalid pin assignment for FSMC9 D8 pin: FSMC9_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC9, FSMC9_D9)
+#error Invalid pin assignment for FSMC9 D9 pin: FSMC9_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC9, FSMC9_DA0)
+#error Invalid pin assignment for FSMC9 DA0 pin: FSMC9_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC9, FSMC9_DA1)
+#error Invalid pin assignment for FSMC9 DA1 pin: FSMC9_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC9, FSMC9_DA10)
+#error Invalid pin assignment for FSMC9 DA10 pin: FSMC9_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC9, FSMC9_DA11)
+#error Invalid pin assignment for FSMC9 DA11 pin: FSMC9_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC9, FSMC9_DA12)
+#error Invalid pin assignment for FSMC9 DA12 pin: FSMC9_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC9, FSMC9_DA13)
+#error Invalid pin assignment for FSMC9 DA13 pin: FSMC9_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC9, FSMC9_DA14)
+#error Invalid pin assignment for FSMC9 DA14 pin: FSMC9_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC9, FSMC9_DA15)
+#error Invalid pin assignment for FSMC9 DA15 pin: FSMC9_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC9, FSMC9_DA2)
+#error Invalid pin assignment for FSMC9 DA2 pin: FSMC9_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC9, FSMC9_DA3)
+#error Invalid pin assignment for FSMC9 DA3 pin: FSMC9_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC9, FSMC9_DA4)
+#error Invalid pin assignment for FSMC9 DA4 pin: FSMC9_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC9, FSMC9_DA5)
+#error Invalid pin assignment for FSMC9 DA5 pin: FSMC9_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC9, FSMC9_DA6)
+#error Invalid pin assignment for FSMC9 DA6 pin: FSMC9_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC9, FSMC9_DA7)
+#error Invalid pin assignment for FSMC9 DA7 pin: FSMC9_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC9, FSMC9_DA8)
+#error Invalid pin assignment for FSMC9 DA8 pin: FSMC9_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC9, FSMC9_DA9)
+#error Invalid pin assignment for FSMC9 DA9 pin: FSMC9_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC9, FSMC9_INT2)
+#error Invalid pin assignment for FSMC9 INT2 pin: FSMC9_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC9, FSMC9_INT3)
+#error Invalid pin assignment for FSMC9 INT3 pin: FSMC9_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC9, FSMC9_INTR)
+#error Invalid pin assignment for FSMC9 INTR pin: FSMC9_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC9, FSMC9_NBL0)
+#error Invalid pin assignment for FSMC9 NBL0 pin: FSMC9_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC9, FSMC9_NBL1)
+#error Invalid pin assignment for FSMC9 NBL1 pin: FSMC9_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC9, FSMC9_NCE2)
+#error Invalid pin assignment for FSMC9 NCE2 pin: FSMC9_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC9, FSMC9_NCE3)
+#error Invalid pin assignment for FSMC9 NCE3 pin: FSMC9_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC9, FSMC9_NE1)
+#error Invalid pin assignment for FSMC9 NE1 pin: FSMC9_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC9, FSMC9_NE2)
+#error Invalid pin assignment for FSMC9 NE2 pin: FSMC9_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC9, FSMC9_NE3)
+#error Invalid pin assignment for FSMC9 NE3 pin: FSMC9_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC9, FSMC9_NE4)
+#error Invalid pin assignment for FSMC9 NE4 pin: FSMC9_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC9, FSMC9_NIORD)
+#error Invalid pin assignment for FSMC9 NIORD pin: FSMC9_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC9, FSMC9_NIOWR)
+#error Invalid pin assignment for FSMC9 NIOWR pin: FSMC9_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC9, FSMC9_NL)
+#error Invalid pin assignment for FSMC9 NL pin: FSMC9_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC9, FSMC9_NOE)
+#error Invalid pin assignment for FSMC9 NOE pin: FSMC9_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC9, FSMC9_NREG)
+#error Invalid pin assignment for FSMC9 NREG pin: FSMC9_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC9, FSMC9_NWAIT)
+#error Invalid pin assignment for FSMC9 NWAIT pin: FSMC9_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC9, FSMC9_NWE)
+#error Invalid pin assignment for FSMC9 NWE pin: FSMC9_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC10
+#if !FIND_VALUE_FSMC_A0(_FSMC10, FSMC10_A0)
+#error Invalid pin assignment for FSMC10 A0 pin: FSMC10_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC10, FSMC10_A1)
+#error Invalid pin assignment for FSMC10 A1 pin: FSMC10_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC10, FSMC10_A10)
+#error Invalid pin assignment for FSMC10 A10 pin: FSMC10_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC10, FSMC10_A11)
+#error Invalid pin assignment for FSMC10 A11 pin: FSMC10_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC10, FSMC10_A12)
+#error Invalid pin assignment for FSMC10 A12 pin: FSMC10_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC10, FSMC10_A13)
+#error Invalid pin assignment for FSMC10 A13 pin: FSMC10_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC10, FSMC10_A14)
+#error Invalid pin assignment for FSMC10 A14 pin: FSMC10_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC10, FSMC10_A15)
+#error Invalid pin assignment for FSMC10 A15 pin: FSMC10_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC10, FSMC10_A16)
+#error Invalid pin assignment for FSMC10 A16 pin: FSMC10_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC10, FSMC10_A17)
+#error Invalid pin assignment for FSMC10 A17 pin: FSMC10_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC10, FSMC10_A18)
+#error Invalid pin assignment for FSMC10 A18 pin: FSMC10_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC10, FSMC10_A19)
+#error Invalid pin assignment for FSMC10 A19 pin: FSMC10_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC10, FSMC10_A2)
+#error Invalid pin assignment for FSMC10 A2 pin: FSMC10_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC10, FSMC10_A20)
+#error Invalid pin assignment for FSMC10 A20 pin: FSMC10_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC10, FSMC10_A21)
+#error Invalid pin assignment for FSMC10 A21 pin: FSMC10_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC10, FSMC10_A22)
+#error Invalid pin assignment for FSMC10 A22 pin: FSMC10_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC10, FSMC10_A23)
+#error Invalid pin assignment for FSMC10 A23 pin: FSMC10_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC10, FSMC10_A24)
+#error Invalid pin assignment for FSMC10 A24 pin: FSMC10_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC10, FSMC10_A25)
+#error Invalid pin assignment for FSMC10 A25 pin: FSMC10_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC10, FSMC10_A3)
+#error Invalid pin assignment for FSMC10 A3 pin: FSMC10_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC10, FSMC10_A4)
+#error Invalid pin assignment for FSMC10 A4 pin: FSMC10_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC10, FSMC10_A5)
+#error Invalid pin assignment for FSMC10 A5 pin: FSMC10_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC10, FSMC10_A6)
+#error Invalid pin assignment for FSMC10 A6 pin: FSMC10_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC10, FSMC10_A7)
+#error Invalid pin assignment for FSMC10 A7 pin: FSMC10_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC10, FSMC10_A8)
+#error Invalid pin assignment for FSMC10 A8 pin: FSMC10_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC10, FSMC10_A9)
+#error Invalid pin assignment for FSMC10 A9 pin: FSMC10_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC10, FSMC10_ALE)
+#error Invalid pin assignment for FSMC10 ALE pin: FSMC10_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC10, FSMC10_CD)
+#error Invalid pin assignment for FSMC10 CD pin: FSMC10_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC10, FSMC10_CLE)
+#error Invalid pin assignment for FSMC10 CLE pin: FSMC10_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC10, FSMC10_CLK)
+#error Invalid pin assignment for FSMC10 CLK pin: FSMC10_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC10, FSMC10_D0)
+#error Invalid pin assignment for FSMC10 D0 pin: FSMC10_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC10, FSMC10_D1)
+#error Invalid pin assignment for FSMC10 D1 pin: FSMC10_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC10, FSMC10_D10)
+#error Invalid pin assignment for FSMC10 D10 pin: FSMC10_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC10, FSMC10_D11)
+#error Invalid pin assignment for FSMC10 D11 pin: FSMC10_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC10, FSMC10_D12)
+#error Invalid pin assignment for FSMC10 D12 pin: FSMC10_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC10, FSMC10_D13)
+#error Invalid pin assignment for FSMC10 D13 pin: FSMC10_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC10, FSMC10_D14)
+#error Invalid pin assignment for FSMC10 D14 pin: FSMC10_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC10, FSMC10_D15)
+#error Invalid pin assignment for FSMC10 D15 pin: FSMC10_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC10, FSMC10_D2)
+#error Invalid pin assignment for FSMC10 D2 pin: FSMC10_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC10, FSMC10_D3)
+#error Invalid pin assignment for FSMC10 D3 pin: FSMC10_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC10, FSMC10_D4)
+#error Invalid pin assignment for FSMC10 D4 pin: FSMC10_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC10, FSMC10_D5)
+#error Invalid pin assignment for FSMC10 D5 pin: FSMC10_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC10, FSMC10_D6)
+#error Invalid pin assignment for FSMC10 D6 pin: FSMC10_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC10, FSMC10_D7)
+#error Invalid pin assignment for FSMC10 D7 pin: FSMC10_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC10, FSMC10_D8)
+#error Invalid pin assignment for FSMC10 D8 pin: FSMC10_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC10, FSMC10_D9)
+#error Invalid pin assignment for FSMC10 D9 pin: FSMC10_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC10, FSMC10_DA0)
+#error Invalid pin assignment for FSMC10 DA0 pin: FSMC10_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC10, FSMC10_DA1)
+#error Invalid pin assignment for FSMC10 DA1 pin: FSMC10_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC10, FSMC10_DA10)
+#error Invalid pin assignment for FSMC10 DA10 pin: FSMC10_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC10, FSMC10_DA11)
+#error Invalid pin assignment for FSMC10 DA11 pin: FSMC10_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC10, FSMC10_DA12)
+#error Invalid pin assignment for FSMC10 DA12 pin: FSMC10_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC10, FSMC10_DA13)
+#error Invalid pin assignment for FSMC10 DA13 pin: FSMC10_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC10, FSMC10_DA14)
+#error Invalid pin assignment for FSMC10 DA14 pin: FSMC10_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC10, FSMC10_DA15)
+#error Invalid pin assignment for FSMC10 DA15 pin: FSMC10_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC10, FSMC10_DA2)
+#error Invalid pin assignment for FSMC10 DA2 pin: FSMC10_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC10, FSMC10_DA3)
+#error Invalid pin assignment for FSMC10 DA3 pin: FSMC10_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC10, FSMC10_DA4)
+#error Invalid pin assignment for FSMC10 DA4 pin: FSMC10_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC10, FSMC10_DA5)
+#error Invalid pin assignment for FSMC10 DA5 pin: FSMC10_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC10, FSMC10_DA6)
+#error Invalid pin assignment for FSMC10 DA6 pin: FSMC10_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC10, FSMC10_DA7)
+#error Invalid pin assignment for FSMC10 DA7 pin: FSMC10_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC10, FSMC10_DA8)
+#error Invalid pin assignment for FSMC10 DA8 pin: FSMC10_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC10, FSMC10_DA9)
+#error Invalid pin assignment for FSMC10 DA9 pin: FSMC10_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC10, FSMC10_INT2)
+#error Invalid pin assignment for FSMC10 INT2 pin: FSMC10_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC10, FSMC10_INT3)
+#error Invalid pin assignment for FSMC10 INT3 pin: FSMC10_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC10, FSMC10_INTR)
+#error Invalid pin assignment for FSMC10 INTR pin: FSMC10_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC10, FSMC10_NBL0)
+#error Invalid pin assignment for FSMC10 NBL0 pin: FSMC10_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC10, FSMC10_NBL1)
+#error Invalid pin assignment for FSMC10 NBL1 pin: FSMC10_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC10, FSMC10_NCE2)
+#error Invalid pin assignment for FSMC10 NCE2 pin: FSMC10_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC10, FSMC10_NCE3)
+#error Invalid pin assignment for FSMC10 NCE3 pin: FSMC10_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC10, FSMC10_NE1)
+#error Invalid pin assignment for FSMC10 NE1 pin: FSMC10_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC10, FSMC10_NE2)
+#error Invalid pin assignment for FSMC10 NE2 pin: FSMC10_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC10, FSMC10_NE3)
+#error Invalid pin assignment for FSMC10 NE3 pin: FSMC10_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC10, FSMC10_NE4)
+#error Invalid pin assignment for FSMC10 NE4 pin: FSMC10_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC10, FSMC10_NIORD)
+#error Invalid pin assignment for FSMC10 NIORD pin: FSMC10_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC10, FSMC10_NIOWR)
+#error Invalid pin assignment for FSMC10 NIOWR pin: FSMC10_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC10, FSMC10_NL)
+#error Invalid pin assignment for FSMC10 NL pin: FSMC10_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC10, FSMC10_NOE)
+#error Invalid pin assignment for FSMC10 NOE pin: FSMC10_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC10, FSMC10_NREG)
+#error Invalid pin assignment for FSMC10 NREG pin: FSMC10_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC10, FSMC10_NWAIT)
+#error Invalid pin assignment for FSMC10 NWAIT pin: FSMC10_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC10, FSMC10_NWE)
+#error Invalid pin assignment for FSMC10 NWE pin: FSMC10_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC11
+#if !FIND_VALUE_FSMC_A0(_FSMC11, FSMC11_A0)
+#error Invalid pin assignment for FSMC11 A0 pin: FSMC11_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC11, FSMC11_A1)
+#error Invalid pin assignment for FSMC11 A1 pin: FSMC11_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC11, FSMC11_A10)
+#error Invalid pin assignment for FSMC11 A10 pin: FSMC11_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC11, FSMC11_A11)
+#error Invalid pin assignment for FSMC11 A11 pin: FSMC11_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC11, FSMC11_A12)
+#error Invalid pin assignment for FSMC11 A12 pin: FSMC11_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC11, FSMC11_A13)
+#error Invalid pin assignment for FSMC11 A13 pin: FSMC11_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC11, FSMC11_A14)
+#error Invalid pin assignment for FSMC11 A14 pin: FSMC11_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC11, FSMC11_A15)
+#error Invalid pin assignment for FSMC11 A15 pin: FSMC11_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC11, FSMC11_A16)
+#error Invalid pin assignment for FSMC11 A16 pin: FSMC11_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC11, FSMC11_A17)
+#error Invalid pin assignment for FSMC11 A17 pin: FSMC11_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC11, FSMC11_A18)
+#error Invalid pin assignment for FSMC11 A18 pin: FSMC11_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC11, FSMC11_A19)
+#error Invalid pin assignment for FSMC11 A19 pin: FSMC11_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC11, FSMC11_A2)
+#error Invalid pin assignment for FSMC11 A2 pin: FSMC11_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC11, FSMC11_A20)
+#error Invalid pin assignment for FSMC11 A20 pin: FSMC11_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC11, FSMC11_A21)
+#error Invalid pin assignment for FSMC11 A21 pin: FSMC11_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC11, FSMC11_A22)
+#error Invalid pin assignment for FSMC11 A22 pin: FSMC11_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC11, FSMC11_A23)
+#error Invalid pin assignment for FSMC11 A23 pin: FSMC11_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC11, FSMC11_A24)
+#error Invalid pin assignment for FSMC11 A24 pin: FSMC11_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC11, FSMC11_A25)
+#error Invalid pin assignment for FSMC11 A25 pin: FSMC11_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC11, FSMC11_A3)
+#error Invalid pin assignment for FSMC11 A3 pin: FSMC11_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC11, FSMC11_A4)
+#error Invalid pin assignment for FSMC11 A4 pin: FSMC11_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC11, FSMC11_A5)
+#error Invalid pin assignment for FSMC11 A5 pin: FSMC11_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC11, FSMC11_A6)
+#error Invalid pin assignment for FSMC11 A6 pin: FSMC11_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC11, FSMC11_A7)
+#error Invalid pin assignment for FSMC11 A7 pin: FSMC11_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC11, FSMC11_A8)
+#error Invalid pin assignment for FSMC11 A8 pin: FSMC11_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC11, FSMC11_A9)
+#error Invalid pin assignment for FSMC11 A9 pin: FSMC11_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC11, FSMC11_ALE)
+#error Invalid pin assignment for FSMC11 ALE pin: FSMC11_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC11, FSMC11_CD)
+#error Invalid pin assignment for FSMC11 CD pin: FSMC11_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC11, FSMC11_CLE)
+#error Invalid pin assignment for FSMC11 CLE pin: FSMC11_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC11, FSMC11_CLK)
+#error Invalid pin assignment for FSMC11 CLK pin: FSMC11_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC11, FSMC11_D0)
+#error Invalid pin assignment for FSMC11 D0 pin: FSMC11_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC11, FSMC11_D1)
+#error Invalid pin assignment for FSMC11 D1 pin: FSMC11_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC11, FSMC11_D10)
+#error Invalid pin assignment for FSMC11 D10 pin: FSMC11_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC11, FSMC11_D11)
+#error Invalid pin assignment for FSMC11 D11 pin: FSMC11_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC11, FSMC11_D12)
+#error Invalid pin assignment for FSMC11 D12 pin: FSMC11_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC11, FSMC11_D13)
+#error Invalid pin assignment for FSMC11 D13 pin: FSMC11_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC11, FSMC11_D14)
+#error Invalid pin assignment for FSMC11 D14 pin: FSMC11_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC11, FSMC11_D15)
+#error Invalid pin assignment for FSMC11 D15 pin: FSMC11_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC11, FSMC11_D2)
+#error Invalid pin assignment for FSMC11 D2 pin: FSMC11_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC11, FSMC11_D3)
+#error Invalid pin assignment for FSMC11 D3 pin: FSMC11_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC11, FSMC11_D4)
+#error Invalid pin assignment for FSMC11 D4 pin: FSMC11_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC11, FSMC11_D5)
+#error Invalid pin assignment for FSMC11 D5 pin: FSMC11_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC11, FSMC11_D6)
+#error Invalid pin assignment for FSMC11 D6 pin: FSMC11_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC11, FSMC11_D7)
+#error Invalid pin assignment for FSMC11 D7 pin: FSMC11_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC11, FSMC11_D8)
+#error Invalid pin assignment for FSMC11 D8 pin: FSMC11_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC11, FSMC11_D9)
+#error Invalid pin assignment for FSMC11 D9 pin: FSMC11_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC11, FSMC11_DA0)
+#error Invalid pin assignment for FSMC11 DA0 pin: FSMC11_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC11, FSMC11_DA1)
+#error Invalid pin assignment for FSMC11 DA1 pin: FSMC11_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC11, FSMC11_DA10)
+#error Invalid pin assignment for FSMC11 DA10 pin: FSMC11_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC11, FSMC11_DA11)
+#error Invalid pin assignment for FSMC11 DA11 pin: FSMC11_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC11, FSMC11_DA12)
+#error Invalid pin assignment for FSMC11 DA12 pin: FSMC11_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC11, FSMC11_DA13)
+#error Invalid pin assignment for FSMC11 DA13 pin: FSMC11_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC11, FSMC11_DA14)
+#error Invalid pin assignment for FSMC11 DA14 pin: FSMC11_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC11, FSMC11_DA15)
+#error Invalid pin assignment for FSMC11 DA15 pin: FSMC11_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC11, FSMC11_DA2)
+#error Invalid pin assignment for FSMC11 DA2 pin: FSMC11_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC11, FSMC11_DA3)
+#error Invalid pin assignment for FSMC11 DA3 pin: FSMC11_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC11, FSMC11_DA4)
+#error Invalid pin assignment for FSMC11 DA4 pin: FSMC11_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC11, FSMC11_DA5)
+#error Invalid pin assignment for FSMC11 DA5 pin: FSMC11_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC11, FSMC11_DA6)
+#error Invalid pin assignment for FSMC11 DA6 pin: FSMC11_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC11, FSMC11_DA7)
+#error Invalid pin assignment for FSMC11 DA7 pin: FSMC11_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC11, FSMC11_DA8)
+#error Invalid pin assignment for FSMC11 DA8 pin: FSMC11_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC11, FSMC11_DA9)
+#error Invalid pin assignment for FSMC11 DA9 pin: FSMC11_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC11, FSMC11_INT2)
+#error Invalid pin assignment for FSMC11 INT2 pin: FSMC11_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC11, FSMC11_INT3)
+#error Invalid pin assignment for FSMC11 INT3 pin: FSMC11_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC11, FSMC11_INTR)
+#error Invalid pin assignment for FSMC11 INTR pin: FSMC11_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC11, FSMC11_NBL0)
+#error Invalid pin assignment for FSMC11 NBL0 pin: FSMC11_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC11, FSMC11_NBL1)
+#error Invalid pin assignment for FSMC11 NBL1 pin: FSMC11_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC11, FSMC11_NCE2)
+#error Invalid pin assignment for FSMC11 NCE2 pin: FSMC11_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC11, FSMC11_NCE3)
+#error Invalid pin assignment for FSMC11 NCE3 pin: FSMC11_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC11, FSMC11_NE1)
+#error Invalid pin assignment for FSMC11 NE1 pin: FSMC11_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC11, FSMC11_NE2)
+#error Invalid pin assignment for FSMC11 NE2 pin: FSMC11_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC11, FSMC11_NE3)
+#error Invalid pin assignment for FSMC11 NE3 pin: FSMC11_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC11, FSMC11_NE4)
+#error Invalid pin assignment for FSMC11 NE4 pin: FSMC11_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC11, FSMC11_NIORD)
+#error Invalid pin assignment for FSMC11 NIORD pin: FSMC11_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC11, FSMC11_NIOWR)
+#error Invalid pin assignment for FSMC11 NIOWR pin: FSMC11_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC11, FSMC11_NL)
+#error Invalid pin assignment for FSMC11 NL pin: FSMC11_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC11, FSMC11_NOE)
+#error Invalid pin assignment for FSMC11 NOE pin: FSMC11_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC11, FSMC11_NREG)
+#error Invalid pin assignment for FSMC11 NREG pin: FSMC11_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC11, FSMC11_NWAIT)
+#error Invalid pin assignment for FSMC11 NWAIT pin: FSMC11_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC11, FSMC11_NWE)
+#error Invalid pin assignment for FSMC11 NWE pin: FSMC11_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC12
+#if !FIND_VALUE_FSMC_A0(_FSMC12, FSMC12_A0)
+#error Invalid pin assignment for FSMC12 A0 pin: FSMC12_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC12, FSMC12_A1)
+#error Invalid pin assignment for FSMC12 A1 pin: FSMC12_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC12, FSMC12_A10)
+#error Invalid pin assignment for FSMC12 A10 pin: FSMC12_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC12, FSMC12_A11)
+#error Invalid pin assignment for FSMC12 A11 pin: FSMC12_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC12, FSMC12_A12)
+#error Invalid pin assignment for FSMC12 A12 pin: FSMC12_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC12, FSMC12_A13)
+#error Invalid pin assignment for FSMC12 A13 pin: FSMC12_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC12, FSMC12_A14)
+#error Invalid pin assignment for FSMC12 A14 pin: FSMC12_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC12, FSMC12_A15)
+#error Invalid pin assignment for FSMC12 A15 pin: FSMC12_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC12, FSMC12_A16)
+#error Invalid pin assignment for FSMC12 A16 pin: FSMC12_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC12, FSMC12_A17)
+#error Invalid pin assignment for FSMC12 A17 pin: FSMC12_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC12, FSMC12_A18)
+#error Invalid pin assignment for FSMC12 A18 pin: FSMC12_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC12, FSMC12_A19)
+#error Invalid pin assignment for FSMC12 A19 pin: FSMC12_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC12, FSMC12_A2)
+#error Invalid pin assignment for FSMC12 A2 pin: FSMC12_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC12, FSMC12_A20)
+#error Invalid pin assignment for FSMC12 A20 pin: FSMC12_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC12, FSMC12_A21)
+#error Invalid pin assignment for FSMC12 A21 pin: FSMC12_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC12, FSMC12_A22)
+#error Invalid pin assignment for FSMC12 A22 pin: FSMC12_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC12, FSMC12_A23)
+#error Invalid pin assignment for FSMC12 A23 pin: FSMC12_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC12, FSMC12_A24)
+#error Invalid pin assignment for FSMC12 A24 pin: FSMC12_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC12, FSMC12_A25)
+#error Invalid pin assignment for FSMC12 A25 pin: FSMC12_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC12, FSMC12_A3)
+#error Invalid pin assignment for FSMC12 A3 pin: FSMC12_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC12, FSMC12_A4)
+#error Invalid pin assignment for FSMC12 A4 pin: FSMC12_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC12, FSMC12_A5)
+#error Invalid pin assignment for FSMC12 A5 pin: FSMC12_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC12, FSMC12_A6)
+#error Invalid pin assignment for FSMC12 A6 pin: FSMC12_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC12, FSMC12_A7)
+#error Invalid pin assignment for FSMC12 A7 pin: FSMC12_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC12, FSMC12_A8)
+#error Invalid pin assignment for FSMC12 A8 pin: FSMC12_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC12, FSMC12_A9)
+#error Invalid pin assignment for FSMC12 A9 pin: FSMC12_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC12, FSMC12_ALE)
+#error Invalid pin assignment for FSMC12 ALE pin: FSMC12_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC12, FSMC12_CD)
+#error Invalid pin assignment for FSMC12 CD pin: FSMC12_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC12, FSMC12_CLE)
+#error Invalid pin assignment for FSMC12 CLE pin: FSMC12_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC12, FSMC12_CLK)
+#error Invalid pin assignment for FSMC12 CLK pin: FSMC12_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC12, FSMC12_D0)
+#error Invalid pin assignment for FSMC12 D0 pin: FSMC12_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC12, FSMC12_D1)
+#error Invalid pin assignment for FSMC12 D1 pin: FSMC12_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC12, FSMC12_D10)
+#error Invalid pin assignment for FSMC12 D10 pin: FSMC12_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC12, FSMC12_D11)
+#error Invalid pin assignment for FSMC12 D11 pin: FSMC12_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC12, FSMC12_D12)
+#error Invalid pin assignment for FSMC12 D12 pin: FSMC12_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC12, FSMC12_D13)
+#error Invalid pin assignment for FSMC12 D13 pin: FSMC12_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC12, FSMC12_D14)
+#error Invalid pin assignment for FSMC12 D14 pin: FSMC12_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC12, FSMC12_D15)
+#error Invalid pin assignment for FSMC12 D15 pin: FSMC12_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC12, FSMC12_D2)
+#error Invalid pin assignment for FSMC12 D2 pin: FSMC12_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC12, FSMC12_D3)
+#error Invalid pin assignment for FSMC12 D3 pin: FSMC12_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC12, FSMC12_D4)
+#error Invalid pin assignment for FSMC12 D4 pin: FSMC12_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC12, FSMC12_D5)
+#error Invalid pin assignment for FSMC12 D5 pin: FSMC12_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC12, FSMC12_D6)
+#error Invalid pin assignment for FSMC12 D6 pin: FSMC12_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC12, FSMC12_D7)
+#error Invalid pin assignment for FSMC12 D7 pin: FSMC12_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC12, FSMC12_D8)
+#error Invalid pin assignment for FSMC12 D8 pin: FSMC12_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC12, FSMC12_D9)
+#error Invalid pin assignment for FSMC12 D9 pin: FSMC12_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC12, FSMC12_DA0)
+#error Invalid pin assignment for FSMC12 DA0 pin: FSMC12_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC12, FSMC12_DA1)
+#error Invalid pin assignment for FSMC12 DA1 pin: FSMC12_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC12, FSMC12_DA10)
+#error Invalid pin assignment for FSMC12 DA10 pin: FSMC12_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC12, FSMC12_DA11)
+#error Invalid pin assignment for FSMC12 DA11 pin: FSMC12_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC12, FSMC12_DA12)
+#error Invalid pin assignment for FSMC12 DA12 pin: FSMC12_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC12, FSMC12_DA13)
+#error Invalid pin assignment for FSMC12 DA13 pin: FSMC12_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC12, FSMC12_DA14)
+#error Invalid pin assignment for FSMC12 DA14 pin: FSMC12_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC12, FSMC12_DA15)
+#error Invalid pin assignment for FSMC12 DA15 pin: FSMC12_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC12, FSMC12_DA2)
+#error Invalid pin assignment for FSMC12 DA2 pin: FSMC12_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC12, FSMC12_DA3)
+#error Invalid pin assignment for FSMC12 DA3 pin: FSMC12_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC12, FSMC12_DA4)
+#error Invalid pin assignment for FSMC12 DA4 pin: FSMC12_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC12, FSMC12_DA5)
+#error Invalid pin assignment for FSMC12 DA5 pin: FSMC12_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC12, FSMC12_DA6)
+#error Invalid pin assignment for FSMC12 DA6 pin: FSMC12_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC12, FSMC12_DA7)
+#error Invalid pin assignment for FSMC12 DA7 pin: FSMC12_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC12, FSMC12_DA8)
+#error Invalid pin assignment for FSMC12 DA8 pin: FSMC12_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC12, FSMC12_DA9)
+#error Invalid pin assignment for FSMC12 DA9 pin: FSMC12_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC12, FSMC12_INT2)
+#error Invalid pin assignment for FSMC12 INT2 pin: FSMC12_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC12, FSMC12_INT3)
+#error Invalid pin assignment for FSMC12 INT3 pin: FSMC12_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC12, FSMC12_INTR)
+#error Invalid pin assignment for FSMC12 INTR pin: FSMC12_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC12, FSMC12_NBL0)
+#error Invalid pin assignment for FSMC12 NBL0 pin: FSMC12_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC12, FSMC12_NBL1)
+#error Invalid pin assignment for FSMC12 NBL1 pin: FSMC12_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC12, FSMC12_NCE2)
+#error Invalid pin assignment for FSMC12 NCE2 pin: FSMC12_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC12, FSMC12_NCE3)
+#error Invalid pin assignment for FSMC12 NCE3 pin: FSMC12_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC12, FSMC12_NE1)
+#error Invalid pin assignment for FSMC12 NE1 pin: FSMC12_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC12, FSMC12_NE2)
+#error Invalid pin assignment for FSMC12 NE2 pin: FSMC12_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC12, FSMC12_NE3)
+#error Invalid pin assignment for FSMC12 NE3 pin: FSMC12_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC12, FSMC12_NE4)
+#error Invalid pin assignment for FSMC12 NE4 pin: FSMC12_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC12, FSMC12_NIORD)
+#error Invalid pin assignment for FSMC12 NIORD pin: FSMC12_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC12, FSMC12_NIOWR)
+#error Invalid pin assignment for FSMC12 NIOWR pin: FSMC12_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC12, FSMC12_NL)
+#error Invalid pin assignment for FSMC12 NL pin: FSMC12_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC12, FSMC12_NOE)
+#error Invalid pin assignment for FSMC12 NOE pin: FSMC12_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC12, FSMC12_NREG)
+#error Invalid pin assignment for FSMC12 NREG pin: FSMC12_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC12, FSMC12_NWAIT)
+#error Invalid pin assignment for FSMC12 NWAIT pin: FSMC12_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC12, FSMC12_NWE)
+#error Invalid pin assignment for FSMC12 NWE pin: FSMC12_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC13
+#if !FIND_VALUE_FSMC_A0(_FSMC13, FSMC13_A0)
+#error Invalid pin assignment for FSMC13 A0 pin: FSMC13_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC13, FSMC13_A1)
+#error Invalid pin assignment for FSMC13 A1 pin: FSMC13_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC13, FSMC13_A10)
+#error Invalid pin assignment for FSMC13 A10 pin: FSMC13_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC13, FSMC13_A11)
+#error Invalid pin assignment for FSMC13 A11 pin: FSMC13_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC13, FSMC13_A12)
+#error Invalid pin assignment for FSMC13 A12 pin: FSMC13_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC13, FSMC13_A13)
+#error Invalid pin assignment for FSMC13 A13 pin: FSMC13_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC13, FSMC13_A14)
+#error Invalid pin assignment for FSMC13 A14 pin: FSMC13_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC13, FSMC13_A15)
+#error Invalid pin assignment for FSMC13 A15 pin: FSMC13_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC13, FSMC13_A16)
+#error Invalid pin assignment for FSMC13 A16 pin: FSMC13_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC13, FSMC13_A17)
+#error Invalid pin assignment for FSMC13 A17 pin: FSMC13_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC13, FSMC13_A18)
+#error Invalid pin assignment for FSMC13 A18 pin: FSMC13_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC13, FSMC13_A19)
+#error Invalid pin assignment for FSMC13 A19 pin: FSMC13_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC13, FSMC13_A2)
+#error Invalid pin assignment for FSMC13 A2 pin: FSMC13_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC13, FSMC13_A20)
+#error Invalid pin assignment for FSMC13 A20 pin: FSMC13_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC13, FSMC13_A21)
+#error Invalid pin assignment for FSMC13 A21 pin: FSMC13_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC13, FSMC13_A22)
+#error Invalid pin assignment for FSMC13 A22 pin: FSMC13_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC13, FSMC13_A23)
+#error Invalid pin assignment for FSMC13 A23 pin: FSMC13_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC13, FSMC13_A24)
+#error Invalid pin assignment for FSMC13 A24 pin: FSMC13_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC13, FSMC13_A25)
+#error Invalid pin assignment for FSMC13 A25 pin: FSMC13_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC13, FSMC13_A3)
+#error Invalid pin assignment for FSMC13 A3 pin: FSMC13_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC13, FSMC13_A4)
+#error Invalid pin assignment for FSMC13 A4 pin: FSMC13_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC13, FSMC13_A5)
+#error Invalid pin assignment for FSMC13 A5 pin: FSMC13_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC13, FSMC13_A6)
+#error Invalid pin assignment for FSMC13 A6 pin: FSMC13_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC13, FSMC13_A7)
+#error Invalid pin assignment for FSMC13 A7 pin: FSMC13_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC13, FSMC13_A8)
+#error Invalid pin assignment for FSMC13 A8 pin: FSMC13_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC13, FSMC13_A9)
+#error Invalid pin assignment for FSMC13 A9 pin: FSMC13_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC13, FSMC13_ALE)
+#error Invalid pin assignment for FSMC13 ALE pin: FSMC13_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC13, FSMC13_CD)
+#error Invalid pin assignment for FSMC13 CD pin: FSMC13_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC13, FSMC13_CLE)
+#error Invalid pin assignment for FSMC13 CLE pin: FSMC13_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC13, FSMC13_CLK)
+#error Invalid pin assignment for FSMC13 CLK pin: FSMC13_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC13, FSMC13_D0)
+#error Invalid pin assignment for FSMC13 D0 pin: FSMC13_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC13, FSMC13_D1)
+#error Invalid pin assignment for FSMC13 D1 pin: FSMC13_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC13, FSMC13_D10)
+#error Invalid pin assignment for FSMC13 D10 pin: FSMC13_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC13, FSMC13_D11)
+#error Invalid pin assignment for FSMC13 D11 pin: FSMC13_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC13, FSMC13_D12)
+#error Invalid pin assignment for FSMC13 D12 pin: FSMC13_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC13, FSMC13_D13)
+#error Invalid pin assignment for FSMC13 D13 pin: FSMC13_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC13, FSMC13_D14)
+#error Invalid pin assignment for FSMC13 D14 pin: FSMC13_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC13, FSMC13_D15)
+#error Invalid pin assignment for FSMC13 D15 pin: FSMC13_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC13, FSMC13_D2)
+#error Invalid pin assignment for FSMC13 D2 pin: FSMC13_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC13, FSMC13_D3)
+#error Invalid pin assignment for FSMC13 D3 pin: FSMC13_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC13, FSMC13_D4)
+#error Invalid pin assignment for FSMC13 D4 pin: FSMC13_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC13, FSMC13_D5)
+#error Invalid pin assignment for FSMC13 D5 pin: FSMC13_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC13, FSMC13_D6)
+#error Invalid pin assignment for FSMC13 D6 pin: FSMC13_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC13, FSMC13_D7)
+#error Invalid pin assignment for FSMC13 D7 pin: FSMC13_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC13, FSMC13_D8)
+#error Invalid pin assignment for FSMC13 D8 pin: FSMC13_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC13, FSMC13_D9)
+#error Invalid pin assignment for FSMC13 D9 pin: FSMC13_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC13, FSMC13_DA0)
+#error Invalid pin assignment for FSMC13 DA0 pin: FSMC13_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC13, FSMC13_DA1)
+#error Invalid pin assignment for FSMC13 DA1 pin: FSMC13_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC13, FSMC13_DA10)
+#error Invalid pin assignment for FSMC13 DA10 pin: FSMC13_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC13, FSMC13_DA11)
+#error Invalid pin assignment for FSMC13 DA11 pin: FSMC13_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC13, FSMC13_DA12)
+#error Invalid pin assignment for FSMC13 DA12 pin: FSMC13_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC13, FSMC13_DA13)
+#error Invalid pin assignment for FSMC13 DA13 pin: FSMC13_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC13, FSMC13_DA14)
+#error Invalid pin assignment for FSMC13 DA14 pin: FSMC13_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC13, FSMC13_DA15)
+#error Invalid pin assignment for FSMC13 DA15 pin: FSMC13_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC13, FSMC13_DA2)
+#error Invalid pin assignment for FSMC13 DA2 pin: FSMC13_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC13, FSMC13_DA3)
+#error Invalid pin assignment for FSMC13 DA3 pin: FSMC13_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC13, FSMC13_DA4)
+#error Invalid pin assignment for FSMC13 DA4 pin: FSMC13_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC13, FSMC13_DA5)
+#error Invalid pin assignment for FSMC13 DA5 pin: FSMC13_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC13, FSMC13_DA6)
+#error Invalid pin assignment for FSMC13 DA6 pin: FSMC13_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC13, FSMC13_DA7)
+#error Invalid pin assignment for FSMC13 DA7 pin: FSMC13_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC13, FSMC13_DA8)
+#error Invalid pin assignment for FSMC13 DA8 pin: FSMC13_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC13, FSMC13_DA9)
+#error Invalid pin assignment for FSMC13 DA9 pin: FSMC13_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC13, FSMC13_INT2)
+#error Invalid pin assignment for FSMC13 INT2 pin: FSMC13_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC13, FSMC13_INT3)
+#error Invalid pin assignment for FSMC13 INT3 pin: FSMC13_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC13, FSMC13_INTR)
+#error Invalid pin assignment for FSMC13 INTR pin: FSMC13_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC13, FSMC13_NBL0)
+#error Invalid pin assignment for FSMC13 NBL0 pin: FSMC13_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC13, FSMC13_NBL1)
+#error Invalid pin assignment for FSMC13 NBL1 pin: FSMC13_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC13, FSMC13_NCE2)
+#error Invalid pin assignment for FSMC13 NCE2 pin: FSMC13_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC13, FSMC13_NCE3)
+#error Invalid pin assignment for FSMC13 NCE3 pin: FSMC13_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC13, FSMC13_NE1)
+#error Invalid pin assignment for FSMC13 NE1 pin: FSMC13_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC13, FSMC13_NE2)
+#error Invalid pin assignment for FSMC13 NE2 pin: FSMC13_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC13, FSMC13_NE3)
+#error Invalid pin assignment for FSMC13 NE3 pin: FSMC13_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC13, FSMC13_NE4)
+#error Invalid pin assignment for FSMC13 NE4 pin: FSMC13_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC13, FSMC13_NIORD)
+#error Invalid pin assignment for FSMC13 NIORD pin: FSMC13_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC13, FSMC13_NIOWR)
+#error Invalid pin assignment for FSMC13 NIOWR pin: FSMC13_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC13, FSMC13_NL)
+#error Invalid pin assignment for FSMC13 NL pin: FSMC13_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC13, FSMC13_NOE)
+#error Invalid pin assignment for FSMC13 NOE pin: FSMC13_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC13, FSMC13_NREG)
+#error Invalid pin assignment for FSMC13 NREG pin: FSMC13_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC13, FSMC13_NWAIT)
+#error Invalid pin assignment for FSMC13 NWAIT pin: FSMC13_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC13, FSMC13_NWE)
+#error Invalid pin assignment for FSMC13 NWE pin: FSMC13_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC14
+#if !FIND_VALUE_FSMC_A0(_FSMC14, FSMC14_A0)
+#error Invalid pin assignment for FSMC14 A0 pin: FSMC14_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC14, FSMC14_A1)
+#error Invalid pin assignment for FSMC14 A1 pin: FSMC14_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC14, FSMC14_A10)
+#error Invalid pin assignment for FSMC14 A10 pin: FSMC14_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC14, FSMC14_A11)
+#error Invalid pin assignment for FSMC14 A11 pin: FSMC14_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC14, FSMC14_A12)
+#error Invalid pin assignment for FSMC14 A12 pin: FSMC14_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC14, FSMC14_A13)
+#error Invalid pin assignment for FSMC14 A13 pin: FSMC14_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC14, FSMC14_A14)
+#error Invalid pin assignment for FSMC14 A14 pin: FSMC14_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC14, FSMC14_A15)
+#error Invalid pin assignment for FSMC14 A15 pin: FSMC14_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC14, FSMC14_A16)
+#error Invalid pin assignment for FSMC14 A16 pin: FSMC14_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC14, FSMC14_A17)
+#error Invalid pin assignment for FSMC14 A17 pin: FSMC14_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC14, FSMC14_A18)
+#error Invalid pin assignment for FSMC14 A18 pin: FSMC14_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC14, FSMC14_A19)
+#error Invalid pin assignment for FSMC14 A19 pin: FSMC14_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC14, FSMC14_A2)
+#error Invalid pin assignment for FSMC14 A2 pin: FSMC14_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC14, FSMC14_A20)
+#error Invalid pin assignment for FSMC14 A20 pin: FSMC14_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC14, FSMC14_A21)
+#error Invalid pin assignment for FSMC14 A21 pin: FSMC14_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC14, FSMC14_A22)
+#error Invalid pin assignment for FSMC14 A22 pin: FSMC14_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC14, FSMC14_A23)
+#error Invalid pin assignment for FSMC14 A23 pin: FSMC14_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC14, FSMC14_A24)
+#error Invalid pin assignment for FSMC14 A24 pin: FSMC14_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC14, FSMC14_A25)
+#error Invalid pin assignment for FSMC14 A25 pin: FSMC14_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC14, FSMC14_A3)
+#error Invalid pin assignment for FSMC14 A3 pin: FSMC14_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC14, FSMC14_A4)
+#error Invalid pin assignment for FSMC14 A4 pin: FSMC14_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC14, FSMC14_A5)
+#error Invalid pin assignment for FSMC14 A5 pin: FSMC14_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC14, FSMC14_A6)
+#error Invalid pin assignment for FSMC14 A6 pin: FSMC14_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC14, FSMC14_A7)
+#error Invalid pin assignment for FSMC14 A7 pin: FSMC14_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC14, FSMC14_A8)
+#error Invalid pin assignment for FSMC14 A8 pin: FSMC14_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC14, FSMC14_A9)
+#error Invalid pin assignment for FSMC14 A9 pin: FSMC14_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC14, FSMC14_ALE)
+#error Invalid pin assignment for FSMC14 ALE pin: FSMC14_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC14, FSMC14_CD)
+#error Invalid pin assignment for FSMC14 CD pin: FSMC14_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC14, FSMC14_CLE)
+#error Invalid pin assignment for FSMC14 CLE pin: FSMC14_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC14, FSMC14_CLK)
+#error Invalid pin assignment for FSMC14 CLK pin: FSMC14_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC14, FSMC14_D0)
+#error Invalid pin assignment for FSMC14 D0 pin: FSMC14_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC14, FSMC14_D1)
+#error Invalid pin assignment for FSMC14 D1 pin: FSMC14_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC14, FSMC14_D10)
+#error Invalid pin assignment for FSMC14 D10 pin: FSMC14_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC14, FSMC14_D11)
+#error Invalid pin assignment for FSMC14 D11 pin: FSMC14_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC14, FSMC14_D12)
+#error Invalid pin assignment for FSMC14 D12 pin: FSMC14_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC14, FSMC14_D13)
+#error Invalid pin assignment for FSMC14 D13 pin: FSMC14_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC14, FSMC14_D14)
+#error Invalid pin assignment for FSMC14 D14 pin: FSMC14_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC14, FSMC14_D15)
+#error Invalid pin assignment for FSMC14 D15 pin: FSMC14_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC14, FSMC14_D2)
+#error Invalid pin assignment for FSMC14 D2 pin: FSMC14_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC14, FSMC14_D3)
+#error Invalid pin assignment for FSMC14 D3 pin: FSMC14_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC14, FSMC14_D4)
+#error Invalid pin assignment for FSMC14 D4 pin: FSMC14_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC14, FSMC14_D5)
+#error Invalid pin assignment for FSMC14 D5 pin: FSMC14_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC14, FSMC14_D6)
+#error Invalid pin assignment for FSMC14 D6 pin: FSMC14_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC14, FSMC14_D7)
+#error Invalid pin assignment for FSMC14 D7 pin: FSMC14_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC14, FSMC14_D8)
+#error Invalid pin assignment for FSMC14 D8 pin: FSMC14_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC14, FSMC14_D9)
+#error Invalid pin assignment for FSMC14 D9 pin: FSMC14_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC14, FSMC14_DA0)
+#error Invalid pin assignment for FSMC14 DA0 pin: FSMC14_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC14, FSMC14_DA1)
+#error Invalid pin assignment for FSMC14 DA1 pin: FSMC14_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC14, FSMC14_DA10)
+#error Invalid pin assignment for FSMC14 DA10 pin: FSMC14_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC14, FSMC14_DA11)
+#error Invalid pin assignment for FSMC14 DA11 pin: FSMC14_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC14, FSMC14_DA12)
+#error Invalid pin assignment for FSMC14 DA12 pin: FSMC14_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC14, FSMC14_DA13)
+#error Invalid pin assignment for FSMC14 DA13 pin: FSMC14_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC14, FSMC14_DA14)
+#error Invalid pin assignment for FSMC14 DA14 pin: FSMC14_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC14, FSMC14_DA15)
+#error Invalid pin assignment for FSMC14 DA15 pin: FSMC14_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC14, FSMC14_DA2)
+#error Invalid pin assignment for FSMC14 DA2 pin: FSMC14_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC14, FSMC14_DA3)
+#error Invalid pin assignment for FSMC14 DA3 pin: FSMC14_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC14, FSMC14_DA4)
+#error Invalid pin assignment for FSMC14 DA4 pin: FSMC14_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC14, FSMC14_DA5)
+#error Invalid pin assignment for FSMC14 DA5 pin: FSMC14_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC14, FSMC14_DA6)
+#error Invalid pin assignment for FSMC14 DA6 pin: FSMC14_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC14, FSMC14_DA7)
+#error Invalid pin assignment for FSMC14 DA7 pin: FSMC14_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC14, FSMC14_DA8)
+#error Invalid pin assignment for FSMC14 DA8 pin: FSMC14_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC14, FSMC14_DA9)
+#error Invalid pin assignment for FSMC14 DA9 pin: FSMC14_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC14, FSMC14_INT2)
+#error Invalid pin assignment for FSMC14 INT2 pin: FSMC14_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC14, FSMC14_INT3)
+#error Invalid pin assignment for FSMC14 INT3 pin: FSMC14_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC14, FSMC14_INTR)
+#error Invalid pin assignment for FSMC14 INTR pin: FSMC14_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC14, FSMC14_NBL0)
+#error Invalid pin assignment for FSMC14 NBL0 pin: FSMC14_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC14, FSMC14_NBL1)
+#error Invalid pin assignment for FSMC14 NBL1 pin: FSMC14_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC14, FSMC14_NCE2)
+#error Invalid pin assignment for FSMC14 NCE2 pin: FSMC14_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC14, FSMC14_NCE3)
+#error Invalid pin assignment for FSMC14 NCE3 pin: FSMC14_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC14, FSMC14_NE1)
+#error Invalid pin assignment for FSMC14 NE1 pin: FSMC14_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC14, FSMC14_NE2)
+#error Invalid pin assignment for FSMC14 NE2 pin: FSMC14_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC14, FSMC14_NE3)
+#error Invalid pin assignment for FSMC14 NE3 pin: FSMC14_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC14, FSMC14_NE4)
+#error Invalid pin assignment for FSMC14 NE4 pin: FSMC14_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC14, FSMC14_NIORD)
+#error Invalid pin assignment for FSMC14 NIORD pin: FSMC14_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC14, FSMC14_NIOWR)
+#error Invalid pin assignment for FSMC14 NIOWR pin: FSMC14_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC14, FSMC14_NL)
+#error Invalid pin assignment for FSMC14 NL pin: FSMC14_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC14, FSMC14_NOE)
+#error Invalid pin assignment for FSMC14 NOE pin: FSMC14_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC14, FSMC14_NREG)
+#error Invalid pin assignment for FSMC14 NREG pin: FSMC14_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC14, FSMC14_NWAIT)
+#error Invalid pin assignment for FSMC14 NWAIT pin: FSMC14_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC14, FSMC14_NWE)
+#error Invalid pin assignment for FSMC14 NWE pin: FSMC14_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC15
+#if !FIND_VALUE_FSMC_A0(_FSMC15, FSMC15_A0)
+#error Invalid pin assignment for FSMC15 A0 pin: FSMC15_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC15, FSMC15_A1)
+#error Invalid pin assignment for FSMC15 A1 pin: FSMC15_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC15, FSMC15_A10)
+#error Invalid pin assignment for FSMC15 A10 pin: FSMC15_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC15, FSMC15_A11)
+#error Invalid pin assignment for FSMC15 A11 pin: FSMC15_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC15, FSMC15_A12)
+#error Invalid pin assignment for FSMC15 A12 pin: FSMC15_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC15, FSMC15_A13)
+#error Invalid pin assignment for FSMC15 A13 pin: FSMC15_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC15, FSMC15_A14)
+#error Invalid pin assignment for FSMC15 A14 pin: FSMC15_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC15, FSMC15_A15)
+#error Invalid pin assignment for FSMC15 A15 pin: FSMC15_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC15, FSMC15_A16)
+#error Invalid pin assignment for FSMC15 A16 pin: FSMC15_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC15, FSMC15_A17)
+#error Invalid pin assignment for FSMC15 A17 pin: FSMC15_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC15, FSMC15_A18)
+#error Invalid pin assignment for FSMC15 A18 pin: FSMC15_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC15, FSMC15_A19)
+#error Invalid pin assignment for FSMC15 A19 pin: FSMC15_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC15, FSMC15_A2)
+#error Invalid pin assignment for FSMC15 A2 pin: FSMC15_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC15, FSMC15_A20)
+#error Invalid pin assignment for FSMC15 A20 pin: FSMC15_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC15, FSMC15_A21)
+#error Invalid pin assignment for FSMC15 A21 pin: FSMC15_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC15, FSMC15_A22)
+#error Invalid pin assignment for FSMC15 A22 pin: FSMC15_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC15, FSMC15_A23)
+#error Invalid pin assignment for FSMC15 A23 pin: FSMC15_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC15, FSMC15_A24)
+#error Invalid pin assignment for FSMC15 A24 pin: FSMC15_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC15, FSMC15_A25)
+#error Invalid pin assignment for FSMC15 A25 pin: FSMC15_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC15, FSMC15_A3)
+#error Invalid pin assignment for FSMC15 A3 pin: FSMC15_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC15, FSMC15_A4)
+#error Invalid pin assignment for FSMC15 A4 pin: FSMC15_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC15, FSMC15_A5)
+#error Invalid pin assignment for FSMC15 A5 pin: FSMC15_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC15, FSMC15_A6)
+#error Invalid pin assignment for FSMC15 A6 pin: FSMC15_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC15, FSMC15_A7)
+#error Invalid pin assignment for FSMC15 A7 pin: FSMC15_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC15, FSMC15_A8)
+#error Invalid pin assignment for FSMC15 A8 pin: FSMC15_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC15, FSMC15_A9)
+#error Invalid pin assignment for FSMC15 A9 pin: FSMC15_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC15, FSMC15_ALE)
+#error Invalid pin assignment for FSMC15 ALE pin: FSMC15_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC15, FSMC15_CD)
+#error Invalid pin assignment for FSMC15 CD pin: FSMC15_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC15, FSMC15_CLE)
+#error Invalid pin assignment for FSMC15 CLE pin: FSMC15_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC15, FSMC15_CLK)
+#error Invalid pin assignment for FSMC15 CLK pin: FSMC15_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC15, FSMC15_D0)
+#error Invalid pin assignment for FSMC15 D0 pin: FSMC15_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC15, FSMC15_D1)
+#error Invalid pin assignment for FSMC15 D1 pin: FSMC15_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC15, FSMC15_D10)
+#error Invalid pin assignment for FSMC15 D10 pin: FSMC15_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC15, FSMC15_D11)
+#error Invalid pin assignment for FSMC15 D11 pin: FSMC15_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC15, FSMC15_D12)
+#error Invalid pin assignment for FSMC15 D12 pin: FSMC15_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC15, FSMC15_D13)
+#error Invalid pin assignment for FSMC15 D13 pin: FSMC15_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC15, FSMC15_D14)
+#error Invalid pin assignment for FSMC15 D14 pin: FSMC15_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC15, FSMC15_D15)
+#error Invalid pin assignment for FSMC15 D15 pin: FSMC15_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC15, FSMC15_D2)
+#error Invalid pin assignment for FSMC15 D2 pin: FSMC15_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC15, FSMC15_D3)
+#error Invalid pin assignment for FSMC15 D3 pin: FSMC15_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC15, FSMC15_D4)
+#error Invalid pin assignment for FSMC15 D4 pin: FSMC15_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC15, FSMC15_D5)
+#error Invalid pin assignment for FSMC15 D5 pin: FSMC15_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC15, FSMC15_D6)
+#error Invalid pin assignment for FSMC15 D6 pin: FSMC15_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC15, FSMC15_D7)
+#error Invalid pin assignment for FSMC15 D7 pin: FSMC15_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC15, FSMC15_D8)
+#error Invalid pin assignment for FSMC15 D8 pin: FSMC15_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC15, FSMC15_D9)
+#error Invalid pin assignment for FSMC15 D9 pin: FSMC15_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC15, FSMC15_DA0)
+#error Invalid pin assignment for FSMC15 DA0 pin: FSMC15_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC15, FSMC15_DA1)
+#error Invalid pin assignment for FSMC15 DA1 pin: FSMC15_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC15, FSMC15_DA10)
+#error Invalid pin assignment for FSMC15 DA10 pin: FSMC15_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC15, FSMC15_DA11)
+#error Invalid pin assignment for FSMC15 DA11 pin: FSMC15_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC15, FSMC15_DA12)
+#error Invalid pin assignment for FSMC15 DA12 pin: FSMC15_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC15, FSMC15_DA13)
+#error Invalid pin assignment for FSMC15 DA13 pin: FSMC15_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC15, FSMC15_DA14)
+#error Invalid pin assignment for FSMC15 DA14 pin: FSMC15_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC15, FSMC15_DA15)
+#error Invalid pin assignment for FSMC15 DA15 pin: FSMC15_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC15, FSMC15_DA2)
+#error Invalid pin assignment for FSMC15 DA2 pin: FSMC15_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC15, FSMC15_DA3)
+#error Invalid pin assignment for FSMC15 DA3 pin: FSMC15_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC15, FSMC15_DA4)
+#error Invalid pin assignment for FSMC15 DA4 pin: FSMC15_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC15, FSMC15_DA5)
+#error Invalid pin assignment for FSMC15 DA5 pin: FSMC15_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC15, FSMC15_DA6)
+#error Invalid pin assignment for FSMC15 DA6 pin: FSMC15_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC15, FSMC15_DA7)
+#error Invalid pin assignment for FSMC15 DA7 pin: FSMC15_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC15, FSMC15_DA8)
+#error Invalid pin assignment for FSMC15 DA8 pin: FSMC15_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC15, FSMC15_DA9)
+#error Invalid pin assignment for FSMC15 DA9 pin: FSMC15_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC15, FSMC15_INT2)
+#error Invalid pin assignment for FSMC15 INT2 pin: FSMC15_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC15, FSMC15_INT3)
+#error Invalid pin assignment for FSMC15 INT3 pin: FSMC15_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC15, FSMC15_INTR)
+#error Invalid pin assignment for FSMC15 INTR pin: FSMC15_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC15, FSMC15_NBL0)
+#error Invalid pin assignment for FSMC15 NBL0 pin: FSMC15_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC15, FSMC15_NBL1)
+#error Invalid pin assignment for FSMC15 NBL1 pin: FSMC15_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC15, FSMC15_NCE2)
+#error Invalid pin assignment for FSMC15 NCE2 pin: FSMC15_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC15, FSMC15_NCE3)
+#error Invalid pin assignment for FSMC15 NCE3 pin: FSMC15_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC15, FSMC15_NE1)
+#error Invalid pin assignment for FSMC15 NE1 pin: FSMC15_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC15, FSMC15_NE2)
+#error Invalid pin assignment for FSMC15 NE2 pin: FSMC15_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC15, FSMC15_NE3)
+#error Invalid pin assignment for FSMC15 NE3 pin: FSMC15_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC15, FSMC15_NE4)
+#error Invalid pin assignment for FSMC15 NE4 pin: FSMC15_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC15, FSMC15_NIORD)
+#error Invalid pin assignment for FSMC15 NIORD pin: FSMC15_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC15, FSMC15_NIOWR)
+#error Invalid pin assignment for FSMC15 NIOWR pin: FSMC15_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC15, FSMC15_NL)
+#error Invalid pin assignment for FSMC15 NL pin: FSMC15_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC15, FSMC15_NOE)
+#error Invalid pin assignment for FSMC15 NOE pin: FSMC15_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC15, FSMC15_NREG)
+#error Invalid pin assignment for FSMC15 NREG pin: FSMC15_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC15, FSMC15_NWAIT)
+#error Invalid pin assignment for FSMC15 NWAIT pin: FSMC15_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC15, FSMC15_NWE)
+#error Invalid pin assignment for FSMC15 NWE pin: FSMC15_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC16
+#if !FIND_VALUE_FSMC_A0(_FSMC16, FSMC16_A0)
+#error Invalid pin assignment for FSMC16 A0 pin: FSMC16_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC16, FSMC16_A1)
+#error Invalid pin assignment for FSMC16 A1 pin: FSMC16_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC16, FSMC16_A10)
+#error Invalid pin assignment for FSMC16 A10 pin: FSMC16_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC16, FSMC16_A11)
+#error Invalid pin assignment for FSMC16 A11 pin: FSMC16_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC16, FSMC16_A12)
+#error Invalid pin assignment for FSMC16 A12 pin: FSMC16_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC16, FSMC16_A13)
+#error Invalid pin assignment for FSMC16 A13 pin: FSMC16_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC16, FSMC16_A14)
+#error Invalid pin assignment for FSMC16 A14 pin: FSMC16_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC16, FSMC16_A15)
+#error Invalid pin assignment for FSMC16 A15 pin: FSMC16_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC16, FSMC16_A16)
+#error Invalid pin assignment for FSMC16 A16 pin: FSMC16_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC16, FSMC16_A17)
+#error Invalid pin assignment for FSMC16 A17 pin: FSMC16_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC16, FSMC16_A18)
+#error Invalid pin assignment for FSMC16 A18 pin: FSMC16_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC16, FSMC16_A19)
+#error Invalid pin assignment for FSMC16 A19 pin: FSMC16_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC16, FSMC16_A2)
+#error Invalid pin assignment for FSMC16 A2 pin: FSMC16_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC16, FSMC16_A20)
+#error Invalid pin assignment for FSMC16 A20 pin: FSMC16_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC16, FSMC16_A21)
+#error Invalid pin assignment for FSMC16 A21 pin: FSMC16_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC16, FSMC16_A22)
+#error Invalid pin assignment for FSMC16 A22 pin: FSMC16_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC16, FSMC16_A23)
+#error Invalid pin assignment for FSMC16 A23 pin: FSMC16_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC16, FSMC16_A24)
+#error Invalid pin assignment for FSMC16 A24 pin: FSMC16_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC16, FSMC16_A25)
+#error Invalid pin assignment for FSMC16 A25 pin: FSMC16_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC16, FSMC16_A3)
+#error Invalid pin assignment for FSMC16 A3 pin: FSMC16_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC16, FSMC16_A4)
+#error Invalid pin assignment for FSMC16 A4 pin: FSMC16_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC16, FSMC16_A5)
+#error Invalid pin assignment for FSMC16 A5 pin: FSMC16_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC16, FSMC16_A6)
+#error Invalid pin assignment for FSMC16 A6 pin: FSMC16_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC16, FSMC16_A7)
+#error Invalid pin assignment for FSMC16 A7 pin: FSMC16_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC16, FSMC16_A8)
+#error Invalid pin assignment for FSMC16 A8 pin: FSMC16_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC16, FSMC16_A9)
+#error Invalid pin assignment for FSMC16 A9 pin: FSMC16_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC16, FSMC16_ALE)
+#error Invalid pin assignment for FSMC16 ALE pin: FSMC16_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC16, FSMC16_CD)
+#error Invalid pin assignment for FSMC16 CD pin: FSMC16_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC16, FSMC16_CLE)
+#error Invalid pin assignment for FSMC16 CLE pin: FSMC16_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC16, FSMC16_CLK)
+#error Invalid pin assignment for FSMC16 CLK pin: FSMC16_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC16, FSMC16_D0)
+#error Invalid pin assignment for FSMC16 D0 pin: FSMC16_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC16, FSMC16_D1)
+#error Invalid pin assignment for FSMC16 D1 pin: FSMC16_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC16, FSMC16_D10)
+#error Invalid pin assignment for FSMC16 D10 pin: FSMC16_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC16, FSMC16_D11)
+#error Invalid pin assignment for FSMC16 D11 pin: FSMC16_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC16, FSMC16_D12)
+#error Invalid pin assignment for FSMC16 D12 pin: FSMC16_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC16, FSMC16_D13)
+#error Invalid pin assignment for FSMC16 D13 pin: FSMC16_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC16, FSMC16_D14)
+#error Invalid pin assignment for FSMC16 D14 pin: FSMC16_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC16, FSMC16_D15)
+#error Invalid pin assignment for FSMC16 D15 pin: FSMC16_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC16, FSMC16_D2)
+#error Invalid pin assignment for FSMC16 D2 pin: FSMC16_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC16, FSMC16_D3)
+#error Invalid pin assignment for FSMC16 D3 pin: FSMC16_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC16, FSMC16_D4)
+#error Invalid pin assignment for FSMC16 D4 pin: FSMC16_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC16, FSMC16_D5)
+#error Invalid pin assignment for FSMC16 D5 pin: FSMC16_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC16, FSMC16_D6)
+#error Invalid pin assignment for FSMC16 D6 pin: FSMC16_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC16, FSMC16_D7)
+#error Invalid pin assignment for FSMC16 D7 pin: FSMC16_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC16, FSMC16_D8)
+#error Invalid pin assignment for FSMC16 D8 pin: FSMC16_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC16, FSMC16_D9)
+#error Invalid pin assignment for FSMC16 D9 pin: FSMC16_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC16, FSMC16_DA0)
+#error Invalid pin assignment for FSMC16 DA0 pin: FSMC16_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC16, FSMC16_DA1)
+#error Invalid pin assignment for FSMC16 DA1 pin: FSMC16_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC16, FSMC16_DA10)
+#error Invalid pin assignment for FSMC16 DA10 pin: FSMC16_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC16, FSMC16_DA11)
+#error Invalid pin assignment for FSMC16 DA11 pin: FSMC16_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC16, FSMC16_DA12)
+#error Invalid pin assignment for FSMC16 DA12 pin: FSMC16_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC16, FSMC16_DA13)
+#error Invalid pin assignment for FSMC16 DA13 pin: FSMC16_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC16, FSMC16_DA14)
+#error Invalid pin assignment for FSMC16 DA14 pin: FSMC16_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC16, FSMC16_DA15)
+#error Invalid pin assignment for FSMC16 DA15 pin: FSMC16_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC16, FSMC16_DA2)
+#error Invalid pin assignment for FSMC16 DA2 pin: FSMC16_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC16, FSMC16_DA3)
+#error Invalid pin assignment for FSMC16 DA3 pin: FSMC16_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC16, FSMC16_DA4)
+#error Invalid pin assignment for FSMC16 DA4 pin: FSMC16_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC16, FSMC16_DA5)
+#error Invalid pin assignment for FSMC16 DA5 pin: FSMC16_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC16, FSMC16_DA6)
+#error Invalid pin assignment for FSMC16 DA6 pin: FSMC16_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC16, FSMC16_DA7)
+#error Invalid pin assignment for FSMC16 DA7 pin: FSMC16_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC16, FSMC16_DA8)
+#error Invalid pin assignment for FSMC16 DA8 pin: FSMC16_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC16, FSMC16_DA9)
+#error Invalid pin assignment for FSMC16 DA9 pin: FSMC16_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC16, FSMC16_INT2)
+#error Invalid pin assignment for FSMC16 INT2 pin: FSMC16_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC16, FSMC16_INT3)
+#error Invalid pin assignment for FSMC16 INT3 pin: FSMC16_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC16, FSMC16_INTR)
+#error Invalid pin assignment for FSMC16 INTR pin: FSMC16_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC16, FSMC16_NBL0)
+#error Invalid pin assignment for FSMC16 NBL0 pin: FSMC16_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC16, FSMC16_NBL1)
+#error Invalid pin assignment for FSMC16 NBL1 pin: FSMC16_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC16, FSMC16_NCE2)
+#error Invalid pin assignment for FSMC16 NCE2 pin: FSMC16_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC16, FSMC16_NCE3)
+#error Invalid pin assignment for FSMC16 NCE3 pin: FSMC16_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC16, FSMC16_NE1)
+#error Invalid pin assignment for FSMC16 NE1 pin: FSMC16_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC16, FSMC16_NE2)
+#error Invalid pin assignment for FSMC16 NE2 pin: FSMC16_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC16, FSMC16_NE3)
+#error Invalid pin assignment for FSMC16 NE3 pin: FSMC16_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC16, FSMC16_NE4)
+#error Invalid pin assignment for FSMC16 NE4 pin: FSMC16_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC16, FSMC16_NIORD)
+#error Invalid pin assignment for FSMC16 NIORD pin: FSMC16_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC16, FSMC16_NIOWR)
+#error Invalid pin assignment for FSMC16 NIOWR pin: FSMC16_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC16, FSMC16_NL)
+#error Invalid pin assignment for FSMC16 NL pin: FSMC16_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC16, FSMC16_NOE)
+#error Invalid pin assignment for FSMC16 NOE pin: FSMC16_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC16, FSMC16_NREG)
+#error Invalid pin assignment for FSMC16 NREG pin: FSMC16_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC16, FSMC16_NWAIT)
+#error Invalid pin assignment for FSMC16 NWAIT pin: FSMC16_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC16, FSMC16_NWE)
+#error Invalid pin assignment for FSMC16 NWE pin: FSMC16_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC17
+#if !FIND_VALUE_FSMC_A0(_FSMC17, FSMC17_A0)
+#error Invalid pin assignment for FSMC17 A0 pin: FSMC17_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC17, FSMC17_A1)
+#error Invalid pin assignment for FSMC17 A1 pin: FSMC17_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC17, FSMC17_A10)
+#error Invalid pin assignment for FSMC17 A10 pin: FSMC17_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC17, FSMC17_A11)
+#error Invalid pin assignment for FSMC17 A11 pin: FSMC17_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC17, FSMC17_A12)
+#error Invalid pin assignment for FSMC17 A12 pin: FSMC17_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC17, FSMC17_A13)
+#error Invalid pin assignment for FSMC17 A13 pin: FSMC17_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC17, FSMC17_A14)
+#error Invalid pin assignment for FSMC17 A14 pin: FSMC17_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC17, FSMC17_A15)
+#error Invalid pin assignment for FSMC17 A15 pin: FSMC17_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC17, FSMC17_A16)
+#error Invalid pin assignment for FSMC17 A16 pin: FSMC17_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC17, FSMC17_A17)
+#error Invalid pin assignment for FSMC17 A17 pin: FSMC17_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC17, FSMC17_A18)
+#error Invalid pin assignment for FSMC17 A18 pin: FSMC17_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC17, FSMC17_A19)
+#error Invalid pin assignment for FSMC17 A19 pin: FSMC17_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC17, FSMC17_A2)
+#error Invalid pin assignment for FSMC17 A2 pin: FSMC17_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC17, FSMC17_A20)
+#error Invalid pin assignment for FSMC17 A20 pin: FSMC17_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC17, FSMC17_A21)
+#error Invalid pin assignment for FSMC17 A21 pin: FSMC17_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC17, FSMC17_A22)
+#error Invalid pin assignment for FSMC17 A22 pin: FSMC17_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC17, FSMC17_A23)
+#error Invalid pin assignment for FSMC17 A23 pin: FSMC17_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC17, FSMC17_A24)
+#error Invalid pin assignment for FSMC17 A24 pin: FSMC17_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC17, FSMC17_A25)
+#error Invalid pin assignment for FSMC17 A25 pin: FSMC17_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC17, FSMC17_A3)
+#error Invalid pin assignment for FSMC17 A3 pin: FSMC17_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC17, FSMC17_A4)
+#error Invalid pin assignment for FSMC17 A4 pin: FSMC17_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC17, FSMC17_A5)
+#error Invalid pin assignment for FSMC17 A5 pin: FSMC17_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC17, FSMC17_A6)
+#error Invalid pin assignment for FSMC17 A6 pin: FSMC17_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC17, FSMC17_A7)
+#error Invalid pin assignment for FSMC17 A7 pin: FSMC17_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC17, FSMC17_A8)
+#error Invalid pin assignment for FSMC17 A8 pin: FSMC17_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC17, FSMC17_A9)
+#error Invalid pin assignment for FSMC17 A9 pin: FSMC17_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC17, FSMC17_ALE)
+#error Invalid pin assignment for FSMC17 ALE pin: FSMC17_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC17, FSMC17_CD)
+#error Invalid pin assignment for FSMC17 CD pin: FSMC17_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC17, FSMC17_CLE)
+#error Invalid pin assignment for FSMC17 CLE pin: FSMC17_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC17, FSMC17_CLK)
+#error Invalid pin assignment for FSMC17 CLK pin: FSMC17_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC17, FSMC17_D0)
+#error Invalid pin assignment for FSMC17 D0 pin: FSMC17_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC17, FSMC17_D1)
+#error Invalid pin assignment for FSMC17 D1 pin: FSMC17_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC17, FSMC17_D10)
+#error Invalid pin assignment for FSMC17 D10 pin: FSMC17_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC17, FSMC17_D11)
+#error Invalid pin assignment for FSMC17 D11 pin: FSMC17_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC17, FSMC17_D12)
+#error Invalid pin assignment for FSMC17 D12 pin: FSMC17_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC17, FSMC17_D13)
+#error Invalid pin assignment for FSMC17 D13 pin: FSMC17_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC17, FSMC17_D14)
+#error Invalid pin assignment for FSMC17 D14 pin: FSMC17_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC17, FSMC17_D15)
+#error Invalid pin assignment for FSMC17 D15 pin: FSMC17_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC17, FSMC17_D2)
+#error Invalid pin assignment for FSMC17 D2 pin: FSMC17_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC17, FSMC17_D3)
+#error Invalid pin assignment for FSMC17 D3 pin: FSMC17_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC17, FSMC17_D4)
+#error Invalid pin assignment for FSMC17 D4 pin: FSMC17_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC17, FSMC17_D5)
+#error Invalid pin assignment for FSMC17 D5 pin: FSMC17_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC17, FSMC17_D6)
+#error Invalid pin assignment for FSMC17 D6 pin: FSMC17_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC17, FSMC17_D7)
+#error Invalid pin assignment for FSMC17 D7 pin: FSMC17_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC17, FSMC17_D8)
+#error Invalid pin assignment for FSMC17 D8 pin: FSMC17_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC17, FSMC17_D9)
+#error Invalid pin assignment for FSMC17 D9 pin: FSMC17_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC17, FSMC17_DA0)
+#error Invalid pin assignment for FSMC17 DA0 pin: FSMC17_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC17, FSMC17_DA1)
+#error Invalid pin assignment for FSMC17 DA1 pin: FSMC17_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC17, FSMC17_DA10)
+#error Invalid pin assignment for FSMC17 DA10 pin: FSMC17_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC17, FSMC17_DA11)
+#error Invalid pin assignment for FSMC17 DA11 pin: FSMC17_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC17, FSMC17_DA12)
+#error Invalid pin assignment for FSMC17 DA12 pin: FSMC17_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC17, FSMC17_DA13)
+#error Invalid pin assignment for FSMC17 DA13 pin: FSMC17_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC17, FSMC17_DA14)
+#error Invalid pin assignment for FSMC17 DA14 pin: FSMC17_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC17, FSMC17_DA15)
+#error Invalid pin assignment for FSMC17 DA15 pin: FSMC17_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC17, FSMC17_DA2)
+#error Invalid pin assignment for FSMC17 DA2 pin: FSMC17_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC17, FSMC17_DA3)
+#error Invalid pin assignment for FSMC17 DA3 pin: FSMC17_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC17, FSMC17_DA4)
+#error Invalid pin assignment for FSMC17 DA4 pin: FSMC17_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC17, FSMC17_DA5)
+#error Invalid pin assignment for FSMC17 DA5 pin: FSMC17_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC17, FSMC17_DA6)
+#error Invalid pin assignment for FSMC17 DA6 pin: FSMC17_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC17, FSMC17_DA7)
+#error Invalid pin assignment for FSMC17 DA7 pin: FSMC17_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC17, FSMC17_DA8)
+#error Invalid pin assignment for FSMC17 DA8 pin: FSMC17_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC17, FSMC17_DA9)
+#error Invalid pin assignment for FSMC17 DA9 pin: FSMC17_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC17, FSMC17_INT2)
+#error Invalid pin assignment for FSMC17 INT2 pin: FSMC17_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC17, FSMC17_INT3)
+#error Invalid pin assignment for FSMC17 INT3 pin: FSMC17_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC17, FSMC17_INTR)
+#error Invalid pin assignment for FSMC17 INTR pin: FSMC17_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC17, FSMC17_NBL0)
+#error Invalid pin assignment for FSMC17 NBL0 pin: FSMC17_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC17, FSMC17_NBL1)
+#error Invalid pin assignment for FSMC17 NBL1 pin: FSMC17_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC17, FSMC17_NCE2)
+#error Invalid pin assignment for FSMC17 NCE2 pin: FSMC17_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC17, FSMC17_NCE3)
+#error Invalid pin assignment for FSMC17 NCE3 pin: FSMC17_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC17, FSMC17_NE1)
+#error Invalid pin assignment for FSMC17 NE1 pin: FSMC17_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC17, FSMC17_NE2)
+#error Invalid pin assignment for FSMC17 NE2 pin: FSMC17_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC17, FSMC17_NE3)
+#error Invalid pin assignment for FSMC17 NE3 pin: FSMC17_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC17, FSMC17_NE4)
+#error Invalid pin assignment for FSMC17 NE4 pin: FSMC17_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC17, FSMC17_NIORD)
+#error Invalid pin assignment for FSMC17 NIORD pin: FSMC17_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC17, FSMC17_NIOWR)
+#error Invalid pin assignment for FSMC17 NIOWR pin: FSMC17_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC17, FSMC17_NL)
+#error Invalid pin assignment for FSMC17 NL pin: FSMC17_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC17, FSMC17_NOE)
+#error Invalid pin assignment for FSMC17 NOE pin: FSMC17_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC17, FSMC17_NREG)
+#error Invalid pin assignment for FSMC17 NREG pin: FSMC17_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC17, FSMC17_NWAIT)
+#error Invalid pin assignment for FSMC17 NWAIT pin: FSMC17_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC17, FSMC17_NWE)
+#error Invalid pin assignment for FSMC17 NWE pin: FSMC17_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC18
+#if !FIND_VALUE_FSMC_A0(_FSMC18, FSMC18_A0)
+#error Invalid pin assignment for FSMC18 A0 pin: FSMC18_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC18, FSMC18_A1)
+#error Invalid pin assignment for FSMC18 A1 pin: FSMC18_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC18, FSMC18_A10)
+#error Invalid pin assignment for FSMC18 A10 pin: FSMC18_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC18, FSMC18_A11)
+#error Invalid pin assignment for FSMC18 A11 pin: FSMC18_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC18, FSMC18_A12)
+#error Invalid pin assignment for FSMC18 A12 pin: FSMC18_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC18, FSMC18_A13)
+#error Invalid pin assignment for FSMC18 A13 pin: FSMC18_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC18, FSMC18_A14)
+#error Invalid pin assignment for FSMC18 A14 pin: FSMC18_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC18, FSMC18_A15)
+#error Invalid pin assignment for FSMC18 A15 pin: FSMC18_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC18, FSMC18_A16)
+#error Invalid pin assignment for FSMC18 A16 pin: FSMC18_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC18, FSMC18_A17)
+#error Invalid pin assignment for FSMC18 A17 pin: FSMC18_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC18, FSMC18_A18)
+#error Invalid pin assignment for FSMC18 A18 pin: FSMC18_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC18, FSMC18_A19)
+#error Invalid pin assignment for FSMC18 A19 pin: FSMC18_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC18, FSMC18_A2)
+#error Invalid pin assignment for FSMC18 A2 pin: FSMC18_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC18, FSMC18_A20)
+#error Invalid pin assignment for FSMC18 A20 pin: FSMC18_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC18, FSMC18_A21)
+#error Invalid pin assignment for FSMC18 A21 pin: FSMC18_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC18, FSMC18_A22)
+#error Invalid pin assignment for FSMC18 A22 pin: FSMC18_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC18, FSMC18_A23)
+#error Invalid pin assignment for FSMC18 A23 pin: FSMC18_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC18, FSMC18_A24)
+#error Invalid pin assignment for FSMC18 A24 pin: FSMC18_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC18, FSMC18_A25)
+#error Invalid pin assignment for FSMC18 A25 pin: FSMC18_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC18, FSMC18_A3)
+#error Invalid pin assignment for FSMC18 A3 pin: FSMC18_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC18, FSMC18_A4)
+#error Invalid pin assignment for FSMC18 A4 pin: FSMC18_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC18, FSMC18_A5)
+#error Invalid pin assignment for FSMC18 A5 pin: FSMC18_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC18, FSMC18_A6)
+#error Invalid pin assignment for FSMC18 A6 pin: FSMC18_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC18, FSMC18_A7)
+#error Invalid pin assignment for FSMC18 A7 pin: FSMC18_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC18, FSMC18_A8)
+#error Invalid pin assignment for FSMC18 A8 pin: FSMC18_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC18, FSMC18_A9)
+#error Invalid pin assignment for FSMC18 A9 pin: FSMC18_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC18, FSMC18_ALE)
+#error Invalid pin assignment for FSMC18 ALE pin: FSMC18_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC18, FSMC18_CD)
+#error Invalid pin assignment for FSMC18 CD pin: FSMC18_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC18, FSMC18_CLE)
+#error Invalid pin assignment for FSMC18 CLE pin: FSMC18_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC18, FSMC18_CLK)
+#error Invalid pin assignment for FSMC18 CLK pin: FSMC18_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC18, FSMC18_D0)
+#error Invalid pin assignment for FSMC18 D0 pin: FSMC18_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC18, FSMC18_D1)
+#error Invalid pin assignment for FSMC18 D1 pin: FSMC18_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC18, FSMC18_D10)
+#error Invalid pin assignment for FSMC18 D10 pin: FSMC18_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC18, FSMC18_D11)
+#error Invalid pin assignment for FSMC18 D11 pin: FSMC18_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC18, FSMC18_D12)
+#error Invalid pin assignment for FSMC18 D12 pin: FSMC18_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC18, FSMC18_D13)
+#error Invalid pin assignment for FSMC18 D13 pin: FSMC18_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC18, FSMC18_D14)
+#error Invalid pin assignment for FSMC18 D14 pin: FSMC18_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC18, FSMC18_D15)
+#error Invalid pin assignment for FSMC18 D15 pin: FSMC18_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC18, FSMC18_D2)
+#error Invalid pin assignment for FSMC18 D2 pin: FSMC18_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC18, FSMC18_D3)
+#error Invalid pin assignment for FSMC18 D3 pin: FSMC18_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC18, FSMC18_D4)
+#error Invalid pin assignment for FSMC18 D4 pin: FSMC18_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC18, FSMC18_D5)
+#error Invalid pin assignment for FSMC18 D5 pin: FSMC18_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC18, FSMC18_D6)
+#error Invalid pin assignment for FSMC18 D6 pin: FSMC18_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC18, FSMC18_D7)
+#error Invalid pin assignment for FSMC18 D7 pin: FSMC18_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC18, FSMC18_D8)
+#error Invalid pin assignment for FSMC18 D8 pin: FSMC18_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC18, FSMC18_D9)
+#error Invalid pin assignment for FSMC18 D9 pin: FSMC18_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC18, FSMC18_DA0)
+#error Invalid pin assignment for FSMC18 DA0 pin: FSMC18_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC18, FSMC18_DA1)
+#error Invalid pin assignment for FSMC18 DA1 pin: FSMC18_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC18, FSMC18_DA10)
+#error Invalid pin assignment for FSMC18 DA10 pin: FSMC18_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC18, FSMC18_DA11)
+#error Invalid pin assignment for FSMC18 DA11 pin: FSMC18_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC18, FSMC18_DA12)
+#error Invalid pin assignment for FSMC18 DA12 pin: FSMC18_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC18, FSMC18_DA13)
+#error Invalid pin assignment for FSMC18 DA13 pin: FSMC18_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC18, FSMC18_DA14)
+#error Invalid pin assignment for FSMC18 DA14 pin: FSMC18_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC18, FSMC18_DA15)
+#error Invalid pin assignment for FSMC18 DA15 pin: FSMC18_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC18, FSMC18_DA2)
+#error Invalid pin assignment for FSMC18 DA2 pin: FSMC18_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC18, FSMC18_DA3)
+#error Invalid pin assignment for FSMC18 DA3 pin: FSMC18_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC18, FSMC18_DA4)
+#error Invalid pin assignment for FSMC18 DA4 pin: FSMC18_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC18, FSMC18_DA5)
+#error Invalid pin assignment for FSMC18 DA5 pin: FSMC18_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC18, FSMC18_DA6)
+#error Invalid pin assignment for FSMC18 DA6 pin: FSMC18_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC18, FSMC18_DA7)
+#error Invalid pin assignment for FSMC18 DA7 pin: FSMC18_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC18, FSMC18_DA8)
+#error Invalid pin assignment for FSMC18 DA8 pin: FSMC18_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC18, FSMC18_DA9)
+#error Invalid pin assignment for FSMC18 DA9 pin: FSMC18_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC18, FSMC18_INT2)
+#error Invalid pin assignment for FSMC18 INT2 pin: FSMC18_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC18, FSMC18_INT3)
+#error Invalid pin assignment for FSMC18 INT3 pin: FSMC18_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC18, FSMC18_INTR)
+#error Invalid pin assignment for FSMC18 INTR pin: FSMC18_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC18, FSMC18_NBL0)
+#error Invalid pin assignment for FSMC18 NBL0 pin: FSMC18_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC18, FSMC18_NBL1)
+#error Invalid pin assignment for FSMC18 NBL1 pin: FSMC18_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC18, FSMC18_NCE2)
+#error Invalid pin assignment for FSMC18 NCE2 pin: FSMC18_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC18, FSMC18_NCE3)
+#error Invalid pin assignment for FSMC18 NCE3 pin: FSMC18_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC18, FSMC18_NE1)
+#error Invalid pin assignment for FSMC18 NE1 pin: FSMC18_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC18, FSMC18_NE2)
+#error Invalid pin assignment for FSMC18 NE2 pin: FSMC18_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC18, FSMC18_NE3)
+#error Invalid pin assignment for FSMC18 NE3 pin: FSMC18_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC18, FSMC18_NE4)
+#error Invalid pin assignment for FSMC18 NE4 pin: FSMC18_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC18, FSMC18_NIORD)
+#error Invalid pin assignment for FSMC18 NIORD pin: FSMC18_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC18, FSMC18_NIOWR)
+#error Invalid pin assignment for FSMC18 NIOWR pin: FSMC18_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC18, FSMC18_NL)
+#error Invalid pin assignment for FSMC18 NL pin: FSMC18_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC18, FSMC18_NOE)
+#error Invalid pin assignment for FSMC18 NOE pin: FSMC18_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC18, FSMC18_NREG)
+#error Invalid pin assignment for FSMC18 NREG pin: FSMC18_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC18, FSMC18_NWAIT)
+#error Invalid pin assignment for FSMC18 NWAIT pin: FSMC18_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC18, FSMC18_NWE)
+#error Invalid pin assignment for FSMC18 NWE pin: FSMC18_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC19
+#if !FIND_VALUE_FSMC_A0(_FSMC19, FSMC19_A0)
+#error Invalid pin assignment for FSMC19 A0 pin: FSMC19_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC19, FSMC19_A1)
+#error Invalid pin assignment for FSMC19 A1 pin: FSMC19_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC19, FSMC19_A10)
+#error Invalid pin assignment for FSMC19 A10 pin: FSMC19_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC19, FSMC19_A11)
+#error Invalid pin assignment for FSMC19 A11 pin: FSMC19_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC19, FSMC19_A12)
+#error Invalid pin assignment for FSMC19 A12 pin: FSMC19_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC19, FSMC19_A13)
+#error Invalid pin assignment for FSMC19 A13 pin: FSMC19_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC19, FSMC19_A14)
+#error Invalid pin assignment for FSMC19 A14 pin: FSMC19_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC19, FSMC19_A15)
+#error Invalid pin assignment for FSMC19 A15 pin: FSMC19_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC19, FSMC19_A16)
+#error Invalid pin assignment for FSMC19 A16 pin: FSMC19_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC19, FSMC19_A17)
+#error Invalid pin assignment for FSMC19 A17 pin: FSMC19_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC19, FSMC19_A18)
+#error Invalid pin assignment for FSMC19 A18 pin: FSMC19_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC19, FSMC19_A19)
+#error Invalid pin assignment for FSMC19 A19 pin: FSMC19_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC19, FSMC19_A2)
+#error Invalid pin assignment for FSMC19 A2 pin: FSMC19_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC19, FSMC19_A20)
+#error Invalid pin assignment for FSMC19 A20 pin: FSMC19_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC19, FSMC19_A21)
+#error Invalid pin assignment for FSMC19 A21 pin: FSMC19_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC19, FSMC19_A22)
+#error Invalid pin assignment for FSMC19 A22 pin: FSMC19_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC19, FSMC19_A23)
+#error Invalid pin assignment for FSMC19 A23 pin: FSMC19_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC19, FSMC19_A24)
+#error Invalid pin assignment for FSMC19 A24 pin: FSMC19_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC19, FSMC19_A25)
+#error Invalid pin assignment for FSMC19 A25 pin: FSMC19_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC19, FSMC19_A3)
+#error Invalid pin assignment for FSMC19 A3 pin: FSMC19_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC19, FSMC19_A4)
+#error Invalid pin assignment for FSMC19 A4 pin: FSMC19_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC19, FSMC19_A5)
+#error Invalid pin assignment for FSMC19 A5 pin: FSMC19_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC19, FSMC19_A6)
+#error Invalid pin assignment for FSMC19 A6 pin: FSMC19_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC19, FSMC19_A7)
+#error Invalid pin assignment for FSMC19 A7 pin: FSMC19_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC19, FSMC19_A8)
+#error Invalid pin assignment for FSMC19 A8 pin: FSMC19_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC19, FSMC19_A9)
+#error Invalid pin assignment for FSMC19 A9 pin: FSMC19_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC19, FSMC19_ALE)
+#error Invalid pin assignment for FSMC19 ALE pin: FSMC19_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC19, FSMC19_CD)
+#error Invalid pin assignment for FSMC19 CD pin: FSMC19_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC19, FSMC19_CLE)
+#error Invalid pin assignment for FSMC19 CLE pin: FSMC19_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC19, FSMC19_CLK)
+#error Invalid pin assignment for FSMC19 CLK pin: FSMC19_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC19, FSMC19_D0)
+#error Invalid pin assignment for FSMC19 D0 pin: FSMC19_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC19, FSMC19_D1)
+#error Invalid pin assignment for FSMC19 D1 pin: FSMC19_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC19, FSMC19_D10)
+#error Invalid pin assignment for FSMC19 D10 pin: FSMC19_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC19, FSMC19_D11)
+#error Invalid pin assignment for FSMC19 D11 pin: FSMC19_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC19, FSMC19_D12)
+#error Invalid pin assignment for FSMC19 D12 pin: FSMC19_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC19, FSMC19_D13)
+#error Invalid pin assignment for FSMC19 D13 pin: FSMC19_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC19, FSMC19_D14)
+#error Invalid pin assignment for FSMC19 D14 pin: FSMC19_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC19, FSMC19_D15)
+#error Invalid pin assignment for FSMC19 D15 pin: FSMC19_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC19, FSMC19_D2)
+#error Invalid pin assignment for FSMC19 D2 pin: FSMC19_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC19, FSMC19_D3)
+#error Invalid pin assignment for FSMC19 D3 pin: FSMC19_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC19, FSMC19_D4)
+#error Invalid pin assignment for FSMC19 D4 pin: FSMC19_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC19, FSMC19_D5)
+#error Invalid pin assignment for FSMC19 D5 pin: FSMC19_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC19, FSMC19_D6)
+#error Invalid pin assignment for FSMC19 D6 pin: FSMC19_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC19, FSMC19_D7)
+#error Invalid pin assignment for FSMC19 D7 pin: FSMC19_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC19, FSMC19_D8)
+#error Invalid pin assignment for FSMC19 D8 pin: FSMC19_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC19, FSMC19_D9)
+#error Invalid pin assignment for FSMC19 D9 pin: FSMC19_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC19, FSMC19_DA0)
+#error Invalid pin assignment for FSMC19 DA0 pin: FSMC19_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC19, FSMC19_DA1)
+#error Invalid pin assignment for FSMC19 DA1 pin: FSMC19_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC19, FSMC19_DA10)
+#error Invalid pin assignment for FSMC19 DA10 pin: FSMC19_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC19, FSMC19_DA11)
+#error Invalid pin assignment for FSMC19 DA11 pin: FSMC19_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC19, FSMC19_DA12)
+#error Invalid pin assignment for FSMC19 DA12 pin: FSMC19_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC19, FSMC19_DA13)
+#error Invalid pin assignment for FSMC19 DA13 pin: FSMC19_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC19, FSMC19_DA14)
+#error Invalid pin assignment for FSMC19 DA14 pin: FSMC19_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC19, FSMC19_DA15)
+#error Invalid pin assignment for FSMC19 DA15 pin: FSMC19_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC19, FSMC19_DA2)
+#error Invalid pin assignment for FSMC19 DA2 pin: FSMC19_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC19, FSMC19_DA3)
+#error Invalid pin assignment for FSMC19 DA3 pin: FSMC19_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC19, FSMC19_DA4)
+#error Invalid pin assignment for FSMC19 DA4 pin: FSMC19_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC19, FSMC19_DA5)
+#error Invalid pin assignment for FSMC19 DA5 pin: FSMC19_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC19, FSMC19_DA6)
+#error Invalid pin assignment for FSMC19 DA6 pin: FSMC19_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC19, FSMC19_DA7)
+#error Invalid pin assignment for FSMC19 DA7 pin: FSMC19_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC19, FSMC19_DA8)
+#error Invalid pin assignment for FSMC19 DA8 pin: FSMC19_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC19, FSMC19_DA9)
+#error Invalid pin assignment for FSMC19 DA9 pin: FSMC19_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC19, FSMC19_INT2)
+#error Invalid pin assignment for FSMC19 INT2 pin: FSMC19_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC19, FSMC19_INT3)
+#error Invalid pin assignment for FSMC19 INT3 pin: FSMC19_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC19, FSMC19_INTR)
+#error Invalid pin assignment for FSMC19 INTR pin: FSMC19_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC19, FSMC19_NBL0)
+#error Invalid pin assignment for FSMC19 NBL0 pin: FSMC19_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC19, FSMC19_NBL1)
+#error Invalid pin assignment for FSMC19 NBL1 pin: FSMC19_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC19, FSMC19_NCE2)
+#error Invalid pin assignment for FSMC19 NCE2 pin: FSMC19_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC19, FSMC19_NCE3)
+#error Invalid pin assignment for FSMC19 NCE3 pin: FSMC19_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC19, FSMC19_NE1)
+#error Invalid pin assignment for FSMC19 NE1 pin: FSMC19_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC19, FSMC19_NE2)
+#error Invalid pin assignment for FSMC19 NE2 pin: FSMC19_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC19, FSMC19_NE3)
+#error Invalid pin assignment for FSMC19 NE3 pin: FSMC19_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC19, FSMC19_NE4)
+#error Invalid pin assignment for FSMC19 NE4 pin: FSMC19_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC19, FSMC19_NIORD)
+#error Invalid pin assignment for FSMC19 NIORD pin: FSMC19_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC19, FSMC19_NIOWR)
+#error Invalid pin assignment for FSMC19 NIOWR pin: FSMC19_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC19, FSMC19_NL)
+#error Invalid pin assignment for FSMC19 NL pin: FSMC19_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC19, FSMC19_NOE)
+#error Invalid pin assignment for FSMC19 NOE pin: FSMC19_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC19, FSMC19_NREG)
+#error Invalid pin assignment for FSMC19 NREG pin: FSMC19_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC19, FSMC19_NWAIT)
+#error Invalid pin assignment for FSMC19 NWAIT pin: FSMC19_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC19, FSMC19_NWE)
+#error Invalid pin assignment for FSMC19 NWE pin: FSMC19_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC20
+#if !FIND_VALUE_FSMC_A0(_FSMC20, FSMC20_A0)
+#error Invalid pin assignment for FSMC20 A0 pin: FSMC20_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC20, FSMC20_A1)
+#error Invalid pin assignment for FSMC20 A1 pin: FSMC20_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC20, FSMC20_A10)
+#error Invalid pin assignment for FSMC20 A10 pin: FSMC20_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC20, FSMC20_A11)
+#error Invalid pin assignment for FSMC20 A11 pin: FSMC20_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC20, FSMC20_A12)
+#error Invalid pin assignment for FSMC20 A12 pin: FSMC20_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC20, FSMC20_A13)
+#error Invalid pin assignment for FSMC20 A13 pin: FSMC20_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC20, FSMC20_A14)
+#error Invalid pin assignment for FSMC20 A14 pin: FSMC20_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC20, FSMC20_A15)
+#error Invalid pin assignment for FSMC20 A15 pin: FSMC20_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC20, FSMC20_A16)
+#error Invalid pin assignment for FSMC20 A16 pin: FSMC20_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC20, FSMC20_A17)
+#error Invalid pin assignment for FSMC20 A17 pin: FSMC20_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC20, FSMC20_A18)
+#error Invalid pin assignment for FSMC20 A18 pin: FSMC20_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC20, FSMC20_A19)
+#error Invalid pin assignment for FSMC20 A19 pin: FSMC20_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC20, FSMC20_A2)
+#error Invalid pin assignment for FSMC20 A2 pin: FSMC20_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC20, FSMC20_A20)
+#error Invalid pin assignment for FSMC20 A20 pin: FSMC20_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC20, FSMC20_A21)
+#error Invalid pin assignment for FSMC20 A21 pin: FSMC20_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC20, FSMC20_A22)
+#error Invalid pin assignment for FSMC20 A22 pin: FSMC20_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC20, FSMC20_A23)
+#error Invalid pin assignment for FSMC20 A23 pin: FSMC20_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC20, FSMC20_A24)
+#error Invalid pin assignment for FSMC20 A24 pin: FSMC20_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC20, FSMC20_A25)
+#error Invalid pin assignment for FSMC20 A25 pin: FSMC20_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC20, FSMC20_A3)
+#error Invalid pin assignment for FSMC20 A3 pin: FSMC20_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC20, FSMC20_A4)
+#error Invalid pin assignment for FSMC20 A4 pin: FSMC20_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC20, FSMC20_A5)
+#error Invalid pin assignment for FSMC20 A5 pin: FSMC20_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC20, FSMC20_A6)
+#error Invalid pin assignment for FSMC20 A6 pin: FSMC20_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC20, FSMC20_A7)
+#error Invalid pin assignment for FSMC20 A7 pin: FSMC20_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC20, FSMC20_A8)
+#error Invalid pin assignment for FSMC20 A8 pin: FSMC20_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC20, FSMC20_A9)
+#error Invalid pin assignment for FSMC20 A9 pin: FSMC20_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC20, FSMC20_ALE)
+#error Invalid pin assignment for FSMC20 ALE pin: FSMC20_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC20, FSMC20_CD)
+#error Invalid pin assignment for FSMC20 CD pin: FSMC20_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC20, FSMC20_CLE)
+#error Invalid pin assignment for FSMC20 CLE pin: FSMC20_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC20, FSMC20_CLK)
+#error Invalid pin assignment for FSMC20 CLK pin: FSMC20_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC20, FSMC20_D0)
+#error Invalid pin assignment for FSMC20 D0 pin: FSMC20_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC20, FSMC20_D1)
+#error Invalid pin assignment for FSMC20 D1 pin: FSMC20_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC20, FSMC20_D10)
+#error Invalid pin assignment for FSMC20 D10 pin: FSMC20_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC20, FSMC20_D11)
+#error Invalid pin assignment for FSMC20 D11 pin: FSMC20_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC20, FSMC20_D12)
+#error Invalid pin assignment for FSMC20 D12 pin: FSMC20_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC20, FSMC20_D13)
+#error Invalid pin assignment for FSMC20 D13 pin: FSMC20_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC20, FSMC20_D14)
+#error Invalid pin assignment for FSMC20 D14 pin: FSMC20_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC20, FSMC20_D15)
+#error Invalid pin assignment for FSMC20 D15 pin: FSMC20_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC20, FSMC20_D2)
+#error Invalid pin assignment for FSMC20 D2 pin: FSMC20_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC20, FSMC20_D3)
+#error Invalid pin assignment for FSMC20 D3 pin: FSMC20_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC20, FSMC20_D4)
+#error Invalid pin assignment for FSMC20 D4 pin: FSMC20_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC20, FSMC20_D5)
+#error Invalid pin assignment for FSMC20 D5 pin: FSMC20_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC20, FSMC20_D6)
+#error Invalid pin assignment for FSMC20 D6 pin: FSMC20_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC20, FSMC20_D7)
+#error Invalid pin assignment for FSMC20 D7 pin: FSMC20_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC20, FSMC20_D8)
+#error Invalid pin assignment for FSMC20 D8 pin: FSMC20_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC20, FSMC20_D9)
+#error Invalid pin assignment for FSMC20 D9 pin: FSMC20_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC20, FSMC20_DA0)
+#error Invalid pin assignment for FSMC20 DA0 pin: FSMC20_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC20, FSMC20_DA1)
+#error Invalid pin assignment for FSMC20 DA1 pin: FSMC20_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC20, FSMC20_DA10)
+#error Invalid pin assignment for FSMC20 DA10 pin: FSMC20_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC20, FSMC20_DA11)
+#error Invalid pin assignment for FSMC20 DA11 pin: FSMC20_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC20, FSMC20_DA12)
+#error Invalid pin assignment for FSMC20 DA12 pin: FSMC20_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC20, FSMC20_DA13)
+#error Invalid pin assignment for FSMC20 DA13 pin: FSMC20_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC20, FSMC20_DA14)
+#error Invalid pin assignment for FSMC20 DA14 pin: FSMC20_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC20, FSMC20_DA15)
+#error Invalid pin assignment for FSMC20 DA15 pin: FSMC20_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC20, FSMC20_DA2)
+#error Invalid pin assignment for FSMC20 DA2 pin: FSMC20_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC20, FSMC20_DA3)
+#error Invalid pin assignment for FSMC20 DA3 pin: FSMC20_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC20, FSMC20_DA4)
+#error Invalid pin assignment for FSMC20 DA4 pin: FSMC20_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC20, FSMC20_DA5)
+#error Invalid pin assignment for FSMC20 DA5 pin: FSMC20_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC20, FSMC20_DA6)
+#error Invalid pin assignment for FSMC20 DA6 pin: FSMC20_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC20, FSMC20_DA7)
+#error Invalid pin assignment for FSMC20 DA7 pin: FSMC20_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC20, FSMC20_DA8)
+#error Invalid pin assignment for FSMC20 DA8 pin: FSMC20_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC20, FSMC20_DA9)
+#error Invalid pin assignment for FSMC20 DA9 pin: FSMC20_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC20, FSMC20_INT2)
+#error Invalid pin assignment for FSMC20 INT2 pin: FSMC20_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC20, FSMC20_INT3)
+#error Invalid pin assignment for FSMC20 INT3 pin: FSMC20_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC20, FSMC20_INTR)
+#error Invalid pin assignment for FSMC20 INTR pin: FSMC20_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC20, FSMC20_NBL0)
+#error Invalid pin assignment for FSMC20 NBL0 pin: FSMC20_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC20, FSMC20_NBL1)
+#error Invalid pin assignment for FSMC20 NBL1 pin: FSMC20_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC20, FSMC20_NCE2)
+#error Invalid pin assignment for FSMC20 NCE2 pin: FSMC20_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC20, FSMC20_NCE3)
+#error Invalid pin assignment for FSMC20 NCE3 pin: FSMC20_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC20, FSMC20_NE1)
+#error Invalid pin assignment for FSMC20 NE1 pin: FSMC20_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC20, FSMC20_NE2)
+#error Invalid pin assignment for FSMC20 NE2 pin: FSMC20_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC20, FSMC20_NE3)
+#error Invalid pin assignment for FSMC20 NE3 pin: FSMC20_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC20, FSMC20_NE4)
+#error Invalid pin assignment for FSMC20 NE4 pin: FSMC20_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC20, FSMC20_NIORD)
+#error Invalid pin assignment for FSMC20 NIORD pin: FSMC20_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC20, FSMC20_NIOWR)
+#error Invalid pin assignment for FSMC20 NIOWR pin: FSMC20_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC20, FSMC20_NL)
+#error Invalid pin assignment for FSMC20 NL pin: FSMC20_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC20, FSMC20_NOE)
+#error Invalid pin assignment for FSMC20 NOE pin: FSMC20_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC20, FSMC20_NREG)
+#error Invalid pin assignment for FSMC20 NREG pin: FSMC20_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC20, FSMC20_NWAIT)
+#error Invalid pin assignment for FSMC20 NWAIT pin: FSMC20_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC20, FSMC20_NWE)
+#error Invalid pin assignment for FSMC20 NWE pin: FSMC20_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC21
+#if !FIND_VALUE_FSMC_A0(_FSMC21, FSMC21_A0)
+#error Invalid pin assignment for FSMC21 A0 pin: FSMC21_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC21, FSMC21_A1)
+#error Invalid pin assignment for FSMC21 A1 pin: FSMC21_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC21, FSMC21_A10)
+#error Invalid pin assignment for FSMC21 A10 pin: FSMC21_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC21, FSMC21_A11)
+#error Invalid pin assignment for FSMC21 A11 pin: FSMC21_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC21, FSMC21_A12)
+#error Invalid pin assignment for FSMC21 A12 pin: FSMC21_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC21, FSMC21_A13)
+#error Invalid pin assignment for FSMC21 A13 pin: FSMC21_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC21, FSMC21_A14)
+#error Invalid pin assignment for FSMC21 A14 pin: FSMC21_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC21, FSMC21_A15)
+#error Invalid pin assignment for FSMC21 A15 pin: FSMC21_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC21, FSMC21_A16)
+#error Invalid pin assignment for FSMC21 A16 pin: FSMC21_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC21, FSMC21_A17)
+#error Invalid pin assignment for FSMC21 A17 pin: FSMC21_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC21, FSMC21_A18)
+#error Invalid pin assignment for FSMC21 A18 pin: FSMC21_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC21, FSMC21_A19)
+#error Invalid pin assignment for FSMC21 A19 pin: FSMC21_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC21, FSMC21_A2)
+#error Invalid pin assignment for FSMC21 A2 pin: FSMC21_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC21, FSMC21_A20)
+#error Invalid pin assignment for FSMC21 A20 pin: FSMC21_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC21, FSMC21_A21)
+#error Invalid pin assignment for FSMC21 A21 pin: FSMC21_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC21, FSMC21_A22)
+#error Invalid pin assignment for FSMC21 A22 pin: FSMC21_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC21, FSMC21_A23)
+#error Invalid pin assignment for FSMC21 A23 pin: FSMC21_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC21, FSMC21_A24)
+#error Invalid pin assignment for FSMC21 A24 pin: FSMC21_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC21, FSMC21_A25)
+#error Invalid pin assignment for FSMC21 A25 pin: FSMC21_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC21, FSMC21_A3)
+#error Invalid pin assignment for FSMC21 A3 pin: FSMC21_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC21, FSMC21_A4)
+#error Invalid pin assignment for FSMC21 A4 pin: FSMC21_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC21, FSMC21_A5)
+#error Invalid pin assignment for FSMC21 A5 pin: FSMC21_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC21, FSMC21_A6)
+#error Invalid pin assignment for FSMC21 A6 pin: FSMC21_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC21, FSMC21_A7)
+#error Invalid pin assignment for FSMC21 A7 pin: FSMC21_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC21, FSMC21_A8)
+#error Invalid pin assignment for FSMC21 A8 pin: FSMC21_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC21, FSMC21_A9)
+#error Invalid pin assignment for FSMC21 A9 pin: FSMC21_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC21, FSMC21_ALE)
+#error Invalid pin assignment for FSMC21 ALE pin: FSMC21_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC21, FSMC21_CD)
+#error Invalid pin assignment for FSMC21 CD pin: FSMC21_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC21, FSMC21_CLE)
+#error Invalid pin assignment for FSMC21 CLE pin: FSMC21_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC21, FSMC21_CLK)
+#error Invalid pin assignment for FSMC21 CLK pin: FSMC21_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC21, FSMC21_D0)
+#error Invalid pin assignment for FSMC21 D0 pin: FSMC21_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC21, FSMC21_D1)
+#error Invalid pin assignment for FSMC21 D1 pin: FSMC21_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC21, FSMC21_D10)
+#error Invalid pin assignment for FSMC21 D10 pin: FSMC21_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC21, FSMC21_D11)
+#error Invalid pin assignment for FSMC21 D11 pin: FSMC21_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC21, FSMC21_D12)
+#error Invalid pin assignment for FSMC21 D12 pin: FSMC21_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC21, FSMC21_D13)
+#error Invalid pin assignment for FSMC21 D13 pin: FSMC21_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC21, FSMC21_D14)
+#error Invalid pin assignment for FSMC21 D14 pin: FSMC21_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC21, FSMC21_D15)
+#error Invalid pin assignment for FSMC21 D15 pin: FSMC21_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC21, FSMC21_D2)
+#error Invalid pin assignment for FSMC21 D2 pin: FSMC21_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC21, FSMC21_D3)
+#error Invalid pin assignment for FSMC21 D3 pin: FSMC21_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC21, FSMC21_D4)
+#error Invalid pin assignment for FSMC21 D4 pin: FSMC21_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC21, FSMC21_D5)
+#error Invalid pin assignment for FSMC21 D5 pin: FSMC21_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC21, FSMC21_D6)
+#error Invalid pin assignment for FSMC21 D6 pin: FSMC21_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC21, FSMC21_D7)
+#error Invalid pin assignment for FSMC21 D7 pin: FSMC21_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC21, FSMC21_D8)
+#error Invalid pin assignment for FSMC21 D8 pin: FSMC21_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC21, FSMC21_D9)
+#error Invalid pin assignment for FSMC21 D9 pin: FSMC21_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC21, FSMC21_DA0)
+#error Invalid pin assignment for FSMC21 DA0 pin: FSMC21_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC21, FSMC21_DA1)
+#error Invalid pin assignment for FSMC21 DA1 pin: FSMC21_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC21, FSMC21_DA10)
+#error Invalid pin assignment for FSMC21 DA10 pin: FSMC21_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC21, FSMC21_DA11)
+#error Invalid pin assignment for FSMC21 DA11 pin: FSMC21_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC21, FSMC21_DA12)
+#error Invalid pin assignment for FSMC21 DA12 pin: FSMC21_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC21, FSMC21_DA13)
+#error Invalid pin assignment for FSMC21 DA13 pin: FSMC21_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC21, FSMC21_DA14)
+#error Invalid pin assignment for FSMC21 DA14 pin: FSMC21_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC21, FSMC21_DA15)
+#error Invalid pin assignment for FSMC21 DA15 pin: FSMC21_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC21, FSMC21_DA2)
+#error Invalid pin assignment for FSMC21 DA2 pin: FSMC21_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC21, FSMC21_DA3)
+#error Invalid pin assignment for FSMC21 DA3 pin: FSMC21_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC21, FSMC21_DA4)
+#error Invalid pin assignment for FSMC21 DA4 pin: FSMC21_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC21, FSMC21_DA5)
+#error Invalid pin assignment for FSMC21 DA5 pin: FSMC21_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC21, FSMC21_DA6)
+#error Invalid pin assignment for FSMC21 DA6 pin: FSMC21_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC21, FSMC21_DA7)
+#error Invalid pin assignment for FSMC21 DA7 pin: FSMC21_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC21, FSMC21_DA8)
+#error Invalid pin assignment for FSMC21 DA8 pin: FSMC21_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC21, FSMC21_DA9)
+#error Invalid pin assignment for FSMC21 DA9 pin: FSMC21_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC21, FSMC21_INT2)
+#error Invalid pin assignment for FSMC21 INT2 pin: FSMC21_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC21, FSMC21_INT3)
+#error Invalid pin assignment for FSMC21 INT3 pin: FSMC21_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC21, FSMC21_INTR)
+#error Invalid pin assignment for FSMC21 INTR pin: FSMC21_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC21, FSMC21_NBL0)
+#error Invalid pin assignment for FSMC21 NBL0 pin: FSMC21_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC21, FSMC21_NBL1)
+#error Invalid pin assignment for FSMC21 NBL1 pin: FSMC21_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC21, FSMC21_NCE2)
+#error Invalid pin assignment for FSMC21 NCE2 pin: FSMC21_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC21, FSMC21_NCE3)
+#error Invalid pin assignment for FSMC21 NCE3 pin: FSMC21_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC21, FSMC21_NE1)
+#error Invalid pin assignment for FSMC21 NE1 pin: FSMC21_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC21, FSMC21_NE2)
+#error Invalid pin assignment for FSMC21 NE2 pin: FSMC21_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC21, FSMC21_NE3)
+#error Invalid pin assignment for FSMC21 NE3 pin: FSMC21_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC21, FSMC21_NE4)
+#error Invalid pin assignment for FSMC21 NE4 pin: FSMC21_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC21, FSMC21_NIORD)
+#error Invalid pin assignment for FSMC21 NIORD pin: FSMC21_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC21, FSMC21_NIOWR)
+#error Invalid pin assignment for FSMC21 NIOWR pin: FSMC21_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC21, FSMC21_NL)
+#error Invalid pin assignment for FSMC21 NL pin: FSMC21_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC21, FSMC21_NOE)
+#error Invalid pin assignment for FSMC21 NOE pin: FSMC21_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC21, FSMC21_NREG)
+#error Invalid pin assignment for FSMC21 NREG pin: FSMC21_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC21, FSMC21_NWAIT)
+#error Invalid pin assignment for FSMC21 NWAIT pin: FSMC21_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC21, FSMC21_NWE)
+#error Invalid pin assignment for FSMC21 NWE pin: FSMC21_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC22
+#if !FIND_VALUE_FSMC_A0(_FSMC22, FSMC22_A0)
+#error Invalid pin assignment for FSMC22 A0 pin: FSMC22_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC22, FSMC22_A1)
+#error Invalid pin assignment for FSMC22 A1 pin: FSMC22_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC22, FSMC22_A10)
+#error Invalid pin assignment for FSMC22 A10 pin: FSMC22_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC22, FSMC22_A11)
+#error Invalid pin assignment for FSMC22 A11 pin: FSMC22_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC22, FSMC22_A12)
+#error Invalid pin assignment for FSMC22 A12 pin: FSMC22_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC22, FSMC22_A13)
+#error Invalid pin assignment for FSMC22 A13 pin: FSMC22_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC22, FSMC22_A14)
+#error Invalid pin assignment for FSMC22 A14 pin: FSMC22_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC22, FSMC22_A15)
+#error Invalid pin assignment for FSMC22 A15 pin: FSMC22_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC22, FSMC22_A16)
+#error Invalid pin assignment for FSMC22 A16 pin: FSMC22_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC22, FSMC22_A17)
+#error Invalid pin assignment for FSMC22 A17 pin: FSMC22_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC22, FSMC22_A18)
+#error Invalid pin assignment for FSMC22 A18 pin: FSMC22_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC22, FSMC22_A19)
+#error Invalid pin assignment for FSMC22 A19 pin: FSMC22_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC22, FSMC22_A2)
+#error Invalid pin assignment for FSMC22 A2 pin: FSMC22_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC22, FSMC22_A20)
+#error Invalid pin assignment for FSMC22 A20 pin: FSMC22_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC22, FSMC22_A21)
+#error Invalid pin assignment for FSMC22 A21 pin: FSMC22_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC22, FSMC22_A22)
+#error Invalid pin assignment for FSMC22 A22 pin: FSMC22_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC22, FSMC22_A23)
+#error Invalid pin assignment for FSMC22 A23 pin: FSMC22_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC22, FSMC22_A24)
+#error Invalid pin assignment for FSMC22 A24 pin: FSMC22_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC22, FSMC22_A25)
+#error Invalid pin assignment for FSMC22 A25 pin: FSMC22_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC22, FSMC22_A3)
+#error Invalid pin assignment for FSMC22 A3 pin: FSMC22_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC22, FSMC22_A4)
+#error Invalid pin assignment for FSMC22 A4 pin: FSMC22_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC22, FSMC22_A5)
+#error Invalid pin assignment for FSMC22 A5 pin: FSMC22_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC22, FSMC22_A6)
+#error Invalid pin assignment for FSMC22 A6 pin: FSMC22_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC22, FSMC22_A7)
+#error Invalid pin assignment for FSMC22 A7 pin: FSMC22_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC22, FSMC22_A8)
+#error Invalid pin assignment for FSMC22 A8 pin: FSMC22_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC22, FSMC22_A9)
+#error Invalid pin assignment for FSMC22 A9 pin: FSMC22_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC22, FSMC22_ALE)
+#error Invalid pin assignment for FSMC22 ALE pin: FSMC22_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC22, FSMC22_CD)
+#error Invalid pin assignment for FSMC22 CD pin: FSMC22_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC22, FSMC22_CLE)
+#error Invalid pin assignment for FSMC22 CLE pin: FSMC22_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC22, FSMC22_CLK)
+#error Invalid pin assignment for FSMC22 CLK pin: FSMC22_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC22, FSMC22_D0)
+#error Invalid pin assignment for FSMC22 D0 pin: FSMC22_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC22, FSMC22_D1)
+#error Invalid pin assignment for FSMC22 D1 pin: FSMC22_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC22, FSMC22_D10)
+#error Invalid pin assignment for FSMC22 D10 pin: FSMC22_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC22, FSMC22_D11)
+#error Invalid pin assignment for FSMC22 D11 pin: FSMC22_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC22, FSMC22_D12)
+#error Invalid pin assignment for FSMC22 D12 pin: FSMC22_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC22, FSMC22_D13)
+#error Invalid pin assignment for FSMC22 D13 pin: FSMC22_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC22, FSMC22_D14)
+#error Invalid pin assignment for FSMC22 D14 pin: FSMC22_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC22, FSMC22_D15)
+#error Invalid pin assignment for FSMC22 D15 pin: FSMC22_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC22, FSMC22_D2)
+#error Invalid pin assignment for FSMC22 D2 pin: FSMC22_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC22, FSMC22_D3)
+#error Invalid pin assignment for FSMC22 D3 pin: FSMC22_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC22, FSMC22_D4)
+#error Invalid pin assignment for FSMC22 D4 pin: FSMC22_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC22, FSMC22_D5)
+#error Invalid pin assignment for FSMC22 D5 pin: FSMC22_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC22, FSMC22_D6)
+#error Invalid pin assignment for FSMC22 D6 pin: FSMC22_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC22, FSMC22_D7)
+#error Invalid pin assignment for FSMC22 D7 pin: FSMC22_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC22, FSMC22_D8)
+#error Invalid pin assignment for FSMC22 D8 pin: FSMC22_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC22, FSMC22_D9)
+#error Invalid pin assignment for FSMC22 D9 pin: FSMC22_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC22, FSMC22_DA0)
+#error Invalid pin assignment for FSMC22 DA0 pin: FSMC22_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC22, FSMC22_DA1)
+#error Invalid pin assignment for FSMC22 DA1 pin: FSMC22_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC22, FSMC22_DA10)
+#error Invalid pin assignment for FSMC22 DA10 pin: FSMC22_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC22, FSMC22_DA11)
+#error Invalid pin assignment for FSMC22 DA11 pin: FSMC22_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC22, FSMC22_DA12)
+#error Invalid pin assignment for FSMC22 DA12 pin: FSMC22_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC22, FSMC22_DA13)
+#error Invalid pin assignment for FSMC22 DA13 pin: FSMC22_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC22, FSMC22_DA14)
+#error Invalid pin assignment for FSMC22 DA14 pin: FSMC22_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC22, FSMC22_DA15)
+#error Invalid pin assignment for FSMC22 DA15 pin: FSMC22_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC22, FSMC22_DA2)
+#error Invalid pin assignment for FSMC22 DA2 pin: FSMC22_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC22, FSMC22_DA3)
+#error Invalid pin assignment for FSMC22 DA3 pin: FSMC22_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC22, FSMC22_DA4)
+#error Invalid pin assignment for FSMC22 DA4 pin: FSMC22_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC22, FSMC22_DA5)
+#error Invalid pin assignment for FSMC22 DA5 pin: FSMC22_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC22, FSMC22_DA6)
+#error Invalid pin assignment for FSMC22 DA6 pin: FSMC22_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC22, FSMC22_DA7)
+#error Invalid pin assignment for FSMC22 DA7 pin: FSMC22_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC22, FSMC22_DA8)
+#error Invalid pin assignment for FSMC22 DA8 pin: FSMC22_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC22, FSMC22_DA9)
+#error Invalid pin assignment for FSMC22 DA9 pin: FSMC22_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC22, FSMC22_INT2)
+#error Invalid pin assignment for FSMC22 INT2 pin: FSMC22_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC22, FSMC22_INT3)
+#error Invalid pin assignment for FSMC22 INT3 pin: FSMC22_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC22, FSMC22_INTR)
+#error Invalid pin assignment for FSMC22 INTR pin: FSMC22_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC22, FSMC22_NBL0)
+#error Invalid pin assignment for FSMC22 NBL0 pin: FSMC22_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC22, FSMC22_NBL1)
+#error Invalid pin assignment for FSMC22 NBL1 pin: FSMC22_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC22, FSMC22_NCE2)
+#error Invalid pin assignment for FSMC22 NCE2 pin: FSMC22_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC22, FSMC22_NCE3)
+#error Invalid pin assignment for FSMC22 NCE3 pin: FSMC22_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC22, FSMC22_NE1)
+#error Invalid pin assignment for FSMC22 NE1 pin: FSMC22_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC22, FSMC22_NE2)
+#error Invalid pin assignment for FSMC22 NE2 pin: FSMC22_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC22, FSMC22_NE3)
+#error Invalid pin assignment for FSMC22 NE3 pin: FSMC22_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC22, FSMC22_NE4)
+#error Invalid pin assignment for FSMC22 NE4 pin: FSMC22_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC22, FSMC22_NIORD)
+#error Invalid pin assignment for FSMC22 NIORD pin: FSMC22_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC22, FSMC22_NIOWR)
+#error Invalid pin assignment for FSMC22 NIOWR pin: FSMC22_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC22, FSMC22_NL)
+#error Invalid pin assignment for FSMC22 NL pin: FSMC22_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC22, FSMC22_NOE)
+#error Invalid pin assignment for FSMC22 NOE pin: FSMC22_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC22, FSMC22_NREG)
+#error Invalid pin assignment for FSMC22 NREG pin: FSMC22_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC22, FSMC22_NWAIT)
+#error Invalid pin assignment for FSMC22 NWAIT pin: FSMC22_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC22, FSMC22_NWE)
+#error Invalid pin assignment for FSMC22 NWE pin: FSMC22_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC23
+#if !FIND_VALUE_FSMC_A0(_FSMC23, FSMC23_A0)
+#error Invalid pin assignment for FSMC23 A0 pin: FSMC23_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC23, FSMC23_A1)
+#error Invalid pin assignment for FSMC23 A1 pin: FSMC23_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC23, FSMC23_A10)
+#error Invalid pin assignment for FSMC23 A10 pin: FSMC23_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC23, FSMC23_A11)
+#error Invalid pin assignment for FSMC23 A11 pin: FSMC23_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC23, FSMC23_A12)
+#error Invalid pin assignment for FSMC23 A12 pin: FSMC23_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC23, FSMC23_A13)
+#error Invalid pin assignment for FSMC23 A13 pin: FSMC23_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC23, FSMC23_A14)
+#error Invalid pin assignment for FSMC23 A14 pin: FSMC23_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC23, FSMC23_A15)
+#error Invalid pin assignment for FSMC23 A15 pin: FSMC23_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC23, FSMC23_A16)
+#error Invalid pin assignment for FSMC23 A16 pin: FSMC23_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC23, FSMC23_A17)
+#error Invalid pin assignment for FSMC23 A17 pin: FSMC23_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC23, FSMC23_A18)
+#error Invalid pin assignment for FSMC23 A18 pin: FSMC23_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC23, FSMC23_A19)
+#error Invalid pin assignment for FSMC23 A19 pin: FSMC23_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC23, FSMC23_A2)
+#error Invalid pin assignment for FSMC23 A2 pin: FSMC23_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC23, FSMC23_A20)
+#error Invalid pin assignment for FSMC23 A20 pin: FSMC23_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC23, FSMC23_A21)
+#error Invalid pin assignment for FSMC23 A21 pin: FSMC23_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC23, FSMC23_A22)
+#error Invalid pin assignment for FSMC23 A22 pin: FSMC23_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC23, FSMC23_A23)
+#error Invalid pin assignment for FSMC23 A23 pin: FSMC23_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC23, FSMC23_A24)
+#error Invalid pin assignment for FSMC23 A24 pin: FSMC23_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC23, FSMC23_A25)
+#error Invalid pin assignment for FSMC23 A25 pin: FSMC23_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC23, FSMC23_A3)
+#error Invalid pin assignment for FSMC23 A3 pin: FSMC23_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC23, FSMC23_A4)
+#error Invalid pin assignment for FSMC23 A4 pin: FSMC23_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC23, FSMC23_A5)
+#error Invalid pin assignment for FSMC23 A5 pin: FSMC23_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC23, FSMC23_A6)
+#error Invalid pin assignment for FSMC23 A6 pin: FSMC23_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC23, FSMC23_A7)
+#error Invalid pin assignment for FSMC23 A7 pin: FSMC23_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC23, FSMC23_A8)
+#error Invalid pin assignment for FSMC23 A8 pin: FSMC23_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC23, FSMC23_A9)
+#error Invalid pin assignment for FSMC23 A9 pin: FSMC23_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC23, FSMC23_ALE)
+#error Invalid pin assignment for FSMC23 ALE pin: FSMC23_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC23, FSMC23_CD)
+#error Invalid pin assignment for FSMC23 CD pin: FSMC23_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC23, FSMC23_CLE)
+#error Invalid pin assignment for FSMC23 CLE pin: FSMC23_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC23, FSMC23_CLK)
+#error Invalid pin assignment for FSMC23 CLK pin: FSMC23_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC23, FSMC23_D0)
+#error Invalid pin assignment for FSMC23 D0 pin: FSMC23_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC23, FSMC23_D1)
+#error Invalid pin assignment for FSMC23 D1 pin: FSMC23_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC23, FSMC23_D10)
+#error Invalid pin assignment for FSMC23 D10 pin: FSMC23_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC23, FSMC23_D11)
+#error Invalid pin assignment for FSMC23 D11 pin: FSMC23_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC23, FSMC23_D12)
+#error Invalid pin assignment for FSMC23 D12 pin: FSMC23_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC23, FSMC23_D13)
+#error Invalid pin assignment for FSMC23 D13 pin: FSMC23_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC23, FSMC23_D14)
+#error Invalid pin assignment for FSMC23 D14 pin: FSMC23_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC23, FSMC23_D15)
+#error Invalid pin assignment for FSMC23 D15 pin: FSMC23_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC23, FSMC23_D2)
+#error Invalid pin assignment for FSMC23 D2 pin: FSMC23_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC23, FSMC23_D3)
+#error Invalid pin assignment for FSMC23 D3 pin: FSMC23_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC23, FSMC23_D4)
+#error Invalid pin assignment for FSMC23 D4 pin: FSMC23_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC23, FSMC23_D5)
+#error Invalid pin assignment for FSMC23 D5 pin: FSMC23_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC23, FSMC23_D6)
+#error Invalid pin assignment for FSMC23 D6 pin: FSMC23_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC23, FSMC23_D7)
+#error Invalid pin assignment for FSMC23 D7 pin: FSMC23_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC23, FSMC23_D8)
+#error Invalid pin assignment for FSMC23 D8 pin: FSMC23_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC23, FSMC23_D9)
+#error Invalid pin assignment for FSMC23 D9 pin: FSMC23_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC23, FSMC23_DA0)
+#error Invalid pin assignment for FSMC23 DA0 pin: FSMC23_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC23, FSMC23_DA1)
+#error Invalid pin assignment for FSMC23 DA1 pin: FSMC23_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC23, FSMC23_DA10)
+#error Invalid pin assignment for FSMC23 DA10 pin: FSMC23_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC23, FSMC23_DA11)
+#error Invalid pin assignment for FSMC23 DA11 pin: FSMC23_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC23, FSMC23_DA12)
+#error Invalid pin assignment for FSMC23 DA12 pin: FSMC23_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC23, FSMC23_DA13)
+#error Invalid pin assignment for FSMC23 DA13 pin: FSMC23_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC23, FSMC23_DA14)
+#error Invalid pin assignment for FSMC23 DA14 pin: FSMC23_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC23, FSMC23_DA15)
+#error Invalid pin assignment for FSMC23 DA15 pin: FSMC23_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC23, FSMC23_DA2)
+#error Invalid pin assignment for FSMC23 DA2 pin: FSMC23_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC23, FSMC23_DA3)
+#error Invalid pin assignment for FSMC23 DA3 pin: FSMC23_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC23, FSMC23_DA4)
+#error Invalid pin assignment for FSMC23 DA4 pin: FSMC23_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC23, FSMC23_DA5)
+#error Invalid pin assignment for FSMC23 DA5 pin: FSMC23_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC23, FSMC23_DA6)
+#error Invalid pin assignment for FSMC23 DA6 pin: FSMC23_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC23, FSMC23_DA7)
+#error Invalid pin assignment for FSMC23 DA7 pin: FSMC23_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC23, FSMC23_DA8)
+#error Invalid pin assignment for FSMC23 DA8 pin: FSMC23_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC23, FSMC23_DA9)
+#error Invalid pin assignment for FSMC23 DA9 pin: FSMC23_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC23, FSMC23_INT2)
+#error Invalid pin assignment for FSMC23 INT2 pin: FSMC23_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC23, FSMC23_INT3)
+#error Invalid pin assignment for FSMC23 INT3 pin: FSMC23_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC23, FSMC23_INTR)
+#error Invalid pin assignment for FSMC23 INTR pin: FSMC23_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC23, FSMC23_NBL0)
+#error Invalid pin assignment for FSMC23 NBL0 pin: FSMC23_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC23, FSMC23_NBL1)
+#error Invalid pin assignment for FSMC23 NBL1 pin: FSMC23_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC23, FSMC23_NCE2)
+#error Invalid pin assignment for FSMC23 NCE2 pin: FSMC23_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC23, FSMC23_NCE3)
+#error Invalid pin assignment for FSMC23 NCE3 pin: FSMC23_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC23, FSMC23_NE1)
+#error Invalid pin assignment for FSMC23 NE1 pin: FSMC23_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC23, FSMC23_NE2)
+#error Invalid pin assignment for FSMC23 NE2 pin: FSMC23_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC23, FSMC23_NE3)
+#error Invalid pin assignment for FSMC23 NE3 pin: FSMC23_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC23, FSMC23_NE4)
+#error Invalid pin assignment for FSMC23 NE4 pin: FSMC23_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC23, FSMC23_NIORD)
+#error Invalid pin assignment for FSMC23 NIORD pin: FSMC23_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC23, FSMC23_NIOWR)
+#error Invalid pin assignment for FSMC23 NIOWR pin: FSMC23_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC23, FSMC23_NL)
+#error Invalid pin assignment for FSMC23 NL pin: FSMC23_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC23, FSMC23_NOE)
+#error Invalid pin assignment for FSMC23 NOE pin: FSMC23_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC23, FSMC23_NREG)
+#error Invalid pin assignment for FSMC23 NREG pin: FSMC23_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC23, FSMC23_NWAIT)
+#error Invalid pin assignment for FSMC23 NWAIT pin: FSMC23_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC23, FSMC23_NWE)
+#error Invalid pin assignment for FSMC23 NWE pin: FSMC23_NWE
+#endif
+#endif
+
+#ifdef USE_FSMC24
+#if !FIND_VALUE_FSMC_A0(_FSMC24, FSMC24_A0)
+#error Invalid pin assignment for FSMC24 A0 pin: FSMC24_A0
+#endif
+#if !FIND_VALUE_FSMC_A1(_FSMC24, FSMC24_A1)
+#error Invalid pin assignment for FSMC24 A1 pin: FSMC24_A1
+#endif
+#if !FIND_VALUE_FSMC_A10(_FSMC24, FSMC24_A10)
+#error Invalid pin assignment for FSMC24 A10 pin: FSMC24_A10
+#endif
+#if !FIND_VALUE_FSMC_A11(_FSMC24, FSMC24_A11)
+#error Invalid pin assignment for FSMC24 A11 pin: FSMC24_A11
+#endif
+#if !FIND_VALUE_FSMC_A12(_FSMC24, FSMC24_A12)
+#error Invalid pin assignment for FSMC24 A12 pin: FSMC24_A12
+#endif
+#if !FIND_VALUE_FSMC_A13(_FSMC24, FSMC24_A13)
+#error Invalid pin assignment for FSMC24 A13 pin: FSMC24_A13
+#endif
+#if !FIND_VALUE_FSMC_A14(_FSMC24, FSMC24_A14)
+#error Invalid pin assignment for FSMC24 A14 pin: FSMC24_A14
+#endif
+#if !FIND_VALUE_FSMC_A15(_FSMC24, FSMC24_A15)
+#error Invalid pin assignment for FSMC24 A15 pin: FSMC24_A15
+#endif
+#if !FIND_VALUE_FSMC_A16(_FSMC24, FSMC24_A16)
+#error Invalid pin assignment for FSMC24 A16 pin: FSMC24_A16
+#endif
+#if !FIND_VALUE_FSMC_A17(_FSMC24, FSMC24_A17)
+#error Invalid pin assignment for FSMC24 A17 pin: FSMC24_A17
+#endif
+#if !FIND_VALUE_FSMC_A18(_FSMC24, FSMC24_A18)
+#error Invalid pin assignment for FSMC24 A18 pin: FSMC24_A18
+#endif
+#if !FIND_VALUE_FSMC_A19(_FSMC24, FSMC24_A19)
+#error Invalid pin assignment for FSMC24 A19 pin: FSMC24_A19
+#endif
+#if !FIND_VALUE_FSMC_A2(_FSMC24, FSMC24_A2)
+#error Invalid pin assignment for FSMC24 A2 pin: FSMC24_A2
+#endif
+#if !FIND_VALUE_FSMC_A20(_FSMC24, FSMC24_A20)
+#error Invalid pin assignment for FSMC24 A20 pin: FSMC24_A20
+#endif
+#if !FIND_VALUE_FSMC_A21(_FSMC24, FSMC24_A21)
+#error Invalid pin assignment for FSMC24 A21 pin: FSMC24_A21
+#endif
+#if !FIND_VALUE_FSMC_A22(_FSMC24, FSMC24_A22)
+#error Invalid pin assignment for FSMC24 A22 pin: FSMC24_A22
+#endif
+#if !FIND_VALUE_FSMC_A23(_FSMC24, FSMC24_A23)
+#error Invalid pin assignment for FSMC24 A23 pin: FSMC24_A23
+#endif
+#if !FIND_VALUE_FSMC_A24(_FSMC24, FSMC24_A24)
+#error Invalid pin assignment for FSMC24 A24 pin: FSMC24_A24
+#endif
+#if !FIND_VALUE_FSMC_A25(_FSMC24, FSMC24_A25)
+#error Invalid pin assignment for FSMC24 A25 pin: FSMC24_A25
+#endif
+#if !FIND_VALUE_FSMC_A3(_FSMC24, FSMC24_A3)
+#error Invalid pin assignment for FSMC24 A3 pin: FSMC24_A3
+#endif
+#if !FIND_VALUE_FSMC_A4(_FSMC24, FSMC24_A4)
+#error Invalid pin assignment for FSMC24 A4 pin: FSMC24_A4
+#endif
+#if !FIND_VALUE_FSMC_A5(_FSMC24, FSMC24_A5)
+#error Invalid pin assignment for FSMC24 A5 pin: FSMC24_A5
+#endif
+#if !FIND_VALUE_FSMC_A6(_FSMC24, FSMC24_A6)
+#error Invalid pin assignment for FSMC24 A6 pin: FSMC24_A6
+#endif
+#if !FIND_VALUE_FSMC_A7(_FSMC24, FSMC24_A7)
+#error Invalid pin assignment for FSMC24 A7 pin: FSMC24_A7
+#endif
+#if !FIND_VALUE_FSMC_A8(_FSMC24, FSMC24_A8)
+#error Invalid pin assignment for FSMC24 A8 pin: FSMC24_A8
+#endif
+#if !FIND_VALUE_FSMC_A9(_FSMC24, FSMC24_A9)
+#error Invalid pin assignment for FSMC24 A9 pin: FSMC24_A9
+#endif
+#if !FIND_VALUE_FSMC_ALE(_FSMC24, FSMC24_ALE)
+#error Invalid pin assignment for FSMC24 ALE pin: FSMC24_ALE
+#endif
+#if !FIND_VALUE_FSMC_CD(_FSMC24, FSMC24_CD)
+#error Invalid pin assignment for FSMC24 CD pin: FSMC24_CD
+#endif
+#if !FIND_VALUE_FSMC_CLE(_FSMC24, FSMC24_CLE)
+#error Invalid pin assignment for FSMC24 CLE pin: FSMC24_CLE
+#endif
+#if !FIND_VALUE_FSMC_CLK(_FSMC24, FSMC24_CLK)
+#error Invalid pin assignment for FSMC24 CLK pin: FSMC24_CLK
+#endif
+#if !FIND_VALUE_FSMC_D0(_FSMC24, FSMC24_D0)
+#error Invalid pin assignment for FSMC24 D0 pin: FSMC24_D0
+#endif
+#if !FIND_VALUE_FSMC_D1(_FSMC24, FSMC24_D1)
+#error Invalid pin assignment for FSMC24 D1 pin: FSMC24_D1
+#endif
+#if !FIND_VALUE_FSMC_D10(_FSMC24, FSMC24_D10)
+#error Invalid pin assignment for FSMC24 D10 pin: FSMC24_D10
+#endif
+#if !FIND_VALUE_FSMC_D11(_FSMC24, FSMC24_D11)
+#error Invalid pin assignment for FSMC24 D11 pin: FSMC24_D11
+#endif
+#if !FIND_VALUE_FSMC_D12(_FSMC24, FSMC24_D12)
+#error Invalid pin assignment for FSMC24 D12 pin: FSMC24_D12
+#endif
+#if !FIND_VALUE_FSMC_D13(_FSMC24, FSMC24_D13)
+#error Invalid pin assignment for FSMC24 D13 pin: FSMC24_D13
+#endif
+#if !FIND_VALUE_FSMC_D14(_FSMC24, FSMC24_D14)
+#error Invalid pin assignment for FSMC24 D14 pin: FSMC24_D14
+#endif
+#if !FIND_VALUE_FSMC_D15(_FSMC24, FSMC24_D15)
+#error Invalid pin assignment for FSMC24 D15 pin: FSMC24_D15
+#endif
+#if !FIND_VALUE_FSMC_D2(_FSMC24, FSMC24_D2)
+#error Invalid pin assignment for FSMC24 D2 pin: FSMC24_D2
+#endif
+#if !FIND_VALUE_FSMC_D3(_FSMC24, FSMC24_D3)
+#error Invalid pin assignment for FSMC24 D3 pin: FSMC24_D3
+#endif
+#if !FIND_VALUE_FSMC_D4(_FSMC24, FSMC24_D4)
+#error Invalid pin assignment for FSMC24 D4 pin: FSMC24_D4
+#endif
+#if !FIND_VALUE_FSMC_D5(_FSMC24, FSMC24_D5)
+#error Invalid pin assignment for FSMC24 D5 pin: FSMC24_D5
+#endif
+#if !FIND_VALUE_FSMC_D6(_FSMC24, FSMC24_D6)
+#error Invalid pin assignment for FSMC24 D6 pin: FSMC24_D6
+#endif
+#if !FIND_VALUE_FSMC_D7(_FSMC24, FSMC24_D7)
+#error Invalid pin assignment for FSMC24 D7 pin: FSMC24_D7
+#endif
+#if !FIND_VALUE_FSMC_D8(_FSMC24, FSMC24_D8)
+#error Invalid pin assignment for FSMC24 D8 pin: FSMC24_D8
+#endif
+#if !FIND_VALUE_FSMC_D9(_FSMC24, FSMC24_D9)
+#error Invalid pin assignment for FSMC24 D9 pin: FSMC24_D9
+#endif
+#if !FIND_VALUE_FSMC_DA0(_FSMC24, FSMC24_DA0)
+#error Invalid pin assignment for FSMC24 DA0 pin: FSMC24_DA0
+#endif
+#if !FIND_VALUE_FSMC_DA1(_FSMC24, FSMC24_DA1)
+#error Invalid pin assignment for FSMC24 DA1 pin: FSMC24_DA1
+#endif
+#if !FIND_VALUE_FSMC_DA10(_FSMC24, FSMC24_DA10)
+#error Invalid pin assignment for FSMC24 DA10 pin: FSMC24_DA10
+#endif
+#if !FIND_VALUE_FSMC_DA11(_FSMC24, FSMC24_DA11)
+#error Invalid pin assignment for FSMC24 DA11 pin: FSMC24_DA11
+#endif
+#if !FIND_VALUE_FSMC_DA12(_FSMC24, FSMC24_DA12)
+#error Invalid pin assignment for FSMC24 DA12 pin: FSMC24_DA12
+#endif
+#if !FIND_VALUE_FSMC_DA13(_FSMC24, FSMC24_DA13)
+#error Invalid pin assignment for FSMC24 DA13 pin: FSMC24_DA13
+#endif
+#if !FIND_VALUE_FSMC_DA14(_FSMC24, FSMC24_DA14)
+#error Invalid pin assignment for FSMC24 DA14 pin: FSMC24_DA14
+#endif
+#if !FIND_VALUE_FSMC_DA15(_FSMC24, FSMC24_DA15)
+#error Invalid pin assignment for FSMC24 DA15 pin: FSMC24_DA15
+#endif
+#if !FIND_VALUE_FSMC_DA2(_FSMC24, FSMC24_DA2)
+#error Invalid pin assignment for FSMC24 DA2 pin: FSMC24_DA2
+#endif
+#if !FIND_VALUE_FSMC_DA3(_FSMC24, FSMC24_DA3)
+#error Invalid pin assignment for FSMC24 DA3 pin: FSMC24_DA3
+#endif
+#if !FIND_VALUE_FSMC_DA4(_FSMC24, FSMC24_DA4)
+#error Invalid pin assignment for FSMC24 DA4 pin: FSMC24_DA4
+#endif
+#if !FIND_VALUE_FSMC_DA5(_FSMC24, FSMC24_DA5)
+#error Invalid pin assignment for FSMC24 DA5 pin: FSMC24_DA5
+#endif
+#if !FIND_VALUE_FSMC_DA6(_FSMC24, FSMC24_DA6)
+#error Invalid pin assignment for FSMC24 DA6 pin: FSMC24_DA6
+#endif
+#if !FIND_VALUE_FSMC_DA7(_FSMC24, FSMC24_DA7)
+#error Invalid pin assignment for FSMC24 DA7 pin: FSMC24_DA7
+#endif
+#if !FIND_VALUE_FSMC_DA8(_FSMC24, FSMC24_DA8)
+#error Invalid pin assignment for FSMC24 DA8 pin: FSMC24_DA8
+#endif
+#if !FIND_VALUE_FSMC_DA9(_FSMC24, FSMC24_DA9)
+#error Invalid pin assignment for FSMC24 DA9 pin: FSMC24_DA9
+#endif
+#if !FIND_VALUE_FSMC_INT2(_FSMC24, FSMC24_INT2)
+#error Invalid pin assignment for FSMC24 INT2 pin: FSMC24_INT2
+#endif
+#if !FIND_VALUE_FSMC_INT3(_FSMC24, FSMC24_INT3)
+#error Invalid pin assignment for FSMC24 INT3 pin: FSMC24_INT3
+#endif
+#if !FIND_VALUE_FSMC_INTR(_FSMC24, FSMC24_INTR)
+#error Invalid pin assignment for FSMC24 INTR pin: FSMC24_INTR
+#endif
+#if !FIND_VALUE_FSMC_NBL0(_FSMC24, FSMC24_NBL0)
+#error Invalid pin assignment for FSMC24 NBL0 pin: FSMC24_NBL0
+#endif
+#if !FIND_VALUE_FSMC_NBL1(_FSMC24, FSMC24_NBL1)
+#error Invalid pin assignment for FSMC24 NBL1 pin: FSMC24_NBL1
+#endif
+#if !FIND_VALUE_FSMC_NCE2(_FSMC24, FSMC24_NCE2)
+#error Invalid pin assignment for FSMC24 NCE2 pin: FSMC24_NCE2
+#endif
+#if !FIND_VALUE_FSMC_NCE3(_FSMC24, FSMC24_NCE3)
+#error Invalid pin assignment for FSMC24 NCE3 pin: FSMC24_NCE3
+#endif
+#if !FIND_VALUE_FSMC_NE1(_FSMC24, FSMC24_NE1)
+#error Invalid pin assignment for FSMC24 NE1 pin: FSMC24_NE1
+#endif
+#if !FIND_VALUE_FSMC_NE2(_FSMC24, FSMC24_NE2)
+#error Invalid pin assignment for FSMC24 NE2 pin: FSMC24_NE2
+#endif
+#if !FIND_VALUE_FSMC_NE3(_FSMC24, FSMC24_NE3)
+#error Invalid pin assignment for FSMC24 NE3 pin: FSMC24_NE3
+#endif
+#if !FIND_VALUE_FSMC_NE4(_FSMC24, FSMC24_NE4)
+#error Invalid pin assignment for FSMC24 NE4 pin: FSMC24_NE4
+#endif
+#if !FIND_VALUE_FSMC_NIORD(_FSMC24, FSMC24_NIORD)
+#error Invalid pin assignment for FSMC24 NIORD pin: FSMC24_NIORD
+#endif
+#if !FIND_VALUE_FSMC_NIOWR(_FSMC24, FSMC24_NIOWR)
+#error Invalid pin assignment for FSMC24 NIOWR pin: FSMC24_NIOWR
+#endif
+#if !FIND_VALUE_FSMC_NL(_FSMC24, FSMC24_NL)
+#error Invalid pin assignment for FSMC24 NL pin: FSMC24_NL
+#endif
+#if !FIND_VALUE_FSMC_NOE(_FSMC24, FSMC24_NOE)
+#error Invalid pin assignment for FSMC24 NOE pin: FSMC24_NOE
+#endif
+#if !FIND_VALUE_FSMC_NREG(_FSMC24, FSMC24_NREG)
+#error Invalid pin assignment for FSMC24 NREG pin: FSMC24_NREG
+#endif
+#if !FIND_VALUE_FSMC_NWAIT(_FSMC24, FSMC24_NWAIT)
+#error Invalid pin assignment for FSMC24 NWAIT pin: FSMC24_NWAIT
+#endif
+#if !FIND_VALUE_FSMC_NWE(_FSMC24, FSMC24_NWE)
+#error Invalid pin assignment for FSMC24 NWE pin: FSMC24_NWE
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc_nce.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc_nce.h
new file mode 100644
index 000000000..f2a9ac440
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_fsmc_nce.h
@@ -0,0 +1,47 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.401766
+ */
+
+#define FIND_VALUE_FSMC_NCE_1_inner(INDEX,PIN) I2C##_FSMC_NCE_##PIN
+#define FIND_VALUE_FSMC_NCE_1(INDEX,PIN) FIND_VALUE_FSMC_NCE_1_inner(INDEX,PIN)
+
+#define FIND_VALUE_FSMC_NCE_2_inner(INDEX,PIN) I2C##_FSMC_NCE_##PIN
+#define FIND_VALUE_FSMC_NCE_2(INDEX,PIN) FIND_VALUE_FSMC_NCE_2_inner(INDEX,PIN)
+
+#ifdef USE_FSMC_NCE0
+#if !FIND_VALUE_FSMC_NCE_1(_FSMC_NCE0, FSMC_NCE0_1)
+#error Invalid pin assignment for FSMC_NCE0 1 pin: FSMC_NCE0_1
+#endif
+#if !FIND_VALUE_FSMC_NCE_2(_FSMC_NCE0, FSMC_NCE0_2)
+#error Invalid pin assignment for FSMC_NCE0 2 pin: FSMC_NCE0_2
+#endif
+#endif
+
+#ifdef USE_FSMC_NCE1
+#if !FIND_VALUE_FSMC_NCE_1(_FSMC_NCE1, FSMC_NCE1_1)
+#error Invalid pin assignment for FSMC_NCE1 1 pin: FSMC_NCE1_1
+#endif
+#if !FIND_VALUE_FSMC_NCE_2(_FSMC_NCE1, FSMC_NCE1_2)
+#error Invalid pin assignment for FSMC_NCE1 2 pin: FSMC_NCE1_2
+#endif
+#endif
+
+#ifdef USE_FSMC_NCE2
+#if !FIND_VALUE_FSMC_NCE_1(_FSMC_NCE2, FSMC_NCE2_1)
+#error Invalid pin assignment for FSMC_NCE2 1 pin: FSMC_NCE2_1
+#endif
+#if !FIND_VALUE_FSMC_NCE_2(_FSMC_NCE2, FSMC_NCE2_2)
+#error Invalid pin assignment for FSMC_NCE2 2 pin: FSMC_NCE2_2
+#endif
+#endif
+
+#ifdef USE_FSMC_NCE3
+#if !FIND_VALUE_FSMC_NCE_1(_FSMC_NCE3, FSMC_NCE3_1)
+#error Invalid pin assignment for FSMC_NCE3 1 pin: FSMC_NCE3_1
+#endif
+#if !FIND_VALUE_FSMC_NCE_2(_FSMC_NCE3, FSMC_NCE3_2)
+#error Invalid pin assignment for FSMC_NCE3 2 pin: FSMC_NCE3_2
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdmi_cec.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdmi_cec.h
new file mode 100644
index 000000000..45a3ba0ef
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdmi_cec.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.401785
+ */
+
+#define FIND_VALUE_HDMI_CEC_CEC_inner(INDEX,PIN) I2C##_HDMI_CEC_##PIN
+#define FIND_VALUE_HDMI_CEC_CEC(INDEX,PIN) FIND_VALUE_HDMI_CEC_CEC_inner(INDEX,PIN)
+
+#ifdef USE_HDMI_CEC0
+#if !FIND_VALUE_HDMI_CEC_CEC(_HDMI_CEC0, HDMI_CEC0_CEC)
+#error Invalid pin assignment for HDMI_CEC0 CEC pin: HDMI_CEC0_CEC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdp.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdp.h
new file mode 100644
index 000000000..da5354446
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hdp.h
@@ -0,0 +1,218 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.401799
+ */
+
+#define FIND_VALUE_HDP_HDP0_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP0(INDEX,PIN) FIND_VALUE_HDP_HDP0_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP1_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP1(INDEX,PIN) FIND_VALUE_HDP_HDP1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP2_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP2(INDEX,PIN) FIND_VALUE_HDP_HDP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP3_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP3(INDEX,PIN) FIND_VALUE_HDP_HDP3_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP4_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP4(INDEX,PIN) FIND_VALUE_HDP_HDP4_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP5_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP5(INDEX,PIN) FIND_VALUE_HDP_HDP5_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP6_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP6(INDEX,PIN) FIND_VALUE_HDP_HDP6_inner(INDEX,PIN)
+
+#define FIND_VALUE_HDP_HDP7_inner(INDEX,PIN) I2C##_HDP_##PIN
+#define FIND_VALUE_HDP_HDP7(INDEX,PIN) FIND_VALUE_HDP_HDP7_inner(INDEX,PIN)
+
+#ifdef USE_HDP0
+#if !FIND_VALUE_HDP_HDP0(_HDP0, HDP0_HDP0)
+#error Invalid pin assignment for HDP0 HDP0 pin: HDP0_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP0, HDP0_HDP1)
+#error Invalid pin assignment for HDP0 HDP1 pin: HDP0_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP0, HDP0_HDP2)
+#error Invalid pin assignment for HDP0 HDP2 pin: HDP0_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP0, HDP0_HDP3)
+#error Invalid pin assignment for HDP0 HDP3 pin: HDP0_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP0, HDP0_HDP4)
+#error Invalid pin assignment for HDP0 HDP4 pin: HDP0_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP0, HDP0_HDP5)
+#error Invalid pin assignment for HDP0 HDP5 pin: HDP0_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP0, HDP0_HDP6)
+#error Invalid pin assignment for HDP0 HDP6 pin: HDP0_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP0, HDP0_HDP7)
+#error Invalid pin assignment for HDP0 HDP7 pin: HDP0_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP1
+#if !FIND_VALUE_HDP_HDP0(_HDP1, HDP1_HDP0)
+#error Invalid pin assignment for HDP1 HDP0 pin: HDP1_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP1, HDP1_HDP1)
+#error Invalid pin assignment for HDP1 HDP1 pin: HDP1_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP1, HDP1_HDP2)
+#error Invalid pin assignment for HDP1 HDP2 pin: HDP1_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP1, HDP1_HDP3)
+#error Invalid pin assignment for HDP1 HDP3 pin: HDP1_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP1, HDP1_HDP4)
+#error Invalid pin assignment for HDP1 HDP4 pin: HDP1_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP1, HDP1_HDP5)
+#error Invalid pin assignment for HDP1 HDP5 pin: HDP1_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP1, HDP1_HDP6)
+#error Invalid pin assignment for HDP1 HDP6 pin: HDP1_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP1, HDP1_HDP7)
+#error Invalid pin assignment for HDP1 HDP7 pin: HDP1_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP2
+#if !FIND_VALUE_HDP_HDP0(_HDP2, HDP2_HDP0)
+#error Invalid pin assignment for HDP2 HDP0 pin: HDP2_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP2, HDP2_HDP1)
+#error Invalid pin assignment for HDP2 HDP1 pin: HDP2_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP2, HDP2_HDP2)
+#error Invalid pin assignment for HDP2 HDP2 pin: HDP2_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP2, HDP2_HDP3)
+#error Invalid pin assignment for HDP2 HDP3 pin: HDP2_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP2, HDP2_HDP4)
+#error Invalid pin assignment for HDP2 HDP4 pin: HDP2_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP2, HDP2_HDP5)
+#error Invalid pin assignment for HDP2 HDP5 pin: HDP2_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP2, HDP2_HDP6)
+#error Invalid pin assignment for HDP2 HDP6 pin: HDP2_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP2, HDP2_HDP7)
+#error Invalid pin assignment for HDP2 HDP7 pin: HDP2_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP3
+#if !FIND_VALUE_HDP_HDP0(_HDP3, HDP3_HDP0)
+#error Invalid pin assignment for HDP3 HDP0 pin: HDP3_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP3, HDP3_HDP1)
+#error Invalid pin assignment for HDP3 HDP1 pin: HDP3_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP3, HDP3_HDP2)
+#error Invalid pin assignment for HDP3 HDP2 pin: HDP3_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP3, HDP3_HDP3)
+#error Invalid pin assignment for HDP3 HDP3 pin: HDP3_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP3, HDP3_HDP4)
+#error Invalid pin assignment for HDP3 HDP4 pin: HDP3_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP3, HDP3_HDP5)
+#error Invalid pin assignment for HDP3 HDP5 pin: HDP3_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP3, HDP3_HDP6)
+#error Invalid pin assignment for HDP3 HDP6 pin: HDP3_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP3, HDP3_HDP7)
+#error Invalid pin assignment for HDP3 HDP7 pin: HDP3_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP4
+#if !FIND_VALUE_HDP_HDP0(_HDP4, HDP4_HDP0)
+#error Invalid pin assignment for HDP4 HDP0 pin: HDP4_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP4, HDP4_HDP1)
+#error Invalid pin assignment for HDP4 HDP1 pin: HDP4_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP4, HDP4_HDP2)
+#error Invalid pin assignment for HDP4 HDP2 pin: HDP4_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP4, HDP4_HDP3)
+#error Invalid pin assignment for HDP4 HDP3 pin: HDP4_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP4, HDP4_HDP4)
+#error Invalid pin assignment for HDP4 HDP4 pin: HDP4_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP4, HDP4_HDP5)
+#error Invalid pin assignment for HDP4 HDP5 pin: HDP4_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP4, HDP4_HDP6)
+#error Invalid pin assignment for HDP4 HDP6 pin: HDP4_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP4, HDP4_HDP7)
+#error Invalid pin assignment for HDP4 HDP7 pin: HDP4_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP5
+#if !FIND_VALUE_HDP_HDP0(_HDP5, HDP5_HDP0)
+#error Invalid pin assignment for HDP5 HDP0 pin: HDP5_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP5, HDP5_HDP1)
+#error Invalid pin assignment for HDP5 HDP1 pin: HDP5_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP5, HDP5_HDP2)
+#error Invalid pin assignment for HDP5 HDP2 pin: HDP5_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP5, HDP5_HDP3)
+#error Invalid pin assignment for HDP5 HDP3 pin: HDP5_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP5, HDP5_HDP4)
+#error Invalid pin assignment for HDP5 HDP4 pin: HDP5_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP5, HDP5_HDP5)
+#error Invalid pin assignment for HDP5 HDP5 pin: HDP5_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP5, HDP5_HDP6)
+#error Invalid pin assignment for HDP5 HDP6 pin: HDP5_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP5, HDP5_HDP7)
+#error Invalid pin assignment for HDP5 HDP7 pin: HDP5_HDP7
+#endif
+#endif
+
+#ifdef USE_HDP6
+#if !FIND_VALUE_HDP_HDP0(_HDP6, HDP6_HDP0)
+#error Invalid pin assignment for HDP6 HDP0 pin: HDP6_HDP0
+#endif
+#if !FIND_VALUE_HDP_HDP1(_HDP6, HDP6_HDP1)
+#error Invalid pin assignment for HDP6 HDP1 pin: HDP6_HDP1
+#endif
+#if !FIND_VALUE_HDP_HDP2(_HDP6, HDP6_HDP2)
+#error Invalid pin assignment for HDP6 HDP2 pin: HDP6_HDP2
+#endif
+#if !FIND_VALUE_HDP_HDP3(_HDP6, HDP6_HDP3)
+#error Invalid pin assignment for HDP6 HDP3 pin: HDP6_HDP3
+#endif
+#if !FIND_VALUE_HDP_HDP4(_HDP6, HDP6_HDP4)
+#error Invalid pin assignment for HDP6 HDP4 pin: HDP6_HDP4
+#endif
+#if !FIND_VALUE_HDP_HDP5(_HDP6, HDP6_HDP5)
+#error Invalid pin assignment for HDP6 HDP5 pin: HDP6_HDP5
+#endif
+#if !FIND_VALUE_HDP_HDP6(_HDP6, HDP6_HDP6)
+#error Invalid pin assignment for HDP6 HDP6 pin: HDP6_HDP6
+#endif
+#if !FIND_VALUE_HDP_HDP7(_HDP6, HDP6_HDP7)
+#error Invalid pin assignment for HDP6 HDP7 pin: HDP6_HDP7
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hrtim.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hrtim.h
new file mode 100644
index 000000000..2aa9df6e0
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hrtim.h
@@ -0,0 +1,1025 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.401843
+ */
+
+#define FIND_VALUE_HRTIM_CHA1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHA1(INDEX,PIN) FIND_VALUE_HRTIM_CHA1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHA2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHA2(INDEX,PIN) FIND_VALUE_HRTIM_CHA2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHB1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHB1(INDEX,PIN) FIND_VALUE_HRTIM_CHB1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHB2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHB2(INDEX,PIN) FIND_VALUE_HRTIM_CHB2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHC1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHC1(INDEX,PIN) FIND_VALUE_HRTIM_CHC1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHC2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHC2(INDEX,PIN) FIND_VALUE_HRTIM_CHC2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHD1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHD1(INDEX,PIN) FIND_VALUE_HRTIM_CHD1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHD2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHD2(INDEX,PIN) FIND_VALUE_HRTIM_CHD2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHE1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHE1(INDEX,PIN) FIND_VALUE_HRTIM_CHE1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHE2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHE2(INDEX,PIN) FIND_VALUE_HRTIM_CHE2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHF1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHF1(INDEX,PIN) FIND_VALUE_HRTIM_CHF1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_CHF2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_CHF2(INDEX,PIN) FIND_VALUE_HRTIM_CHF2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV1(INDEX,PIN) FIND_VALUE_HRTIM_EEV1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV10_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV10(INDEX,PIN) FIND_VALUE_HRTIM_EEV10_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV2(INDEX,PIN) FIND_VALUE_HRTIM_EEV2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV3_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV3(INDEX,PIN) FIND_VALUE_HRTIM_EEV3_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV4_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV4(INDEX,PIN) FIND_VALUE_HRTIM_EEV4_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV5_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV5(INDEX,PIN) FIND_VALUE_HRTIM_EEV5_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV6_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV6(INDEX,PIN) FIND_VALUE_HRTIM_EEV6_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV7_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV7(INDEX,PIN) FIND_VALUE_HRTIM_EEV7_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV8_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV8(INDEX,PIN) FIND_VALUE_HRTIM_EEV8_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_EEV9_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_EEV9(INDEX,PIN) FIND_VALUE_HRTIM_EEV9_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT1_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT1(INDEX,PIN) FIND_VALUE_HRTIM_FLT1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT2_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT2(INDEX,PIN) FIND_VALUE_HRTIM_FLT2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT3_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT3(INDEX,PIN) FIND_VALUE_HRTIM_FLT3_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT4_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT4(INDEX,PIN) FIND_VALUE_HRTIM_FLT4_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT5_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT5(INDEX,PIN) FIND_VALUE_HRTIM_FLT5_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_FLT6_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_FLT6(INDEX,PIN) FIND_VALUE_HRTIM_FLT6_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_SCIN_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_SCIN(INDEX,PIN) FIND_VALUE_HRTIM_SCIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_HRTIM_SCOUT_inner(INDEX,PIN) I2C##_HRTIM_##PIN
+#define FIND_VALUE_HRTIM_SCOUT(INDEX,PIN) FIND_VALUE_HRTIM_SCOUT_inner(INDEX,PIN)
+
+#ifdef USE_HRTIM0
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM0, HRTIM0_CHA1)
+#error Invalid pin assignment for HRTIM0 CHA1 pin: HRTIM0_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM0, HRTIM0_CHA2)
+#error Invalid pin assignment for HRTIM0 CHA2 pin: HRTIM0_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM0, HRTIM0_CHB1)
+#error Invalid pin assignment for HRTIM0 CHB1 pin: HRTIM0_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM0, HRTIM0_CHB2)
+#error Invalid pin assignment for HRTIM0 CHB2 pin: HRTIM0_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM0, HRTIM0_CHC1)
+#error Invalid pin assignment for HRTIM0 CHC1 pin: HRTIM0_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM0, HRTIM0_CHC2)
+#error Invalid pin assignment for HRTIM0 CHC2 pin: HRTIM0_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM0, HRTIM0_CHD1)
+#error Invalid pin assignment for HRTIM0 CHD1 pin: HRTIM0_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM0, HRTIM0_CHD2)
+#error Invalid pin assignment for HRTIM0 CHD2 pin: HRTIM0_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM0, HRTIM0_CHE1)
+#error Invalid pin assignment for HRTIM0 CHE1 pin: HRTIM0_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM0, HRTIM0_CHE2)
+#error Invalid pin assignment for HRTIM0 CHE2 pin: HRTIM0_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM0, HRTIM0_CHF1)
+#error Invalid pin assignment for HRTIM0 CHF1 pin: HRTIM0_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM0, HRTIM0_CHF2)
+#error Invalid pin assignment for HRTIM0 CHF2 pin: HRTIM0_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM0, HRTIM0_EEV1)
+#error Invalid pin assignment for HRTIM0 EEV1 pin: HRTIM0_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM0, HRTIM0_EEV10)
+#error Invalid pin assignment for HRTIM0 EEV10 pin: HRTIM0_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM0, HRTIM0_EEV2)
+#error Invalid pin assignment for HRTIM0 EEV2 pin: HRTIM0_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM0, HRTIM0_EEV3)
+#error Invalid pin assignment for HRTIM0 EEV3 pin: HRTIM0_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM0, HRTIM0_EEV4)
+#error Invalid pin assignment for HRTIM0 EEV4 pin: HRTIM0_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM0, HRTIM0_EEV5)
+#error Invalid pin assignment for HRTIM0 EEV5 pin: HRTIM0_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM0, HRTIM0_EEV6)
+#error Invalid pin assignment for HRTIM0 EEV6 pin: HRTIM0_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM0, HRTIM0_EEV7)
+#error Invalid pin assignment for HRTIM0 EEV7 pin: HRTIM0_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM0, HRTIM0_EEV8)
+#error Invalid pin assignment for HRTIM0 EEV8 pin: HRTIM0_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM0, HRTIM0_EEV9)
+#error Invalid pin assignment for HRTIM0 EEV9 pin: HRTIM0_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM0, HRTIM0_FLT1)
+#error Invalid pin assignment for HRTIM0 FLT1 pin: HRTIM0_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM0, HRTIM0_FLT2)
+#error Invalid pin assignment for HRTIM0 FLT2 pin: HRTIM0_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM0, HRTIM0_FLT3)
+#error Invalid pin assignment for HRTIM0 FLT3 pin: HRTIM0_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM0, HRTIM0_FLT4)
+#error Invalid pin assignment for HRTIM0 FLT4 pin: HRTIM0_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM0, HRTIM0_FLT5)
+#error Invalid pin assignment for HRTIM0 FLT5 pin: HRTIM0_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM0, HRTIM0_FLT6)
+#error Invalid pin assignment for HRTIM0 FLT6 pin: HRTIM0_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM0, HRTIM0_SCIN)
+#error Invalid pin assignment for HRTIM0 SCIN pin: HRTIM0_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM0, HRTIM0_SCOUT)
+#error Invalid pin assignment for HRTIM0 SCOUT pin: HRTIM0_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM1
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM1, HRTIM1_CHA1)
+#error Invalid pin assignment for HRTIM1 CHA1 pin: HRTIM1_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM1, HRTIM1_CHA2)
+#error Invalid pin assignment for HRTIM1 CHA2 pin: HRTIM1_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM1, HRTIM1_CHB1)
+#error Invalid pin assignment for HRTIM1 CHB1 pin: HRTIM1_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM1, HRTIM1_CHB2)
+#error Invalid pin assignment for HRTIM1 CHB2 pin: HRTIM1_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM1, HRTIM1_CHC1)
+#error Invalid pin assignment for HRTIM1 CHC1 pin: HRTIM1_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM1, HRTIM1_CHC2)
+#error Invalid pin assignment for HRTIM1 CHC2 pin: HRTIM1_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM1, HRTIM1_CHD1)
+#error Invalid pin assignment for HRTIM1 CHD1 pin: HRTIM1_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM1, HRTIM1_CHD2)
+#error Invalid pin assignment for HRTIM1 CHD2 pin: HRTIM1_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM1, HRTIM1_CHE1)
+#error Invalid pin assignment for HRTIM1 CHE1 pin: HRTIM1_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM1, HRTIM1_CHE2)
+#error Invalid pin assignment for HRTIM1 CHE2 pin: HRTIM1_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM1, HRTIM1_CHF1)
+#error Invalid pin assignment for HRTIM1 CHF1 pin: HRTIM1_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM1, HRTIM1_CHF2)
+#error Invalid pin assignment for HRTIM1 CHF2 pin: HRTIM1_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM1, HRTIM1_EEV1)
+#error Invalid pin assignment for HRTIM1 EEV1 pin: HRTIM1_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM1, HRTIM1_EEV10)
+#error Invalid pin assignment for HRTIM1 EEV10 pin: HRTIM1_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM1, HRTIM1_EEV2)
+#error Invalid pin assignment for HRTIM1 EEV2 pin: HRTIM1_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM1, HRTIM1_EEV3)
+#error Invalid pin assignment for HRTIM1 EEV3 pin: HRTIM1_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM1, HRTIM1_EEV4)
+#error Invalid pin assignment for HRTIM1 EEV4 pin: HRTIM1_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM1, HRTIM1_EEV5)
+#error Invalid pin assignment for HRTIM1 EEV5 pin: HRTIM1_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM1, HRTIM1_EEV6)
+#error Invalid pin assignment for HRTIM1 EEV6 pin: HRTIM1_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM1, HRTIM1_EEV7)
+#error Invalid pin assignment for HRTIM1 EEV7 pin: HRTIM1_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM1, HRTIM1_EEV8)
+#error Invalid pin assignment for HRTIM1 EEV8 pin: HRTIM1_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM1, HRTIM1_EEV9)
+#error Invalid pin assignment for HRTIM1 EEV9 pin: HRTIM1_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM1, HRTIM1_FLT1)
+#error Invalid pin assignment for HRTIM1 FLT1 pin: HRTIM1_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM1, HRTIM1_FLT2)
+#error Invalid pin assignment for HRTIM1 FLT2 pin: HRTIM1_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM1, HRTIM1_FLT3)
+#error Invalid pin assignment for HRTIM1 FLT3 pin: HRTIM1_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM1, HRTIM1_FLT4)
+#error Invalid pin assignment for HRTIM1 FLT4 pin: HRTIM1_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM1, HRTIM1_FLT5)
+#error Invalid pin assignment for HRTIM1 FLT5 pin: HRTIM1_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM1, HRTIM1_FLT6)
+#error Invalid pin assignment for HRTIM1 FLT6 pin: HRTIM1_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM1, HRTIM1_SCIN)
+#error Invalid pin assignment for HRTIM1 SCIN pin: HRTIM1_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM1, HRTIM1_SCOUT)
+#error Invalid pin assignment for HRTIM1 SCOUT pin: HRTIM1_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM2
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM2, HRTIM2_CHA1)
+#error Invalid pin assignment for HRTIM2 CHA1 pin: HRTIM2_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM2, HRTIM2_CHA2)
+#error Invalid pin assignment for HRTIM2 CHA2 pin: HRTIM2_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM2, HRTIM2_CHB1)
+#error Invalid pin assignment for HRTIM2 CHB1 pin: HRTIM2_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM2, HRTIM2_CHB2)
+#error Invalid pin assignment for HRTIM2 CHB2 pin: HRTIM2_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM2, HRTIM2_CHC1)
+#error Invalid pin assignment for HRTIM2 CHC1 pin: HRTIM2_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM2, HRTIM2_CHC2)
+#error Invalid pin assignment for HRTIM2 CHC2 pin: HRTIM2_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM2, HRTIM2_CHD1)
+#error Invalid pin assignment for HRTIM2 CHD1 pin: HRTIM2_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM2, HRTIM2_CHD2)
+#error Invalid pin assignment for HRTIM2 CHD2 pin: HRTIM2_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM2, HRTIM2_CHE1)
+#error Invalid pin assignment for HRTIM2 CHE1 pin: HRTIM2_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM2, HRTIM2_CHE2)
+#error Invalid pin assignment for HRTIM2 CHE2 pin: HRTIM2_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM2, HRTIM2_CHF1)
+#error Invalid pin assignment for HRTIM2 CHF1 pin: HRTIM2_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM2, HRTIM2_CHF2)
+#error Invalid pin assignment for HRTIM2 CHF2 pin: HRTIM2_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM2, HRTIM2_EEV1)
+#error Invalid pin assignment for HRTIM2 EEV1 pin: HRTIM2_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM2, HRTIM2_EEV10)
+#error Invalid pin assignment for HRTIM2 EEV10 pin: HRTIM2_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM2, HRTIM2_EEV2)
+#error Invalid pin assignment for HRTIM2 EEV2 pin: HRTIM2_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM2, HRTIM2_EEV3)
+#error Invalid pin assignment for HRTIM2 EEV3 pin: HRTIM2_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM2, HRTIM2_EEV4)
+#error Invalid pin assignment for HRTIM2 EEV4 pin: HRTIM2_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM2, HRTIM2_EEV5)
+#error Invalid pin assignment for HRTIM2 EEV5 pin: HRTIM2_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM2, HRTIM2_EEV6)
+#error Invalid pin assignment for HRTIM2 EEV6 pin: HRTIM2_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM2, HRTIM2_EEV7)
+#error Invalid pin assignment for HRTIM2 EEV7 pin: HRTIM2_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM2, HRTIM2_EEV8)
+#error Invalid pin assignment for HRTIM2 EEV8 pin: HRTIM2_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM2, HRTIM2_EEV9)
+#error Invalid pin assignment for HRTIM2 EEV9 pin: HRTIM2_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM2, HRTIM2_FLT1)
+#error Invalid pin assignment for HRTIM2 FLT1 pin: HRTIM2_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM2, HRTIM2_FLT2)
+#error Invalid pin assignment for HRTIM2 FLT2 pin: HRTIM2_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM2, HRTIM2_FLT3)
+#error Invalid pin assignment for HRTIM2 FLT3 pin: HRTIM2_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM2, HRTIM2_FLT4)
+#error Invalid pin assignment for HRTIM2 FLT4 pin: HRTIM2_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM2, HRTIM2_FLT5)
+#error Invalid pin assignment for HRTIM2 FLT5 pin: HRTIM2_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM2, HRTIM2_FLT6)
+#error Invalid pin assignment for HRTIM2 FLT6 pin: HRTIM2_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM2, HRTIM2_SCIN)
+#error Invalid pin assignment for HRTIM2 SCIN pin: HRTIM2_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM2, HRTIM2_SCOUT)
+#error Invalid pin assignment for HRTIM2 SCOUT pin: HRTIM2_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM3
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM3, HRTIM3_CHA1)
+#error Invalid pin assignment for HRTIM3 CHA1 pin: HRTIM3_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM3, HRTIM3_CHA2)
+#error Invalid pin assignment for HRTIM3 CHA2 pin: HRTIM3_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM3, HRTIM3_CHB1)
+#error Invalid pin assignment for HRTIM3 CHB1 pin: HRTIM3_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM3, HRTIM3_CHB2)
+#error Invalid pin assignment for HRTIM3 CHB2 pin: HRTIM3_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM3, HRTIM3_CHC1)
+#error Invalid pin assignment for HRTIM3 CHC1 pin: HRTIM3_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM3, HRTIM3_CHC2)
+#error Invalid pin assignment for HRTIM3 CHC2 pin: HRTIM3_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM3, HRTIM3_CHD1)
+#error Invalid pin assignment for HRTIM3 CHD1 pin: HRTIM3_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM3, HRTIM3_CHD2)
+#error Invalid pin assignment for HRTIM3 CHD2 pin: HRTIM3_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM3, HRTIM3_CHE1)
+#error Invalid pin assignment for HRTIM3 CHE1 pin: HRTIM3_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM3, HRTIM3_CHE2)
+#error Invalid pin assignment for HRTIM3 CHE2 pin: HRTIM3_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM3, HRTIM3_CHF1)
+#error Invalid pin assignment for HRTIM3 CHF1 pin: HRTIM3_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM3, HRTIM3_CHF2)
+#error Invalid pin assignment for HRTIM3 CHF2 pin: HRTIM3_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM3, HRTIM3_EEV1)
+#error Invalid pin assignment for HRTIM3 EEV1 pin: HRTIM3_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM3, HRTIM3_EEV10)
+#error Invalid pin assignment for HRTIM3 EEV10 pin: HRTIM3_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM3, HRTIM3_EEV2)
+#error Invalid pin assignment for HRTIM3 EEV2 pin: HRTIM3_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM3, HRTIM3_EEV3)
+#error Invalid pin assignment for HRTIM3 EEV3 pin: HRTIM3_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM3, HRTIM3_EEV4)
+#error Invalid pin assignment for HRTIM3 EEV4 pin: HRTIM3_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM3, HRTIM3_EEV5)
+#error Invalid pin assignment for HRTIM3 EEV5 pin: HRTIM3_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM3, HRTIM3_EEV6)
+#error Invalid pin assignment for HRTIM3 EEV6 pin: HRTIM3_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM3, HRTIM3_EEV7)
+#error Invalid pin assignment for HRTIM3 EEV7 pin: HRTIM3_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM3, HRTIM3_EEV8)
+#error Invalid pin assignment for HRTIM3 EEV8 pin: HRTIM3_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM3, HRTIM3_EEV9)
+#error Invalid pin assignment for HRTIM3 EEV9 pin: HRTIM3_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM3, HRTIM3_FLT1)
+#error Invalid pin assignment for HRTIM3 FLT1 pin: HRTIM3_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM3, HRTIM3_FLT2)
+#error Invalid pin assignment for HRTIM3 FLT2 pin: HRTIM3_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM3, HRTIM3_FLT3)
+#error Invalid pin assignment for HRTIM3 FLT3 pin: HRTIM3_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM3, HRTIM3_FLT4)
+#error Invalid pin assignment for HRTIM3 FLT4 pin: HRTIM3_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM3, HRTIM3_FLT5)
+#error Invalid pin assignment for HRTIM3 FLT5 pin: HRTIM3_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM3, HRTIM3_FLT6)
+#error Invalid pin assignment for HRTIM3 FLT6 pin: HRTIM3_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM3, HRTIM3_SCIN)
+#error Invalid pin assignment for HRTIM3 SCIN pin: HRTIM3_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM3, HRTIM3_SCOUT)
+#error Invalid pin assignment for HRTIM3 SCOUT pin: HRTIM3_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM4
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM4, HRTIM4_CHA1)
+#error Invalid pin assignment for HRTIM4 CHA1 pin: HRTIM4_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM4, HRTIM4_CHA2)
+#error Invalid pin assignment for HRTIM4 CHA2 pin: HRTIM4_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM4, HRTIM4_CHB1)
+#error Invalid pin assignment for HRTIM4 CHB1 pin: HRTIM4_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM4, HRTIM4_CHB2)
+#error Invalid pin assignment for HRTIM4 CHB2 pin: HRTIM4_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM4, HRTIM4_CHC1)
+#error Invalid pin assignment for HRTIM4 CHC1 pin: HRTIM4_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM4, HRTIM4_CHC2)
+#error Invalid pin assignment for HRTIM4 CHC2 pin: HRTIM4_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM4, HRTIM4_CHD1)
+#error Invalid pin assignment for HRTIM4 CHD1 pin: HRTIM4_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM4, HRTIM4_CHD2)
+#error Invalid pin assignment for HRTIM4 CHD2 pin: HRTIM4_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM4, HRTIM4_CHE1)
+#error Invalid pin assignment for HRTIM4 CHE1 pin: HRTIM4_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM4, HRTIM4_CHE2)
+#error Invalid pin assignment for HRTIM4 CHE2 pin: HRTIM4_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM4, HRTIM4_CHF1)
+#error Invalid pin assignment for HRTIM4 CHF1 pin: HRTIM4_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM4, HRTIM4_CHF2)
+#error Invalid pin assignment for HRTIM4 CHF2 pin: HRTIM4_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM4, HRTIM4_EEV1)
+#error Invalid pin assignment for HRTIM4 EEV1 pin: HRTIM4_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM4, HRTIM4_EEV10)
+#error Invalid pin assignment for HRTIM4 EEV10 pin: HRTIM4_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM4, HRTIM4_EEV2)
+#error Invalid pin assignment for HRTIM4 EEV2 pin: HRTIM4_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM4, HRTIM4_EEV3)
+#error Invalid pin assignment for HRTIM4 EEV3 pin: HRTIM4_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM4, HRTIM4_EEV4)
+#error Invalid pin assignment for HRTIM4 EEV4 pin: HRTIM4_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM4, HRTIM4_EEV5)
+#error Invalid pin assignment for HRTIM4 EEV5 pin: HRTIM4_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM4, HRTIM4_EEV6)
+#error Invalid pin assignment for HRTIM4 EEV6 pin: HRTIM4_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM4, HRTIM4_EEV7)
+#error Invalid pin assignment for HRTIM4 EEV7 pin: HRTIM4_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM4, HRTIM4_EEV8)
+#error Invalid pin assignment for HRTIM4 EEV8 pin: HRTIM4_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM4, HRTIM4_EEV9)
+#error Invalid pin assignment for HRTIM4 EEV9 pin: HRTIM4_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM4, HRTIM4_FLT1)
+#error Invalid pin assignment for HRTIM4 FLT1 pin: HRTIM4_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM4, HRTIM4_FLT2)
+#error Invalid pin assignment for HRTIM4 FLT2 pin: HRTIM4_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM4, HRTIM4_FLT3)
+#error Invalid pin assignment for HRTIM4 FLT3 pin: HRTIM4_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM4, HRTIM4_FLT4)
+#error Invalid pin assignment for HRTIM4 FLT4 pin: HRTIM4_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM4, HRTIM4_FLT5)
+#error Invalid pin assignment for HRTIM4 FLT5 pin: HRTIM4_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM4, HRTIM4_FLT6)
+#error Invalid pin assignment for HRTIM4 FLT6 pin: HRTIM4_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM4, HRTIM4_SCIN)
+#error Invalid pin assignment for HRTIM4 SCIN pin: HRTIM4_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM4, HRTIM4_SCOUT)
+#error Invalid pin assignment for HRTIM4 SCOUT pin: HRTIM4_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM5
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM5, HRTIM5_CHA1)
+#error Invalid pin assignment for HRTIM5 CHA1 pin: HRTIM5_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM5, HRTIM5_CHA2)
+#error Invalid pin assignment for HRTIM5 CHA2 pin: HRTIM5_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM5, HRTIM5_CHB1)
+#error Invalid pin assignment for HRTIM5 CHB1 pin: HRTIM5_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM5, HRTIM5_CHB2)
+#error Invalid pin assignment for HRTIM5 CHB2 pin: HRTIM5_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM5, HRTIM5_CHC1)
+#error Invalid pin assignment for HRTIM5 CHC1 pin: HRTIM5_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM5, HRTIM5_CHC2)
+#error Invalid pin assignment for HRTIM5 CHC2 pin: HRTIM5_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM5, HRTIM5_CHD1)
+#error Invalid pin assignment for HRTIM5 CHD1 pin: HRTIM5_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM5, HRTIM5_CHD2)
+#error Invalid pin assignment for HRTIM5 CHD2 pin: HRTIM5_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM5, HRTIM5_CHE1)
+#error Invalid pin assignment for HRTIM5 CHE1 pin: HRTIM5_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM5, HRTIM5_CHE2)
+#error Invalid pin assignment for HRTIM5 CHE2 pin: HRTIM5_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM5, HRTIM5_CHF1)
+#error Invalid pin assignment for HRTIM5 CHF1 pin: HRTIM5_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM5, HRTIM5_CHF2)
+#error Invalid pin assignment for HRTIM5 CHF2 pin: HRTIM5_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM5, HRTIM5_EEV1)
+#error Invalid pin assignment for HRTIM5 EEV1 pin: HRTIM5_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM5, HRTIM5_EEV10)
+#error Invalid pin assignment for HRTIM5 EEV10 pin: HRTIM5_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM5, HRTIM5_EEV2)
+#error Invalid pin assignment for HRTIM5 EEV2 pin: HRTIM5_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM5, HRTIM5_EEV3)
+#error Invalid pin assignment for HRTIM5 EEV3 pin: HRTIM5_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM5, HRTIM5_EEV4)
+#error Invalid pin assignment for HRTIM5 EEV4 pin: HRTIM5_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM5, HRTIM5_EEV5)
+#error Invalid pin assignment for HRTIM5 EEV5 pin: HRTIM5_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM5, HRTIM5_EEV6)
+#error Invalid pin assignment for HRTIM5 EEV6 pin: HRTIM5_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM5, HRTIM5_EEV7)
+#error Invalid pin assignment for HRTIM5 EEV7 pin: HRTIM5_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM5, HRTIM5_EEV8)
+#error Invalid pin assignment for HRTIM5 EEV8 pin: HRTIM5_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM5, HRTIM5_EEV9)
+#error Invalid pin assignment for HRTIM5 EEV9 pin: HRTIM5_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM5, HRTIM5_FLT1)
+#error Invalid pin assignment for HRTIM5 FLT1 pin: HRTIM5_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM5, HRTIM5_FLT2)
+#error Invalid pin assignment for HRTIM5 FLT2 pin: HRTIM5_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM5, HRTIM5_FLT3)
+#error Invalid pin assignment for HRTIM5 FLT3 pin: HRTIM5_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM5, HRTIM5_FLT4)
+#error Invalid pin assignment for HRTIM5 FLT4 pin: HRTIM5_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM5, HRTIM5_FLT5)
+#error Invalid pin assignment for HRTIM5 FLT5 pin: HRTIM5_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM5, HRTIM5_FLT6)
+#error Invalid pin assignment for HRTIM5 FLT6 pin: HRTIM5_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM5, HRTIM5_SCIN)
+#error Invalid pin assignment for HRTIM5 SCIN pin: HRTIM5_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM5, HRTIM5_SCOUT)
+#error Invalid pin assignment for HRTIM5 SCOUT pin: HRTIM5_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM6
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM6, HRTIM6_CHA1)
+#error Invalid pin assignment for HRTIM6 CHA1 pin: HRTIM6_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM6, HRTIM6_CHA2)
+#error Invalid pin assignment for HRTIM6 CHA2 pin: HRTIM6_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM6, HRTIM6_CHB1)
+#error Invalid pin assignment for HRTIM6 CHB1 pin: HRTIM6_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM6, HRTIM6_CHB2)
+#error Invalid pin assignment for HRTIM6 CHB2 pin: HRTIM6_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM6, HRTIM6_CHC1)
+#error Invalid pin assignment for HRTIM6 CHC1 pin: HRTIM6_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM6, HRTIM6_CHC2)
+#error Invalid pin assignment for HRTIM6 CHC2 pin: HRTIM6_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM6, HRTIM6_CHD1)
+#error Invalid pin assignment for HRTIM6 CHD1 pin: HRTIM6_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM6, HRTIM6_CHD2)
+#error Invalid pin assignment for HRTIM6 CHD2 pin: HRTIM6_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM6, HRTIM6_CHE1)
+#error Invalid pin assignment for HRTIM6 CHE1 pin: HRTIM6_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM6, HRTIM6_CHE2)
+#error Invalid pin assignment for HRTIM6 CHE2 pin: HRTIM6_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM6, HRTIM6_CHF1)
+#error Invalid pin assignment for HRTIM6 CHF1 pin: HRTIM6_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM6, HRTIM6_CHF2)
+#error Invalid pin assignment for HRTIM6 CHF2 pin: HRTIM6_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM6, HRTIM6_EEV1)
+#error Invalid pin assignment for HRTIM6 EEV1 pin: HRTIM6_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM6, HRTIM6_EEV10)
+#error Invalid pin assignment for HRTIM6 EEV10 pin: HRTIM6_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM6, HRTIM6_EEV2)
+#error Invalid pin assignment for HRTIM6 EEV2 pin: HRTIM6_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM6, HRTIM6_EEV3)
+#error Invalid pin assignment for HRTIM6 EEV3 pin: HRTIM6_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM6, HRTIM6_EEV4)
+#error Invalid pin assignment for HRTIM6 EEV4 pin: HRTIM6_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM6, HRTIM6_EEV5)
+#error Invalid pin assignment for HRTIM6 EEV5 pin: HRTIM6_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM6, HRTIM6_EEV6)
+#error Invalid pin assignment for HRTIM6 EEV6 pin: HRTIM6_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM6, HRTIM6_EEV7)
+#error Invalid pin assignment for HRTIM6 EEV7 pin: HRTIM6_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM6, HRTIM6_EEV8)
+#error Invalid pin assignment for HRTIM6 EEV8 pin: HRTIM6_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM6, HRTIM6_EEV9)
+#error Invalid pin assignment for HRTIM6 EEV9 pin: HRTIM6_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM6, HRTIM6_FLT1)
+#error Invalid pin assignment for HRTIM6 FLT1 pin: HRTIM6_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM6, HRTIM6_FLT2)
+#error Invalid pin assignment for HRTIM6 FLT2 pin: HRTIM6_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM6, HRTIM6_FLT3)
+#error Invalid pin assignment for HRTIM6 FLT3 pin: HRTIM6_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM6, HRTIM6_FLT4)
+#error Invalid pin assignment for HRTIM6 FLT4 pin: HRTIM6_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM6, HRTIM6_FLT5)
+#error Invalid pin assignment for HRTIM6 FLT5 pin: HRTIM6_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM6, HRTIM6_FLT6)
+#error Invalid pin assignment for HRTIM6 FLT6 pin: HRTIM6_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM6, HRTIM6_SCIN)
+#error Invalid pin assignment for HRTIM6 SCIN pin: HRTIM6_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM6, HRTIM6_SCOUT)
+#error Invalid pin assignment for HRTIM6 SCOUT pin: HRTIM6_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM7
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM7, HRTIM7_CHA1)
+#error Invalid pin assignment for HRTIM7 CHA1 pin: HRTIM7_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM7, HRTIM7_CHA2)
+#error Invalid pin assignment for HRTIM7 CHA2 pin: HRTIM7_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM7, HRTIM7_CHB1)
+#error Invalid pin assignment for HRTIM7 CHB1 pin: HRTIM7_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM7, HRTIM7_CHB2)
+#error Invalid pin assignment for HRTIM7 CHB2 pin: HRTIM7_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM7, HRTIM7_CHC1)
+#error Invalid pin assignment for HRTIM7 CHC1 pin: HRTIM7_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM7, HRTIM7_CHC2)
+#error Invalid pin assignment for HRTIM7 CHC2 pin: HRTIM7_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM7, HRTIM7_CHD1)
+#error Invalid pin assignment for HRTIM7 CHD1 pin: HRTIM7_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM7, HRTIM7_CHD2)
+#error Invalid pin assignment for HRTIM7 CHD2 pin: HRTIM7_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM7, HRTIM7_CHE1)
+#error Invalid pin assignment for HRTIM7 CHE1 pin: HRTIM7_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM7, HRTIM7_CHE2)
+#error Invalid pin assignment for HRTIM7 CHE2 pin: HRTIM7_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM7, HRTIM7_CHF1)
+#error Invalid pin assignment for HRTIM7 CHF1 pin: HRTIM7_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM7, HRTIM7_CHF2)
+#error Invalid pin assignment for HRTIM7 CHF2 pin: HRTIM7_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM7, HRTIM7_EEV1)
+#error Invalid pin assignment for HRTIM7 EEV1 pin: HRTIM7_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM7, HRTIM7_EEV10)
+#error Invalid pin assignment for HRTIM7 EEV10 pin: HRTIM7_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM7, HRTIM7_EEV2)
+#error Invalid pin assignment for HRTIM7 EEV2 pin: HRTIM7_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM7, HRTIM7_EEV3)
+#error Invalid pin assignment for HRTIM7 EEV3 pin: HRTIM7_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM7, HRTIM7_EEV4)
+#error Invalid pin assignment for HRTIM7 EEV4 pin: HRTIM7_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM7, HRTIM7_EEV5)
+#error Invalid pin assignment for HRTIM7 EEV5 pin: HRTIM7_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM7, HRTIM7_EEV6)
+#error Invalid pin assignment for HRTIM7 EEV6 pin: HRTIM7_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM7, HRTIM7_EEV7)
+#error Invalid pin assignment for HRTIM7 EEV7 pin: HRTIM7_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM7, HRTIM7_EEV8)
+#error Invalid pin assignment for HRTIM7 EEV8 pin: HRTIM7_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM7, HRTIM7_EEV9)
+#error Invalid pin assignment for HRTIM7 EEV9 pin: HRTIM7_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM7, HRTIM7_FLT1)
+#error Invalid pin assignment for HRTIM7 FLT1 pin: HRTIM7_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM7, HRTIM7_FLT2)
+#error Invalid pin assignment for HRTIM7 FLT2 pin: HRTIM7_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM7, HRTIM7_FLT3)
+#error Invalid pin assignment for HRTIM7 FLT3 pin: HRTIM7_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM7, HRTIM7_FLT4)
+#error Invalid pin assignment for HRTIM7 FLT4 pin: HRTIM7_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM7, HRTIM7_FLT5)
+#error Invalid pin assignment for HRTIM7 FLT5 pin: HRTIM7_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM7, HRTIM7_FLT6)
+#error Invalid pin assignment for HRTIM7 FLT6 pin: HRTIM7_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM7, HRTIM7_SCIN)
+#error Invalid pin assignment for HRTIM7 SCIN pin: HRTIM7_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM7, HRTIM7_SCOUT)
+#error Invalid pin assignment for HRTIM7 SCOUT pin: HRTIM7_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM8
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM8, HRTIM8_CHA1)
+#error Invalid pin assignment for HRTIM8 CHA1 pin: HRTIM8_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM8, HRTIM8_CHA2)
+#error Invalid pin assignment for HRTIM8 CHA2 pin: HRTIM8_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM8, HRTIM8_CHB1)
+#error Invalid pin assignment for HRTIM8 CHB1 pin: HRTIM8_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM8, HRTIM8_CHB2)
+#error Invalid pin assignment for HRTIM8 CHB2 pin: HRTIM8_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM8, HRTIM8_CHC1)
+#error Invalid pin assignment for HRTIM8 CHC1 pin: HRTIM8_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM8, HRTIM8_CHC2)
+#error Invalid pin assignment for HRTIM8 CHC2 pin: HRTIM8_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM8, HRTIM8_CHD1)
+#error Invalid pin assignment for HRTIM8 CHD1 pin: HRTIM8_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM8, HRTIM8_CHD2)
+#error Invalid pin assignment for HRTIM8 CHD2 pin: HRTIM8_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM8, HRTIM8_CHE1)
+#error Invalid pin assignment for HRTIM8 CHE1 pin: HRTIM8_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM8, HRTIM8_CHE2)
+#error Invalid pin assignment for HRTIM8 CHE2 pin: HRTIM8_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM8, HRTIM8_CHF1)
+#error Invalid pin assignment for HRTIM8 CHF1 pin: HRTIM8_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM8, HRTIM8_CHF2)
+#error Invalid pin assignment for HRTIM8 CHF2 pin: HRTIM8_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM8, HRTIM8_EEV1)
+#error Invalid pin assignment for HRTIM8 EEV1 pin: HRTIM8_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM8, HRTIM8_EEV10)
+#error Invalid pin assignment for HRTIM8 EEV10 pin: HRTIM8_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM8, HRTIM8_EEV2)
+#error Invalid pin assignment for HRTIM8 EEV2 pin: HRTIM8_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM8, HRTIM8_EEV3)
+#error Invalid pin assignment for HRTIM8 EEV3 pin: HRTIM8_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM8, HRTIM8_EEV4)
+#error Invalid pin assignment for HRTIM8 EEV4 pin: HRTIM8_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM8, HRTIM8_EEV5)
+#error Invalid pin assignment for HRTIM8 EEV5 pin: HRTIM8_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM8, HRTIM8_EEV6)
+#error Invalid pin assignment for HRTIM8 EEV6 pin: HRTIM8_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM8, HRTIM8_EEV7)
+#error Invalid pin assignment for HRTIM8 EEV7 pin: HRTIM8_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM8, HRTIM8_EEV8)
+#error Invalid pin assignment for HRTIM8 EEV8 pin: HRTIM8_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM8, HRTIM8_EEV9)
+#error Invalid pin assignment for HRTIM8 EEV9 pin: HRTIM8_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM8, HRTIM8_FLT1)
+#error Invalid pin assignment for HRTIM8 FLT1 pin: HRTIM8_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM8, HRTIM8_FLT2)
+#error Invalid pin assignment for HRTIM8 FLT2 pin: HRTIM8_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM8, HRTIM8_FLT3)
+#error Invalid pin assignment for HRTIM8 FLT3 pin: HRTIM8_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM8, HRTIM8_FLT4)
+#error Invalid pin assignment for HRTIM8 FLT4 pin: HRTIM8_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM8, HRTIM8_FLT5)
+#error Invalid pin assignment for HRTIM8 FLT5 pin: HRTIM8_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM8, HRTIM8_FLT6)
+#error Invalid pin assignment for HRTIM8 FLT6 pin: HRTIM8_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM8, HRTIM8_SCIN)
+#error Invalid pin assignment for HRTIM8 SCIN pin: HRTIM8_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM8, HRTIM8_SCOUT)
+#error Invalid pin assignment for HRTIM8 SCOUT pin: HRTIM8_SCOUT
+#endif
+#endif
+
+#ifdef USE_HRTIM9
+#if !FIND_VALUE_HRTIM_CHA1(_HRTIM9, HRTIM9_CHA1)
+#error Invalid pin assignment for HRTIM9 CHA1 pin: HRTIM9_CHA1
+#endif
+#if !FIND_VALUE_HRTIM_CHA2(_HRTIM9, HRTIM9_CHA2)
+#error Invalid pin assignment for HRTIM9 CHA2 pin: HRTIM9_CHA2
+#endif
+#if !FIND_VALUE_HRTIM_CHB1(_HRTIM9, HRTIM9_CHB1)
+#error Invalid pin assignment for HRTIM9 CHB1 pin: HRTIM9_CHB1
+#endif
+#if !FIND_VALUE_HRTIM_CHB2(_HRTIM9, HRTIM9_CHB2)
+#error Invalid pin assignment for HRTIM9 CHB2 pin: HRTIM9_CHB2
+#endif
+#if !FIND_VALUE_HRTIM_CHC1(_HRTIM9, HRTIM9_CHC1)
+#error Invalid pin assignment for HRTIM9 CHC1 pin: HRTIM9_CHC1
+#endif
+#if !FIND_VALUE_HRTIM_CHC2(_HRTIM9, HRTIM9_CHC2)
+#error Invalid pin assignment for HRTIM9 CHC2 pin: HRTIM9_CHC2
+#endif
+#if !FIND_VALUE_HRTIM_CHD1(_HRTIM9, HRTIM9_CHD1)
+#error Invalid pin assignment for HRTIM9 CHD1 pin: HRTIM9_CHD1
+#endif
+#if !FIND_VALUE_HRTIM_CHD2(_HRTIM9, HRTIM9_CHD2)
+#error Invalid pin assignment for HRTIM9 CHD2 pin: HRTIM9_CHD2
+#endif
+#if !FIND_VALUE_HRTIM_CHE1(_HRTIM9, HRTIM9_CHE1)
+#error Invalid pin assignment for HRTIM9 CHE1 pin: HRTIM9_CHE1
+#endif
+#if !FIND_VALUE_HRTIM_CHE2(_HRTIM9, HRTIM9_CHE2)
+#error Invalid pin assignment for HRTIM9 CHE2 pin: HRTIM9_CHE2
+#endif
+#if !FIND_VALUE_HRTIM_CHF1(_HRTIM9, HRTIM9_CHF1)
+#error Invalid pin assignment for HRTIM9 CHF1 pin: HRTIM9_CHF1
+#endif
+#if !FIND_VALUE_HRTIM_CHF2(_HRTIM9, HRTIM9_CHF2)
+#error Invalid pin assignment for HRTIM9 CHF2 pin: HRTIM9_CHF2
+#endif
+#if !FIND_VALUE_HRTIM_EEV1(_HRTIM9, HRTIM9_EEV1)
+#error Invalid pin assignment for HRTIM9 EEV1 pin: HRTIM9_EEV1
+#endif
+#if !FIND_VALUE_HRTIM_EEV10(_HRTIM9, HRTIM9_EEV10)
+#error Invalid pin assignment for HRTIM9 EEV10 pin: HRTIM9_EEV10
+#endif
+#if !FIND_VALUE_HRTIM_EEV2(_HRTIM9, HRTIM9_EEV2)
+#error Invalid pin assignment for HRTIM9 EEV2 pin: HRTIM9_EEV2
+#endif
+#if !FIND_VALUE_HRTIM_EEV3(_HRTIM9, HRTIM9_EEV3)
+#error Invalid pin assignment for HRTIM9 EEV3 pin: HRTIM9_EEV3
+#endif
+#if !FIND_VALUE_HRTIM_EEV4(_HRTIM9, HRTIM9_EEV4)
+#error Invalid pin assignment for HRTIM9 EEV4 pin: HRTIM9_EEV4
+#endif
+#if !FIND_VALUE_HRTIM_EEV5(_HRTIM9, HRTIM9_EEV5)
+#error Invalid pin assignment for HRTIM9 EEV5 pin: HRTIM9_EEV5
+#endif
+#if !FIND_VALUE_HRTIM_EEV6(_HRTIM9, HRTIM9_EEV6)
+#error Invalid pin assignment for HRTIM9 EEV6 pin: HRTIM9_EEV6
+#endif
+#if !FIND_VALUE_HRTIM_EEV7(_HRTIM9, HRTIM9_EEV7)
+#error Invalid pin assignment for HRTIM9 EEV7 pin: HRTIM9_EEV7
+#endif
+#if !FIND_VALUE_HRTIM_EEV8(_HRTIM9, HRTIM9_EEV8)
+#error Invalid pin assignment for HRTIM9 EEV8 pin: HRTIM9_EEV8
+#endif
+#if !FIND_VALUE_HRTIM_EEV9(_HRTIM9, HRTIM9_EEV9)
+#error Invalid pin assignment for HRTIM9 EEV9 pin: HRTIM9_EEV9
+#endif
+#if !FIND_VALUE_HRTIM_FLT1(_HRTIM9, HRTIM9_FLT1)
+#error Invalid pin assignment for HRTIM9 FLT1 pin: HRTIM9_FLT1
+#endif
+#if !FIND_VALUE_HRTIM_FLT2(_HRTIM9, HRTIM9_FLT2)
+#error Invalid pin assignment for HRTIM9 FLT2 pin: HRTIM9_FLT2
+#endif
+#if !FIND_VALUE_HRTIM_FLT3(_HRTIM9, HRTIM9_FLT3)
+#error Invalid pin assignment for HRTIM9 FLT3 pin: HRTIM9_FLT3
+#endif
+#if !FIND_VALUE_HRTIM_FLT4(_HRTIM9, HRTIM9_FLT4)
+#error Invalid pin assignment for HRTIM9 FLT4 pin: HRTIM9_FLT4
+#endif
+#if !FIND_VALUE_HRTIM_FLT5(_HRTIM9, HRTIM9_FLT5)
+#error Invalid pin assignment for HRTIM9 FLT5 pin: HRTIM9_FLT5
+#endif
+#if !FIND_VALUE_HRTIM_FLT6(_HRTIM9, HRTIM9_FLT6)
+#error Invalid pin assignment for HRTIM9 FLT6 pin: HRTIM9_FLT6
+#endif
+#if !FIND_VALUE_HRTIM_SCIN(_HRTIM9, HRTIM9_SCIN)
+#error Invalid pin assignment for HRTIM9 SCIN pin: HRTIM9_SCIN
+#endif
+#if !FIND_VALUE_HRTIM_SCOUT(_HRTIM9, HRTIM9_SCOUT)
+#error Invalid pin assignment for HRTIM9 SCOUT pin: HRTIM9_SCOUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hspi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hspi.h
new file mode 100644
index 000000000..1ba023fc2
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_hspi.h
@@ -0,0 +1,134 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402017
+ */
+
+#define FIND_VALUE_HSPI_CLK_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_CLK(INDEX,PIN) FIND_VALUE_HSPI_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_DQS0_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_DQS0(INDEX,PIN) FIND_VALUE_HSPI_DQS0_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_DQS1_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_DQS1(INDEX,PIN) FIND_VALUE_HSPI_DQS1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO0_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO0(INDEX,PIN) FIND_VALUE_HSPI_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO1_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO1(INDEX,PIN) FIND_VALUE_HSPI_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO10_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO10(INDEX,PIN) FIND_VALUE_HSPI_IO10_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO11_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO11(INDEX,PIN) FIND_VALUE_HSPI_IO11_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO12_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO12(INDEX,PIN) FIND_VALUE_HSPI_IO12_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO13_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO13(INDEX,PIN) FIND_VALUE_HSPI_IO13_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO14_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO14(INDEX,PIN) FIND_VALUE_HSPI_IO14_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO15_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO15(INDEX,PIN) FIND_VALUE_HSPI_IO15_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO2_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO2(INDEX,PIN) FIND_VALUE_HSPI_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO3_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO3(INDEX,PIN) FIND_VALUE_HSPI_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO4_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO4(INDEX,PIN) FIND_VALUE_HSPI_IO4_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO5_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO5(INDEX,PIN) FIND_VALUE_HSPI_IO5_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO6_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO6(INDEX,PIN) FIND_VALUE_HSPI_IO6_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO7_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO7(INDEX,PIN) FIND_VALUE_HSPI_IO7_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO8_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO8(INDEX,PIN) FIND_VALUE_HSPI_IO8_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_IO9_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_IO9(INDEX,PIN) FIND_VALUE_HSPI_IO9_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_NCLK_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_NCLK(INDEX,PIN) FIND_VALUE_HSPI_NCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_HSPI_NCS_inner(INDEX,PIN) I2C##_HSPI_##PIN
+#define FIND_VALUE_HSPI_NCS(INDEX,PIN) FIND_VALUE_HSPI_NCS_inner(INDEX,PIN)
+
+#ifdef USE_HSPI0
+#if !FIND_VALUE_HSPI_CLK(_HSPI0, HSPI0_CLK)
+#error Invalid pin assignment for HSPI0 CLK pin: HSPI0_CLK
+#endif
+#if !FIND_VALUE_HSPI_DQS0(_HSPI0, HSPI0_DQS0)
+#error Invalid pin assignment for HSPI0 DQS0 pin: HSPI0_DQS0
+#endif
+#if !FIND_VALUE_HSPI_DQS1(_HSPI0, HSPI0_DQS1)
+#error Invalid pin assignment for HSPI0 DQS1 pin: HSPI0_DQS1
+#endif
+#if !FIND_VALUE_HSPI_IO0(_HSPI0, HSPI0_IO0)
+#error Invalid pin assignment for HSPI0 IO0 pin: HSPI0_IO0
+#endif
+#if !FIND_VALUE_HSPI_IO1(_HSPI0, HSPI0_IO1)
+#error Invalid pin assignment for HSPI0 IO1 pin: HSPI0_IO1
+#endif
+#if !FIND_VALUE_HSPI_IO10(_HSPI0, HSPI0_IO10)
+#error Invalid pin assignment for HSPI0 IO10 pin: HSPI0_IO10
+#endif
+#if !FIND_VALUE_HSPI_IO11(_HSPI0, HSPI0_IO11)
+#error Invalid pin assignment for HSPI0 IO11 pin: HSPI0_IO11
+#endif
+#if !FIND_VALUE_HSPI_IO12(_HSPI0, HSPI0_IO12)
+#error Invalid pin assignment for HSPI0 IO12 pin: HSPI0_IO12
+#endif
+#if !FIND_VALUE_HSPI_IO13(_HSPI0, HSPI0_IO13)
+#error Invalid pin assignment for HSPI0 IO13 pin: HSPI0_IO13
+#endif
+#if !FIND_VALUE_HSPI_IO14(_HSPI0, HSPI0_IO14)
+#error Invalid pin assignment for HSPI0 IO14 pin: HSPI0_IO14
+#endif
+#if !FIND_VALUE_HSPI_IO15(_HSPI0, HSPI0_IO15)
+#error Invalid pin assignment for HSPI0 IO15 pin: HSPI0_IO15
+#endif
+#if !FIND_VALUE_HSPI_IO2(_HSPI0, HSPI0_IO2)
+#error Invalid pin assignment for HSPI0 IO2 pin: HSPI0_IO2
+#endif
+#if !FIND_VALUE_HSPI_IO3(_HSPI0, HSPI0_IO3)
+#error Invalid pin assignment for HSPI0 IO3 pin: HSPI0_IO3
+#endif
+#if !FIND_VALUE_HSPI_IO4(_HSPI0, HSPI0_IO4)
+#error Invalid pin assignment for HSPI0 IO4 pin: HSPI0_IO4
+#endif
+#if !FIND_VALUE_HSPI_IO5(_HSPI0, HSPI0_IO5)
+#error Invalid pin assignment for HSPI0 IO5 pin: HSPI0_IO5
+#endif
+#if !FIND_VALUE_HSPI_IO6(_HSPI0, HSPI0_IO6)
+#error Invalid pin assignment for HSPI0 IO6 pin: HSPI0_IO6
+#endif
+#if !FIND_VALUE_HSPI_IO7(_HSPI0, HSPI0_IO7)
+#error Invalid pin assignment for HSPI0 IO7 pin: HSPI0_IO7
+#endif
+#if !FIND_VALUE_HSPI_IO8(_HSPI0, HSPI0_IO8)
+#error Invalid pin assignment for HSPI0 IO8 pin: HSPI0_IO8
+#endif
+#if !FIND_VALUE_HSPI_IO9(_HSPI0, HSPI0_IO9)
+#error Invalid pin assignment for HSPI0 IO9 pin: HSPI0_IO9
+#endif
+#if !FIND_VALUE_HSPI_NCLK(_HSPI0, HSPI0_NCLK)
+#error Invalid pin assignment for HSPI0 NCLK pin: HSPI0_NCLK
+#endif
+#if !FIND_VALUE_HSPI_NCS(_HSPI0, HSPI0_NCS)
+#error Invalid pin assignment for HSPI0 NCS pin: HSPI0_NCS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2c.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2c.h
new file mode 100644
index 000000000..dd2a63a05
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2c.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402050
+ */
+
+#define FIND_VALUE_I2C_SCL_inner(INDEX,PIN) I2C##_I2C_##PIN
+#define FIND_VALUE_I2C_SCL(INDEX,PIN) FIND_VALUE_I2C_SCL_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2C_SDA_inner(INDEX,PIN) I2C##_I2C_##PIN
+#define FIND_VALUE_I2C_SDA(INDEX,PIN) FIND_VALUE_I2C_SDA_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2C_SMBA_inner(INDEX,PIN) I2C##_I2C_##PIN
+#define FIND_VALUE_I2C_SMBA(INDEX,PIN) FIND_VALUE_I2C_SMBA_inner(INDEX,PIN)
+
+#ifdef USE_I2C0
+#if !FIND_VALUE_I2C_SCL(_I2C0, I2C0_SCL)
+#error Invalid pin assignment for I2C0 SCL pin: I2C0_SCL
+#endif
+#if !FIND_VALUE_I2C_SDA(_I2C0, I2C0_SDA)
+#error Invalid pin assignment for I2C0 SDA pin: I2C0_SDA
+#endif
+#if !FIND_VALUE_I2C_SMBA(_I2C0, I2C0_SMBA)
+#error Invalid pin assignment for I2C0 SMBA pin: I2C0_SMBA
+#endif
+#endif
+
+#ifdef USE_I2C1
+#if !FIND_VALUE_I2C_SCL(_I2C1, I2C1_SCL)
+#error Invalid pin assignment for I2C1 SCL pin: I2C1_SCL
+#endif
+#if !FIND_VALUE_I2C_SDA(_I2C1, I2C1_SDA)
+#error Invalid pin assignment for I2C1 SDA pin: I2C1_SDA
+#endif
+#if !FIND_VALUE_I2C_SMBA(_I2C1, I2C1_SMBA)
+#error Invalid pin assignment for I2C1 SMBA pin: I2C1_SMBA
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s.h
new file mode 100644
index 000000000..205aa2c63
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s.h
@@ -0,0 +1,92 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402069
+ */
+
+#define FIND_VALUE_I2S_CK_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_CK(INDEX,PIN) FIND_VALUE_I2S_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_CKIN_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_CKIN(INDEX,PIN) FIND_VALUE_I2S_CKIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_MCK_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_MCK(INDEX,PIN) FIND_VALUE_I2S_MCK_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_SCK_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_SCK(INDEX,PIN) FIND_VALUE_I2S_SCK_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_SD_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_SD(INDEX,PIN) FIND_VALUE_I2S_SD_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_SDI_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_SDI(INDEX,PIN) FIND_VALUE_I2S_SDI_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_SDO_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_SDO(INDEX,PIN) FIND_VALUE_I2S_SDO_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_WS_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_WS(INDEX,PIN) FIND_VALUE_I2S_WS_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S_ext_SD_inner(INDEX,PIN) I2C##_I2S_##PIN
+#define FIND_VALUE_I2S_ext_SD(INDEX,PIN) FIND_VALUE_I2S_ext_SD_inner(INDEX,PIN)
+
+#ifdef USE_I2S0
+#if !FIND_VALUE_I2S_CK(_I2S0, I2S0_CK)
+#error Invalid pin assignment for I2S0 CK pin: I2S0_CK
+#endif
+#if !FIND_VALUE_I2S_CKIN(_I2S0, I2S0_CKIN)
+#error Invalid pin assignment for I2S0 CKIN pin: I2S0_CKIN
+#endif
+#if !FIND_VALUE_I2S_MCK(_I2S0, I2S0_MCK)
+#error Invalid pin assignment for I2S0 MCK pin: I2S0_MCK
+#endif
+#if !FIND_VALUE_I2S_SCK(_I2S0, I2S0_SCK)
+#error Invalid pin assignment for I2S0 SCK pin: I2S0_SCK
+#endif
+#if !FIND_VALUE_I2S_SD(_I2S0, I2S0_SD)
+#error Invalid pin assignment for I2S0 SD pin: I2S0_SD
+#endif
+#if !FIND_VALUE_I2S_SDI(_I2S0, I2S0_SDI)
+#error Invalid pin assignment for I2S0 SDI pin: I2S0_SDI
+#endif
+#if !FIND_VALUE_I2S_SDO(_I2S0, I2S0_SDO)
+#error Invalid pin assignment for I2S0 SDO pin: I2S0_SDO
+#endif
+#if !FIND_VALUE_I2S_WS(_I2S0, I2S0_WS)
+#error Invalid pin assignment for I2S0 WS pin: I2S0_WS
+#endif
+#if !FIND_VALUE_I2S_ext_SD(_I2S0, I2S0_ext_SD)
+#error Invalid pin assignment for I2S0 ext_SD pin: I2S0_ext_SD
+#endif
+#endif
+
+#ifdef USE_I2S1
+#if !FIND_VALUE_I2S_CK(_I2S1, I2S1_CK)
+#error Invalid pin assignment for I2S1 CK pin: I2S1_CK
+#endif
+#if !FIND_VALUE_I2S_CKIN(_I2S1, I2S1_CKIN)
+#error Invalid pin assignment for I2S1 CKIN pin: I2S1_CKIN
+#endif
+#if !FIND_VALUE_I2S_MCK(_I2S1, I2S1_MCK)
+#error Invalid pin assignment for I2S1 MCK pin: I2S1_MCK
+#endif
+#if !FIND_VALUE_I2S_SCK(_I2S1, I2S1_SCK)
+#error Invalid pin assignment for I2S1 SCK pin: I2S1_SCK
+#endif
+#if !FIND_VALUE_I2S_SD(_I2S1, I2S1_SD)
+#error Invalid pin assignment for I2S1 SD pin: I2S1_SD
+#endif
+#if !FIND_VALUE_I2S_SDI(_I2S1, I2S1_SDI)
+#error Invalid pin assignment for I2S1 SDI pin: I2S1_SDI
+#endif
+#if !FIND_VALUE_I2S_SDO(_I2S1, I2S1_SDO)
+#error Invalid pin assignment for I2S1 SDO pin: I2S1_SDO
+#endif
+#if !FIND_VALUE_I2S_WS(_I2S1, I2S1_WS)
+#error Invalid pin assignment for I2S1 WS pin: I2S1_WS
+#endif
+#if !FIND_VALUE_I2S_ext_SD(_I2S1, I2S1_ext_SD)
+#error Invalid pin assignment for I2S1 ext_SD pin: I2S1_ext_SD
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s2ext.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s2ext.h
new file mode 100644
index 000000000..406efae27
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s2ext.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402093
+ */
+
+#define FIND_VALUE_I2S2ext_CK_inner(INDEX,PIN) I2C##_I2S2ext_##PIN
+#define FIND_VALUE_I2S2ext_CK(INDEX,PIN) FIND_VALUE_I2S2ext_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S2ext_MISO_inner(INDEX,PIN) I2C##_I2S2ext_##PIN
+#define FIND_VALUE_I2S2ext_MISO(INDEX,PIN) FIND_VALUE_I2S2ext_MISO_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S2ext_WS_inner(INDEX,PIN) I2C##_I2S2ext_##PIN
+#define FIND_VALUE_I2S2ext_WS(INDEX,PIN) FIND_VALUE_I2S2ext_WS_inner(INDEX,PIN)
+
+#ifdef USE_I2S2ext0
+#if !FIND_VALUE_I2S2ext_CK(_I2S2ext0, I2S2ext0_CK)
+#error Invalid pin assignment for I2S2ext0 CK pin: I2S2ext0_CK
+#endif
+#if !FIND_VALUE_I2S2ext_MISO(_I2S2ext0, I2S2ext0_MISO)
+#error Invalid pin assignment for I2S2ext0 MISO pin: I2S2ext0_MISO
+#endif
+#if !FIND_VALUE_I2S2ext_WS(_I2S2ext0, I2S2ext0_WS)
+#error Invalid pin assignment for I2S2ext0 WS pin: I2S2ext0_WS
+#endif
+#endif
+
+#ifdef USE_I2S2ext1
+#if !FIND_VALUE_I2S2ext_CK(_I2S2ext1, I2S2ext1_CK)
+#error Invalid pin assignment for I2S2ext1 CK pin: I2S2ext1_CK
+#endif
+#if !FIND_VALUE_I2S2ext_MISO(_I2S2ext1, I2S2ext1_MISO)
+#error Invalid pin assignment for I2S2ext1 MISO pin: I2S2ext1_MISO
+#endif
+#if !FIND_VALUE_I2S2ext_WS(_I2S2ext1, I2S2ext1_WS)
+#error Invalid pin assignment for I2S2ext1 WS pin: I2S2ext1_WS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s3ext.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s3ext.h
new file mode 100644
index 000000000..e951fe2f6
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_i2s3ext.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402109
+ */
+
+#define FIND_VALUE_I2S3ext_CK_inner(INDEX,PIN) I2C##_I2S3ext_##PIN
+#define FIND_VALUE_I2S3ext_CK(INDEX,PIN) FIND_VALUE_I2S3ext_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S3ext_MISO_inner(INDEX,PIN) I2C##_I2S3ext_##PIN
+#define FIND_VALUE_I2S3ext_MISO(INDEX,PIN) FIND_VALUE_I2S3ext_MISO_inner(INDEX,PIN)
+
+#define FIND_VALUE_I2S3ext_WS_inner(INDEX,PIN) I2C##_I2S3ext_##PIN
+#define FIND_VALUE_I2S3ext_WS(INDEX,PIN) FIND_VALUE_I2S3ext_WS_inner(INDEX,PIN)
+
+#ifdef USE_I2S3ext0
+#if !FIND_VALUE_I2S3ext_CK(_I2S3ext0, I2S3ext0_CK)
+#error Invalid pin assignment for I2S3ext0 CK pin: I2S3ext0_CK
+#endif
+#if !FIND_VALUE_I2S3ext_MISO(_I2S3ext0, I2S3ext0_MISO)
+#error Invalid pin assignment for I2S3ext0 MISO pin: I2S3ext0_MISO
+#endif
+#if !FIND_VALUE_I2S3ext_WS(_I2S3ext0, I2S3ext0_WS)
+#error Invalid pin assignment for I2S3ext0 WS pin: I2S3ext0_WS
+#endif
+#endif
+
+#ifdef USE_I2S3ext1
+#if !FIND_VALUE_I2S3ext_CK(_I2S3ext1, I2S3ext1_CK)
+#error Invalid pin assignment for I2S3ext1 CK pin: I2S3ext1_CK
+#endif
+#if !FIND_VALUE_I2S3ext_MISO(_I2S3ext1, I2S3ext1_MISO)
+#error Invalid pin assignment for I2S3ext1 MISO pin: I2S3ext1_MISO
+#endif
+#if !FIND_VALUE_I2S3ext_WS(_I2S3ext1, I2S3ext1_WS)
+#error Invalid pin assignment for I2S3ext1 WS pin: I2S3ext1_WS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ir.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ir.h
new file mode 100644
index 000000000..1d6f2ee8c
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ir.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402127
+ */
+
+#define FIND_VALUE_IR_OUT_inner(INDEX,PIN) I2C##_IR_##PIN
+#define FIND_VALUE_IR_OUT(INDEX,PIN) FIND_VALUE_IR_OUT_inner(INDEX,PIN)
+
+#ifdef USE_IR0
+#if !FIND_VALUE_IR_OUT(_IR0, IR0_OUT)
+#error Invalid pin assignment for IR0 OUT pin: IR0_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lcd.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lcd.h
new file mode 100644
index 000000000..abaf8dd6c
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lcd.h
@@ -0,0 +1,9674 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.402139
+ */
+
+#define FIND_VALUE_LCD_COM0_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM0(INDEX,PIN) FIND_VALUE_LCD_COM0_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM1_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM1(INDEX,PIN) FIND_VALUE_LCD_COM1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM2_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM2(INDEX,PIN) FIND_VALUE_LCD_COM2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM3_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM3(INDEX,PIN) FIND_VALUE_LCD_COM3_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM4_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM4(INDEX,PIN) FIND_VALUE_LCD_COM4_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM5_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM5(INDEX,PIN) FIND_VALUE_LCD_COM5_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM6_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM6(INDEX,PIN) FIND_VALUE_LCD_COM6_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_COM7_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_COM7(INDEX,PIN) FIND_VALUE_LCD_COM7_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG0_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG0(INDEX,PIN) FIND_VALUE_LCD_SEG0_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG1_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG1(INDEX,PIN) FIND_VALUE_LCD_SEG1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG10_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG10(INDEX,PIN) FIND_VALUE_LCD_SEG10_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG11_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG11(INDEX,PIN) FIND_VALUE_LCD_SEG11_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG12_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG12(INDEX,PIN) FIND_VALUE_LCD_SEG12_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG13_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG13(INDEX,PIN) FIND_VALUE_LCD_SEG13_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG14_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG14(INDEX,PIN) FIND_VALUE_LCD_SEG14_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG15_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG15(INDEX,PIN) FIND_VALUE_LCD_SEG15_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG16_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG16(INDEX,PIN) FIND_VALUE_LCD_SEG16_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG17_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG17(INDEX,PIN) FIND_VALUE_LCD_SEG17_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG18_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG18(INDEX,PIN) FIND_VALUE_LCD_SEG18_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG19_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG19(INDEX,PIN) FIND_VALUE_LCD_SEG19_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG2_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG2(INDEX,PIN) FIND_VALUE_LCD_SEG2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG20_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG20(INDEX,PIN) FIND_VALUE_LCD_SEG20_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG21_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG21(INDEX,PIN) FIND_VALUE_LCD_SEG21_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG22_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG22(INDEX,PIN) FIND_VALUE_LCD_SEG22_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG23_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG23(INDEX,PIN) FIND_VALUE_LCD_SEG23_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG24_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG24(INDEX,PIN) FIND_VALUE_LCD_SEG24_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG25_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG25(INDEX,PIN) FIND_VALUE_LCD_SEG25_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG26_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG26(INDEX,PIN) FIND_VALUE_LCD_SEG26_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG27_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG27(INDEX,PIN) FIND_VALUE_LCD_SEG27_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG28_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG28(INDEX,PIN) FIND_VALUE_LCD_SEG28_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG29_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG29(INDEX,PIN) FIND_VALUE_LCD_SEG29_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG3_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG3(INDEX,PIN) FIND_VALUE_LCD_SEG3_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG30_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG30(INDEX,PIN) FIND_VALUE_LCD_SEG30_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG31_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG31(INDEX,PIN) FIND_VALUE_LCD_SEG31_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG32_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG32(INDEX,PIN) FIND_VALUE_LCD_SEG32_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG33_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG33(INDEX,PIN) FIND_VALUE_LCD_SEG33_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG34_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG34(INDEX,PIN) FIND_VALUE_LCD_SEG34_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG35_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG35(INDEX,PIN) FIND_VALUE_LCD_SEG35_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG36_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG36(INDEX,PIN) FIND_VALUE_LCD_SEG36_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG37_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG37(INDEX,PIN) FIND_VALUE_LCD_SEG37_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG38_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG38(INDEX,PIN) FIND_VALUE_LCD_SEG38_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG39_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG39(INDEX,PIN) FIND_VALUE_LCD_SEG39_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG4_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG4(INDEX,PIN) FIND_VALUE_LCD_SEG4_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG40_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG40(INDEX,PIN) FIND_VALUE_LCD_SEG40_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG41_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG41(INDEX,PIN) FIND_VALUE_LCD_SEG41_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG42_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG42(INDEX,PIN) FIND_VALUE_LCD_SEG42_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG43_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG43(INDEX,PIN) FIND_VALUE_LCD_SEG43_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG44_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG44(INDEX,PIN) FIND_VALUE_LCD_SEG44_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG45_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG45(INDEX,PIN) FIND_VALUE_LCD_SEG45_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG46_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG46(INDEX,PIN) FIND_VALUE_LCD_SEG46_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG47_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG47(INDEX,PIN) FIND_VALUE_LCD_SEG47_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG48_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG48(INDEX,PIN) FIND_VALUE_LCD_SEG48_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG49_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG49(INDEX,PIN) FIND_VALUE_LCD_SEG49_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG5_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG5(INDEX,PIN) FIND_VALUE_LCD_SEG5_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG50_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG50(INDEX,PIN) FIND_VALUE_LCD_SEG50_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG51_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG51(INDEX,PIN) FIND_VALUE_LCD_SEG51_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG6_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG6(INDEX,PIN) FIND_VALUE_LCD_SEG6_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG7_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG7(INDEX,PIN) FIND_VALUE_LCD_SEG7_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG8_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG8(INDEX,PIN) FIND_VALUE_LCD_SEG8_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_SEG9_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_SEG9(INDEX,PIN) FIND_VALUE_LCD_SEG9_inner(INDEX,PIN)
+
+#define FIND_VALUE_LCD_VLCD_inner(INDEX,PIN) I2C##_LCD_##PIN
+#define FIND_VALUE_LCD_VLCD(INDEX,PIN) FIND_VALUE_LCD_VLCD_inner(INDEX,PIN)
+
+#ifdef USE_LCD0
+#if !FIND_VALUE_LCD_COM0(_LCD0, LCD0_COM0)
+#error Invalid pin assignment for LCD0 COM0 pin: LCD0_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD0, LCD0_COM1)
+#error Invalid pin assignment for LCD0 COM1 pin: LCD0_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD0, LCD0_COM2)
+#error Invalid pin assignment for LCD0 COM2 pin: LCD0_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD0, LCD0_COM3)
+#error Invalid pin assignment for LCD0 COM3 pin: LCD0_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD0, LCD0_COM4)
+#error Invalid pin assignment for LCD0 COM4 pin: LCD0_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD0, LCD0_COM5)
+#error Invalid pin assignment for LCD0 COM5 pin: LCD0_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD0, LCD0_COM6)
+#error Invalid pin assignment for LCD0 COM6 pin: LCD0_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD0, LCD0_COM7)
+#error Invalid pin assignment for LCD0 COM7 pin: LCD0_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD0, LCD0_SEG0)
+#error Invalid pin assignment for LCD0 SEG0 pin: LCD0_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD0, LCD0_SEG1)
+#error Invalid pin assignment for LCD0 SEG1 pin: LCD0_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD0, LCD0_SEG10)
+#error Invalid pin assignment for LCD0 SEG10 pin: LCD0_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD0, LCD0_SEG11)
+#error Invalid pin assignment for LCD0 SEG11 pin: LCD0_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD0, LCD0_SEG12)
+#error Invalid pin assignment for LCD0 SEG12 pin: LCD0_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD0, LCD0_SEG13)
+#error Invalid pin assignment for LCD0 SEG13 pin: LCD0_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD0, LCD0_SEG14)
+#error Invalid pin assignment for LCD0 SEG14 pin: LCD0_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD0, LCD0_SEG15)
+#error Invalid pin assignment for LCD0 SEG15 pin: LCD0_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD0, LCD0_SEG16)
+#error Invalid pin assignment for LCD0 SEG16 pin: LCD0_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD0, LCD0_SEG17)
+#error Invalid pin assignment for LCD0 SEG17 pin: LCD0_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD0, LCD0_SEG18)
+#error Invalid pin assignment for LCD0 SEG18 pin: LCD0_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD0, LCD0_SEG19)
+#error Invalid pin assignment for LCD0 SEG19 pin: LCD0_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD0, LCD0_SEG2)
+#error Invalid pin assignment for LCD0 SEG2 pin: LCD0_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD0, LCD0_SEG20)
+#error Invalid pin assignment for LCD0 SEG20 pin: LCD0_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD0, LCD0_SEG21)
+#error Invalid pin assignment for LCD0 SEG21 pin: LCD0_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD0, LCD0_SEG22)
+#error Invalid pin assignment for LCD0 SEG22 pin: LCD0_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD0, LCD0_SEG23)
+#error Invalid pin assignment for LCD0 SEG23 pin: LCD0_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD0, LCD0_SEG24)
+#error Invalid pin assignment for LCD0 SEG24 pin: LCD0_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD0, LCD0_SEG25)
+#error Invalid pin assignment for LCD0 SEG25 pin: LCD0_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD0, LCD0_SEG26)
+#error Invalid pin assignment for LCD0 SEG26 pin: LCD0_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD0, LCD0_SEG27)
+#error Invalid pin assignment for LCD0 SEG27 pin: LCD0_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD0, LCD0_SEG28)
+#error Invalid pin assignment for LCD0 SEG28 pin: LCD0_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD0, LCD0_SEG29)
+#error Invalid pin assignment for LCD0 SEG29 pin: LCD0_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD0, LCD0_SEG3)
+#error Invalid pin assignment for LCD0 SEG3 pin: LCD0_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD0, LCD0_SEG30)
+#error Invalid pin assignment for LCD0 SEG30 pin: LCD0_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD0, LCD0_SEG31)
+#error Invalid pin assignment for LCD0 SEG31 pin: LCD0_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD0, LCD0_SEG32)
+#error Invalid pin assignment for LCD0 SEG32 pin: LCD0_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD0, LCD0_SEG33)
+#error Invalid pin assignment for LCD0 SEG33 pin: LCD0_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD0, LCD0_SEG34)
+#error Invalid pin assignment for LCD0 SEG34 pin: LCD0_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD0, LCD0_SEG35)
+#error Invalid pin assignment for LCD0 SEG35 pin: LCD0_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD0, LCD0_SEG36)
+#error Invalid pin assignment for LCD0 SEG36 pin: LCD0_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD0, LCD0_SEG37)
+#error Invalid pin assignment for LCD0 SEG37 pin: LCD0_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD0, LCD0_SEG38)
+#error Invalid pin assignment for LCD0 SEG38 pin: LCD0_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD0, LCD0_SEG39)
+#error Invalid pin assignment for LCD0 SEG39 pin: LCD0_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD0, LCD0_SEG4)
+#error Invalid pin assignment for LCD0 SEG4 pin: LCD0_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD0, LCD0_SEG40)
+#error Invalid pin assignment for LCD0 SEG40 pin: LCD0_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD0, LCD0_SEG41)
+#error Invalid pin assignment for LCD0 SEG41 pin: LCD0_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD0, LCD0_SEG42)
+#error Invalid pin assignment for LCD0 SEG42 pin: LCD0_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD0, LCD0_SEG43)
+#error Invalid pin assignment for LCD0 SEG43 pin: LCD0_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD0, LCD0_SEG44)
+#error Invalid pin assignment for LCD0 SEG44 pin: LCD0_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD0, LCD0_SEG45)
+#error Invalid pin assignment for LCD0 SEG45 pin: LCD0_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD0, LCD0_SEG46)
+#error Invalid pin assignment for LCD0 SEG46 pin: LCD0_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD0, LCD0_SEG47)
+#error Invalid pin assignment for LCD0 SEG47 pin: LCD0_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD0, LCD0_SEG48)
+#error Invalid pin assignment for LCD0 SEG48 pin: LCD0_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD0, LCD0_SEG49)
+#error Invalid pin assignment for LCD0 SEG49 pin: LCD0_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD0, LCD0_SEG5)
+#error Invalid pin assignment for LCD0 SEG5 pin: LCD0_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD0, LCD0_SEG50)
+#error Invalid pin assignment for LCD0 SEG50 pin: LCD0_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD0, LCD0_SEG51)
+#error Invalid pin assignment for LCD0 SEG51 pin: LCD0_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD0, LCD0_SEG6)
+#error Invalid pin assignment for LCD0 SEG6 pin: LCD0_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD0, LCD0_SEG7)
+#error Invalid pin assignment for LCD0 SEG7 pin: LCD0_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD0, LCD0_SEG8)
+#error Invalid pin assignment for LCD0 SEG8 pin: LCD0_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD0, LCD0_SEG9)
+#error Invalid pin assignment for LCD0 SEG9 pin: LCD0_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD0, LCD0_VLCD)
+#error Invalid pin assignment for LCD0 VLCD pin: LCD0_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD1
+#if !FIND_VALUE_LCD_COM0(_LCD1, LCD1_COM0)
+#error Invalid pin assignment for LCD1 COM0 pin: LCD1_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD1, LCD1_COM1)
+#error Invalid pin assignment for LCD1 COM1 pin: LCD1_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD1, LCD1_COM2)
+#error Invalid pin assignment for LCD1 COM2 pin: LCD1_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD1, LCD1_COM3)
+#error Invalid pin assignment for LCD1 COM3 pin: LCD1_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD1, LCD1_COM4)
+#error Invalid pin assignment for LCD1 COM4 pin: LCD1_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD1, LCD1_COM5)
+#error Invalid pin assignment for LCD1 COM5 pin: LCD1_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD1, LCD1_COM6)
+#error Invalid pin assignment for LCD1 COM6 pin: LCD1_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD1, LCD1_COM7)
+#error Invalid pin assignment for LCD1 COM7 pin: LCD1_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD1, LCD1_SEG0)
+#error Invalid pin assignment for LCD1 SEG0 pin: LCD1_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD1, LCD1_SEG1)
+#error Invalid pin assignment for LCD1 SEG1 pin: LCD1_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD1, LCD1_SEG10)
+#error Invalid pin assignment for LCD1 SEG10 pin: LCD1_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD1, LCD1_SEG11)
+#error Invalid pin assignment for LCD1 SEG11 pin: LCD1_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD1, LCD1_SEG12)
+#error Invalid pin assignment for LCD1 SEG12 pin: LCD1_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD1, LCD1_SEG13)
+#error Invalid pin assignment for LCD1 SEG13 pin: LCD1_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD1, LCD1_SEG14)
+#error Invalid pin assignment for LCD1 SEG14 pin: LCD1_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD1, LCD1_SEG15)
+#error Invalid pin assignment for LCD1 SEG15 pin: LCD1_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD1, LCD1_SEG16)
+#error Invalid pin assignment for LCD1 SEG16 pin: LCD1_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD1, LCD1_SEG17)
+#error Invalid pin assignment for LCD1 SEG17 pin: LCD1_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD1, LCD1_SEG18)
+#error Invalid pin assignment for LCD1 SEG18 pin: LCD1_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD1, LCD1_SEG19)
+#error Invalid pin assignment for LCD1 SEG19 pin: LCD1_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD1, LCD1_SEG2)
+#error Invalid pin assignment for LCD1 SEG2 pin: LCD1_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD1, LCD1_SEG20)
+#error Invalid pin assignment for LCD1 SEG20 pin: LCD1_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD1, LCD1_SEG21)
+#error Invalid pin assignment for LCD1 SEG21 pin: LCD1_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD1, LCD1_SEG22)
+#error Invalid pin assignment for LCD1 SEG22 pin: LCD1_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD1, LCD1_SEG23)
+#error Invalid pin assignment for LCD1 SEG23 pin: LCD1_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD1, LCD1_SEG24)
+#error Invalid pin assignment for LCD1 SEG24 pin: LCD1_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD1, LCD1_SEG25)
+#error Invalid pin assignment for LCD1 SEG25 pin: LCD1_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD1, LCD1_SEG26)
+#error Invalid pin assignment for LCD1 SEG26 pin: LCD1_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD1, LCD1_SEG27)
+#error Invalid pin assignment for LCD1 SEG27 pin: LCD1_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD1, LCD1_SEG28)
+#error Invalid pin assignment for LCD1 SEG28 pin: LCD1_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD1, LCD1_SEG29)
+#error Invalid pin assignment for LCD1 SEG29 pin: LCD1_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD1, LCD1_SEG3)
+#error Invalid pin assignment for LCD1 SEG3 pin: LCD1_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD1, LCD1_SEG30)
+#error Invalid pin assignment for LCD1 SEG30 pin: LCD1_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD1, LCD1_SEG31)
+#error Invalid pin assignment for LCD1 SEG31 pin: LCD1_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD1, LCD1_SEG32)
+#error Invalid pin assignment for LCD1 SEG32 pin: LCD1_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD1, LCD1_SEG33)
+#error Invalid pin assignment for LCD1 SEG33 pin: LCD1_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD1, LCD1_SEG34)
+#error Invalid pin assignment for LCD1 SEG34 pin: LCD1_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD1, LCD1_SEG35)
+#error Invalid pin assignment for LCD1 SEG35 pin: LCD1_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD1, LCD1_SEG36)
+#error Invalid pin assignment for LCD1 SEG36 pin: LCD1_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD1, LCD1_SEG37)
+#error Invalid pin assignment for LCD1 SEG37 pin: LCD1_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD1, LCD1_SEG38)
+#error Invalid pin assignment for LCD1 SEG38 pin: LCD1_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD1, LCD1_SEG39)
+#error Invalid pin assignment for LCD1 SEG39 pin: LCD1_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD1, LCD1_SEG4)
+#error Invalid pin assignment for LCD1 SEG4 pin: LCD1_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD1, LCD1_SEG40)
+#error Invalid pin assignment for LCD1 SEG40 pin: LCD1_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD1, LCD1_SEG41)
+#error Invalid pin assignment for LCD1 SEG41 pin: LCD1_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD1, LCD1_SEG42)
+#error Invalid pin assignment for LCD1 SEG42 pin: LCD1_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD1, LCD1_SEG43)
+#error Invalid pin assignment for LCD1 SEG43 pin: LCD1_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD1, LCD1_SEG44)
+#error Invalid pin assignment for LCD1 SEG44 pin: LCD1_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD1, LCD1_SEG45)
+#error Invalid pin assignment for LCD1 SEG45 pin: LCD1_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD1, LCD1_SEG46)
+#error Invalid pin assignment for LCD1 SEG46 pin: LCD1_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD1, LCD1_SEG47)
+#error Invalid pin assignment for LCD1 SEG47 pin: LCD1_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD1, LCD1_SEG48)
+#error Invalid pin assignment for LCD1 SEG48 pin: LCD1_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD1, LCD1_SEG49)
+#error Invalid pin assignment for LCD1 SEG49 pin: LCD1_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD1, LCD1_SEG5)
+#error Invalid pin assignment for LCD1 SEG5 pin: LCD1_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD1, LCD1_SEG50)
+#error Invalid pin assignment for LCD1 SEG50 pin: LCD1_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD1, LCD1_SEG51)
+#error Invalid pin assignment for LCD1 SEG51 pin: LCD1_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD1, LCD1_SEG6)
+#error Invalid pin assignment for LCD1 SEG6 pin: LCD1_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD1, LCD1_SEG7)
+#error Invalid pin assignment for LCD1 SEG7 pin: LCD1_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD1, LCD1_SEG8)
+#error Invalid pin assignment for LCD1 SEG8 pin: LCD1_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD1, LCD1_SEG9)
+#error Invalid pin assignment for LCD1 SEG9 pin: LCD1_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD1, LCD1_VLCD)
+#error Invalid pin assignment for LCD1 VLCD pin: LCD1_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD2
+#if !FIND_VALUE_LCD_COM0(_LCD2, LCD2_COM0)
+#error Invalid pin assignment for LCD2 COM0 pin: LCD2_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD2, LCD2_COM1)
+#error Invalid pin assignment for LCD2 COM1 pin: LCD2_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD2, LCD2_COM2)
+#error Invalid pin assignment for LCD2 COM2 pin: LCD2_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD2, LCD2_COM3)
+#error Invalid pin assignment for LCD2 COM3 pin: LCD2_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD2, LCD2_COM4)
+#error Invalid pin assignment for LCD2 COM4 pin: LCD2_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD2, LCD2_COM5)
+#error Invalid pin assignment for LCD2 COM5 pin: LCD2_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD2, LCD2_COM6)
+#error Invalid pin assignment for LCD2 COM6 pin: LCD2_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD2, LCD2_COM7)
+#error Invalid pin assignment for LCD2 COM7 pin: LCD2_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD2, LCD2_SEG0)
+#error Invalid pin assignment for LCD2 SEG0 pin: LCD2_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD2, LCD2_SEG1)
+#error Invalid pin assignment for LCD2 SEG1 pin: LCD2_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD2, LCD2_SEG10)
+#error Invalid pin assignment for LCD2 SEG10 pin: LCD2_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD2, LCD2_SEG11)
+#error Invalid pin assignment for LCD2 SEG11 pin: LCD2_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD2, LCD2_SEG12)
+#error Invalid pin assignment for LCD2 SEG12 pin: LCD2_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD2, LCD2_SEG13)
+#error Invalid pin assignment for LCD2 SEG13 pin: LCD2_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD2, LCD2_SEG14)
+#error Invalid pin assignment for LCD2 SEG14 pin: LCD2_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD2, LCD2_SEG15)
+#error Invalid pin assignment for LCD2 SEG15 pin: LCD2_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD2, LCD2_SEG16)
+#error Invalid pin assignment for LCD2 SEG16 pin: LCD2_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD2, LCD2_SEG17)
+#error Invalid pin assignment for LCD2 SEG17 pin: LCD2_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD2, LCD2_SEG18)
+#error Invalid pin assignment for LCD2 SEG18 pin: LCD2_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD2, LCD2_SEG19)
+#error Invalid pin assignment for LCD2 SEG19 pin: LCD2_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD2, LCD2_SEG2)
+#error Invalid pin assignment for LCD2 SEG2 pin: LCD2_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD2, LCD2_SEG20)
+#error Invalid pin assignment for LCD2 SEG20 pin: LCD2_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD2, LCD2_SEG21)
+#error Invalid pin assignment for LCD2 SEG21 pin: LCD2_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD2, LCD2_SEG22)
+#error Invalid pin assignment for LCD2 SEG22 pin: LCD2_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD2, LCD2_SEG23)
+#error Invalid pin assignment for LCD2 SEG23 pin: LCD2_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD2, LCD2_SEG24)
+#error Invalid pin assignment for LCD2 SEG24 pin: LCD2_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD2, LCD2_SEG25)
+#error Invalid pin assignment for LCD2 SEG25 pin: LCD2_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD2, LCD2_SEG26)
+#error Invalid pin assignment for LCD2 SEG26 pin: LCD2_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD2, LCD2_SEG27)
+#error Invalid pin assignment for LCD2 SEG27 pin: LCD2_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD2, LCD2_SEG28)
+#error Invalid pin assignment for LCD2 SEG28 pin: LCD2_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD2, LCD2_SEG29)
+#error Invalid pin assignment for LCD2 SEG29 pin: LCD2_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD2, LCD2_SEG3)
+#error Invalid pin assignment for LCD2 SEG3 pin: LCD2_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD2, LCD2_SEG30)
+#error Invalid pin assignment for LCD2 SEG30 pin: LCD2_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD2, LCD2_SEG31)
+#error Invalid pin assignment for LCD2 SEG31 pin: LCD2_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD2, LCD2_SEG32)
+#error Invalid pin assignment for LCD2 SEG32 pin: LCD2_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD2, LCD2_SEG33)
+#error Invalid pin assignment for LCD2 SEG33 pin: LCD2_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD2, LCD2_SEG34)
+#error Invalid pin assignment for LCD2 SEG34 pin: LCD2_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD2, LCD2_SEG35)
+#error Invalid pin assignment for LCD2 SEG35 pin: LCD2_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD2, LCD2_SEG36)
+#error Invalid pin assignment for LCD2 SEG36 pin: LCD2_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD2, LCD2_SEG37)
+#error Invalid pin assignment for LCD2 SEG37 pin: LCD2_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD2, LCD2_SEG38)
+#error Invalid pin assignment for LCD2 SEG38 pin: LCD2_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD2, LCD2_SEG39)
+#error Invalid pin assignment for LCD2 SEG39 pin: LCD2_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD2, LCD2_SEG4)
+#error Invalid pin assignment for LCD2 SEG4 pin: LCD2_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD2, LCD2_SEG40)
+#error Invalid pin assignment for LCD2 SEG40 pin: LCD2_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD2, LCD2_SEG41)
+#error Invalid pin assignment for LCD2 SEG41 pin: LCD2_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD2, LCD2_SEG42)
+#error Invalid pin assignment for LCD2 SEG42 pin: LCD2_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD2, LCD2_SEG43)
+#error Invalid pin assignment for LCD2 SEG43 pin: LCD2_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD2, LCD2_SEG44)
+#error Invalid pin assignment for LCD2 SEG44 pin: LCD2_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD2, LCD2_SEG45)
+#error Invalid pin assignment for LCD2 SEG45 pin: LCD2_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD2, LCD2_SEG46)
+#error Invalid pin assignment for LCD2 SEG46 pin: LCD2_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD2, LCD2_SEG47)
+#error Invalid pin assignment for LCD2 SEG47 pin: LCD2_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD2, LCD2_SEG48)
+#error Invalid pin assignment for LCD2 SEG48 pin: LCD2_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD2, LCD2_SEG49)
+#error Invalid pin assignment for LCD2 SEG49 pin: LCD2_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD2, LCD2_SEG5)
+#error Invalid pin assignment for LCD2 SEG5 pin: LCD2_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD2, LCD2_SEG50)
+#error Invalid pin assignment for LCD2 SEG50 pin: LCD2_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD2, LCD2_SEG51)
+#error Invalid pin assignment for LCD2 SEG51 pin: LCD2_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD2, LCD2_SEG6)
+#error Invalid pin assignment for LCD2 SEG6 pin: LCD2_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD2, LCD2_SEG7)
+#error Invalid pin assignment for LCD2 SEG7 pin: LCD2_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD2, LCD2_SEG8)
+#error Invalid pin assignment for LCD2 SEG8 pin: LCD2_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD2, LCD2_SEG9)
+#error Invalid pin assignment for LCD2 SEG9 pin: LCD2_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD2, LCD2_VLCD)
+#error Invalid pin assignment for LCD2 VLCD pin: LCD2_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD3
+#if !FIND_VALUE_LCD_COM0(_LCD3, LCD3_COM0)
+#error Invalid pin assignment for LCD3 COM0 pin: LCD3_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD3, LCD3_COM1)
+#error Invalid pin assignment for LCD3 COM1 pin: LCD3_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD3, LCD3_COM2)
+#error Invalid pin assignment for LCD3 COM2 pin: LCD3_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD3, LCD3_COM3)
+#error Invalid pin assignment for LCD3 COM3 pin: LCD3_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD3, LCD3_COM4)
+#error Invalid pin assignment for LCD3 COM4 pin: LCD3_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD3, LCD3_COM5)
+#error Invalid pin assignment for LCD3 COM5 pin: LCD3_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD3, LCD3_COM6)
+#error Invalid pin assignment for LCD3 COM6 pin: LCD3_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD3, LCD3_COM7)
+#error Invalid pin assignment for LCD3 COM7 pin: LCD3_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD3, LCD3_SEG0)
+#error Invalid pin assignment for LCD3 SEG0 pin: LCD3_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD3, LCD3_SEG1)
+#error Invalid pin assignment for LCD3 SEG1 pin: LCD3_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD3, LCD3_SEG10)
+#error Invalid pin assignment for LCD3 SEG10 pin: LCD3_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD3, LCD3_SEG11)
+#error Invalid pin assignment for LCD3 SEG11 pin: LCD3_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD3, LCD3_SEG12)
+#error Invalid pin assignment for LCD3 SEG12 pin: LCD3_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD3, LCD3_SEG13)
+#error Invalid pin assignment for LCD3 SEG13 pin: LCD3_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD3, LCD3_SEG14)
+#error Invalid pin assignment for LCD3 SEG14 pin: LCD3_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD3, LCD3_SEG15)
+#error Invalid pin assignment for LCD3 SEG15 pin: LCD3_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD3, LCD3_SEG16)
+#error Invalid pin assignment for LCD3 SEG16 pin: LCD3_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD3, LCD3_SEG17)
+#error Invalid pin assignment for LCD3 SEG17 pin: LCD3_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD3, LCD3_SEG18)
+#error Invalid pin assignment for LCD3 SEG18 pin: LCD3_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD3, LCD3_SEG19)
+#error Invalid pin assignment for LCD3 SEG19 pin: LCD3_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD3, LCD3_SEG2)
+#error Invalid pin assignment for LCD3 SEG2 pin: LCD3_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD3, LCD3_SEG20)
+#error Invalid pin assignment for LCD3 SEG20 pin: LCD3_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD3, LCD3_SEG21)
+#error Invalid pin assignment for LCD3 SEG21 pin: LCD3_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD3, LCD3_SEG22)
+#error Invalid pin assignment for LCD3 SEG22 pin: LCD3_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD3, LCD3_SEG23)
+#error Invalid pin assignment for LCD3 SEG23 pin: LCD3_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD3, LCD3_SEG24)
+#error Invalid pin assignment for LCD3 SEG24 pin: LCD3_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD3, LCD3_SEG25)
+#error Invalid pin assignment for LCD3 SEG25 pin: LCD3_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD3, LCD3_SEG26)
+#error Invalid pin assignment for LCD3 SEG26 pin: LCD3_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD3, LCD3_SEG27)
+#error Invalid pin assignment for LCD3 SEG27 pin: LCD3_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD3, LCD3_SEG28)
+#error Invalid pin assignment for LCD3 SEG28 pin: LCD3_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD3, LCD3_SEG29)
+#error Invalid pin assignment for LCD3 SEG29 pin: LCD3_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD3, LCD3_SEG3)
+#error Invalid pin assignment for LCD3 SEG3 pin: LCD3_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD3, LCD3_SEG30)
+#error Invalid pin assignment for LCD3 SEG30 pin: LCD3_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD3, LCD3_SEG31)
+#error Invalid pin assignment for LCD3 SEG31 pin: LCD3_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD3, LCD3_SEG32)
+#error Invalid pin assignment for LCD3 SEG32 pin: LCD3_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD3, LCD3_SEG33)
+#error Invalid pin assignment for LCD3 SEG33 pin: LCD3_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD3, LCD3_SEG34)
+#error Invalid pin assignment for LCD3 SEG34 pin: LCD3_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD3, LCD3_SEG35)
+#error Invalid pin assignment for LCD3 SEG35 pin: LCD3_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD3, LCD3_SEG36)
+#error Invalid pin assignment for LCD3 SEG36 pin: LCD3_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD3, LCD3_SEG37)
+#error Invalid pin assignment for LCD3 SEG37 pin: LCD3_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD3, LCD3_SEG38)
+#error Invalid pin assignment for LCD3 SEG38 pin: LCD3_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD3, LCD3_SEG39)
+#error Invalid pin assignment for LCD3 SEG39 pin: LCD3_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD3, LCD3_SEG4)
+#error Invalid pin assignment for LCD3 SEG4 pin: LCD3_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD3, LCD3_SEG40)
+#error Invalid pin assignment for LCD3 SEG40 pin: LCD3_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD3, LCD3_SEG41)
+#error Invalid pin assignment for LCD3 SEG41 pin: LCD3_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD3, LCD3_SEG42)
+#error Invalid pin assignment for LCD3 SEG42 pin: LCD3_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD3, LCD3_SEG43)
+#error Invalid pin assignment for LCD3 SEG43 pin: LCD3_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD3, LCD3_SEG44)
+#error Invalid pin assignment for LCD3 SEG44 pin: LCD3_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD3, LCD3_SEG45)
+#error Invalid pin assignment for LCD3 SEG45 pin: LCD3_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD3, LCD3_SEG46)
+#error Invalid pin assignment for LCD3 SEG46 pin: LCD3_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD3, LCD3_SEG47)
+#error Invalid pin assignment for LCD3 SEG47 pin: LCD3_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD3, LCD3_SEG48)
+#error Invalid pin assignment for LCD3 SEG48 pin: LCD3_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD3, LCD3_SEG49)
+#error Invalid pin assignment for LCD3 SEG49 pin: LCD3_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD3, LCD3_SEG5)
+#error Invalid pin assignment for LCD3 SEG5 pin: LCD3_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD3, LCD3_SEG50)
+#error Invalid pin assignment for LCD3 SEG50 pin: LCD3_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD3, LCD3_SEG51)
+#error Invalid pin assignment for LCD3 SEG51 pin: LCD3_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD3, LCD3_SEG6)
+#error Invalid pin assignment for LCD3 SEG6 pin: LCD3_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD3, LCD3_SEG7)
+#error Invalid pin assignment for LCD3 SEG7 pin: LCD3_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD3, LCD3_SEG8)
+#error Invalid pin assignment for LCD3 SEG8 pin: LCD3_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD3, LCD3_SEG9)
+#error Invalid pin assignment for LCD3 SEG9 pin: LCD3_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD3, LCD3_VLCD)
+#error Invalid pin assignment for LCD3 VLCD pin: LCD3_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD4
+#if !FIND_VALUE_LCD_COM0(_LCD4, LCD4_COM0)
+#error Invalid pin assignment for LCD4 COM0 pin: LCD4_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD4, LCD4_COM1)
+#error Invalid pin assignment for LCD4 COM1 pin: LCD4_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD4, LCD4_COM2)
+#error Invalid pin assignment for LCD4 COM2 pin: LCD4_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD4, LCD4_COM3)
+#error Invalid pin assignment for LCD4 COM3 pin: LCD4_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD4, LCD4_COM4)
+#error Invalid pin assignment for LCD4 COM4 pin: LCD4_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD4, LCD4_COM5)
+#error Invalid pin assignment for LCD4 COM5 pin: LCD4_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD4, LCD4_COM6)
+#error Invalid pin assignment for LCD4 COM6 pin: LCD4_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD4, LCD4_COM7)
+#error Invalid pin assignment for LCD4 COM7 pin: LCD4_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD4, LCD4_SEG0)
+#error Invalid pin assignment for LCD4 SEG0 pin: LCD4_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD4, LCD4_SEG1)
+#error Invalid pin assignment for LCD4 SEG1 pin: LCD4_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD4, LCD4_SEG10)
+#error Invalid pin assignment for LCD4 SEG10 pin: LCD4_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD4, LCD4_SEG11)
+#error Invalid pin assignment for LCD4 SEG11 pin: LCD4_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD4, LCD4_SEG12)
+#error Invalid pin assignment for LCD4 SEG12 pin: LCD4_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD4, LCD4_SEG13)
+#error Invalid pin assignment for LCD4 SEG13 pin: LCD4_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD4, LCD4_SEG14)
+#error Invalid pin assignment for LCD4 SEG14 pin: LCD4_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD4, LCD4_SEG15)
+#error Invalid pin assignment for LCD4 SEG15 pin: LCD4_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD4, LCD4_SEG16)
+#error Invalid pin assignment for LCD4 SEG16 pin: LCD4_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD4, LCD4_SEG17)
+#error Invalid pin assignment for LCD4 SEG17 pin: LCD4_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD4, LCD4_SEG18)
+#error Invalid pin assignment for LCD4 SEG18 pin: LCD4_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD4, LCD4_SEG19)
+#error Invalid pin assignment for LCD4 SEG19 pin: LCD4_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD4, LCD4_SEG2)
+#error Invalid pin assignment for LCD4 SEG2 pin: LCD4_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD4, LCD4_SEG20)
+#error Invalid pin assignment for LCD4 SEG20 pin: LCD4_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD4, LCD4_SEG21)
+#error Invalid pin assignment for LCD4 SEG21 pin: LCD4_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD4, LCD4_SEG22)
+#error Invalid pin assignment for LCD4 SEG22 pin: LCD4_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD4, LCD4_SEG23)
+#error Invalid pin assignment for LCD4 SEG23 pin: LCD4_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD4, LCD4_SEG24)
+#error Invalid pin assignment for LCD4 SEG24 pin: LCD4_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD4, LCD4_SEG25)
+#error Invalid pin assignment for LCD4 SEG25 pin: LCD4_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD4, LCD4_SEG26)
+#error Invalid pin assignment for LCD4 SEG26 pin: LCD4_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD4, LCD4_SEG27)
+#error Invalid pin assignment for LCD4 SEG27 pin: LCD4_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD4, LCD4_SEG28)
+#error Invalid pin assignment for LCD4 SEG28 pin: LCD4_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD4, LCD4_SEG29)
+#error Invalid pin assignment for LCD4 SEG29 pin: LCD4_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD4, LCD4_SEG3)
+#error Invalid pin assignment for LCD4 SEG3 pin: LCD4_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD4, LCD4_SEG30)
+#error Invalid pin assignment for LCD4 SEG30 pin: LCD4_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD4, LCD4_SEG31)
+#error Invalid pin assignment for LCD4 SEG31 pin: LCD4_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD4, LCD4_SEG32)
+#error Invalid pin assignment for LCD4 SEG32 pin: LCD4_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD4, LCD4_SEG33)
+#error Invalid pin assignment for LCD4 SEG33 pin: LCD4_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD4, LCD4_SEG34)
+#error Invalid pin assignment for LCD4 SEG34 pin: LCD4_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD4, LCD4_SEG35)
+#error Invalid pin assignment for LCD4 SEG35 pin: LCD4_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD4, LCD4_SEG36)
+#error Invalid pin assignment for LCD4 SEG36 pin: LCD4_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD4, LCD4_SEG37)
+#error Invalid pin assignment for LCD4 SEG37 pin: LCD4_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD4, LCD4_SEG38)
+#error Invalid pin assignment for LCD4 SEG38 pin: LCD4_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD4, LCD4_SEG39)
+#error Invalid pin assignment for LCD4 SEG39 pin: LCD4_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD4, LCD4_SEG4)
+#error Invalid pin assignment for LCD4 SEG4 pin: LCD4_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD4, LCD4_SEG40)
+#error Invalid pin assignment for LCD4 SEG40 pin: LCD4_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD4, LCD4_SEG41)
+#error Invalid pin assignment for LCD4 SEG41 pin: LCD4_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD4, LCD4_SEG42)
+#error Invalid pin assignment for LCD4 SEG42 pin: LCD4_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD4, LCD4_SEG43)
+#error Invalid pin assignment for LCD4 SEG43 pin: LCD4_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD4, LCD4_SEG44)
+#error Invalid pin assignment for LCD4 SEG44 pin: LCD4_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD4, LCD4_SEG45)
+#error Invalid pin assignment for LCD4 SEG45 pin: LCD4_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD4, LCD4_SEG46)
+#error Invalid pin assignment for LCD4 SEG46 pin: LCD4_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD4, LCD4_SEG47)
+#error Invalid pin assignment for LCD4 SEG47 pin: LCD4_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD4, LCD4_SEG48)
+#error Invalid pin assignment for LCD4 SEG48 pin: LCD4_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD4, LCD4_SEG49)
+#error Invalid pin assignment for LCD4 SEG49 pin: LCD4_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD4, LCD4_SEG5)
+#error Invalid pin assignment for LCD4 SEG5 pin: LCD4_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD4, LCD4_SEG50)
+#error Invalid pin assignment for LCD4 SEG50 pin: LCD4_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD4, LCD4_SEG51)
+#error Invalid pin assignment for LCD4 SEG51 pin: LCD4_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD4, LCD4_SEG6)
+#error Invalid pin assignment for LCD4 SEG6 pin: LCD4_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD4, LCD4_SEG7)
+#error Invalid pin assignment for LCD4 SEG7 pin: LCD4_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD4, LCD4_SEG8)
+#error Invalid pin assignment for LCD4 SEG8 pin: LCD4_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD4, LCD4_SEG9)
+#error Invalid pin assignment for LCD4 SEG9 pin: LCD4_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD4, LCD4_VLCD)
+#error Invalid pin assignment for LCD4 VLCD pin: LCD4_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD5
+#if !FIND_VALUE_LCD_COM0(_LCD5, LCD5_COM0)
+#error Invalid pin assignment for LCD5 COM0 pin: LCD5_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD5, LCD5_COM1)
+#error Invalid pin assignment for LCD5 COM1 pin: LCD5_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD5, LCD5_COM2)
+#error Invalid pin assignment for LCD5 COM2 pin: LCD5_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD5, LCD5_COM3)
+#error Invalid pin assignment for LCD5 COM3 pin: LCD5_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD5, LCD5_COM4)
+#error Invalid pin assignment for LCD5 COM4 pin: LCD5_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD5, LCD5_COM5)
+#error Invalid pin assignment for LCD5 COM5 pin: LCD5_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD5, LCD5_COM6)
+#error Invalid pin assignment for LCD5 COM6 pin: LCD5_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD5, LCD5_COM7)
+#error Invalid pin assignment for LCD5 COM7 pin: LCD5_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD5, LCD5_SEG0)
+#error Invalid pin assignment for LCD5 SEG0 pin: LCD5_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD5, LCD5_SEG1)
+#error Invalid pin assignment for LCD5 SEG1 pin: LCD5_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD5, LCD5_SEG10)
+#error Invalid pin assignment for LCD5 SEG10 pin: LCD5_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD5, LCD5_SEG11)
+#error Invalid pin assignment for LCD5 SEG11 pin: LCD5_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD5, LCD5_SEG12)
+#error Invalid pin assignment for LCD5 SEG12 pin: LCD5_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD5, LCD5_SEG13)
+#error Invalid pin assignment for LCD5 SEG13 pin: LCD5_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD5, LCD5_SEG14)
+#error Invalid pin assignment for LCD5 SEG14 pin: LCD5_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD5, LCD5_SEG15)
+#error Invalid pin assignment for LCD5 SEG15 pin: LCD5_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD5, LCD5_SEG16)
+#error Invalid pin assignment for LCD5 SEG16 pin: LCD5_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD5, LCD5_SEG17)
+#error Invalid pin assignment for LCD5 SEG17 pin: LCD5_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD5, LCD5_SEG18)
+#error Invalid pin assignment for LCD5 SEG18 pin: LCD5_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD5, LCD5_SEG19)
+#error Invalid pin assignment for LCD5 SEG19 pin: LCD5_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD5, LCD5_SEG2)
+#error Invalid pin assignment for LCD5 SEG2 pin: LCD5_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD5, LCD5_SEG20)
+#error Invalid pin assignment for LCD5 SEG20 pin: LCD5_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD5, LCD5_SEG21)
+#error Invalid pin assignment for LCD5 SEG21 pin: LCD5_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD5, LCD5_SEG22)
+#error Invalid pin assignment for LCD5 SEG22 pin: LCD5_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD5, LCD5_SEG23)
+#error Invalid pin assignment for LCD5 SEG23 pin: LCD5_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD5, LCD5_SEG24)
+#error Invalid pin assignment for LCD5 SEG24 pin: LCD5_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD5, LCD5_SEG25)
+#error Invalid pin assignment for LCD5 SEG25 pin: LCD5_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD5, LCD5_SEG26)
+#error Invalid pin assignment for LCD5 SEG26 pin: LCD5_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD5, LCD5_SEG27)
+#error Invalid pin assignment for LCD5 SEG27 pin: LCD5_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD5, LCD5_SEG28)
+#error Invalid pin assignment for LCD5 SEG28 pin: LCD5_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD5, LCD5_SEG29)
+#error Invalid pin assignment for LCD5 SEG29 pin: LCD5_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD5, LCD5_SEG3)
+#error Invalid pin assignment for LCD5 SEG3 pin: LCD5_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD5, LCD5_SEG30)
+#error Invalid pin assignment for LCD5 SEG30 pin: LCD5_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD5, LCD5_SEG31)
+#error Invalid pin assignment for LCD5 SEG31 pin: LCD5_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD5, LCD5_SEG32)
+#error Invalid pin assignment for LCD5 SEG32 pin: LCD5_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD5, LCD5_SEG33)
+#error Invalid pin assignment for LCD5 SEG33 pin: LCD5_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD5, LCD5_SEG34)
+#error Invalid pin assignment for LCD5 SEG34 pin: LCD5_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD5, LCD5_SEG35)
+#error Invalid pin assignment for LCD5 SEG35 pin: LCD5_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD5, LCD5_SEG36)
+#error Invalid pin assignment for LCD5 SEG36 pin: LCD5_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD5, LCD5_SEG37)
+#error Invalid pin assignment for LCD5 SEG37 pin: LCD5_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD5, LCD5_SEG38)
+#error Invalid pin assignment for LCD5 SEG38 pin: LCD5_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD5, LCD5_SEG39)
+#error Invalid pin assignment for LCD5 SEG39 pin: LCD5_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD5, LCD5_SEG4)
+#error Invalid pin assignment for LCD5 SEG4 pin: LCD5_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD5, LCD5_SEG40)
+#error Invalid pin assignment for LCD5 SEG40 pin: LCD5_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD5, LCD5_SEG41)
+#error Invalid pin assignment for LCD5 SEG41 pin: LCD5_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD5, LCD5_SEG42)
+#error Invalid pin assignment for LCD5 SEG42 pin: LCD5_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD5, LCD5_SEG43)
+#error Invalid pin assignment for LCD5 SEG43 pin: LCD5_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD5, LCD5_SEG44)
+#error Invalid pin assignment for LCD5 SEG44 pin: LCD5_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD5, LCD5_SEG45)
+#error Invalid pin assignment for LCD5 SEG45 pin: LCD5_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD5, LCD5_SEG46)
+#error Invalid pin assignment for LCD5 SEG46 pin: LCD5_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD5, LCD5_SEG47)
+#error Invalid pin assignment for LCD5 SEG47 pin: LCD5_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD5, LCD5_SEG48)
+#error Invalid pin assignment for LCD5 SEG48 pin: LCD5_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD5, LCD5_SEG49)
+#error Invalid pin assignment for LCD5 SEG49 pin: LCD5_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD5, LCD5_SEG5)
+#error Invalid pin assignment for LCD5 SEG5 pin: LCD5_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD5, LCD5_SEG50)
+#error Invalid pin assignment for LCD5 SEG50 pin: LCD5_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD5, LCD5_SEG51)
+#error Invalid pin assignment for LCD5 SEG51 pin: LCD5_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD5, LCD5_SEG6)
+#error Invalid pin assignment for LCD5 SEG6 pin: LCD5_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD5, LCD5_SEG7)
+#error Invalid pin assignment for LCD5 SEG7 pin: LCD5_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD5, LCD5_SEG8)
+#error Invalid pin assignment for LCD5 SEG8 pin: LCD5_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD5, LCD5_SEG9)
+#error Invalid pin assignment for LCD5 SEG9 pin: LCD5_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD5, LCD5_VLCD)
+#error Invalid pin assignment for LCD5 VLCD pin: LCD5_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD6
+#if !FIND_VALUE_LCD_COM0(_LCD6, LCD6_COM0)
+#error Invalid pin assignment for LCD6 COM0 pin: LCD6_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD6, LCD6_COM1)
+#error Invalid pin assignment for LCD6 COM1 pin: LCD6_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD6, LCD6_COM2)
+#error Invalid pin assignment for LCD6 COM2 pin: LCD6_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD6, LCD6_COM3)
+#error Invalid pin assignment for LCD6 COM3 pin: LCD6_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD6, LCD6_COM4)
+#error Invalid pin assignment for LCD6 COM4 pin: LCD6_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD6, LCD6_COM5)
+#error Invalid pin assignment for LCD6 COM5 pin: LCD6_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD6, LCD6_COM6)
+#error Invalid pin assignment for LCD6 COM6 pin: LCD6_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD6, LCD6_COM7)
+#error Invalid pin assignment for LCD6 COM7 pin: LCD6_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD6, LCD6_SEG0)
+#error Invalid pin assignment for LCD6 SEG0 pin: LCD6_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD6, LCD6_SEG1)
+#error Invalid pin assignment for LCD6 SEG1 pin: LCD6_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD6, LCD6_SEG10)
+#error Invalid pin assignment for LCD6 SEG10 pin: LCD6_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD6, LCD6_SEG11)
+#error Invalid pin assignment for LCD6 SEG11 pin: LCD6_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD6, LCD6_SEG12)
+#error Invalid pin assignment for LCD6 SEG12 pin: LCD6_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD6, LCD6_SEG13)
+#error Invalid pin assignment for LCD6 SEG13 pin: LCD6_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD6, LCD6_SEG14)
+#error Invalid pin assignment for LCD6 SEG14 pin: LCD6_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD6, LCD6_SEG15)
+#error Invalid pin assignment for LCD6 SEG15 pin: LCD6_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD6, LCD6_SEG16)
+#error Invalid pin assignment for LCD6 SEG16 pin: LCD6_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD6, LCD6_SEG17)
+#error Invalid pin assignment for LCD6 SEG17 pin: LCD6_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD6, LCD6_SEG18)
+#error Invalid pin assignment for LCD6 SEG18 pin: LCD6_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD6, LCD6_SEG19)
+#error Invalid pin assignment for LCD6 SEG19 pin: LCD6_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD6, LCD6_SEG2)
+#error Invalid pin assignment for LCD6 SEG2 pin: LCD6_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD6, LCD6_SEG20)
+#error Invalid pin assignment for LCD6 SEG20 pin: LCD6_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD6, LCD6_SEG21)
+#error Invalid pin assignment for LCD6 SEG21 pin: LCD6_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD6, LCD6_SEG22)
+#error Invalid pin assignment for LCD6 SEG22 pin: LCD6_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD6, LCD6_SEG23)
+#error Invalid pin assignment for LCD6 SEG23 pin: LCD6_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD6, LCD6_SEG24)
+#error Invalid pin assignment for LCD6 SEG24 pin: LCD6_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD6, LCD6_SEG25)
+#error Invalid pin assignment for LCD6 SEG25 pin: LCD6_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD6, LCD6_SEG26)
+#error Invalid pin assignment for LCD6 SEG26 pin: LCD6_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD6, LCD6_SEG27)
+#error Invalid pin assignment for LCD6 SEG27 pin: LCD6_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD6, LCD6_SEG28)
+#error Invalid pin assignment for LCD6 SEG28 pin: LCD6_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD6, LCD6_SEG29)
+#error Invalid pin assignment for LCD6 SEG29 pin: LCD6_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD6, LCD6_SEG3)
+#error Invalid pin assignment for LCD6 SEG3 pin: LCD6_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD6, LCD6_SEG30)
+#error Invalid pin assignment for LCD6 SEG30 pin: LCD6_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD6, LCD6_SEG31)
+#error Invalid pin assignment for LCD6 SEG31 pin: LCD6_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD6, LCD6_SEG32)
+#error Invalid pin assignment for LCD6 SEG32 pin: LCD6_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD6, LCD6_SEG33)
+#error Invalid pin assignment for LCD6 SEG33 pin: LCD6_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD6, LCD6_SEG34)
+#error Invalid pin assignment for LCD6 SEG34 pin: LCD6_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD6, LCD6_SEG35)
+#error Invalid pin assignment for LCD6 SEG35 pin: LCD6_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD6, LCD6_SEG36)
+#error Invalid pin assignment for LCD6 SEG36 pin: LCD6_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD6, LCD6_SEG37)
+#error Invalid pin assignment for LCD6 SEG37 pin: LCD6_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD6, LCD6_SEG38)
+#error Invalid pin assignment for LCD6 SEG38 pin: LCD6_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD6, LCD6_SEG39)
+#error Invalid pin assignment for LCD6 SEG39 pin: LCD6_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD6, LCD6_SEG4)
+#error Invalid pin assignment for LCD6 SEG4 pin: LCD6_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD6, LCD6_SEG40)
+#error Invalid pin assignment for LCD6 SEG40 pin: LCD6_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD6, LCD6_SEG41)
+#error Invalid pin assignment for LCD6 SEG41 pin: LCD6_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD6, LCD6_SEG42)
+#error Invalid pin assignment for LCD6 SEG42 pin: LCD6_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD6, LCD6_SEG43)
+#error Invalid pin assignment for LCD6 SEG43 pin: LCD6_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD6, LCD6_SEG44)
+#error Invalid pin assignment for LCD6 SEG44 pin: LCD6_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD6, LCD6_SEG45)
+#error Invalid pin assignment for LCD6 SEG45 pin: LCD6_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD6, LCD6_SEG46)
+#error Invalid pin assignment for LCD6 SEG46 pin: LCD6_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD6, LCD6_SEG47)
+#error Invalid pin assignment for LCD6 SEG47 pin: LCD6_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD6, LCD6_SEG48)
+#error Invalid pin assignment for LCD6 SEG48 pin: LCD6_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD6, LCD6_SEG49)
+#error Invalid pin assignment for LCD6 SEG49 pin: LCD6_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD6, LCD6_SEG5)
+#error Invalid pin assignment for LCD6 SEG5 pin: LCD6_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD6, LCD6_SEG50)
+#error Invalid pin assignment for LCD6 SEG50 pin: LCD6_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD6, LCD6_SEG51)
+#error Invalid pin assignment for LCD6 SEG51 pin: LCD6_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD6, LCD6_SEG6)
+#error Invalid pin assignment for LCD6 SEG6 pin: LCD6_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD6, LCD6_SEG7)
+#error Invalid pin assignment for LCD6 SEG7 pin: LCD6_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD6, LCD6_SEG8)
+#error Invalid pin assignment for LCD6 SEG8 pin: LCD6_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD6, LCD6_SEG9)
+#error Invalid pin assignment for LCD6 SEG9 pin: LCD6_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD6, LCD6_VLCD)
+#error Invalid pin assignment for LCD6 VLCD pin: LCD6_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD7
+#if !FIND_VALUE_LCD_COM0(_LCD7, LCD7_COM0)
+#error Invalid pin assignment for LCD7 COM0 pin: LCD7_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD7, LCD7_COM1)
+#error Invalid pin assignment for LCD7 COM1 pin: LCD7_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD7, LCD7_COM2)
+#error Invalid pin assignment for LCD7 COM2 pin: LCD7_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD7, LCD7_COM3)
+#error Invalid pin assignment for LCD7 COM3 pin: LCD7_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD7, LCD7_COM4)
+#error Invalid pin assignment for LCD7 COM4 pin: LCD7_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD7, LCD7_COM5)
+#error Invalid pin assignment for LCD7 COM5 pin: LCD7_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD7, LCD7_COM6)
+#error Invalid pin assignment for LCD7 COM6 pin: LCD7_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD7, LCD7_COM7)
+#error Invalid pin assignment for LCD7 COM7 pin: LCD7_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD7, LCD7_SEG0)
+#error Invalid pin assignment for LCD7 SEG0 pin: LCD7_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD7, LCD7_SEG1)
+#error Invalid pin assignment for LCD7 SEG1 pin: LCD7_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD7, LCD7_SEG10)
+#error Invalid pin assignment for LCD7 SEG10 pin: LCD7_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD7, LCD7_SEG11)
+#error Invalid pin assignment for LCD7 SEG11 pin: LCD7_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD7, LCD7_SEG12)
+#error Invalid pin assignment for LCD7 SEG12 pin: LCD7_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD7, LCD7_SEG13)
+#error Invalid pin assignment for LCD7 SEG13 pin: LCD7_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD7, LCD7_SEG14)
+#error Invalid pin assignment for LCD7 SEG14 pin: LCD7_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD7, LCD7_SEG15)
+#error Invalid pin assignment for LCD7 SEG15 pin: LCD7_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD7, LCD7_SEG16)
+#error Invalid pin assignment for LCD7 SEG16 pin: LCD7_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD7, LCD7_SEG17)
+#error Invalid pin assignment for LCD7 SEG17 pin: LCD7_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD7, LCD7_SEG18)
+#error Invalid pin assignment for LCD7 SEG18 pin: LCD7_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD7, LCD7_SEG19)
+#error Invalid pin assignment for LCD7 SEG19 pin: LCD7_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD7, LCD7_SEG2)
+#error Invalid pin assignment for LCD7 SEG2 pin: LCD7_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD7, LCD7_SEG20)
+#error Invalid pin assignment for LCD7 SEG20 pin: LCD7_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD7, LCD7_SEG21)
+#error Invalid pin assignment for LCD7 SEG21 pin: LCD7_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD7, LCD7_SEG22)
+#error Invalid pin assignment for LCD7 SEG22 pin: LCD7_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD7, LCD7_SEG23)
+#error Invalid pin assignment for LCD7 SEG23 pin: LCD7_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD7, LCD7_SEG24)
+#error Invalid pin assignment for LCD7 SEG24 pin: LCD7_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD7, LCD7_SEG25)
+#error Invalid pin assignment for LCD7 SEG25 pin: LCD7_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD7, LCD7_SEG26)
+#error Invalid pin assignment for LCD7 SEG26 pin: LCD7_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD7, LCD7_SEG27)
+#error Invalid pin assignment for LCD7 SEG27 pin: LCD7_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD7, LCD7_SEG28)
+#error Invalid pin assignment for LCD7 SEG28 pin: LCD7_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD7, LCD7_SEG29)
+#error Invalid pin assignment for LCD7 SEG29 pin: LCD7_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD7, LCD7_SEG3)
+#error Invalid pin assignment for LCD7 SEG3 pin: LCD7_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD7, LCD7_SEG30)
+#error Invalid pin assignment for LCD7 SEG30 pin: LCD7_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD7, LCD7_SEG31)
+#error Invalid pin assignment for LCD7 SEG31 pin: LCD7_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD7, LCD7_SEG32)
+#error Invalid pin assignment for LCD7 SEG32 pin: LCD7_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD7, LCD7_SEG33)
+#error Invalid pin assignment for LCD7 SEG33 pin: LCD7_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD7, LCD7_SEG34)
+#error Invalid pin assignment for LCD7 SEG34 pin: LCD7_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD7, LCD7_SEG35)
+#error Invalid pin assignment for LCD7 SEG35 pin: LCD7_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD7, LCD7_SEG36)
+#error Invalid pin assignment for LCD7 SEG36 pin: LCD7_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD7, LCD7_SEG37)
+#error Invalid pin assignment for LCD7 SEG37 pin: LCD7_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD7, LCD7_SEG38)
+#error Invalid pin assignment for LCD7 SEG38 pin: LCD7_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD7, LCD7_SEG39)
+#error Invalid pin assignment for LCD7 SEG39 pin: LCD7_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD7, LCD7_SEG4)
+#error Invalid pin assignment for LCD7 SEG4 pin: LCD7_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD7, LCD7_SEG40)
+#error Invalid pin assignment for LCD7 SEG40 pin: LCD7_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD7, LCD7_SEG41)
+#error Invalid pin assignment for LCD7 SEG41 pin: LCD7_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD7, LCD7_SEG42)
+#error Invalid pin assignment for LCD7 SEG42 pin: LCD7_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD7, LCD7_SEG43)
+#error Invalid pin assignment for LCD7 SEG43 pin: LCD7_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD7, LCD7_SEG44)
+#error Invalid pin assignment for LCD7 SEG44 pin: LCD7_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD7, LCD7_SEG45)
+#error Invalid pin assignment for LCD7 SEG45 pin: LCD7_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD7, LCD7_SEG46)
+#error Invalid pin assignment for LCD7 SEG46 pin: LCD7_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD7, LCD7_SEG47)
+#error Invalid pin assignment for LCD7 SEG47 pin: LCD7_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD7, LCD7_SEG48)
+#error Invalid pin assignment for LCD7 SEG48 pin: LCD7_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD7, LCD7_SEG49)
+#error Invalid pin assignment for LCD7 SEG49 pin: LCD7_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD7, LCD7_SEG5)
+#error Invalid pin assignment for LCD7 SEG5 pin: LCD7_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD7, LCD7_SEG50)
+#error Invalid pin assignment for LCD7 SEG50 pin: LCD7_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD7, LCD7_SEG51)
+#error Invalid pin assignment for LCD7 SEG51 pin: LCD7_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD7, LCD7_SEG6)
+#error Invalid pin assignment for LCD7 SEG6 pin: LCD7_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD7, LCD7_SEG7)
+#error Invalid pin assignment for LCD7 SEG7 pin: LCD7_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD7, LCD7_SEG8)
+#error Invalid pin assignment for LCD7 SEG8 pin: LCD7_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD7, LCD7_SEG9)
+#error Invalid pin assignment for LCD7 SEG9 pin: LCD7_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD7, LCD7_VLCD)
+#error Invalid pin assignment for LCD7 VLCD pin: LCD7_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD8
+#if !FIND_VALUE_LCD_COM0(_LCD8, LCD8_COM0)
+#error Invalid pin assignment for LCD8 COM0 pin: LCD8_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD8, LCD8_COM1)
+#error Invalid pin assignment for LCD8 COM1 pin: LCD8_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD8, LCD8_COM2)
+#error Invalid pin assignment for LCD8 COM2 pin: LCD8_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD8, LCD8_COM3)
+#error Invalid pin assignment for LCD8 COM3 pin: LCD8_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD8, LCD8_COM4)
+#error Invalid pin assignment for LCD8 COM4 pin: LCD8_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD8, LCD8_COM5)
+#error Invalid pin assignment for LCD8 COM5 pin: LCD8_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD8, LCD8_COM6)
+#error Invalid pin assignment for LCD8 COM6 pin: LCD8_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD8, LCD8_COM7)
+#error Invalid pin assignment for LCD8 COM7 pin: LCD8_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD8, LCD8_SEG0)
+#error Invalid pin assignment for LCD8 SEG0 pin: LCD8_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD8, LCD8_SEG1)
+#error Invalid pin assignment for LCD8 SEG1 pin: LCD8_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD8, LCD8_SEG10)
+#error Invalid pin assignment for LCD8 SEG10 pin: LCD8_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD8, LCD8_SEG11)
+#error Invalid pin assignment for LCD8 SEG11 pin: LCD8_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD8, LCD8_SEG12)
+#error Invalid pin assignment for LCD8 SEG12 pin: LCD8_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD8, LCD8_SEG13)
+#error Invalid pin assignment for LCD8 SEG13 pin: LCD8_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD8, LCD8_SEG14)
+#error Invalid pin assignment for LCD8 SEG14 pin: LCD8_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD8, LCD8_SEG15)
+#error Invalid pin assignment for LCD8 SEG15 pin: LCD8_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD8, LCD8_SEG16)
+#error Invalid pin assignment for LCD8 SEG16 pin: LCD8_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD8, LCD8_SEG17)
+#error Invalid pin assignment for LCD8 SEG17 pin: LCD8_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD8, LCD8_SEG18)
+#error Invalid pin assignment for LCD8 SEG18 pin: LCD8_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD8, LCD8_SEG19)
+#error Invalid pin assignment for LCD8 SEG19 pin: LCD8_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD8, LCD8_SEG2)
+#error Invalid pin assignment for LCD8 SEG2 pin: LCD8_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD8, LCD8_SEG20)
+#error Invalid pin assignment for LCD8 SEG20 pin: LCD8_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD8, LCD8_SEG21)
+#error Invalid pin assignment for LCD8 SEG21 pin: LCD8_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD8, LCD8_SEG22)
+#error Invalid pin assignment for LCD8 SEG22 pin: LCD8_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD8, LCD8_SEG23)
+#error Invalid pin assignment for LCD8 SEG23 pin: LCD8_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD8, LCD8_SEG24)
+#error Invalid pin assignment for LCD8 SEG24 pin: LCD8_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD8, LCD8_SEG25)
+#error Invalid pin assignment for LCD8 SEG25 pin: LCD8_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD8, LCD8_SEG26)
+#error Invalid pin assignment for LCD8 SEG26 pin: LCD8_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD8, LCD8_SEG27)
+#error Invalid pin assignment for LCD8 SEG27 pin: LCD8_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD8, LCD8_SEG28)
+#error Invalid pin assignment for LCD8 SEG28 pin: LCD8_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD8, LCD8_SEG29)
+#error Invalid pin assignment for LCD8 SEG29 pin: LCD8_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD8, LCD8_SEG3)
+#error Invalid pin assignment for LCD8 SEG3 pin: LCD8_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD8, LCD8_SEG30)
+#error Invalid pin assignment for LCD8 SEG30 pin: LCD8_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD8, LCD8_SEG31)
+#error Invalid pin assignment for LCD8 SEG31 pin: LCD8_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD8, LCD8_SEG32)
+#error Invalid pin assignment for LCD8 SEG32 pin: LCD8_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD8, LCD8_SEG33)
+#error Invalid pin assignment for LCD8 SEG33 pin: LCD8_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD8, LCD8_SEG34)
+#error Invalid pin assignment for LCD8 SEG34 pin: LCD8_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD8, LCD8_SEG35)
+#error Invalid pin assignment for LCD8 SEG35 pin: LCD8_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD8, LCD8_SEG36)
+#error Invalid pin assignment for LCD8 SEG36 pin: LCD8_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD8, LCD8_SEG37)
+#error Invalid pin assignment for LCD8 SEG37 pin: LCD8_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD8, LCD8_SEG38)
+#error Invalid pin assignment for LCD8 SEG38 pin: LCD8_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD8, LCD8_SEG39)
+#error Invalid pin assignment for LCD8 SEG39 pin: LCD8_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD8, LCD8_SEG4)
+#error Invalid pin assignment for LCD8 SEG4 pin: LCD8_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD8, LCD8_SEG40)
+#error Invalid pin assignment for LCD8 SEG40 pin: LCD8_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD8, LCD8_SEG41)
+#error Invalid pin assignment for LCD8 SEG41 pin: LCD8_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD8, LCD8_SEG42)
+#error Invalid pin assignment for LCD8 SEG42 pin: LCD8_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD8, LCD8_SEG43)
+#error Invalid pin assignment for LCD8 SEG43 pin: LCD8_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD8, LCD8_SEG44)
+#error Invalid pin assignment for LCD8 SEG44 pin: LCD8_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD8, LCD8_SEG45)
+#error Invalid pin assignment for LCD8 SEG45 pin: LCD8_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD8, LCD8_SEG46)
+#error Invalid pin assignment for LCD8 SEG46 pin: LCD8_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD8, LCD8_SEG47)
+#error Invalid pin assignment for LCD8 SEG47 pin: LCD8_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD8, LCD8_SEG48)
+#error Invalid pin assignment for LCD8 SEG48 pin: LCD8_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD8, LCD8_SEG49)
+#error Invalid pin assignment for LCD8 SEG49 pin: LCD8_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD8, LCD8_SEG5)
+#error Invalid pin assignment for LCD8 SEG5 pin: LCD8_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD8, LCD8_SEG50)
+#error Invalid pin assignment for LCD8 SEG50 pin: LCD8_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD8, LCD8_SEG51)
+#error Invalid pin assignment for LCD8 SEG51 pin: LCD8_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD8, LCD8_SEG6)
+#error Invalid pin assignment for LCD8 SEG6 pin: LCD8_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD8, LCD8_SEG7)
+#error Invalid pin assignment for LCD8 SEG7 pin: LCD8_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD8, LCD8_SEG8)
+#error Invalid pin assignment for LCD8 SEG8 pin: LCD8_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD8, LCD8_SEG9)
+#error Invalid pin assignment for LCD8 SEG9 pin: LCD8_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD8, LCD8_VLCD)
+#error Invalid pin assignment for LCD8 VLCD pin: LCD8_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD9
+#if !FIND_VALUE_LCD_COM0(_LCD9, LCD9_COM0)
+#error Invalid pin assignment for LCD9 COM0 pin: LCD9_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD9, LCD9_COM1)
+#error Invalid pin assignment for LCD9 COM1 pin: LCD9_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD9, LCD9_COM2)
+#error Invalid pin assignment for LCD9 COM2 pin: LCD9_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD9, LCD9_COM3)
+#error Invalid pin assignment for LCD9 COM3 pin: LCD9_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD9, LCD9_COM4)
+#error Invalid pin assignment for LCD9 COM4 pin: LCD9_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD9, LCD9_COM5)
+#error Invalid pin assignment for LCD9 COM5 pin: LCD9_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD9, LCD9_COM6)
+#error Invalid pin assignment for LCD9 COM6 pin: LCD9_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD9, LCD9_COM7)
+#error Invalid pin assignment for LCD9 COM7 pin: LCD9_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD9, LCD9_SEG0)
+#error Invalid pin assignment for LCD9 SEG0 pin: LCD9_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD9, LCD9_SEG1)
+#error Invalid pin assignment for LCD9 SEG1 pin: LCD9_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD9, LCD9_SEG10)
+#error Invalid pin assignment for LCD9 SEG10 pin: LCD9_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD9, LCD9_SEG11)
+#error Invalid pin assignment for LCD9 SEG11 pin: LCD9_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD9, LCD9_SEG12)
+#error Invalid pin assignment for LCD9 SEG12 pin: LCD9_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD9, LCD9_SEG13)
+#error Invalid pin assignment for LCD9 SEG13 pin: LCD9_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD9, LCD9_SEG14)
+#error Invalid pin assignment for LCD9 SEG14 pin: LCD9_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD9, LCD9_SEG15)
+#error Invalid pin assignment for LCD9 SEG15 pin: LCD9_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD9, LCD9_SEG16)
+#error Invalid pin assignment for LCD9 SEG16 pin: LCD9_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD9, LCD9_SEG17)
+#error Invalid pin assignment for LCD9 SEG17 pin: LCD9_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD9, LCD9_SEG18)
+#error Invalid pin assignment for LCD9 SEG18 pin: LCD9_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD9, LCD9_SEG19)
+#error Invalid pin assignment for LCD9 SEG19 pin: LCD9_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD9, LCD9_SEG2)
+#error Invalid pin assignment for LCD9 SEG2 pin: LCD9_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD9, LCD9_SEG20)
+#error Invalid pin assignment for LCD9 SEG20 pin: LCD9_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD9, LCD9_SEG21)
+#error Invalid pin assignment for LCD9 SEG21 pin: LCD9_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD9, LCD9_SEG22)
+#error Invalid pin assignment for LCD9 SEG22 pin: LCD9_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD9, LCD9_SEG23)
+#error Invalid pin assignment for LCD9 SEG23 pin: LCD9_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD9, LCD9_SEG24)
+#error Invalid pin assignment for LCD9 SEG24 pin: LCD9_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD9, LCD9_SEG25)
+#error Invalid pin assignment for LCD9 SEG25 pin: LCD9_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD9, LCD9_SEG26)
+#error Invalid pin assignment for LCD9 SEG26 pin: LCD9_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD9, LCD9_SEG27)
+#error Invalid pin assignment for LCD9 SEG27 pin: LCD9_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD9, LCD9_SEG28)
+#error Invalid pin assignment for LCD9 SEG28 pin: LCD9_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD9, LCD9_SEG29)
+#error Invalid pin assignment for LCD9 SEG29 pin: LCD9_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD9, LCD9_SEG3)
+#error Invalid pin assignment for LCD9 SEG3 pin: LCD9_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD9, LCD9_SEG30)
+#error Invalid pin assignment for LCD9 SEG30 pin: LCD9_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD9, LCD9_SEG31)
+#error Invalid pin assignment for LCD9 SEG31 pin: LCD9_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD9, LCD9_SEG32)
+#error Invalid pin assignment for LCD9 SEG32 pin: LCD9_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD9, LCD9_SEG33)
+#error Invalid pin assignment for LCD9 SEG33 pin: LCD9_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD9, LCD9_SEG34)
+#error Invalid pin assignment for LCD9 SEG34 pin: LCD9_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD9, LCD9_SEG35)
+#error Invalid pin assignment for LCD9 SEG35 pin: LCD9_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD9, LCD9_SEG36)
+#error Invalid pin assignment for LCD9 SEG36 pin: LCD9_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD9, LCD9_SEG37)
+#error Invalid pin assignment for LCD9 SEG37 pin: LCD9_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD9, LCD9_SEG38)
+#error Invalid pin assignment for LCD9 SEG38 pin: LCD9_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD9, LCD9_SEG39)
+#error Invalid pin assignment for LCD9 SEG39 pin: LCD9_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD9, LCD9_SEG4)
+#error Invalid pin assignment for LCD9 SEG4 pin: LCD9_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD9, LCD9_SEG40)
+#error Invalid pin assignment for LCD9 SEG40 pin: LCD9_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD9, LCD9_SEG41)
+#error Invalid pin assignment for LCD9 SEG41 pin: LCD9_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD9, LCD9_SEG42)
+#error Invalid pin assignment for LCD9 SEG42 pin: LCD9_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD9, LCD9_SEG43)
+#error Invalid pin assignment for LCD9 SEG43 pin: LCD9_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD9, LCD9_SEG44)
+#error Invalid pin assignment for LCD9 SEG44 pin: LCD9_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD9, LCD9_SEG45)
+#error Invalid pin assignment for LCD9 SEG45 pin: LCD9_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD9, LCD9_SEG46)
+#error Invalid pin assignment for LCD9 SEG46 pin: LCD9_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD9, LCD9_SEG47)
+#error Invalid pin assignment for LCD9 SEG47 pin: LCD9_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD9, LCD9_SEG48)
+#error Invalid pin assignment for LCD9 SEG48 pin: LCD9_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD9, LCD9_SEG49)
+#error Invalid pin assignment for LCD9 SEG49 pin: LCD9_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD9, LCD9_SEG5)
+#error Invalid pin assignment for LCD9 SEG5 pin: LCD9_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD9, LCD9_SEG50)
+#error Invalid pin assignment for LCD9 SEG50 pin: LCD9_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD9, LCD9_SEG51)
+#error Invalid pin assignment for LCD9 SEG51 pin: LCD9_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD9, LCD9_SEG6)
+#error Invalid pin assignment for LCD9 SEG6 pin: LCD9_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD9, LCD9_SEG7)
+#error Invalid pin assignment for LCD9 SEG7 pin: LCD9_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD9, LCD9_SEG8)
+#error Invalid pin assignment for LCD9 SEG8 pin: LCD9_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD9, LCD9_SEG9)
+#error Invalid pin assignment for LCD9 SEG9 pin: LCD9_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD9, LCD9_VLCD)
+#error Invalid pin assignment for LCD9 VLCD pin: LCD9_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD10
+#if !FIND_VALUE_LCD_COM0(_LCD10, LCD10_COM0)
+#error Invalid pin assignment for LCD10 COM0 pin: LCD10_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD10, LCD10_COM1)
+#error Invalid pin assignment for LCD10 COM1 pin: LCD10_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD10, LCD10_COM2)
+#error Invalid pin assignment for LCD10 COM2 pin: LCD10_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD10, LCD10_COM3)
+#error Invalid pin assignment for LCD10 COM3 pin: LCD10_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD10, LCD10_COM4)
+#error Invalid pin assignment for LCD10 COM4 pin: LCD10_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD10, LCD10_COM5)
+#error Invalid pin assignment for LCD10 COM5 pin: LCD10_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD10, LCD10_COM6)
+#error Invalid pin assignment for LCD10 COM6 pin: LCD10_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD10, LCD10_COM7)
+#error Invalid pin assignment for LCD10 COM7 pin: LCD10_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD10, LCD10_SEG0)
+#error Invalid pin assignment for LCD10 SEG0 pin: LCD10_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD10, LCD10_SEG1)
+#error Invalid pin assignment for LCD10 SEG1 pin: LCD10_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD10, LCD10_SEG10)
+#error Invalid pin assignment for LCD10 SEG10 pin: LCD10_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD10, LCD10_SEG11)
+#error Invalid pin assignment for LCD10 SEG11 pin: LCD10_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD10, LCD10_SEG12)
+#error Invalid pin assignment for LCD10 SEG12 pin: LCD10_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD10, LCD10_SEG13)
+#error Invalid pin assignment for LCD10 SEG13 pin: LCD10_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD10, LCD10_SEG14)
+#error Invalid pin assignment for LCD10 SEG14 pin: LCD10_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD10, LCD10_SEG15)
+#error Invalid pin assignment for LCD10 SEG15 pin: LCD10_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD10, LCD10_SEG16)
+#error Invalid pin assignment for LCD10 SEG16 pin: LCD10_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD10, LCD10_SEG17)
+#error Invalid pin assignment for LCD10 SEG17 pin: LCD10_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD10, LCD10_SEG18)
+#error Invalid pin assignment for LCD10 SEG18 pin: LCD10_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD10, LCD10_SEG19)
+#error Invalid pin assignment for LCD10 SEG19 pin: LCD10_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD10, LCD10_SEG2)
+#error Invalid pin assignment for LCD10 SEG2 pin: LCD10_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD10, LCD10_SEG20)
+#error Invalid pin assignment for LCD10 SEG20 pin: LCD10_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD10, LCD10_SEG21)
+#error Invalid pin assignment for LCD10 SEG21 pin: LCD10_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD10, LCD10_SEG22)
+#error Invalid pin assignment for LCD10 SEG22 pin: LCD10_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD10, LCD10_SEG23)
+#error Invalid pin assignment for LCD10 SEG23 pin: LCD10_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD10, LCD10_SEG24)
+#error Invalid pin assignment for LCD10 SEG24 pin: LCD10_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD10, LCD10_SEG25)
+#error Invalid pin assignment for LCD10 SEG25 pin: LCD10_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD10, LCD10_SEG26)
+#error Invalid pin assignment for LCD10 SEG26 pin: LCD10_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD10, LCD10_SEG27)
+#error Invalid pin assignment for LCD10 SEG27 pin: LCD10_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD10, LCD10_SEG28)
+#error Invalid pin assignment for LCD10 SEG28 pin: LCD10_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD10, LCD10_SEG29)
+#error Invalid pin assignment for LCD10 SEG29 pin: LCD10_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD10, LCD10_SEG3)
+#error Invalid pin assignment for LCD10 SEG3 pin: LCD10_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD10, LCD10_SEG30)
+#error Invalid pin assignment for LCD10 SEG30 pin: LCD10_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD10, LCD10_SEG31)
+#error Invalid pin assignment for LCD10 SEG31 pin: LCD10_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD10, LCD10_SEG32)
+#error Invalid pin assignment for LCD10 SEG32 pin: LCD10_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD10, LCD10_SEG33)
+#error Invalid pin assignment for LCD10 SEG33 pin: LCD10_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD10, LCD10_SEG34)
+#error Invalid pin assignment for LCD10 SEG34 pin: LCD10_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD10, LCD10_SEG35)
+#error Invalid pin assignment for LCD10 SEG35 pin: LCD10_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD10, LCD10_SEG36)
+#error Invalid pin assignment for LCD10 SEG36 pin: LCD10_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD10, LCD10_SEG37)
+#error Invalid pin assignment for LCD10 SEG37 pin: LCD10_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD10, LCD10_SEG38)
+#error Invalid pin assignment for LCD10 SEG38 pin: LCD10_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD10, LCD10_SEG39)
+#error Invalid pin assignment for LCD10 SEG39 pin: LCD10_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD10, LCD10_SEG4)
+#error Invalid pin assignment for LCD10 SEG4 pin: LCD10_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD10, LCD10_SEG40)
+#error Invalid pin assignment for LCD10 SEG40 pin: LCD10_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD10, LCD10_SEG41)
+#error Invalid pin assignment for LCD10 SEG41 pin: LCD10_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD10, LCD10_SEG42)
+#error Invalid pin assignment for LCD10 SEG42 pin: LCD10_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD10, LCD10_SEG43)
+#error Invalid pin assignment for LCD10 SEG43 pin: LCD10_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD10, LCD10_SEG44)
+#error Invalid pin assignment for LCD10 SEG44 pin: LCD10_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD10, LCD10_SEG45)
+#error Invalid pin assignment for LCD10 SEG45 pin: LCD10_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD10, LCD10_SEG46)
+#error Invalid pin assignment for LCD10 SEG46 pin: LCD10_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD10, LCD10_SEG47)
+#error Invalid pin assignment for LCD10 SEG47 pin: LCD10_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD10, LCD10_SEG48)
+#error Invalid pin assignment for LCD10 SEG48 pin: LCD10_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD10, LCD10_SEG49)
+#error Invalid pin assignment for LCD10 SEG49 pin: LCD10_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD10, LCD10_SEG5)
+#error Invalid pin assignment for LCD10 SEG5 pin: LCD10_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD10, LCD10_SEG50)
+#error Invalid pin assignment for LCD10 SEG50 pin: LCD10_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD10, LCD10_SEG51)
+#error Invalid pin assignment for LCD10 SEG51 pin: LCD10_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD10, LCD10_SEG6)
+#error Invalid pin assignment for LCD10 SEG6 pin: LCD10_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD10, LCD10_SEG7)
+#error Invalid pin assignment for LCD10 SEG7 pin: LCD10_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD10, LCD10_SEG8)
+#error Invalid pin assignment for LCD10 SEG8 pin: LCD10_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD10, LCD10_SEG9)
+#error Invalid pin assignment for LCD10 SEG9 pin: LCD10_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD10, LCD10_VLCD)
+#error Invalid pin assignment for LCD10 VLCD pin: LCD10_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD11
+#if !FIND_VALUE_LCD_COM0(_LCD11, LCD11_COM0)
+#error Invalid pin assignment for LCD11 COM0 pin: LCD11_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD11, LCD11_COM1)
+#error Invalid pin assignment for LCD11 COM1 pin: LCD11_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD11, LCD11_COM2)
+#error Invalid pin assignment for LCD11 COM2 pin: LCD11_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD11, LCD11_COM3)
+#error Invalid pin assignment for LCD11 COM3 pin: LCD11_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD11, LCD11_COM4)
+#error Invalid pin assignment for LCD11 COM4 pin: LCD11_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD11, LCD11_COM5)
+#error Invalid pin assignment for LCD11 COM5 pin: LCD11_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD11, LCD11_COM6)
+#error Invalid pin assignment for LCD11 COM6 pin: LCD11_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD11, LCD11_COM7)
+#error Invalid pin assignment for LCD11 COM7 pin: LCD11_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD11, LCD11_SEG0)
+#error Invalid pin assignment for LCD11 SEG0 pin: LCD11_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD11, LCD11_SEG1)
+#error Invalid pin assignment for LCD11 SEG1 pin: LCD11_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD11, LCD11_SEG10)
+#error Invalid pin assignment for LCD11 SEG10 pin: LCD11_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD11, LCD11_SEG11)
+#error Invalid pin assignment for LCD11 SEG11 pin: LCD11_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD11, LCD11_SEG12)
+#error Invalid pin assignment for LCD11 SEG12 pin: LCD11_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD11, LCD11_SEG13)
+#error Invalid pin assignment for LCD11 SEG13 pin: LCD11_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD11, LCD11_SEG14)
+#error Invalid pin assignment for LCD11 SEG14 pin: LCD11_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD11, LCD11_SEG15)
+#error Invalid pin assignment for LCD11 SEG15 pin: LCD11_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD11, LCD11_SEG16)
+#error Invalid pin assignment for LCD11 SEG16 pin: LCD11_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD11, LCD11_SEG17)
+#error Invalid pin assignment for LCD11 SEG17 pin: LCD11_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD11, LCD11_SEG18)
+#error Invalid pin assignment for LCD11 SEG18 pin: LCD11_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD11, LCD11_SEG19)
+#error Invalid pin assignment for LCD11 SEG19 pin: LCD11_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD11, LCD11_SEG2)
+#error Invalid pin assignment for LCD11 SEG2 pin: LCD11_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD11, LCD11_SEG20)
+#error Invalid pin assignment for LCD11 SEG20 pin: LCD11_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD11, LCD11_SEG21)
+#error Invalid pin assignment for LCD11 SEG21 pin: LCD11_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD11, LCD11_SEG22)
+#error Invalid pin assignment for LCD11 SEG22 pin: LCD11_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD11, LCD11_SEG23)
+#error Invalid pin assignment for LCD11 SEG23 pin: LCD11_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD11, LCD11_SEG24)
+#error Invalid pin assignment for LCD11 SEG24 pin: LCD11_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD11, LCD11_SEG25)
+#error Invalid pin assignment for LCD11 SEG25 pin: LCD11_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD11, LCD11_SEG26)
+#error Invalid pin assignment for LCD11 SEG26 pin: LCD11_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD11, LCD11_SEG27)
+#error Invalid pin assignment for LCD11 SEG27 pin: LCD11_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD11, LCD11_SEG28)
+#error Invalid pin assignment for LCD11 SEG28 pin: LCD11_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD11, LCD11_SEG29)
+#error Invalid pin assignment for LCD11 SEG29 pin: LCD11_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD11, LCD11_SEG3)
+#error Invalid pin assignment for LCD11 SEG3 pin: LCD11_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD11, LCD11_SEG30)
+#error Invalid pin assignment for LCD11 SEG30 pin: LCD11_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD11, LCD11_SEG31)
+#error Invalid pin assignment for LCD11 SEG31 pin: LCD11_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD11, LCD11_SEG32)
+#error Invalid pin assignment for LCD11 SEG32 pin: LCD11_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD11, LCD11_SEG33)
+#error Invalid pin assignment for LCD11 SEG33 pin: LCD11_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD11, LCD11_SEG34)
+#error Invalid pin assignment for LCD11 SEG34 pin: LCD11_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD11, LCD11_SEG35)
+#error Invalid pin assignment for LCD11 SEG35 pin: LCD11_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD11, LCD11_SEG36)
+#error Invalid pin assignment for LCD11 SEG36 pin: LCD11_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD11, LCD11_SEG37)
+#error Invalid pin assignment for LCD11 SEG37 pin: LCD11_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD11, LCD11_SEG38)
+#error Invalid pin assignment for LCD11 SEG38 pin: LCD11_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD11, LCD11_SEG39)
+#error Invalid pin assignment for LCD11 SEG39 pin: LCD11_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD11, LCD11_SEG4)
+#error Invalid pin assignment for LCD11 SEG4 pin: LCD11_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD11, LCD11_SEG40)
+#error Invalid pin assignment for LCD11 SEG40 pin: LCD11_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD11, LCD11_SEG41)
+#error Invalid pin assignment for LCD11 SEG41 pin: LCD11_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD11, LCD11_SEG42)
+#error Invalid pin assignment for LCD11 SEG42 pin: LCD11_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD11, LCD11_SEG43)
+#error Invalid pin assignment for LCD11 SEG43 pin: LCD11_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD11, LCD11_SEG44)
+#error Invalid pin assignment for LCD11 SEG44 pin: LCD11_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD11, LCD11_SEG45)
+#error Invalid pin assignment for LCD11 SEG45 pin: LCD11_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD11, LCD11_SEG46)
+#error Invalid pin assignment for LCD11 SEG46 pin: LCD11_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD11, LCD11_SEG47)
+#error Invalid pin assignment for LCD11 SEG47 pin: LCD11_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD11, LCD11_SEG48)
+#error Invalid pin assignment for LCD11 SEG48 pin: LCD11_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD11, LCD11_SEG49)
+#error Invalid pin assignment for LCD11 SEG49 pin: LCD11_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD11, LCD11_SEG5)
+#error Invalid pin assignment for LCD11 SEG5 pin: LCD11_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD11, LCD11_SEG50)
+#error Invalid pin assignment for LCD11 SEG50 pin: LCD11_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD11, LCD11_SEG51)
+#error Invalid pin assignment for LCD11 SEG51 pin: LCD11_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD11, LCD11_SEG6)
+#error Invalid pin assignment for LCD11 SEG6 pin: LCD11_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD11, LCD11_SEG7)
+#error Invalid pin assignment for LCD11 SEG7 pin: LCD11_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD11, LCD11_SEG8)
+#error Invalid pin assignment for LCD11 SEG8 pin: LCD11_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD11, LCD11_SEG9)
+#error Invalid pin assignment for LCD11 SEG9 pin: LCD11_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD11, LCD11_VLCD)
+#error Invalid pin assignment for LCD11 VLCD pin: LCD11_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD12
+#if !FIND_VALUE_LCD_COM0(_LCD12, LCD12_COM0)
+#error Invalid pin assignment for LCD12 COM0 pin: LCD12_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD12, LCD12_COM1)
+#error Invalid pin assignment for LCD12 COM1 pin: LCD12_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD12, LCD12_COM2)
+#error Invalid pin assignment for LCD12 COM2 pin: LCD12_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD12, LCD12_COM3)
+#error Invalid pin assignment for LCD12 COM3 pin: LCD12_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD12, LCD12_COM4)
+#error Invalid pin assignment for LCD12 COM4 pin: LCD12_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD12, LCD12_COM5)
+#error Invalid pin assignment for LCD12 COM5 pin: LCD12_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD12, LCD12_COM6)
+#error Invalid pin assignment for LCD12 COM6 pin: LCD12_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD12, LCD12_COM7)
+#error Invalid pin assignment for LCD12 COM7 pin: LCD12_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD12, LCD12_SEG0)
+#error Invalid pin assignment for LCD12 SEG0 pin: LCD12_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD12, LCD12_SEG1)
+#error Invalid pin assignment for LCD12 SEG1 pin: LCD12_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD12, LCD12_SEG10)
+#error Invalid pin assignment for LCD12 SEG10 pin: LCD12_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD12, LCD12_SEG11)
+#error Invalid pin assignment for LCD12 SEG11 pin: LCD12_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD12, LCD12_SEG12)
+#error Invalid pin assignment for LCD12 SEG12 pin: LCD12_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD12, LCD12_SEG13)
+#error Invalid pin assignment for LCD12 SEG13 pin: LCD12_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD12, LCD12_SEG14)
+#error Invalid pin assignment for LCD12 SEG14 pin: LCD12_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD12, LCD12_SEG15)
+#error Invalid pin assignment for LCD12 SEG15 pin: LCD12_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD12, LCD12_SEG16)
+#error Invalid pin assignment for LCD12 SEG16 pin: LCD12_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD12, LCD12_SEG17)
+#error Invalid pin assignment for LCD12 SEG17 pin: LCD12_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD12, LCD12_SEG18)
+#error Invalid pin assignment for LCD12 SEG18 pin: LCD12_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD12, LCD12_SEG19)
+#error Invalid pin assignment for LCD12 SEG19 pin: LCD12_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD12, LCD12_SEG2)
+#error Invalid pin assignment for LCD12 SEG2 pin: LCD12_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD12, LCD12_SEG20)
+#error Invalid pin assignment for LCD12 SEG20 pin: LCD12_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD12, LCD12_SEG21)
+#error Invalid pin assignment for LCD12 SEG21 pin: LCD12_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD12, LCD12_SEG22)
+#error Invalid pin assignment for LCD12 SEG22 pin: LCD12_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD12, LCD12_SEG23)
+#error Invalid pin assignment for LCD12 SEG23 pin: LCD12_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD12, LCD12_SEG24)
+#error Invalid pin assignment for LCD12 SEG24 pin: LCD12_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD12, LCD12_SEG25)
+#error Invalid pin assignment for LCD12 SEG25 pin: LCD12_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD12, LCD12_SEG26)
+#error Invalid pin assignment for LCD12 SEG26 pin: LCD12_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD12, LCD12_SEG27)
+#error Invalid pin assignment for LCD12 SEG27 pin: LCD12_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD12, LCD12_SEG28)
+#error Invalid pin assignment for LCD12 SEG28 pin: LCD12_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD12, LCD12_SEG29)
+#error Invalid pin assignment for LCD12 SEG29 pin: LCD12_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD12, LCD12_SEG3)
+#error Invalid pin assignment for LCD12 SEG3 pin: LCD12_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD12, LCD12_SEG30)
+#error Invalid pin assignment for LCD12 SEG30 pin: LCD12_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD12, LCD12_SEG31)
+#error Invalid pin assignment for LCD12 SEG31 pin: LCD12_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD12, LCD12_SEG32)
+#error Invalid pin assignment for LCD12 SEG32 pin: LCD12_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD12, LCD12_SEG33)
+#error Invalid pin assignment for LCD12 SEG33 pin: LCD12_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD12, LCD12_SEG34)
+#error Invalid pin assignment for LCD12 SEG34 pin: LCD12_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD12, LCD12_SEG35)
+#error Invalid pin assignment for LCD12 SEG35 pin: LCD12_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD12, LCD12_SEG36)
+#error Invalid pin assignment for LCD12 SEG36 pin: LCD12_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD12, LCD12_SEG37)
+#error Invalid pin assignment for LCD12 SEG37 pin: LCD12_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD12, LCD12_SEG38)
+#error Invalid pin assignment for LCD12 SEG38 pin: LCD12_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD12, LCD12_SEG39)
+#error Invalid pin assignment for LCD12 SEG39 pin: LCD12_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD12, LCD12_SEG4)
+#error Invalid pin assignment for LCD12 SEG4 pin: LCD12_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD12, LCD12_SEG40)
+#error Invalid pin assignment for LCD12 SEG40 pin: LCD12_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD12, LCD12_SEG41)
+#error Invalid pin assignment for LCD12 SEG41 pin: LCD12_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD12, LCD12_SEG42)
+#error Invalid pin assignment for LCD12 SEG42 pin: LCD12_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD12, LCD12_SEG43)
+#error Invalid pin assignment for LCD12 SEG43 pin: LCD12_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD12, LCD12_SEG44)
+#error Invalid pin assignment for LCD12 SEG44 pin: LCD12_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD12, LCD12_SEG45)
+#error Invalid pin assignment for LCD12 SEG45 pin: LCD12_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD12, LCD12_SEG46)
+#error Invalid pin assignment for LCD12 SEG46 pin: LCD12_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD12, LCD12_SEG47)
+#error Invalid pin assignment for LCD12 SEG47 pin: LCD12_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD12, LCD12_SEG48)
+#error Invalid pin assignment for LCD12 SEG48 pin: LCD12_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD12, LCD12_SEG49)
+#error Invalid pin assignment for LCD12 SEG49 pin: LCD12_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD12, LCD12_SEG5)
+#error Invalid pin assignment for LCD12 SEG5 pin: LCD12_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD12, LCD12_SEG50)
+#error Invalid pin assignment for LCD12 SEG50 pin: LCD12_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD12, LCD12_SEG51)
+#error Invalid pin assignment for LCD12 SEG51 pin: LCD12_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD12, LCD12_SEG6)
+#error Invalid pin assignment for LCD12 SEG6 pin: LCD12_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD12, LCD12_SEG7)
+#error Invalid pin assignment for LCD12 SEG7 pin: LCD12_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD12, LCD12_SEG8)
+#error Invalid pin assignment for LCD12 SEG8 pin: LCD12_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD12, LCD12_SEG9)
+#error Invalid pin assignment for LCD12 SEG9 pin: LCD12_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD12, LCD12_VLCD)
+#error Invalid pin assignment for LCD12 VLCD pin: LCD12_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD13
+#if !FIND_VALUE_LCD_COM0(_LCD13, LCD13_COM0)
+#error Invalid pin assignment for LCD13 COM0 pin: LCD13_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD13, LCD13_COM1)
+#error Invalid pin assignment for LCD13 COM1 pin: LCD13_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD13, LCD13_COM2)
+#error Invalid pin assignment for LCD13 COM2 pin: LCD13_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD13, LCD13_COM3)
+#error Invalid pin assignment for LCD13 COM3 pin: LCD13_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD13, LCD13_COM4)
+#error Invalid pin assignment for LCD13 COM4 pin: LCD13_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD13, LCD13_COM5)
+#error Invalid pin assignment for LCD13 COM5 pin: LCD13_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD13, LCD13_COM6)
+#error Invalid pin assignment for LCD13 COM6 pin: LCD13_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD13, LCD13_COM7)
+#error Invalid pin assignment for LCD13 COM7 pin: LCD13_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD13, LCD13_SEG0)
+#error Invalid pin assignment for LCD13 SEG0 pin: LCD13_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD13, LCD13_SEG1)
+#error Invalid pin assignment for LCD13 SEG1 pin: LCD13_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD13, LCD13_SEG10)
+#error Invalid pin assignment for LCD13 SEG10 pin: LCD13_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD13, LCD13_SEG11)
+#error Invalid pin assignment for LCD13 SEG11 pin: LCD13_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD13, LCD13_SEG12)
+#error Invalid pin assignment for LCD13 SEG12 pin: LCD13_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD13, LCD13_SEG13)
+#error Invalid pin assignment for LCD13 SEG13 pin: LCD13_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD13, LCD13_SEG14)
+#error Invalid pin assignment for LCD13 SEG14 pin: LCD13_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD13, LCD13_SEG15)
+#error Invalid pin assignment for LCD13 SEG15 pin: LCD13_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD13, LCD13_SEG16)
+#error Invalid pin assignment for LCD13 SEG16 pin: LCD13_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD13, LCD13_SEG17)
+#error Invalid pin assignment for LCD13 SEG17 pin: LCD13_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD13, LCD13_SEG18)
+#error Invalid pin assignment for LCD13 SEG18 pin: LCD13_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD13, LCD13_SEG19)
+#error Invalid pin assignment for LCD13 SEG19 pin: LCD13_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD13, LCD13_SEG2)
+#error Invalid pin assignment for LCD13 SEG2 pin: LCD13_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD13, LCD13_SEG20)
+#error Invalid pin assignment for LCD13 SEG20 pin: LCD13_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD13, LCD13_SEG21)
+#error Invalid pin assignment for LCD13 SEG21 pin: LCD13_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD13, LCD13_SEG22)
+#error Invalid pin assignment for LCD13 SEG22 pin: LCD13_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD13, LCD13_SEG23)
+#error Invalid pin assignment for LCD13 SEG23 pin: LCD13_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD13, LCD13_SEG24)
+#error Invalid pin assignment for LCD13 SEG24 pin: LCD13_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD13, LCD13_SEG25)
+#error Invalid pin assignment for LCD13 SEG25 pin: LCD13_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD13, LCD13_SEG26)
+#error Invalid pin assignment for LCD13 SEG26 pin: LCD13_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD13, LCD13_SEG27)
+#error Invalid pin assignment for LCD13 SEG27 pin: LCD13_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD13, LCD13_SEG28)
+#error Invalid pin assignment for LCD13 SEG28 pin: LCD13_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD13, LCD13_SEG29)
+#error Invalid pin assignment for LCD13 SEG29 pin: LCD13_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD13, LCD13_SEG3)
+#error Invalid pin assignment for LCD13 SEG3 pin: LCD13_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD13, LCD13_SEG30)
+#error Invalid pin assignment for LCD13 SEG30 pin: LCD13_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD13, LCD13_SEG31)
+#error Invalid pin assignment for LCD13 SEG31 pin: LCD13_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD13, LCD13_SEG32)
+#error Invalid pin assignment for LCD13 SEG32 pin: LCD13_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD13, LCD13_SEG33)
+#error Invalid pin assignment for LCD13 SEG33 pin: LCD13_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD13, LCD13_SEG34)
+#error Invalid pin assignment for LCD13 SEG34 pin: LCD13_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD13, LCD13_SEG35)
+#error Invalid pin assignment for LCD13 SEG35 pin: LCD13_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD13, LCD13_SEG36)
+#error Invalid pin assignment for LCD13 SEG36 pin: LCD13_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD13, LCD13_SEG37)
+#error Invalid pin assignment for LCD13 SEG37 pin: LCD13_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD13, LCD13_SEG38)
+#error Invalid pin assignment for LCD13 SEG38 pin: LCD13_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD13, LCD13_SEG39)
+#error Invalid pin assignment for LCD13 SEG39 pin: LCD13_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD13, LCD13_SEG4)
+#error Invalid pin assignment for LCD13 SEG4 pin: LCD13_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD13, LCD13_SEG40)
+#error Invalid pin assignment for LCD13 SEG40 pin: LCD13_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD13, LCD13_SEG41)
+#error Invalid pin assignment for LCD13 SEG41 pin: LCD13_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD13, LCD13_SEG42)
+#error Invalid pin assignment for LCD13 SEG42 pin: LCD13_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD13, LCD13_SEG43)
+#error Invalid pin assignment for LCD13 SEG43 pin: LCD13_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD13, LCD13_SEG44)
+#error Invalid pin assignment for LCD13 SEG44 pin: LCD13_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD13, LCD13_SEG45)
+#error Invalid pin assignment for LCD13 SEG45 pin: LCD13_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD13, LCD13_SEG46)
+#error Invalid pin assignment for LCD13 SEG46 pin: LCD13_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD13, LCD13_SEG47)
+#error Invalid pin assignment for LCD13 SEG47 pin: LCD13_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD13, LCD13_SEG48)
+#error Invalid pin assignment for LCD13 SEG48 pin: LCD13_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD13, LCD13_SEG49)
+#error Invalid pin assignment for LCD13 SEG49 pin: LCD13_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD13, LCD13_SEG5)
+#error Invalid pin assignment for LCD13 SEG5 pin: LCD13_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD13, LCD13_SEG50)
+#error Invalid pin assignment for LCD13 SEG50 pin: LCD13_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD13, LCD13_SEG51)
+#error Invalid pin assignment for LCD13 SEG51 pin: LCD13_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD13, LCD13_SEG6)
+#error Invalid pin assignment for LCD13 SEG6 pin: LCD13_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD13, LCD13_SEG7)
+#error Invalid pin assignment for LCD13 SEG7 pin: LCD13_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD13, LCD13_SEG8)
+#error Invalid pin assignment for LCD13 SEG8 pin: LCD13_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD13, LCD13_SEG9)
+#error Invalid pin assignment for LCD13 SEG9 pin: LCD13_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD13, LCD13_VLCD)
+#error Invalid pin assignment for LCD13 VLCD pin: LCD13_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD14
+#if !FIND_VALUE_LCD_COM0(_LCD14, LCD14_COM0)
+#error Invalid pin assignment for LCD14 COM0 pin: LCD14_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD14, LCD14_COM1)
+#error Invalid pin assignment for LCD14 COM1 pin: LCD14_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD14, LCD14_COM2)
+#error Invalid pin assignment for LCD14 COM2 pin: LCD14_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD14, LCD14_COM3)
+#error Invalid pin assignment for LCD14 COM3 pin: LCD14_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD14, LCD14_COM4)
+#error Invalid pin assignment for LCD14 COM4 pin: LCD14_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD14, LCD14_COM5)
+#error Invalid pin assignment for LCD14 COM5 pin: LCD14_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD14, LCD14_COM6)
+#error Invalid pin assignment for LCD14 COM6 pin: LCD14_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD14, LCD14_COM7)
+#error Invalid pin assignment for LCD14 COM7 pin: LCD14_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD14, LCD14_SEG0)
+#error Invalid pin assignment for LCD14 SEG0 pin: LCD14_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD14, LCD14_SEG1)
+#error Invalid pin assignment for LCD14 SEG1 pin: LCD14_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD14, LCD14_SEG10)
+#error Invalid pin assignment for LCD14 SEG10 pin: LCD14_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD14, LCD14_SEG11)
+#error Invalid pin assignment for LCD14 SEG11 pin: LCD14_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD14, LCD14_SEG12)
+#error Invalid pin assignment for LCD14 SEG12 pin: LCD14_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD14, LCD14_SEG13)
+#error Invalid pin assignment for LCD14 SEG13 pin: LCD14_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD14, LCD14_SEG14)
+#error Invalid pin assignment for LCD14 SEG14 pin: LCD14_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD14, LCD14_SEG15)
+#error Invalid pin assignment for LCD14 SEG15 pin: LCD14_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD14, LCD14_SEG16)
+#error Invalid pin assignment for LCD14 SEG16 pin: LCD14_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD14, LCD14_SEG17)
+#error Invalid pin assignment for LCD14 SEG17 pin: LCD14_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD14, LCD14_SEG18)
+#error Invalid pin assignment for LCD14 SEG18 pin: LCD14_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD14, LCD14_SEG19)
+#error Invalid pin assignment for LCD14 SEG19 pin: LCD14_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD14, LCD14_SEG2)
+#error Invalid pin assignment for LCD14 SEG2 pin: LCD14_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD14, LCD14_SEG20)
+#error Invalid pin assignment for LCD14 SEG20 pin: LCD14_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD14, LCD14_SEG21)
+#error Invalid pin assignment for LCD14 SEG21 pin: LCD14_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD14, LCD14_SEG22)
+#error Invalid pin assignment for LCD14 SEG22 pin: LCD14_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD14, LCD14_SEG23)
+#error Invalid pin assignment for LCD14 SEG23 pin: LCD14_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD14, LCD14_SEG24)
+#error Invalid pin assignment for LCD14 SEG24 pin: LCD14_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD14, LCD14_SEG25)
+#error Invalid pin assignment for LCD14 SEG25 pin: LCD14_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD14, LCD14_SEG26)
+#error Invalid pin assignment for LCD14 SEG26 pin: LCD14_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD14, LCD14_SEG27)
+#error Invalid pin assignment for LCD14 SEG27 pin: LCD14_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD14, LCD14_SEG28)
+#error Invalid pin assignment for LCD14 SEG28 pin: LCD14_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD14, LCD14_SEG29)
+#error Invalid pin assignment for LCD14 SEG29 pin: LCD14_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD14, LCD14_SEG3)
+#error Invalid pin assignment for LCD14 SEG3 pin: LCD14_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD14, LCD14_SEG30)
+#error Invalid pin assignment for LCD14 SEG30 pin: LCD14_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD14, LCD14_SEG31)
+#error Invalid pin assignment for LCD14 SEG31 pin: LCD14_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD14, LCD14_SEG32)
+#error Invalid pin assignment for LCD14 SEG32 pin: LCD14_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD14, LCD14_SEG33)
+#error Invalid pin assignment for LCD14 SEG33 pin: LCD14_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD14, LCD14_SEG34)
+#error Invalid pin assignment for LCD14 SEG34 pin: LCD14_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD14, LCD14_SEG35)
+#error Invalid pin assignment for LCD14 SEG35 pin: LCD14_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD14, LCD14_SEG36)
+#error Invalid pin assignment for LCD14 SEG36 pin: LCD14_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD14, LCD14_SEG37)
+#error Invalid pin assignment for LCD14 SEG37 pin: LCD14_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD14, LCD14_SEG38)
+#error Invalid pin assignment for LCD14 SEG38 pin: LCD14_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD14, LCD14_SEG39)
+#error Invalid pin assignment for LCD14 SEG39 pin: LCD14_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD14, LCD14_SEG4)
+#error Invalid pin assignment for LCD14 SEG4 pin: LCD14_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD14, LCD14_SEG40)
+#error Invalid pin assignment for LCD14 SEG40 pin: LCD14_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD14, LCD14_SEG41)
+#error Invalid pin assignment for LCD14 SEG41 pin: LCD14_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD14, LCD14_SEG42)
+#error Invalid pin assignment for LCD14 SEG42 pin: LCD14_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD14, LCD14_SEG43)
+#error Invalid pin assignment for LCD14 SEG43 pin: LCD14_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD14, LCD14_SEG44)
+#error Invalid pin assignment for LCD14 SEG44 pin: LCD14_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD14, LCD14_SEG45)
+#error Invalid pin assignment for LCD14 SEG45 pin: LCD14_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD14, LCD14_SEG46)
+#error Invalid pin assignment for LCD14 SEG46 pin: LCD14_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD14, LCD14_SEG47)
+#error Invalid pin assignment for LCD14 SEG47 pin: LCD14_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD14, LCD14_SEG48)
+#error Invalid pin assignment for LCD14 SEG48 pin: LCD14_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD14, LCD14_SEG49)
+#error Invalid pin assignment for LCD14 SEG49 pin: LCD14_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD14, LCD14_SEG5)
+#error Invalid pin assignment for LCD14 SEG5 pin: LCD14_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD14, LCD14_SEG50)
+#error Invalid pin assignment for LCD14 SEG50 pin: LCD14_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD14, LCD14_SEG51)
+#error Invalid pin assignment for LCD14 SEG51 pin: LCD14_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD14, LCD14_SEG6)
+#error Invalid pin assignment for LCD14 SEG6 pin: LCD14_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD14, LCD14_SEG7)
+#error Invalid pin assignment for LCD14 SEG7 pin: LCD14_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD14, LCD14_SEG8)
+#error Invalid pin assignment for LCD14 SEG8 pin: LCD14_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD14, LCD14_SEG9)
+#error Invalid pin assignment for LCD14 SEG9 pin: LCD14_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD14, LCD14_VLCD)
+#error Invalid pin assignment for LCD14 VLCD pin: LCD14_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD15
+#if !FIND_VALUE_LCD_COM0(_LCD15, LCD15_COM0)
+#error Invalid pin assignment for LCD15 COM0 pin: LCD15_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD15, LCD15_COM1)
+#error Invalid pin assignment for LCD15 COM1 pin: LCD15_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD15, LCD15_COM2)
+#error Invalid pin assignment for LCD15 COM2 pin: LCD15_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD15, LCD15_COM3)
+#error Invalid pin assignment for LCD15 COM3 pin: LCD15_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD15, LCD15_COM4)
+#error Invalid pin assignment for LCD15 COM4 pin: LCD15_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD15, LCD15_COM5)
+#error Invalid pin assignment for LCD15 COM5 pin: LCD15_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD15, LCD15_COM6)
+#error Invalid pin assignment for LCD15 COM6 pin: LCD15_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD15, LCD15_COM7)
+#error Invalid pin assignment for LCD15 COM7 pin: LCD15_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD15, LCD15_SEG0)
+#error Invalid pin assignment for LCD15 SEG0 pin: LCD15_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD15, LCD15_SEG1)
+#error Invalid pin assignment for LCD15 SEG1 pin: LCD15_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD15, LCD15_SEG10)
+#error Invalid pin assignment for LCD15 SEG10 pin: LCD15_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD15, LCD15_SEG11)
+#error Invalid pin assignment for LCD15 SEG11 pin: LCD15_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD15, LCD15_SEG12)
+#error Invalid pin assignment for LCD15 SEG12 pin: LCD15_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD15, LCD15_SEG13)
+#error Invalid pin assignment for LCD15 SEG13 pin: LCD15_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD15, LCD15_SEG14)
+#error Invalid pin assignment for LCD15 SEG14 pin: LCD15_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD15, LCD15_SEG15)
+#error Invalid pin assignment for LCD15 SEG15 pin: LCD15_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD15, LCD15_SEG16)
+#error Invalid pin assignment for LCD15 SEG16 pin: LCD15_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD15, LCD15_SEG17)
+#error Invalid pin assignment for LCD15 SEG17 pin: LCD15_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD15, LCD15_SEG18)
+#error Invalid pin assignment for LCD15 SEG18 pin: LCD15_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD15, LCD15_SEG19)
+#error Invalid pin assignment for LCD15 SEG19 pin: LCD15_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD15, LCD15_SEG2)
+#error Invalid pin assignment for LCD15 SEG2 pin: LCD15_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD15, LCD15_SEG20)
+#error Invalid pin assignment for LCD15 SEG20 pin: LCD15_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD15, LCD15_SEG21)
+#error Invalid pin assignment for LCD15 SEG21 pin: LCD15_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD15, LCD15_SEG22)
+#error Invalid pin assignment for LCD15 SEG22 pin: LCD15_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD15, LCD15_SEG23)
+#error Invalid pin assignment for LCD15 SEG23 pin: LCD15_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD15, LCD15_SEG24)
+#error Invalid pin assignment for LCD15 SEG24 pin: LCD15_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD15, LCD15_SEG25)
+#error Invalid pin assignment for LCD15 SEG25 pin: LCD15_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD15, LCD15_SEG26)
+#error Invalid pin assignment for LCD15 SEG26 pin: LCD15_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD15, LCD15_SEG27)
+#error Invalid pin assignment for LCD15 SEG27 pin: LCD15_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD15, LCD15_SEG28)
+#error Invalid pin assignment for LCD15 SEG28 pin: LCD15_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD15, LCD15_SEG29)
+#error Invalid pin assignment for LCD15 SEG29 pin: LCD15_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD15, LCD15_SEG3)
+#error Invalid pin assignment for LCD15 SEG3 pin: LCD15_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD15, LCD15_SEG30)
+#error Invalid pin assignment for LCD15 SEG30 pin: LCD15_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD15, LCD15_SEG31)
+#error Invalid pin assignment for LCD15 SEG31 pin: LCD15_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD15, LCD15_SEG32)
+#error Invalid pin assignment for LCD15 SEG32 pin: LCD15_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD15, LCD15_SEG33)
+#error Invalid pin assignment for LCD15 SEG33 pin: LCD15_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD15, LCD15_SEG34)
+#error Invalid pin assignment for LCD15 SEG34 pin: LCD15_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD15, LCD15_SEG35)
+#error Invalid pin assignment for LCD15 SEG35 pin: LCD15_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD15, LCD15_SEG36)
+#error Invalid pin assignment for LCD15 SEG36 pin: LCD15_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD15, LCD15_SEG37)
+#error Invalid pin assignment for LCD15 SEG37 pin: LCD15_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD15, LCD15_SEG38)
+#error Invalid pin assignment for LCD15 SEG38 pin: LCD15_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD15, LCD15_SEG39)
+#error Invalid pin assignment for LCD15 SEG39 pin: LCD15_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD15, LCD15_SEG4)
+#error Invalid pin assignment for LCD15 SEG4 pin: LCD15_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD15, LCD15_SEG40)
+#error Invalid pin assignment for LCD15 SEG40 pin: LCD15_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD15, LCD15_SEG41)
+#error Invalid pin assignment for LCD15 SEG41 pin: LCD15_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD15, LCD15_SEG42)
+#error Invalid pin assignment for LCD15 SEG42 pin: LCD15_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD15, LCD15_SEG43)
+#error Invalid pin assignment for LCD15 SEG43 pin: LCD15_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD15, LCD15_SEG44)
+#error Invalid pin assignment for LCD15 SEG44 pin: LCD15_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD15, LCD15_SEG45)
+#error Invalid pin assignment for LCD15 SEG45 pin: LCD15_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD15, LCD15_SEG46)
+#error Invalid pin assignment for LCD15 SEG46 pin: LCD15_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD15, LCD15_SEG47)
+#error Invalid pin assignment for LCD15 SEG47 pin: LCD15_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD15, LCD15_SEG48)
+#error Invalid pin assignment for LCD15 SEG48 pin: LCD15_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD15, LCD15_SEG49)
+#error Invalid pin assignment for LCD15 SEG49 pin: LCD15_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD15, LCD15_SEG5)
+#error Invalid pin assignment for LCD15 SEG5 pin: LCD15_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD15, LCD15_SEG50)
+#error Invalid pin assignment for LCD15 SEG50 pin: LCD15_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD15, LCD15_SEG51)
+#error Invalid pin assignment for LCD15 SEG51 pin: LCD15_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD15, LCD15_SEG6)
+#error Invalid pin assignment for LCD15 SEG6 pin: LCD15_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD15, LCD15_SEG7)
+#error Invalid pin assignment for LCD15 SEG7 pin: LCD15_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD15, LCD15_SEG8)
+#error Invalid pin assignment for LCD15 SEG8 pin: LCD15_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD15, LCD15_SEG9)
+#error Invalid pin assignment for LCD15 SEG9 pin: LCD15_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD15, LCD15_VLCD)
+#error Invalid pin assignment for LCD15 VLCD pin: LCD15_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD16
+#if !FIND_VALUE_LCD_COM0(_LCD16, LCD16_COM0)
+#error Invalid pin assignment for LCD16 COM0 pin: LCD16_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD16, LCD16_COM1)
+#error Invalid pin assignment for LCD16 COM1 pin: LCD16_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD16, LCD16_COM2)
+#error Invalid pin assignment for LCD16 COM2 pin: LCD16_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD16, LCD16_COM3)
+#error Invalid pin assignment for LCD16 COM3 pin: LCD16_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD16, LCD16_COM4)
+#error Invalid pin assignment for LCD16 COM4 pin: LCD16_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD16, LCD16_COM5)
+#error Invalid pin assignment for LCD16 COM5 pin: LCD16_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD16, LCD16_COM6)
+#error Invalid pin assignment for LCD16 COM6 pin: LCD16_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD16, LCD16_COM7)
+#error Invalid pin assignment for LCD16 COM7 pin: LCD16_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD16, LCD16_SEG0)
+#error Invalid pin assignment for LCD16 SEG0 pin: LCD16_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD16, LCD16_SEG1)
+#error Invalid pin assignment for LCD16 SEG1 pin: LCD16_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD16, LCD16_SEG10)
+#error Invalid pin assignment for LCD16 SEG10 pin: LCD16_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD16, LCD16_SEG11)
+#error Invalid pin assignment for LCD16 SEG11 pin: LCD16_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD16, LCD16_SEG12)
+#error Invalid pin assignment for LCD16 SEG12 pin: LCD16_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD16, LCD16_SEG13)
+#error Invalid pin assignment for LCD16 SEG13 pin: LCD16_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD16, LCD16_SEG14)
+#error Invalid pin assignment for LCD16 SEG14 pin: LCD16_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD16, LCD16_SEG15)
+#error Invalid pin assignment for LCD16 SEG15 pin: LCD16_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD16, LCD16_SEG16)
+#error Invalid pin assignment for LCD16 SEG16 pin: LCD16_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD16, LCD16_SEG17)
+#error Invalid pin assignment for LCD16 SEG17 pin: LCD16_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD16, LCD16_SEG18)
+#error Invalid pin assignment for LCD16 SEG18 pin: LCD16_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD16, LCD16_SEG19)
+#error Invalid pin assignment for LCD16 SEG19 pin: LCD16_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD16, LCD16_SEG2)
+#error Invalid pin assignment for LCD16 SEG2 pin: LCD16_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD16, LCD16_SEG20)
+#error Invalid pin assignment for LCD16 SEG20 pin: LCD16_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD16, LCD16_SEG21)
+#error Invalid pin assignment for LCD16 SEG21 pin: LCD16_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD16, LCD16_SEG22)
+#error Invalid pin assignment for LCD16 SEG22 pin: LCD16_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD16, LCD16_SEG23)
+#error Invalid pin assignment for LCD16 SEG23 pin: LCD16_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD16, LCD16_SEG24)
+#error Invalid pin assignment for LCD16 SEG24 pin: LCD16_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD16, LCD16_SEG25)
+#error Invalid pin assignment for LCD16 SEG25 pin: LCD16_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD16, LCD16_SEG26)
+#error Invalid pin assignment for LCD16 SEG26 pin: LCD16_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD16, LCD16_SEG27)
+#error Invalid pin assignment for LCD16 SEG27 pin: LCD16_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD16, LCD16_SEG28)
+#error Invalid pin assignment for LCD16 SEG28 pin: LCD16_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD16, LCD16_SEG29)
+#error Invalid pin assignment for LCD16 SEG29 pin: LCD16_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD16, LCD16_SEG3)
+#error Invalid pin assignment for LCD16 SEG3 pin: LCD16_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD16, LCD16_SEG30)
+#error Invalid pin assignment for LCD16 SEG30 pin: LCD16_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD16, LCD16_SEG31)
+#error Invalid pin assignment for LCD16 SEG31 pin: LCD16_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD16, LCD16_SEG32)
+#error Invalid pin assignment for LCD16 SEG32 pin: LCD16_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD16, LCD16_SEG33)
+#error Invalid pin assignment for LCD16 SEG33 pin: LCD16_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD16, LCD16_SEG34)
+#error Invalid pin assignment for LCD16 SEG34 pin: LCD16_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD16, LCD16_SEG35)
+#error Invalid pin assignment for LCD16 SEG35 pin: LCD16_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD16, LCD16_SEG36)
+#error Invalid pin assignment for LCD16 SEG36 pin: LCD16_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD16, LCD16_SEG37)
+#error Invalid pin assignment for LCD16 SEG37 pin: LCD16_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD16, LCD16_SEG38)
+#error Invalid pin assignment for LCD16 SEG38 pin: LCD16_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD16, LCD16_SEG39)
+#error Invalid pin assignment for LCD16 SEG39 pin: LCD16_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD16, LCD16_SEG4)
+#error Invalid pin assignment for LCD16 SEG4 pin: LCD16_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD16, LCD16_SEG40)
+#error Invalid pin assignment for LCD16 SEG40 pin: LCD16_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD16, LCD16_SEG41)
+#error Invalid pin assignment for LCD16 SEG41 pin: LCD16_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD16, LCD16_SEG42)
+#error Invalid pin assignment for LCD16 SEG42 pin: LCD16_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD16, LCD16_SEG43)
+#error Invalid pin assignment for LCD16 SEG43 pin: LCD16_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD16, LCD16_SEG44)
+#error Invalid pin assignment for LCD16 SEG44 pin: LCD16_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD16, LCD16_SEG45)
+#error Invalid pin assignment for LCD16 SEG45 pin: LCD16_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD16, LCD16_SEG46)
+#error Invalid pin assignment for LCD16 SEG46 pin: LCD16_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD16, LCD16_SEG47)
+#error Invalid pin assignment for LCD16 SEG47 pin: LCD16_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD16, LCD16_SEG48)
+#error Invalid pin assignment for LCD16 SEG48 pin: LCD16_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD16, LCD16_SEG49)
+#error Invalid pin assignment for LCD16 SEG49 pin: LCD16_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD16, LCD16_SEG5)
+#error Invalid pin assignment for LCD16 SEG5 pin: LCD16_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD16, LCD16_SEG50)
+#error Invalid pin assignment for LCD16 SEG50 pin: LCD16_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD16, LCD16_SEG51)
+#error Invalid pin assignment for LCD16 SEG51 pin: LCD16_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD16, LCD16_SEG6)
+#error Invalid pin assignment for LCD16 SEG6 pin: LCD16_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD16, LCD16_SEG7)
+#error Invalid pin assignment for LCD16 SEG7 pin: LCD16_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD16, LCD16_SEG8)
+#error Invalid pin assignment for LCD16 SEG8 pin: LCD16_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD16, LCD16_SEG9)
+#error Invalid pin assignment for LCD16 SEG9 pin: LCD16_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD16, LCD16_VLCD)
+#error Invalid pin assignment for LCD16 VLCD pin: LCD16_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD17
+#if !FIND_VALUE_LCD_COM0(_LCD17, LCD17_COM0)
+#error Invalid pin assignment for LCD17 COM0 pin: LCD17_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD17, LCD17_COM1)
+#error Invalid pin assignment for LCD17 COM1 pin: LCD17_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD17, LCD17_COM2)
+#error Invalid pin assignment for LCD17 COM2 pin: LCD17_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD17, LCD17_COM3)
+#error Invalid pin assignment for LCD17 COM3 pin: LCD17_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD17, LCD17_COM4)
+#error Invalid pin assignment for LCD17 COM4 pin: LCD17_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD17, LCD17_COM5)
+#error Invalid pin assignment for LCD17 COM5 pin: LCD17_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD17, LCD17_COM6)
+#error Invalid pin assignment for LCD17 COM6 pin: LCD17_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD17, LCD17_COM7)
+#error Invalid pin assignment for LCD17 COM7 pin: LCD17_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD17, LCD17_SEG0)
+#error Invalid pin assignment for LCD17 SEG0 pin: LCD17_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD17, LCD17_SEG1)
+#error Invalid pin assignment for LCD17 SEG1 pin: LCD17_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD17, LCD17_SEG10)
+#error Invalid pin assignment for LCD17 SEG10 pin: LCD17_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD17, LCD17_SEG11)
+#error Invalid pin assignment for LCD17 SEG11 pin: LCD17_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD17, LCD17_SEG12)
+#error Invalid pin assignment for LCD17 SEG12 pin: LCD17_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD17, LCD17_SEG13)
+#error Invalid pin assignment for LCD17 SEG13 pin: LCD17_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD17, LCD17_SEG14)
+#error Invalid pin assignment for LCD17 SEG14 pin: LCD17_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD17, LCD17_SEG15)
+#error Invalid pin assignment for LCD17 SEG15 pin: LCD17_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD17, LCD17_SEG16)
+#error Invalid pin assignment for LCD17 SEG16 pin: LCD17_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD17, LCD17_SEG17)
+#error Invalid pin assignment for LCD17 SEG17 pin: LCD17_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD17, LCD17_SEG18)
+#error Invalid pin assignment for LCD17 SEG18 pin: LCD17_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD17, LCD17_SEG19)
+#error Invalid pin assignment for LCD17 SEG19 pin: LCD17_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD17, LCD17_SEG2)
+#error Invalid pin assignment for LCD17 SEG2 pin: LCD17_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD17, LCD17_SEG20)
+#error Invalid pin assignment for LCD17 SEG20 pin: LCD17_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD17, LCD17_SEG21)
+#error Invalid pin assignment for LCD17 SEG21 pin: LCD17_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD17, LCD17_SEG22)
+#error Invalid pin assignment for LCD17 SEG22 pin: LCD17_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD17, LCD17_SEG23)
+#error Invalid pin assignment for LCD17 SEG23 pin: LCD17_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD17, LCD17_SEG24)
+#error Invalid pin assignment for LCD17 SEG24 pin: LCD17_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD17, LCD17_SEG25)
+#error Invalid pin assignment for LCD17 SEG25 pin: LCD17_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD17, LCD17_SEG26)
+#error Invalid pin assignment for LCD17 SEG26 pin: LCD17_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD17, LCD17_SEG27)
+#error Invalid pin assignment for LCD17 SEG27 pin: LCD17_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD17, LCD17_SEG28)
+#error Invalid pin assignment for LCD17 SEG28 pin: LCD17_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD17, LCD17_SEG29)
+#error Invalid pin assignment for LCD17 SEG29 pin: LCD17_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD17, LCD17_SEG3)
+#error Invalid pin assignment for LCD17 SEG3 pin: LCD17_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD17, LCD17_SEG30)
+#error Invalid pin assignment for LCD17 SEG30 pin: LCD17_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD17, LCD17_SEG31)
+#error Invalid pin assignment for LCD17 SEG31 pin: LCD17_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD17, LCD17_SEG32)
+#error Invalid pin assignment for LCD17 SEG32 pin: LCD17_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD17, LCD17_SEG33)
+#error Invalid pin assignment for LCD17 SEG33 pin: LCD17_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD17, LCD17_SEG34)
+#error Invalid pin assignment for LCD17 SEG34 pin: LCD17_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD17, LCD17_SEG35)
+#error Invalid pin assignment for LCD17 SEG35 pin: LCD17_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD17, LCD17_SEG36)
+#error Invalid pin assignment for LCD17 SEG36 pin: LCD17_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD17, LCD17_SEG37)
+#error Invalid pin assignment for LCD17 SEG37 pin: LCD17_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD17, LCD17_SEG38)
+#error Invalid pin assignment for LCD17 SEG38 pin: LCD17_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD17, LCD17_SEG39)
+#error Invalid pin assignment for LCD17 SEG39 pin: LCD17_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD17, LCD17_SEG4)
+#error Invalid pin assignment for LCD17 SEG4 pin: LCD17_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD17, LCD17_SEG40)
+#error Invalid pin assignment for LCD17 SEG40 pin: LCD17_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD17, LCD17_SEG41)
+#error Invalid pin assignment for LCD17 SEG41 pin: LCD17_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD17, LCD17_SEG42)
+#error Invalid pin assignment for LCD17 SEG42 pin: LCD17_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD17, LCD17_SEG43)
+#error Invalid pin assignment for LCD17 SEG43 pin: LCD17_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD17, LCD17_SEG44)
+#error Invalid pin assignment for LCD17 SEG44 pin: LCD17_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD17, LCD17_SEG45)
+#error Invalid pin assignment for LCD17 SEG45 pin: LCD17_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD17, LCD17_SEG46)
+#error Invalid pin assignment for LCD17 SEG46 pin: LCD17_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD17, LCD17_SEG47)
+#error Invalid pin assignment for LCD17 SEG47 pin: LCD17_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD17, LCD17_SEG48)
+#error Invalid pin assignment for LCD17 SEG48 pin: LCD17_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD17, LCD17_SEG49)
+#error Invalid pin assignment for LCD17 SEG49 pin: LCD17_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD17, LCD17_SEG5)
+#error Invalid pin assignment for LCD17 SEG5 pin: LCD17_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD17, LCD17_SEG50)
+#error Invalid pin assignment for LCD17 SEG50 pin: LCD17_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD17, LCD17_SEG51)
+#error Invalid pin assignment for LCD17 SEG51 pin: LCD17_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD17, LCD17_SEG6)
+#error Invalid pin assignment for LCD17 SEG6 pin: LCD17_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD17, LCD17_SEG7)
+#error Invalid pin assignment for LCD17 SEG7 pin: LCD17_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD17, LCD17_SEG8)
+#error Invalid pin assignment for LCD17 SEG8 pin: LCD17_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD17, LCD17_SEG9)
+#error Invalid pin assignment for LCD17 SEG9 pin: LCD17_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD17, LCD17_VLCD)
+#error Invalid pin assignment for LCD17 VLCD pin: LCD17_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD18
+#if !FIND_VALUE_LCD_COM0(_LCD18, LCD18_COM0)
+#error Invalid pin assignment for LCD18 COM0 pin: LCD18_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD18, LCD18_COM1)
+#error Invalid pin assignment for LCD18 COM1 pin: LCD18_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD18, LCD18_COM2)
+#error Invalid pin assignment for LCD18 COM2 pin: LCD18_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD18, LCD18_COM3)
+#error Invalid pin assignment for LCD18 COM3 pin: LCD18_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD18, LCD18_COM4)
+#error Invalid pin assignment for LCD18 COM4 pin: LCD18_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD18, LCD18_COM5)
+#error Invalid pin assignment for LCD18 COM5 pin: LCD18_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD18, LCD18_COM6)
+#error Invalid pin assignment for LCD18 COM6 pin: LCD18_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD18, LCD18_COM7)
+#error Invalid pin assignment for LCD18 COM7 pin: LCD18_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD18, LCD18_SEG0)
+#error Invalid pin assignment for LCD18 SEG0 pin: LCD18_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD18, LCD18_SEG1)
+#error Invalid pin assignment for LCD18 SEG1 pin: LCD18_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD18, LCD18_SEG10)
+#error Invalid pin assignment for LCD18 SEG10 pin: LCD18_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD18, LCD18_SEG11)
+#error Invalid pin assignment for LCD18 SEG11 pin: LCD18_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD18, LCD18_SEG12)
+#error Invalid pin assignment for LCD18 SEG12 pin: LCD18_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD18, LCD18_SEG13)
+#error Invalid pin assignment for LCD18 SEG13 pin: LCD18_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD18, LCD18_SEG14)
+#error Invalid pin assignment for LCD18 SEG14 pin: LCD18_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD18, LCD18_SEG15)
+#error Invalid pin assignment for LCD18 SEG15 pin: LCD18_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD18, LCD18_SEG16)
+#error Invalid pin assignment for LCD18 SEG16 pin: LCD18_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD18, LCD18_SEG17)
+#error Invalid pin assignment for LCD18 SEG17 pin: LCD18_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD18, LCD18_SEG18)
+#error Invalid pin assignment for LCD18 SEG18 pin: LCD18_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD18, LCD18_SEG19)
+#error Invalid pin assignment for LCD18 SEG19 pin: LCD18_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD18, LCD18_SEG2)
+#error Invalid pin assignment for LCD18 SEG2 pin: LCD18_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD18, LCD18_SEG20)
+#error Invalid pin assignment for LCD18 SEG20 pin: LCD18_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD18, LCD18_SEG21)
+#error Invalid pin assignment for LCD18 SEG21 pin: LCD18_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD18, LCD18_SEG22)
+#error Invalid pin assignment for LCD18 SEG22 pin: LCD18_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD18, LCD18_SEG23)
+#error Invalid pin assignment for LCD18 SEG23 pin: LCD18_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD18, LCD18_SEG24)
+#error Invalid pin assignment for LCD18 SEG24 pin: LCD18_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD18, LCD18_SEG25)
+#error Invalid pin assignment for LCD18 SEG25 pin: LCD18_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD18, LCD18_SEG26)
+#error Invalid pin assignment for LCD18 SEG26 pin: LCD18_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD18, LCD18_SEG27)
+#error Invalid pin assignment for LCD18 SEG27 pin: LCD18_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD18, LCD18_SEG28)
+#error Invalid pin assignment for LCD18 SEG28 pin: LCD18_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD18, LCD18_SEG29)
+#error Invalid pin assignment for LCD18 SEG29 pin: LCD18_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD18, LCD18_SEG3)
+#error Invalid pin assignment for LCD18 SEG3 pin: LCD18_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD18, LCD18_SEG30)
+#error Invalid pin assignment for LCD18 SEG30 pin: LCD18_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD18, LCD18_SEG31)
+#error Invalid pin assignment for LCD18 SEG31 pin: LCD18_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD18, LCD18_SEG32)
+#error Invalid pin assignment for LCD18 SEG32 pin: LCD18_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD18, LCD18_SEG33)
+#error Invalid pin assignment for LCD18 SEG33 pin: LCD18_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD18, LCD18_SEG34)
+#error Invalid pin assignment for LCD18 SEG34 pin: LCD18_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD18, LCD18_SEG35)
+#error Invalid pin assignment for LCD18 SEG35 pin: LCD18_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD18, LCD18_SEG36)
+#error Invalid pin assignment for LCD18 SEG36 pin: LCD18_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD18, LCD18_SEG37)
+#error Invalid pin assignment for LCD18 SEG37 pin: LCD18_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD18, LCD18_SEG38)
+#error Invalid pin assignment for LCD18 SEG38 pin: LCD18_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD18, LCD18_SEG39)
+#error Invalid pin assignment for LCD18 SEG39 pin: LCD18_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD18, LCD18_SEG4)
+#error Invalid pin assignment for LCD18 SEG4 pin: LCD18_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD18, LCD18_SEG40)
+#error Invalid pin assignment for LCD18 SEG40 pin: LCD18_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD18, LCD18_SEG41)
+#error Invalid pin assignment for LCD18 SEG41 pin: LCD18_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD18, LCD18_SEG42)
+#error Invalid pin assignment for LCD18 SEG42 pin: LCD18_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD18, LCD18_SEG43)
+#error Invalid pin assignment for LCD18 SEG43 pin: LCD18_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD18, LCD18_SEG44)
+#error Invalid pin assignment for LCD18 SEG44 pin: LCD18_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD18, LCD18_SEG45)
+#error Invalid pin assignment for LCD18 SEG45 pin: LCD18_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD18, LCD18_SEG46)
+#error Invalid pin assignment for LCD18 SEG46 pin: LCD18_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD18, LCD18_SEG47)
+#error Invalid pin assignment for LCD18 SEG47 pin: LCD18_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD18, LCD18_SEG48)
+#error Invalid pin assignment for LCD18 SEG48 pin: LCD18_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD18, LCD18_SEG49)
+#error Invalid pin assignment for LCD18 SEG49 pin: LCD18_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD18, LCD18_SEG5)
+#error Invalid pin assignment for LCD18 SEG5 pin: LCD18_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD18, LCD18_SEG50)
+#error Invalid pin assignment for LCD18 SEG50 pin: LCD18_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD18, LCD18_SEG51)
+#error Invalid pin assignment for LCD18 SEG51 pin: LCD18_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD18, LCD18_SEG6)
+#error Invalid pin assignment for LCD18 SEG6 pin: LCD18_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD18, LCD18_SEG7)
+#error Invalid pin assignment for LCD18 SEG7 pin: LCD18_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD18, LCD18_SEG8)
+#error Invalid pin assignment for LCD18 SEG8 pin: LCD18_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD18, LCD18_SEG9)
+#error Invalid pin assignment for LCD18 SEG9 pin: LCD18_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD18, LCD18_VLCD)
+#error Invalid pin assignment for LCD18 VLCD pin: LCD18_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD19
+#if !FIND_VALUE_LCD_COM0(_LCD19, LCD19_COM0)
+#error Invalid pin assignment for LCD19 COM0 pin: LCD19_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD19, LCD19_COM1)
+#error Invalid pin assignment for LCD19 COM1 pin: LCD19_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD19, LCD19_COM2)
+#error Invalid pin assignment for LCD19 COM2 pin: LCD19_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD19, LCD19_COM3)
+#error Invalid pin assignment for LCD19 COM3 pin: LCD19_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD19, LCD19_COM4)
+#error Invalid pin assignment for LCD19 COM4 pin: LCD19_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD19, LCD19_COM5)
+#error Invalid pin assignment for LCD19 COM5 pin: LCD19_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD19, LCD19_COM6)
+#error Invalid pin assignment for LCD19 COM6 pin: LCD19_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD19, LCD19_COM7)
+#error Invalid pin assignment for LCD19 COM7 pin: LCD19_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD19, LCD19_SEG0)
+#error Invalid pin assignment for LCD19 SEG0 pin: LCD19_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD19, LCD19_SEG1)
+#error Invalid pin assignment for LCD19 SEG1 pin: LCD19_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD19, LCD19_SEG10)
+#error Invalid pin assignment for LCD19 SEG10 pin: LCD19_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD19, LCD19_SEG11)
+#error Invalid pin assignment for LCD19 SEG11 pin: LCD19_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD19, LCD19_SEG12)
+#error Invalid pin assignment for LCD19 SEG12 pin: LCD19_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD19, LCD19_SEG13)
+#error Invalid pin assignment for LCD19 SEG13 pin: LCD19_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD19, LCD19_SEG14)
+#error Invalid pin assignment for LCD19 SEG14 pin: LCD19_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD19, LCD19_SEG15)
+#error Invalid pin assignment for LCD19 SEG15 pin: LCD19_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD19, LCD19_SEG16)
+#error Invalid pin assignment for LCD19 SEG16 pin: LCD19_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD19, LCD19_SEG17)
+#error Invalid pin assignment for LCD19 SEG17 pin: LCD19_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD19, LCD19_SEG18)
+#error Invalid pin assignment for LCD19 SEG18 pin: LCD19_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD19, LCD19_SEG19)
+#error Invalid pin assignment for LCD19 SEG19 pin: LCD19_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD19, LCD19_SEG2)
+#error Invalid pin assignment for LCD19 SEG2 pin: LCD19_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD19, LCD19_SEG20)
+#error Invalid pin assignment for LCD19 SEG20 pin: LCD19_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD19, LCD19_SEG21)
+#error Invalid pin assignment for LCD19 SEG21 pin: LCD19_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD19, LCD19_SEG22)
+#error Invalid pin assignment for LCD19 SEG22 pin: LCD19_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD19, LCD19_SEG23)
+#error Invalid pin assignment for LCD19 SEG23 pin: LCD19_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD19, LCD19_SEG24)
+#error Invalid pin assignment for LCD19 SEG24 pin: LCD19_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD19, LCD19_SEG25)
+#error Invalid pin assignment for LCD19 SEG25 pin: LCD19_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD19, LCD19_SEG26)
+#error Invalid pin assignment for LCD19 SEG26 pin: LCD19_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD19, LCD19_SEG27)
+#error Invalid pin assignment for LCD19 SEG27 pin: LCD19_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD19, LCD19_SEG28)
+#error Invalid pin assignment for LCD19 SEG28 pin: LCD19_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD19, LCD19_SEG29)
+#error Invalid pin assignment for LCD19 SEG29 pin: LCD19_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD19, LCD19_SEG3)
+#error Invalid pin assignment for LCD19 SEG3 pin: LCD19_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD19, LCD19_SEG30)
+#error Invalid pin assignment for LCD19 SEG30 pin: LCD19_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD19, LCD19_SEG31)
+#error Invalid pin assignment for LCD19 SEG31 pin: LCD19_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD19, LCD19_SEG32)
+#error Invalid pin assignment for LCD19 SEG32 pin: LCD19_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD19, LCD19_SEG33)
+#error Invalid pin assignment for LCD19 SEG33 pin: LCD19_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD19, LCD19_SEG34)
+#error Invalid pin assignment for LCD19 SEG34 pin: LCD19_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD19, LCD19_SEG35)
+#error Invalid pin assignment for LCD19 SEG35 pin: LCD19_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD19, LCD19_SEG36)
+#error Invalid pin assignment for LCD19 SEG36 pin: LCD19_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD19, LCD19_SEG37)
+#error Invalid pin assignment for LCD19 SEG37 pin: LCD19_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD19, LCD19_SEG38)
+#error Invalid pin assignment for LCD19 SEG38 pin: LCD19_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD19, LCD19_SEG39)
+#error Invalid pin assignment for LCD19 SEG39 pin: LCD19_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD19, LCD19_SEG4)
+#error Invalid pin assignment for LCD19 SEG4 pin: LCD19_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD19, LCD19_SEG40)
+#error Invalid pin assignment for LCD19 SEG40 pin: LCD19_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD19, LCD19_SEG41)
+#error Invalid pin assignment for LCD19 SEG41 pin: LCD19_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD19, LCD19_SEG42)
+#error Invalid pin assignment for LCD19 SEG42 pin: LCD19_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD19, LCD19_SEG43)
+#error Invalid pin assignment for LCD19 SEG43 pin: LCD19_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD19, LCD19_SEG44)
+#error Invalid pin assignment for LCD19 SEG44 pin: LCD19_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD19, LCD19_SEG45)
+#error Invalid pin assignment for LCD19 SEG45 pin: LCD19_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD19, LCD19_SEG46)
+#error Invalid pin assignment for LCD19 SEG46 pin: LCD19_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD19, LCD19_SEG47)
+#error Invalid pin assignment for LCD19 SEG47 pin: LCD19_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD19, LCD19_SEG48)
+#error Invalid pin assignment for LCD19 SEG48 pin: LCD19_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD19, LCD19_SEG49)
+#error Invalid pin assignment for LCD19 SEG49 pin: LCD19_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD19, LCD19_SEG5)
+#error Invalid pin assignment for LCD19 SEG5 pin: LCD19_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD19, LCD19_SEG50)
+#error Invalid pin assignment for LCD19 SEG50 pin: LCD19_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD19, LCD19_SEG51)
+#error Invalid pin assignment for LCD19 SEG51 pin: LCD19_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD19, LCD19_SEG6)
+#error Invalid pin assignment for LCD19 SEG6 pin: LCD19_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD19, LCD19_SEG7)
+#error Invalid pin assignment for LCD19 SEG7 pin: LCD19_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD19, LCD19_SEG8)
+#error Invalid pin assignment for LCD19 SEG8 pin: LCD19_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD19, LCD19_SEG9)
+#error Invalid pin assignment for LCD19 SEG9 pin: LCD19_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD19, LCD19_VLCD)
+#error Invalid pin assignment for LCD19 VLCD pin: LCD19_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD20
+#if !FIND_VALUE_LCD_COM0(_LCD20, LCD20_COM0)
+#error Invalid pin assignment for LCD20 COM0 pin: LCD20_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD20, LCD20_COM1)
+#error Invalid pin assignment for LCD20 COM1 pin: LCD20_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD20, LCD20_COM2)
+#error Invalid pin assignment for LCD20 COM2 pin: LCD20_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD20, LCD20_COM3)
+#error Invalid pin assignment for LCD20 COM3 pin: LCD20_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD20, LCD20_COM4)
+#error Invalid pin assignment for LCD20 COM4 pin: LCD20_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD20, LCD20_COM5)
+#error Invalid pin assignment for LCD20 COM5 pin: LCD20_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD20, LCD20_COM6)
+#error Invalid pin assignment for LCD20 COM6 pin: LCD20_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD20, LCD20_COM7)
+#error Invalid pin assignment for LCD20 COM7 pin: LCD20_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD20, LCD20_SEG0)
+#error Invalid pin assignment for LCD20 SEG0 pin: LCD20_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD20, LCD20_SEG1)
+#error Invalid pin assignment for LCD20 SEG1 pin: LCD20_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD20, LCD20_SEG10)
+#error Invalid pin assignment for LCD20 SEG10 pin: LCD20_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD20, LCD20_SEG11)
+#error Invalid pin assignment for LCD20 SEG11 pin: LCD20_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD20, LCD20_SEG12)
+#error Invalid pin assignment for LCD20 SEG12 pin: LCD20_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD20, LCD20_SEG13)
+#error Invalid pin assignment for LCD20 SEG13 pin: LCD20_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD20, LCD20_SEG14)
+#error Invalid pin assignment for LCD20 SEG14 pin: LCD20_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD20, LCD20_SEG15)
+#error Invalid pin assignment for LCD20 SEG15 pin: LCD20_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD20, LCD20_SEG16)
+#error Invalid pin assignment for LCD20 SEG16 pin: LCD20_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD20, LCD20_SEG17)
+#error Invalid pin assignment for LCD20 SEG17 pin: LCD20_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD20, LCD20_SEG18)
+#error Invalid pin assignment for LCD20 SEG18 pin: LCD20_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD20, LCD20_SEG19)
+#error Invalid pin assignment for LCD20 SEG19 pin: LCD20_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD20, LCD20_SEG2)
+#error Invalid pin assignment for LCD20 SEG2 pin: LCD20_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD20, LCD20_SEG20)
+#error Invalid pin assignment for LCD20 SEG20 pin: LCD20_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD20, LCD20_SEG21)
+#error Invalid pin assignment for LCD20 SEG21 pin: LCD20_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD20, LCD20_SEG22)
+#error Invalid pin assignment for LCD20 SEG22 pin: LCD20_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD20, LCD20_SEG23)
+#error Invalid pin assignment for LCD20 SEG23 pin: LCD20_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD20, LCD20_SEG24)
+#error Invalid pin assignment for LCD20 SEG24 pin: LCD20_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD20, LCD20_SEG25)
+#error Invalid pin assignment for LCD20 SEG25 pin: LCD20_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD20, LCD20_SEG26)
+#error Invalid pin assignment for LCD20 SEG26 pin: LCD20_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD20, LCD20_SEG27)
+#error Invalid pin assignment for LCD20 SEG27 pin: LCD20_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD20, LCD20_SEG28)
+#error Invalid pin assignment for LCD20 SEG28 pin: LCD20_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD20, LCD20_SEG29)
+#error Invalid pin assignment for LCD20 SEG29 pin: LCD20_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD20, LCD20_SEG3)
+#error Invalid pin assignment for LCD20 SEG3 pin: LCD20_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD20, LCD20_SEG30)
+#error Invalid pin assignment for LCD20 SEG30 pin: LCD20_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD20, LCD20_SEG31)
+#error Invalid pin assignment for LCD20 SEG31 pin: LCD20_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD20, LCD20_SEG32)
+#error Invalid pin assignment for LCD20 SEG32 pin: LCD20_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD20, LCD20_SEG33)
+#error Invalid pin assignment for LCD20 SEG33 pin: LCD20_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD20, LCD20_SEG34)
+#error Invalid pin assignment for LCD20 SEG34 pin: LCD20_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD20, LCD20_SEG35)
+#error Invalid pin assignment for LCD20 SEG35 pin: LCD20_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD20, LCD20_SEG36)
+#error Invalid pin assignment for LCD20 SEG36 pin: LCD20_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD20, LCD20_SEG37)
+#error Invalid pin assignment for LCD20 SEG37 pin: LCD20_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD20, LCD20_SEG38)
+#error Invalid pin assignment for LCD20 SEG38 pin: LCD20_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD20, LCD20_SEG39)
+#error Invalid pin assignment for LCD20 SEG39 pin: LCD20_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD20, LCD20_SEG4)
+#error Invalid pin assignment for LCD20 SEG4 pin: LCD20_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD20, LCD20_SEG40)
+#error Invalid pin assignment for LCD20 SEG40 pin: LCD20_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD20, LCD20_SEG41)
+#error Invalid pin assignment for LCD20 SEG41 pin: LCD20_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD20, LCD20_SEG42)
+#error Invalid pin assignment for LCD20 SEG42 pin: LCD20_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD20, LCD20_SEG43)
+#error Invalid pin assignment for LCD20 SEG43 pin: LCD20_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD20, LCD20_SEG44)
+#error Invalid pin assignment for LCD20 SEG44 pin: LCD20_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD20, LCD20_SEG45)
+#error Invalid pin assignment for LCD20 SEG45 pin: LCD20_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD20, LCD20_SEG46)
+#error Invalid pin assignment for LCD20 SEG46 pin: LCD20_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD20, LCD20_SEG47)
+#error Invalid pin assignment for LCD20 SEG47 pin: LCD20_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD20, LCD20_SEG48)
+#error Invalid pin assignment for LCD20 SEG48 pin: LCD20_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD20, LCD20_SEG49)
+#error Invalid pin assignment for LCD20 SEG49 pin: LCD20_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD20, LCD20_SEG5)
+#error Invalid pin assignment for LCD20 SEG5 pin: LCD20_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD20, LCD20_SEG50)
+#error Invalid pin assignment for LCD20 SEG50 pin: LCD20_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD20, LCD20_SEG51)
+#error Invalid pin assignment for LCD20 SEG51 pin: LCD20_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD20, LCD20_SEG6)
+#error Invalid pin assignment for LCD20 SEG6 pin: LCD20_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD20, LCD20_SEG7)
+#error Invalid pin assignment for LCD20 SEG7 pin: LCD20_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD20, LCD20_SEG8)
+#error Invalid pin assignment for LCD20 SEG8 pin: LCD20_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD20, LCD20_SEG9)
+#error Invalid pin assignment for LCD20 SEG9 pin: LCD20_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD20, LCD20_VLCD)
+#error Invalid pin assignment for LCD20 VLCD pin: LCD20_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD21
+#if !FIND_VALUE_LCD_COM0(_LCD21, LCD21_COM0)
+#error Invalid pin assignment for LCD21 COM0 pin: LCD21_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD21, LCD21_COM1)
+#error Invalid pin assignment for LCD21 COM1 pin: LCD21_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD21, LCD21_COM2)
+#error Invalid pin assignment for LCD21 COM2 pin: LCD21_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD21, LCD21_COM3)
+#error Invalid pin assignment for LCD21 COM3 pin: LCD21_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD21, LCD21_COM4)
+#error Invalid pin assignment for LCD21 COM4 pin: LCD21_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD21, LCD21_COM5)
+#error Invalid pin assignment for LCD21 COM5 pin: LCD21_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD21, LCD21_COM6)
+#error Invalid pin assignment for LCD21 COM6 pin: LCD21_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD21, LCD21_COM7)
+#error Invalid pin assignment for LCD21 COM7 pin: LCD21_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD21, LCD21_SEG0)
+#error Invalid pin assignment for LCD21 SEG0 pin: LCD21_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD21, LCD21_SEG1)
+#error Invalid pin assignment for LCD21 SEG1 pin: LCD21_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD21, LCD21_SEG10)
+#error Invalid pin assignment for LCD21 SEG10 pin: LCD21_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD21, LCD21_SEG11)
+#error Invalid pin assignment for LCD21 SEG11 pin: LCD21_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD21, LCD21_SEG12)
+#error Invalid pin assignment for LCD21 SEG12 pin: LCD21_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD21, LCD21_SEG13)
+#error Invalid pin assignment for LCD21 SEG13 pin: LCD21_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD21, LCD21_SEG14)
+#error Invalid pin assignment for LCD21 SEG14 pin: LCD21_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD21, LCD21_SEG15)
+#error Invalid pin assignment for LCD21 SEG15 pin: LCD21_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD21, LCD21_SEG16)
+#error Invalid pin assignment for LCD21 SEG16 pin: LCD21_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD21, LCD21_SEG17)
+#error Invalid pin assignment for LCD21 SEG17 pin: LCD21_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD21, LCD21_SEG18)
+#error Invalid pin assignment for LCD21 SEG18 pin: LCD21_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD21, LCD21_SEG19)
+#error Invalid pin assignment for LCD21 SEG19 pin: LCD21_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD21, LCD21_SEG2)
+#error Invalid pin assignment for LCD21 SEG2 pin: LCD21_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD21, LCD21_SEG20)
+#error Invalid pin assignment for LCD21 SEG20 pin: LCD21_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD21, LCD21_SEG21)
+#error Invalid pin assignment for LCD21 SEG21 pin: LCD21_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD21, LCD21_SEG22)
+#error Invalid pin assignment for LCD21 SEG22 pin: LCD21_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD21, LCD21_SEG23)
+#error Invalid pin assignment for LCD21 SEG23 pin: LCD21_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD21, LCD21_SEG24)
+#error Invalid pin assignment for LCD21 SEG24 pin: LCD21_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD21, LCD21_SEG25)
+#error Invalid pin assignment for LCD21 SEG25 pin: LCD21_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD21, LCD21_SEG26)
+#error Invalid pin assignment for LCD21 SEG26 pin: LCD21_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD21, LCD21_SEG27)
+#error Invalid pin assignment for LCD21 SEG27 pin: LCD21_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD21, LCD21_SEG28)
+#error Invalid pin assignment for LCD21 SEG28 pin: LCD21_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD21, LCD21_SEG29)
+#error Invalid pin assignment for LCD21 SEG29 pin: LCD21_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD21, LCD21_SEG3)
+#error Invalid pin assignment for LCD21 SEG3 pin: LCD21_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD21, LCD21_SEG30)
+#error Invalid pin assignment for LCD21 SEG30 pin: LCD21_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD21, LCD21_SEG31)
+#error Invalid pin assignment for LCD21 SEG31 pin: LCD21_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD21, LCD21_SEG32)
+#error Invalid pin assignment for LCD21 SEG32 pin: LCD21_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD21, LCD21_SEG33)
+#error Invalid pin assignment for LCD21 SEG33 pin: LCD21_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD21, LCD21_SEG34)
+#error Invalid pin assignment for LCD21 SEG34 pin: LCD21_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD21, LCD21_SEG35)
+#error Invalid pin assignment for LCD21 SEG35 pin: LCD21_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD21, LCD21_SEG36)
+#error Invalid pin assignment for LCD21 SEG36 pin: LCD21_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD21, LCD21_SEG37)
+#error Invalid pin assignment for LCD21 SEG37 pin: LCD21_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD21, LCD21_SEG38)
+#error Invalid pin assignment for LCD21 SEG38 pin: LCD21_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD21, LCD21_SEG39)
+#error Invalid pin assignment for LCD21 SEG39 pin: LCD21_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD21, LCD21_SEG4)
+#error Invalid pin assignment for LCD21 SEG4 pin: LCD21_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD21, LCD21_SEG40)
+#error Invalid pin assignment for LCD21 SEG40 pin: LCD21_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD21, LCD21_SEG41)
+#error Invalid pin assignment for LCD21 SEG41 pin: LCD21_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD21, LCD21_SEG42)
+#error Invalid pin assignment for LCD21 SEG42 pin: LCD21_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD21, LCD21_SEG43)
+#error Invalid pin assignment for LCD21 SEG43 pin: LCD21_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD21, LCD21_SEG44)
+#error Invalid pin assignment for LCD21 SEG44 pin: LCD21_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD21, LCD21_SEG45)
+#error Invalid pin assignment for LCD21 SEG45 pin: LCD21_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD21, LCD21_SEG46)
+#error Invalid pin assignment for LCD21 SEG46 pin: LCD21_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD21, LCD21_SEG47)
+#error Invalid pin assignment for LCD21 SEG47 pin: LCD21_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD21, LCD21_SEG48)
+#error Invalid pin assignment for LCD21 SEG48 pin: LCD21_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD21, LCD21_SEG49)
+#error Invalid pin assignment for LCD21 SEG49 pin: LCD21_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD21, LCD21_SEG5)
+#error Invalid pin assignment for LCD21 SEG5 pin: LCD21_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD21, LCD21_SEG50)
+#error Invalid pin assignment for LCD21 SEG50 pin: LCD21_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD21, LCD21_SEG51)
+#error Invalid pin assignment for LCD21 SEG51 pin: LCD21_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD21, LCD21_SEG6)
+#error Invalid pin assignment for LCD21 SEG6 pin: LCD21_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD21, LCD21_SEG7)
+#error Invalid pin assignment for LCD21 SEG7 pin: LCD21_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD21, LCD21_SEG8)
+#error Invalid pin assignment for LCD21 SEG8 pin: LCD21_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD21, LCD21_SEG9)
+#error Invalid pin assignment for LCD21 SEG9 pin: LCD21_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD21, LCD21_VLCD)
+#error Invalid pin assignment for LCD21 VLCD pin: LCD21_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD22
+#if !FIND_VALUE_LCD_COM0(_LCD22, LCD22_COM0)
+#error Invalid pin assignment for LCD22 COM0 pin: LCD22_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD22, LCD22_COM1)
+#error Invalid pin assignment for LCD22 COM1 pin: LCD22_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD22, LCD22_COM2)
+#error Invalid pin assignment for LCD22 COM2 pin: LCD22_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD22, LCD22_COM3)
+#error Invalid pin assignment for LCD22 COM3 pin: LCD22_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD22, LCD22_COM4)
+#error Invalid pin assignment for LCD22 COM4 pin: LCD22_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD22, LCD22_COM5)
+#error Invalid pin assignment for LCD22 COM5 pin: LCD22_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD22, LCD22_COM6)
+#error Invalid pin assignment for LCD22 COM6 pin: LCD22_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD22, LCD22_COM7)
+#error Invalid pin assignment for LCD22 COM7 pin: LCD22_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD22, LCD22_SEG0)
+#error Invalid pin assignment for LCD22 SEG0 pin: LCD22_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD22, LCD22_SEG1)
+#error Invalid pin assignment for LCD22 SEG1 pin: LCD22_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD22, LCD22_SEG10)
+#error Invalid pin assignment for LCD22 SEG10 pin: LCD22_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD22, LCD22_SEG11)
+#error Invalid pin assignment for LCD22 SEG11 pin: LCD22_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD22, LCD22_SEG12)
+#error Invalid pin assignment for LCD22 SEG12 pin: LCD22_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD22, LCD22_SEG13)
+#error Invalid pin assignment for LCD22 SEG13 pin: LCD22_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD22, LCD22_SEG14)
+#error Invalid pin assignment for LCD22 SEG14 pin: LCD22_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD22, LCD22_SEG15)
+#error Invalid pin assignment for LCD22 SEG15 pin: LCD22_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD22, LCD22_SEG16)
+#error Invalid pin assignment for LCD22 SEG16 pin: LCD22_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD22, LCD22_SEG17)
+#error Invalid pin assignment for LCD22 SEG17 pin: LCD22_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD22, LCD22_SEG18)
+#error Invalid pin assignment for LCD22 SEG18 pin: LCD22_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD22, LCD22_SEG19)
+#error Invalid pin assignment for LCD22 SEG19 pin: LCD22_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD22, LCD22_SEG2)
+#error Invalid pin assignment for LCD22 SEG2 pin: LCD22_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD22, LCD22_SEG20)
+#error Invalid pin assignment for LCD22 SEG20 pin: LCD22_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD22, LCD22_SEG21)
+#error Invalid pin assignment for LCD22 SEG21 pin: LCD22_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD22, LCD22_SEG22)
+#error Invalid pin assignment for LCD22 SEG22 pin: LCD22_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD22, LCD22_SEG23)
+#error Invalid pin assignment for LCD22 SEG23 pin: LCD22_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD22, LCD22_SEG24)
+#error Invalid pin assignment for LCD22 SEG24 pin: LCD22_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD22, LCD22_SEG25)
+#error Invalid pin assignment for LCD22 SEG25 pin: LCD22_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD22, LCD22_SEG26)
+#error Invalid pin assignment for LCD22 SEG26 pin: LCD22_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD22, LCD22_SEG27)
+#error Invalid pin assignment for LCD22 SEG27 pin: LCD22_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD22, LCD22_SEG28)
+#error Invalid pin assignment for LCD22 SEG28 pin: LCD22_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD22, LCD22_SEG29)
+#error Invalid pin assignment for LCD22 SEG29 pin: LCD22_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD22, LCD22_SEG3)
+#error Invalid pin assignment for LCD22 SEG3 pin: LCD22_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD22, LCD22_SEG30)
+#error Invalid pin assignment for LCD22 SEG30 pin: LCD22_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD22, LCD22_SEG31)
+#error Invalid pin assignment for LCD22 SEG31 pin: LCD22_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD22, LCD22_SEG32)
+#error Invalid pin assignment for LCD22 SEG32 pin: LCD22_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD22, LCD22_SEG33)
+#error Invalid pin assignment for LCD22 SEG33 pin: LCD22_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD22, LCD22_SEG34)
+#error Invalid pin assignment for LCD22 SEG34 pin: LCD22_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD22, LCD22_SEG35)
+#error Invalid pin assignment for LCD22 SEG35 pin: LCD22_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD22, LCD22_SEG36)
+#error Invalid pin assignment for LCD22 SEG36 pin: LCD22_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD22, LCD22_SEG37)
+#error Invalid pin assignment for LCD22 SEG37 pin: LCD22_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD22, LCD22_SEG38)
+#error Invalid pin assignment for LCD22 SEG38 pin: LCD22_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD22, LCD22_SEG39)
+#error Invalid pin assignment for LCD22 SEG39 pin: LCD22_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD22, LCD22_SEG4)
+#error Invalid pin assignment for LCD22 SEG4 pin: LCD22_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD22, LCD22_SEG40)
+#error Invalid pin assignment for LCD22 SEG40 pin: LCD22_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD22, LCD22_SEG41)
+#error Invalid pin assignment for LCD22 SEG41 pin: LCD22_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD22, LCD22_SEG42)
+#error Invalid pin assignment for LCD22 SEG42 pin: LCD22_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD22, LCD22_SEG43)
+#error Invalid pin assignment for LCD22 SEG43 pin: LCD22_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD22, LCD22_SEG44)
+#error Invalid pin assignment for LCD22 SEG44 pin: LCD22_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD22, LCD22_SEG45)
+#error Invalid pin assignment for LCD22 SEG45 pin: LCD22_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD22, LCD22_SEG46)
+#error Invalid pin assignment for LCD22 SEG46 pin: LCD22_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD22, LCD22_SEG47)
+#error Invalid pin assignment for LCD22 SEG47 pin: LCD22_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD22, LCD22_SEG48)
+#error Invalid pin assignment for LCD22 SEG48 pin: LCD22_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD22, LCD22_SEG49)
+#error Invalid pin assignment for LCD22 SEG49 pin: LCD22_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD22, LCD22_SEG5)
+#error Invalid pin assignment for LCD22 SEG5 pin: LCD22_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD22, LCD22_SEG50)
+#error Invalid pin assignment for LCD22 SEG50 pin: LCD22_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD22, LCD22_SEG51)
+#error Invalid pin assignment for LCD22 SEG51 pin: LCD22_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD22, LCD22_SEG6)
+#error Invalid pin assignment for LCD22 SEG6 pin: LCD22_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD22, LCD22_SEG7)
+#error Invalid pin assignment for LCD22 SEG7 pin: LCD22_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD22, LCD22_SEG8)
+#error Invalid pin assignment for LCD22 SEG8 pin: LCD22_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD22, LCD22_SEG9)
+#error Invalid pin assignment for LCD22 SEG9 pin: LCD22_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD22, LCD22_VLCD)
+#error Invalid pin assignment for LCD22 VLCD pin: LCD22_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD23
+#if !FIND_VALUE_LCD_COM0(_LCD23, LCD23_COM0)
+#error Invalid pin assignment for LCD23 COM0 pin: LCD23_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD23, LCD23_COM1)
+#error Invalid pin assignment for LCD23 COM1 pin: LCD23_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD23, LCD23_COM2)
+#error Invalid pin assignment for LCD23 COM2 pin: LCD23_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD23, LCD23_COM3)
+#error Invalid pin assignment for LCD23 COM3 pin: LCD23_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD23, LCD23_COM4)
+#error Invalid pin assignment for LCD23 COM4 pin: LCD23_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD23, LCD23_COM5)
+#error Invalid pin assignment for LCD23 COM5 pin: LCD23_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD23, LCD23_COM6)
+#error Invalid pin assignment for LCD23 COM6 pin: LCD23_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD23, LCD23_COM7)
+#error Invalid pin assignment for LCD23 COM7 pin: LCD23_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD23, LCD23_SEG0)
+#error Invalid pin assignment for LCD23 SEG0 pin: LCD23_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD23, LCD23_SEG1)
+#error Invalid pin assignment for LCD23 SEG1 pin: LCD23_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD23, LCD23_SEG10)
+#error Invalid pin assignment for LCD23 SEG10 pin: LCD23_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD23, LCD23_SEG11)
+#error Invalid pin assignment for LCD23 SEG11 pin: LCD23_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD23, LCD23_SEG12)
+#error Invalid pin assignment for LCD23 SEG12 pin: LCD23_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD23, LCD23_SEG13)
+#error Invalid pin assignment for LCD23 SEG13 pin: LCD23_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD23, LCD23_SEG14)
+#error Invalid pin assignment for LCD23 SEG14 pin: LCD23_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD23, LCD23_SEG15)
+#error Invalid pin assignment for LCD23 SEG15 pin: LCD23_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD23, LCD23_SEG16)
+#error Invalid pin assignment for LCD23 SEG16 pin: LCD23_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD23, LCD23_SEG17)
+#error Invalid pin assignment for LCD23 SEG17 pin: LCD23_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD23, LCD23_SEG18)
+#error Invalid pin assignment for LCD23 SEG18 pin: LCD23_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD23, LCD23_SEG19)
+#error Invalid pin assignment for LCD23 SEG19 pin: LCD23_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD23, LCD23_SEG2)
+#error Invalid pin assignment for LCD23 SEG2 pin: LCD23_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD23, LCD23_SEG20)
+#error Invalid pin assignment for LCD23 SEG20 pin: LCD23_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD23, LCD23_SEG21)
+#error Invalid pin assignment for LCD23 SEG21 pin: LCD23_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD23, LCD23_SEG22)
+#error Invalid pin assignment for LCD23 SEG22 pin: LCD23_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD23, LCD23_SEG23)
+#error Invalid pin assignment for LCD23 SEG23 pin: LCD23_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD23, LCD23_SEG24)
+#error Invalid pin assignment for LCD23 SEG24 pin: LCD23_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD23, LCD23_SEG25)
+#error Invalid pin assignment for LCD23 SEG25 pin: LCD23_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD23, LCD23_SEG26)
+#error Invalid pin assignment for LCD23 SEG26 pin: LCD23_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD23, LCD23_SEG27)
+#error Invalid pin assignment for LCD23 SEG27 pin: LCD23_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD23, LCD23_SEG28)
+#error Invalid pin assignment for LCD23 SEG28 pin: LCD23_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD23, LCD23_SEG29)
+#error Invalid pin assignment for LCD23 SEG29 pin: LCD23_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD23, LCD23_SEG3)
+#error Invalid pin assignment for LCD23 SEG3 pin: LCD23_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD23, LCD23_SEG30)
+#error Invalid pin assignment for LCD23 SEG30 pin: LCD23_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD23, LCD23_SEG31)
+#error Invalid pin assignment for LCD23 SEG31 pin: LCD23_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD23, LCD23_SEG32)
+#error Invalid pin assignment for LCD23 SEG32 pin: LCD23_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD23, LCD23_SEG33)
+#error Invalid pin assignment for LCD23 SEG33 pin: LCD23_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD23, LCD23_SEG34)
+#error Invalid pin assignment for LCD23 SEG34 pin: LCD23_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD23, LCD23_SEG35)
+#error Invalid pin assignment for LCD23 SEG35 pin: LCD23_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD23, LCD23_SEG36)
+#error Invalid pin assignment for LCD23 SEG36 pin: LCD23_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD23, LCD23_SEG37)
+#error Invalid pin assignment for LCD23 SEG37 pin: LCD23_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD23, LCD23_SEG38)
+#error Invalid pin assignment for LCD23 SEG38 pin: LCD23_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD23, LCD23_SEG39)
+#error Invalid pin assignment for LCD23 SEG39 pin: LCD23_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD23, LCD23_SEG4)
+#error Invalid pin assignment for LCD23 SEG4 pin: LCD23_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD23, LCD23_SEG40)
+#error Invalid pin assignment for LCD23 SEG40 pin: LCD23_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD23, LCD23_SEG41)
+#error Invalid pin assignment for LCD23 SEG41 pin: LCD23_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD23, LCD23_SEG42)
+#error Invalid pin assignment for LCD23 SEG42 pin: LCD23_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD23, LCD23_SEG43)
+#error Invalid pin assignment for LCD23 SEG43 pin: LCD23_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD23, LCD23_SEG44)
+#error Invalid pin assignment for LCD23 SEG44 pin: LCD23_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD23, LCD23_SEG45)
+#error Invalid pin assignment for LCD23 SEG45 pin: LCD23_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD23, LCD23_SEG46)
+#error Invalid pin assignment for LCD23 SEG46 pin: LCD23_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD23, LCD23_SEG47)
+#error Invalid pin assignment for LCD23 SEG47 pin: LCD23_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD23, LCD23_SEG48)
+#error Invalid pin assignment for LCD23 SEG48 pin: LCD23_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD23, LCD23_SEG49)
+#error Invalid pin assignment for LCD23 SEG49 pin: LCD23_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD23, LCD23_SEG5)
+#error Invalid pin assignment for LCD23 SEG5 pin: LCD23_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD23, LCD23_SEG50)
+#error Invalid pin assignment for LCD23 SEG50 pin: LCD23_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD23, LCD23_SEG51)
+#error Invalid pin assignment for LCD23 SEG51 pin: LCD23_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD23, LCD23_SEG6)
+#error Invalid pin assignment for LCD23 SEG6 pin: LCD23_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD23, LCD23_SEG7)
+#error Invalid pin assignment for LCD23 SEG7 pin: LCD23_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD23, LCD23_SEG8)
+#error Invalid pin assignment for LCD23 SEG8 pin: LCD23_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD23, LCD23_SEG9)
+#error Invalid pin assignment for LCD23 SEG9 pin: LCD23_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD23, LCD23_VLCD)
+#error Invalid pin assignment for LCD23 VLCD pin: LCD23_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD24
+#if !FIND_VALUE_LCD_COM0(_LCD24, LCD24_COM0)
+#error Invalid pin assignment for LCD24 COM0 pin: LCD24_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD24, LCD24_COM1)
+#error Invalid pin assignment for LCD24 COM1 pin: LCD24_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD24, LCD24_COM2)
+#error Invalid pin assignment for LCD24 COM2 pin: LCD24_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD24, LCD24_COM3)
+#error Invalid pin assignment for LCD24 COM3 pin: LCD24_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD24, LCD24_COM4)
+#error Invalid pin assignment for LCD24 COM4 pin: LCD24_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD24, LCD24_COM5)
+#error Invalid pin assignment for LCD24 COM5 pin: LCD24_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD24, LCD24_COM6)
+#error Invalid pin assignment for LCD24 COM6 pin: LCD24_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD24, LCD24_COM7)
+#error Invalid pin assignment for LCD24 COM7 pin: LCD24_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD24, LCD24_SEG0)
+#error Invalid pin assignment for LCD24 SEG0 pin: LCD24_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD24, LCD24_SEG1)
+#error Invalid pin assignment for LCD24 SEG1 pin: LCD24_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD24, LCD24_SEG10)
+#error Invalid pin assignment for LCD24 SEG10 pin: LCD24_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD24, LCD24_SEG11)
+#error Invalid pin assignment for LCD24 SEG11 pin: LCD24_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD24, LCD24_SEG12)
+#error Invalid pin assignment for LCD24 SEG12 pin: LCD24_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD24, LCD24_SEG13)
+#error Invalid pin assignment for LCD24 SEG13 pin: LCD24_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD24, LCD24_SEG14)
+#error Invalid pin assignment for LCD24 SEG14 pin: LCD24_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD24, LCD24_SEG15)
+#error Invalid pin assignment for LCD24 SEG15 pin: LCD24_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD24, LCD24_SEG16)
+#error Invalid pin assignment for LCD24 SEG16 pin: LCD24_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD24, LCD24_SEG17)
+#error Invalid pin assignment for LCD24 SEG17 pin: LCD24_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD24, LCD24_SEG18)
+#error Invalid pin assignment for LCD24 SEG18 pin: LCD24_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD24, LCD24_SEG19)
+#error Invalid pin assignment for LCD24 SEG19 pin: LCD24_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD24, LCD24_SEG2)
+#error Invalid pin assignment for LCD24 SEG2 pin: LCD24_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD24, LCD24_SEG20)
+#error Invalid pin assignment for LCD24 SEG20 pin: LCD24_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD24, LCD24_SEG21)
+#error Invalid pin assignment for LCD24 SEG21 pin: LCD24_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD24, LCD24_SEG22)
+#error Invalid pin assignment for LCD24 SEG22 pin: LCD24_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD24, LCD24_SEG23)
+#error Invalid pin assignment for LCD24 SEG23 pin: LCD24_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD24, LCD24_SEG24)
+#error Invalid pin assignment for LCD24 SEG24 pin: LCD24_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD24, LCD24_SEG25)
+#error Invalid pin assignment for LCD24 SEG25 pin: LCD24_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD24, LCD24_SEG26)
+#error Invalid pin assignment for LCD24 SEG26 pin: LCD24_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD24, LCD24_SEG27)
+#error Invalid pin assignment for LCD24 SEG27 pin: LCD24_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD24, LCD24_SEG28)
+#error Invalid pin assignment for LCD24 SEG28 pin: LCD24_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD24, LCD24_SEG29)
+#error Invalid pin assignment for LCD24 SEG29 pin: LCD24_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD24, LCD24_SEG3)
+#error Invalid pin assignment for LCD24 SEG3 pin: LCD24_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD24, LCD24_SEG30)
+#error Invalid pin assignment for LCD24 SEG30 pin: LCD24_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD24, LCD24_SEG31)
+#error Invalid pin assignment for LCD24 SEG31 pin: LCD24_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD24, LCD24_SEG32)
+#error Invalid pin assignment for LCD24 SEG32 pin: LCD24_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD24, LCD24_SEG33)
+#error Invalid pin assignment for LCD24 SEG33 pin: LCD24_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD24, LCD24_SEG34)
+#error Invalid pin assignment for LCD24 SEG34 pin: LCD24_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD24, LCD24_SEG35)
+#error Invalid pin assignment for LCD24 SEG35 pin: LCD24_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD24, LCD24_SEG36)
+#error Invalid pin assignment for LCD24 SEG36 pin: LCD24_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD24, LCD24_SEG37)
+#error Invalid pin assignment for LCD24 SEG37 pin: LCD24_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD24, LCD24_SEG38)
+#error Invalid pin assignment for LCD24 SEG38 pin: LCD24_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD24, LCD24_SEG39)
+#error Invalid pin assignment for LCD24 SEG39 pin: LCD24_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD24, LCD24_SEG4)
+#error Invalid pin assignment for LCD24 SEG4 pin: LCD24_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD24, LCD24_SEG40)
+#error Invalid pin assignment for LCD24 SEG40 pin: LCD24_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD24, LCD24_SEG41)
+#error Invalid pin assignment for LCD24 SEG41 pin: LCD24_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD24, LCD24_SEG42)
+#error Invalid pin assignment for LCD24 SEG42 pin: LCD24_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD24, LCD24_SEG43)
+#error Invalid pin assignment for LCD24 SEG43 pin: LCD24_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD24, LCD24_SEG44)
+#error Invalid pin assignment for LCD24 SEG44 pin: LCD24_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD24, LCD24_SEG45)
+#error Invalid pin assignment for LCD24 SEG45 pin: LCD24_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD24, LCD24_SEG46)
+#error Invalid pin assignment for LCD24 SEG46 pin: LCD24_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD24, LCD24_SEG47)
+#error Invalid pin assignment for LCD24 SEG47 pin: LCD24_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD24, LCD24_SEG48)
+#error Invalid pin assignment for LCD24 SEG48 pin: LCD24_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD24, LCD24_SEG49)
+#error Invalid pin assignment for LCD24 SEG49 pin: LCD24_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD24, LCD24_SEG5)
+#error Invalid pin assignment for LCD24 SEG5 pin: LCD24_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD24, LCD24_SEG50)
+#error Invalid pin assignment for LCD24 SEG50 pin: LCD24_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD24, LCD24_SEG51)
+#error Invalid pin assignment for LCD24 SEG51 pin: LCD24_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD24, LCD24_SEG6)
+#error Invalid pin assignment for LCD24 SEG6 pin: LCD24_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD24, LCD24_SEG7)
+#error Invalid pin assignment for LCD24 SEG7 pin: LCD24_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD24, LCD24_SEG8)
+#error Invalid pin assignment for LCD24 SEG8 pin: LCD24_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD24, LCD24_SEG9)
+#error Invalid pin assignment for LCD24 SEG9 pin: LCD24_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD24, LCD24_VLCD)
+#error Invalid pin assignment for LCD24 VLCD pin: LCD24_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD25
+#if !FIND_VALUE_LCD_COM0(_LCD25, LCD25_COM0)
+#error Invalid pin assignment for LCD25 COM0 pin: LCD25_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD25, LCD25_COM1)
+#error Invalid pin assignment for LCD25 COM1 pin: LCD25_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD25, LCD25_COM2)
+#error Invalid pin assignment for LCD25 COM2 pin: LCD25_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD25, LCD25_COM3)
+#error Invalid pin assignment for LCD25 COM3 pin: LCD25_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD25, LCD25_COM4)
+#error Invalid pin assignment for LCD25 COM4 pin: LCD25_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD25, LCD25_COM5)
+#error Invalid pin assignment for LCD25 COM5 pin: LCD25_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD25, LCD25_COM6)
+#error Invalid pin assignment for LCD25 COM6 pin: LCD25_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD25, LCD25_COM7)
+#error Invalid pin assignment for LCD25 COM7 pin: LCD25_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD25, LCD25_SEG0)
+#error Invalid pin assignment for LCD25 SEG0 pin: LCD25_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD25, LCD25_SEG1)
+#error Invalid pin assignment for LCD25 SEG1 pin: LCD25_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD25, LCD25_SEG10)
+#error Invalid pin assignment for LCD25 SEG10 pin: LCD25_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD25, LCD25_SEG11)
+#error Invalid pin assignment for LCD25 SEG11 pin: LCD25_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD25, LCD25_SEG12)
+#error Invalid pin assignment for LCD25 SEG12 pin: LCD25_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD25, LCD25_SEG13)
+#error Invalid pin assignment for LCD25 SEG13 pin: LCD25_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD25, LCD25_SEG14)
+#error Invalid pin assignment for LCD25 SEG14 pin: LCD25_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD25, LCD25_SEG15)
+#error Invalid pin assignment for LCD25 SEG15 pin: LCD25_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD25, LCD25_SEG16)
+#error Invalid pin assignment for LCD25 SEG16 pin: LCD25_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD25, LCD25_SEG17)
+#error Invalid pin assignment for LCD25 SEG17 pin: LCD25_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD25, LCD25_SEG18)
+#error Invalid pin assignment for LCD25 SEG18 pin: LCD25_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD25, LCD25_SEG19)
+#error Invalid pin assignment for LCD25 SEG19 pin: LCD25_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD25, LCD25_SEG2)
+#error Invalid pin assignment for LCD25 SEG2 pin: LCD25_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD25, LCD25_SEG20)
+#error Invalid pin assignment for LCD25 SEG20 pin: LCD25_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD25, LCD25_SEG21)
+#error Invalid pin assignment for LCD25 SEG21 pin: LCD25_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD25, LCD25_SEG22)
+#error Invalid pin assignment for LCD25 SEG22 pin: LCD25_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD25, LCD25_SEG23)
+#error Invalid pin assignment for LCD25 SEG23 pin: LCD25_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD25, LCD25_SEG24)
+#error Invalid pin assignment for LCD25 SEG24 pin: LCD25_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD25, LCD25_SEG25)
+#error Invalid pin assignment for LCD25 SEG25 pin: LCD25_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD25, LCD25_SEG26)
+#error Invalid pin assignment for LCD25 SEG26 pin: LCD25_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD25, LCD25_SEG27)
+#error Invalid pin assignment for LCD25 SEG27 pin: LCD25_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD25, LCD25_SEG28)
+#error Invalid pin assignment for LCD25 SEG28 pin: LCD25_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD25, LCD25_SEG29)
+#error Invalid pin assignment for LCD25 SEG29 pin: LCD25_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD25, LCD25_SEG3)
+#error Invalid pin assignment for LCD25 SEG3 pin: LCD25_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD25, LCD25_SEG30)
+#error Invalid pin assignment for LCD25 SEG30 pin: LCD25_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD25, LCD25_SEG31)
+#error Invalid pin assignment for LCD25 SEG31 pin: LCD25_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD25, LCD25_SEG32)
+#error Invalid pin assignment for LCD25 SEG32 pin: LCD25_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD25, LCD25_SEG33)
+#error Invalid pin assignment for LCD25 SEG33 pin: LCD25_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD25, LCD25_SEG34)
+#error Invalid pin assignment for LCD25 SEG34 pin: LCD25_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD25, LCD25_SEG35)
+#error Invalid pin assignment for LCD25 SEG35 pin: LCD25_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD25, LCD25_SEG36)
+#error Invalid pin assignment for LCD25 SEG36 pin: LCD25_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD25, LCD25_SEG37)
+#error Invalid pin assignment for LCD25 SEG37 pin: LCD25_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD25, LCD25_SEG38)
+#error Invalid pin assignment for LCD25 SEG38 pin: LCD25_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD25, LCD25_SEG39)
+#error Invalid pin assignment for LCD25 SEG39 pin: LCD25_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD25, LCD25_SEG4)
+#error Invalid pin assignment for LCD25 SEG4 pin: LCD25_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD25, LCD25_SEG40)
+#error Invalid pin assignment for LCD25 SEG40 pin: LCD25_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD25, LCD25_SEG41)
+#error Invalid pin assignment for LCD25 SEG41 pin: LCD25_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD25, LCD25_SEG42)
+#error Invalid pin assignment for LCD25 SEG42 pin: LCD25_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD25, LCD25_SEG43)
+#error Invalid pin assignment for LCD25 SEG43 pin: LCD25_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD25, LCD25_SEG44)
+#error Invalid pin assignment for LCD25 SEG44 pin: LCD25_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD25, LCD25_SEG45)
+#error Invalid pin assignment for LCD25 SEG45 pin: LCD25_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD25, LCD25_SEG46)
+#error Invalid pin assignment for LCD25 SEG46 pin: LCD25_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD25, LCD25_SEG47)
+#error Invalid pin assignment for LCD25 SEG47 pin: LCD25_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD25, LCD25_SEG48)
+#error Invalid pin assignment for LCD25 SEG48 pin: LCD25_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD25, LCD25_SEG49)
+#error Invalid pin assignment for LCD25 SEG49 pin: LCD25_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD25, LCD25_SEG5)
+#error Invalid pin assignment for LCD25 SEG5 pin: LCD25_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD25, LCD25_SEG50)
+#error Invalid pin assignment for LCD25 SEG50 pin: LCD25_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD25, LCD25_SEG51)
+#error Invalid pin assignment for LCD25 SEG51 pin: LCD25_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD25, LCD25_SEG6)
+#error Invalid pin assignment for LCD25 SEG6 pin: LCD25_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD25, LCD25_SEG7)
+#error Invalid pin assignment for LCD25 SEG7 pin: LCD25_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD25, LCD25_SEG8)
+#error Invalid pin assignment for LCD25 SEG8 pin: LCD25_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD25, LCD25_SEG9)
+#error Invalid pin assignment for LCD25 SEG9 pin: LCD25_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD25, LCD25_VLCD)
+#error Invalid pin assignment for LCD25 VLCD pin: LCD25_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD26
+#if !FIND_VALUE_LCD_COM0(_LCD26, LCD26_COM0)
+#error Invalid pin assignment for LCD26 COM0 pin: LCD26_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD26, LCD26_COM1)
+#error Invalid pin assignment for LCD26 COM1 pin: LCD26_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD26, LCD26_COM2)
+#error Invalid pin assignment for LCD26 COM2 pin: LCD26_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD26, LCD26_COM3)
+#error Invalid pin assignment for LCD26 COM3 pin: LCD26_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD26, LCD26_COM4)
+#error Invalid pin assignment for LCD26 COM4 pin: LCD26_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD26, LCD26_COM5)
+#error Invalid pin assignment for LCD26 COM5 pin: LCD26_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD26, LCD26_COM6)
+#error Invalid pin assignment for LCD26 COM6 pin: LCD26_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD26, LCD26_COM7)
+#error Invalid pin assignment for LCD26 COM7 pin: LCD26_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD26, LCD26_SEG0)
+#error Invalid pin assignment for LCD26 SEG0 pin: LCD26_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD26, LCD26_SEG1)
+#error Invalid pin assignment for LCD26 SEG1 pin: LCD26_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD26, LCD26_SEG10)
+#error Invalid pin assignment for LCD26 SEG10 pin: LCD26_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD26, LCD26_SEG11)
+#error Invalid pin assignment for LCD26 SEG11 pin: LCD26_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD26, LCD26_SEG12)
+#error Invalid pin assignment for LCD26 SEG12 pin: LCD26_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD26, LCD26_SEG13)
+#error Invalid pin assignment for LCD26 SEG13 pin: LCD26_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD26, LCD26_SEG14)
+#error Invalid pin assignment for LCD26 SEG14 pin: LCD26_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD26, LCD26_SEG15)
+#error Invalid pin assignment for LCD26 SEG15 pin: LCD26_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD26, LCD26_SEG16)
+#error Invalid pin assignment for LCD26 SEG16 pin: LCD26_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD26, LCD26_SEG17)
+#error Invalid pin assignment for LCD26 SEG17 pin: LCD26_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD26, LCD26_SEG18)
+#error Invalid pin assignment for LCD26 SEG18 pin: LCD26_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD26, LCD26_SEG19)
+#error Invalid pin assignment for LCD26 SEG19 pin: LCD26_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD26, LCD26_SEG2)
+#error Invalid pin assignment for LCD26 SEG2 pin: LCD26_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD26, LCD26_SEG20)
+#error Invalid pin assignment for LCD26 SEG20 pin: LCD26_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD26, LCD26_SEG21)
+#error Invalid pin assignment for LCD26 SEG21 pin: LCD26_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD26, LCD26_SEG22)
+#error Invalid pin assignment for LCD26 SEG22 pin: LCD26_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD26, LCD26_SEG23)
+#error Invalid pin assignment for LCD26 SEG23 pin: LCD26_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD26, LCD26_SEG24)
+#error Invalid pin assignment for LCD26 SEG24 pin: LCD26_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD26, LCD26_SEG25)
+#error Invalid pin assignment for LCD26 SEG25 pin: LCD26_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD26, LCD26_SEG26)
+#error Invalid pin assignment for LCD26 SEG26 pin: LCD26_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD26, LCD26_SEG27)
+#error Invalid pin assignment for LCD26 SEG27 pin: LCD26_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD26, LCD26_SEG28)
+#error Invalid pin assignment for LCD26 SEG28 pin: LCD26_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD26, LCD26_SEG29)
+#error Invalid pin assignment for LCD26 SEG29 pin: LCD26_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD26, LCD26_SEG3)
+#error Invalid pin assignment for LCD26 SEG3 pin: LCD26_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD26, LCD26_SEG30)
+#error Invalid pin assignment for LCD26 SEG30 pin: LCD26_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD26, LCD26_SEG31)
+#error Invalid pin assignment for LCD26 SEG31 pin: LCD26_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD26, LCD26_SEG32)
+#error Invalid pin assignment for LCD26 SEG32 pin: LCD26_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD26, LCD26_SEG33)
+#error Invalid pin assignment for LCD26 SEG33 pin: LCD26_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD26, LCD26_SEG34)
+#error Invalid pin assignment for LCD26 SEG34 pin: LCD26_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD26, LCD26_SEG35)
+#error Invalid pin assignment for LCD26 SEG35 pin: LCD26_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD26, LCD26_SEG36)
+#error Invalid pin assignment for LCD26 SEG36 pin: LCD26_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD26, LCD26_SEG37)
+#error Invalid pin assignment for LCD26 SEG37 pin: LCD26_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD26, LCD26_SEG38)
+#error Invalid pin assignment for LCD26 SEG38 pin: LCD26_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD26, LCD26_SEG39)
+#error Invalid pin assignment for LCD26 SEG39 pin: LCD26_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD26, LCD26_SEG4)
+#error Invalid pin assignment for LCD26 SEG4 pin: LCD26_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD26, LCD26_SEG40)
+#error Invalid pin assignment for LCD26 SEG40 pin: LCD26_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD26, LCD26_SEG41)
+#error Invalid pin assignment for LCD26 SEG41 pin: LCD26_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD26, LCD26_SEG42)
+#error Invalid pin assignment for LCD26 SEG42 pin: LCD26_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD26, LCD26_SEG43)
+#error Invalid pin assignment for LCD26 SEG43 pin: LCD26_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD26, LCD26_SEG44)
+#error Invalid pin assignment for LCD26 SEG44 pin: LCD26_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD26, LCD26_SEG45)
+#error Invalid pin assignment for LCD26 SEG45 pin: LCD26_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD26, LCD26_SEG46)
+#error Invalid pin assignment for LCD26 SEG46 pin: LCD26_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD26, LCD26_SEG47)
+#error Invalid pin assignment for LCD26 SEG47 pin: LCD26_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD26, LCD26_SEG48)
+#error Invalid pin assignment for LCD26 SEG48 pin: LCD26_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD26, LCD26_SEG49)
+#error Invalid pin assignment for LCD26 SEG49 pin: LCD26_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD26, LCD26_SEG5)
+#error Invalid pin assignment for LCD26 SEG5 pin: LCD26_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD26, LCD26_SEG50)
+#error Invalid pin assignment for LCD26 SEG50 pin: LCD26_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD26, LCD26_SEG51)
+#error Invalid pin assignment for LCD26 SEG51 pin: LCD26_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD26, LCD26_SEG6)
+#error Invalid pin assignment for LCD26 SEG6 pin: LCD26_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD26, LCD26_SEG7)
+#error Invalid pin assignment for LCD26 SEG7 pin: LCD26_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD26, LCD26_SEG8)
+#error Invalid pin assignment for LCD26 SEG8 pin: LCD26_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD26, LCD26_SEG9)
+#error Invalid pin assignment for LCD26 SEG9 pin: LCD26_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD26, LCD26_VLCD)
+#error Invalid pin assignment for LCD26 VLCD pin: LCD26_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD27
+#if !FIND_VALUE_LCD_COM0(_LCD27, LCD27_COM0)
+#error Invalid pin assignment for LCD27 COM0 pin: LCD27_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD27, LCD27_COM1)
+#error Invalid pin assignment for LCD27 COM1 pin: LCD27_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD27, LCD27_COM2)
+#error Invalid pin assignment for LCD27 COM2 pin: LCD27_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD27, LCD27_COM3)
+#error Invalid pin assignment for LCD27 COM3 pin: LCD27_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD27, LCD27_COM4)
+#error Invalid pin assignment for LCD27 COM4 pin: LCD27_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD27, LCD27_COM5)
+#error Invalid pin assignment for LCD27 COM5 pin: LCD27_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD27, LCD27_COM6)
+#error Invalid pin assignment for LCD27 COM6 pin: LCD27_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD27, LCD27_COM7)
+#error Invalid pin assignment for LCD27 COM7 pin: LCD27_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD27, LCD27_SEG0)
+#error Invalid pin assignment for LCD27 SEG0 pin: LCD27_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD27, LCD27_SEG1)
+#error Invalid pin assignment for LCD27 SEG1 pin: LCD27_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD27, LCD27_SEG10)
+#error Invalid pin assignment for LCD27 SEG10 pin: LCD27_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD27, LCD27_SEG11)
+#error Invalid pin assignment for LCD27 SEG11 pin: LCD27_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD27, LCD27_SEG12)
+#error Invalid pin assignment for LCD27 SEG12 pin: LCD27_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD27, LCD27_SEG13)
+#error Invalid pin assignment for LCD27 SEG13 pin: LCD27_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD27, LCD27_SEG14)
+#error Invalid pin assignment for LCD27 SEG14 pin: LCD27_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD27, LCD27_SEG15)
+#error Invalid pin assignment for LCD27 SEG15 pin: LCD27_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD27, LCD27_SEG16)
+#error Invalid pin assignment for LCD27 SEG16 pin: LCD27_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD27, LCD27_SEG17)
+#error Invalid pin assignment for LCD27 SEG17 pin: LCD27_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD27, LCD27_SEG18)
+#error Invalid pin assignment for LCD27 SEG18 pin: LCD27_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD27, LCD27_SEG19)
+#error Invalid pin assignment for LCD27 SEG19 pin: LCD27_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD27, LCD27_SEG2)
+#error Invalid pin assignment for LCD27 SEG2 pin: LCD27_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD27, LCD27_SEG20)
+#error Invalid pin assignment for LCD27 SEG20 pin: LCD27_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD27, LCD27_SEG21)
+#error Invalid pin assignment for LCD27 SEG21 pin: LCD27_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD27, LCD27_SEG22)
+#error Invalid pin assignment for LCD27 SEG22 pin: LCD27_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD27, LCD27_SEG23)
+#error Invalid pin assignment for LCD27 SEG23 pin: LCD27_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD27, LCD27_SEG24)
+#error Invalid pin assignment for LCD27 SEG24 pin: LCD27_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD27, LCD27_SEG25)
+#error Invalid pin assignment for LCD27 SEG25 pin: LCD27_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD27, LCD27_SEG26)
+#error Invalid pin assignment for LCD27 SEG26 pin: LCD27_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD27, LCD27_SEG27)
+#error Invalid pin assignment for LCD27 SEG27 pin: LCD27_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD27, LCD27_SEG28)
+#error Invalid pin assignment for LCD27 SEG28 pin: LCD27_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD27, LCD27_SEG29)
+#error Invalid pin assignment for LCD27 SEG29 pin: LCD27_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD27, LCD27_SEG3)
+#error Invalid pin assignment for LCD27 SEG3 pin: LCD27_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD27, LCD27_SEG30)
+#error Invalid pin assignment for LCD27 SEG30 pin: LCD27_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD27, LCD27_SEG31)
+#error Invalid pin assignment for LCD27 SEG31 pin: LCD27_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD27, LCD27_SEG32)
+#error Invalid pin assignment for LCD27 SEG32 pin: LCD27_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD27, LCD27_SEG33)
+#error Invalid pin assignment for LCD27 SEG33 pin: LCD27_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD27, LCD27_SEG34)
+#error Invalid pin assignment for LCD27 SEG34 pin: LCD27_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD27, LCD27_SEG35)
+#error Invalid pin assignment for LCD27 SEG35 pin: LCD27_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD27, LCD27_SEG36)
+#error Invalid pin assignment for LCD27 SEG36 pin: LCD27_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD27, LCD27_SEG37)
+#error Invalid pin assignment for LCD27 SEG37 pin: LCD27_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD27, LCD27_SEG38)
+#error Invalid pin assignment for LCD27 SEG38 pin: LCD27_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD27, LCD27_SEG39)
+#error Invalid pin assignment for LCD27 SEG39 pin: LCD27_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD27, LCD27_SEG4)
+#error Invalid pin assignment for LCD27 SEG4 pin: LCD27_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD27, LCD27_SEG40)
+#error Invalid pin assignment for LCD27 SEG40 pin: LCD27_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD27, LCD27_SEG41)
+#error Invalid pin assignment for LCD27 SEG41 pin: LCD27_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD27, LCD27_SEG42)
+#error Invalid pin assignment for LCD27 SEG42 pin: LCD27_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD27, LCD27_SEG43)
+#error Invalid pin assignment for LCD27 SEG43 pin: LCD27_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD27, LCD27_SEG44)
+#error Invalid pin assignment for LCD27 SEG44 pin: LCD27_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD27, LCD27_SEG45)
+#error Invalid pin assignment for LCD27 SEG45 pin: LCD27_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD27, LCD27_SEG46)
+#error Invalid pin assignment for LCD27 SEG46 pin: LCD27_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD27, LCD27_SEG47)
+#error Invalid pin assignment for LCD27 SEG47 pin: LCD27_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD27, LCD27_SEG48)
+#error Invalid pin assignment for LCD27 SEG48 pin: LCD27_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD27, LCD27_SEG49)
+#error Invalid pin assignment for LCD27 SEG49 pin: LCD27_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD27, LCD27_SEG5)
+#error Invalid pin assignment for LCD27 SEG5 pin: LCD27_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD27, LCD27_SEG50)
+#error Invalid pin assignment for LCD27 SEG50 pin: LCD27_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD27, LCD27_SEG51)
+#error Invalid pin assignment for LCD27 SEG51 pin: LCD27_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD27, LCD27_SEG6)
+#error Invalid pin assignment for LCD27 SEG6 pin: LCD27_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD27, LCD27_SEG7)
+#error Invalid pin assignment for LCD27 SEG7 pin: LCD27_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD27, LCD27_SEG8)
+#error Invalid pin assignment for LCD27 SEG8 pin: LCD27_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD27, LCD27_SEG9)
+#error Invalid pin assignment for LCD27 SEG9 pin: LCD27_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD27, LCD27_VLCD)
+#error Invalid pin assignment for LCD27 VLCD pin: LCD27_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD28
+#if !FIND_VALUE_LCD_COM0(_LCD28, LCD28_COM0)
+#error Invalid pin assignment for LCD28 COM0 pin: LCD28_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD28, LCD28_COM1)
+#error Invalid pin assignment for LCD28 COM1 pin: LCD28_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD28, LCD28_COM2)
+#error Invalid pin assignment for LCD28 COM2 pin: LCD28_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD28, LCD28_COM3)
+#error Invalid pin assignment for LCD28 COM3 pin: LCD28_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD28, LCD28_COM4)
+#error Invalid pin assignment for LCD28 COM4 pin: LCD28_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD28, LCD28_COM5)
+#error Invalid pin assignment for LCD28 COM5 pin: LCD28_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD28, LCD28_COM6)
+#error Invalid pin assignment for LCD28 COM6 pin: LCD28_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD28, LCD28_COM7)
+#error Invalid pin assignment for LCD28 COM7 pin: LCD28_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD28, LCD28_SEG0)
+#error Invalid pin assignment for LCD28 SEG0 pin: LCD28_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD28, LCD28_SEG1)
+#error Invalid pin assignment for LCD28 SEG1 pin: LCD28_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD28, LCD28_SEG10)
+#error Invalid pin assignment for LCD28 SEG10 pin: LCD28_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD28, LCD28_SEG11)
+#error Invalid pin assignment for LCD28 SEG11 pin: LCD28_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD28, LCD28_SEG12)
+#error Invalid pin assignment for LCD28 SEG12 pin: LCD28_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD28, LCD28_SEG13)
+#error Invalid pin assignment for LCD28 SEG13 pin: LCD28_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD28, LCD28_SEG14)
+#error Invalid pin assignment for LCD28 SEG14 pin: LCD28_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD28, LCD28_SEG15)
+#error Invalid pin assignment for LCD28 SEG15 pin: LCD28_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD28, LCD28_SEG16)
+#error Invalid pin assignment for LCD28 SEG16 pin: LCD28_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD28, LCD28_SEG17)
+#error Invalid pin assignment for LCD28 SEG17 pin: LCD28_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD28, LCD28_SEG18)
+#error Invalid pin assignment for LCD28 SEG18 pin: LCD28_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD28, LCD28_SEG19)
+#error Invalid pin assignment for LCD28 SEG19 pin: LCD28_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD28, LCD28_SEG2)
+#error Invalid pin assignment for LCD28 SEG2 pin: LCD28_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD28, LCD28_SEG20)
+#error Invalid pin assignment for LCD28 SEG20 pin: LCD28_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD28, LCD28_SEG21)
+#error Invalid pin assignment for LCD28 SEG21 pin: LCD28_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD28, LCD28_SEG22)
+#error Invalid pin assignment for LCD28 SEG22 pin: LCD28_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD28, LCD28_SEG23)
+#error Invalid pin assignment for LCD28 SEG23 pin: LCD28_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD28, LCD28_SEG24)
+#error Invalid pin assignment for LCD28 SEG24 pin: LCD28_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD28, LCD28_SEG25)
+#error Invalid pin assignment for LCD28 SEG25 pin: LCD28_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD28, LCD28_SEG26)
+#error Invalid pin assignment for LCD28 SEG26 pin: LCD28_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD28, LCD28_SEG27)
+#error Invalid pin assignment for LCD28 SEG27 pin: LCD28_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD28, LCD28_SEG28)
+#error Invalid pin assignment for LCD28 SEG28 pin: LCD28_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD28, LCD28_SEG29)
+#error Invalid pin assignment for LCD28 SEG29 pin: LCD28_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD28, LCD28_SEG3)
+#error Invalid pin assignment for LCD28 SEG3 pin: LCD28_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD28, LCD28_SEG30)
+#error Invalid pin assignment for LCD28 SEG30 pin: LCD28_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD28, LCD28_SEG31)
+#error Invalid pin assignment for LCD28 SEG31 pin: LCD28_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD28, LCD28_SEG32)
+#error Invalid pin assignment for LCD28 SEG32 pin: LCD28_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD28, LCD28_SEG33)
+#error Invalid pin assignment for LCD28 SEG33 pin: LCD28_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD28, LCD28_SEG34)
+#error Invalid pin assignment for LCD28 SEG34 pin: LCD28_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD28, LCD28_SEG35)
+#error Invalid pin assignment for LCD28 SEG35 pin: LCD28_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD28, LCD28_SEG36)
+#error Invalid pin assignment for LCD28 SEG36 pin: LCD28_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD28, LCD28_SEG37)
+#error Invalid pin assignment for LCD28 SEG37 pin: LCD28_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD28, LCD28_SEG38)
+#error Invalid pin assignment for LCD28 SEG38 pin: LCD28_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD28, LCD28_SEG39)
+#error Invalid pin assignment for LCD28 SEG39 pin: LCD28_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD28, LCD28_SEG4)
+#error Invalid pin assignment for LCD28 SEG4 pin: LCD28_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD28, LCD28_SEG40)
+#error Invalid pin assignment for LCD28 SEG40 pin: LCD28_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD28, LCD28_SEG41)
+#error Invalid pin assignment for LCD28 SEG41 pin: LCD28_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD28, LCD28_SEG42)
+#error Invalid pin assignment for LCD28 SEG42 pin: LCD28_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD28, LCD28_SEG43)
+#error Invalid pin assignment for LCD28 SEG43 pin: LCD28_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD28, LCD28_SEG44)
+#error Invalid pin assignment for LCD28 SEG44 pin: LCD28_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD28, LCD28_SEG45)
+#error Invalid pin assignment for LCD28 SEG45 pin: LCD28_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD28, LCD28_SEG46)
+#error Invalid pin assignment for LCD28 SEG46 pin: LCD28_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD28, LCD28_SEG47)
+#error Invalid pin assignment for LCD28 SEG47 pin: LCD28_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD28, LCD28_SEG48)
+#error Invalid pin assignment for LCD28 SEG48 pin: LCD28_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD28, LCD28_SEG49)
+#error Invalid pin assignment for LCD28 SEG49 pin: LCD28_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD28, LCD28_SEG5)
+#error Invalid pin assignment for LCD28 SEG5 pin: LCD28_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD28, LCD28_SEG50)
+#error Invalid pin assignment for LCD28 SEG50 pin: LCD28_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD28, LCD28_SEG51)
+#error Invalid pin assignment for LCD28 SEG51 pin: LCD28_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD28, LCD28_SEG6)
+#error Invalid pin assignment for LCD28 SEG6 pin: LCD28_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD28, LCD28_SEG7)
+#error Invalid pin assignment for LCD28 SEG7 pin: LCD28_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD28, LCD28_SEG8)
+#error Invalid pin assignment for LCD28 SEG8 pin: LCD28_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD28, LCD28_SEG9)
+#error Invalid pin assignment for LCD28 SEG9 pin: LCD28_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD28, LCD28_VLCD)
+#error Invalid pin assignment for LCD28 VLCD pin: LCD28_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD29
+#if !FIND_VALUE_LCD_COM0(_LCD29, LCD29_COM0)
+#error Invalid pin assignment for LCD29 COM0 pin: LCD29_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD29, LCD29_COM1)
+#error Invalid pin assignment for LCD29 COM1 pin: LCD29_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD29, LCD29_COM2)
+#error Invalid pin assignment for LCD29 COM2 pin: LCD29_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD29, LCD29_COM3)
+#error Invalid pin assignment for LCD29 COM3 pin: LCD29_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD29, LCD29_COM4)
+#error Invalid pin assignment for LCD29 COM4 pin: LCD29_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD29, LCD29_COM5)
+#error Invalid pin assignment for LCD29 COM5 pin: LCD29_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD29, LCD29_COM6)
+#error Invalid pin assignment for LCD29 COM6 pin: LCD29_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD29, LCD29_COM7)
+#error Invalid pin assignment for LCD29 COM7 pin: LCD29_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD29, LCD29_SEG0)
+#error Invalid pin assignment for LCD29 SEG0 pin: LCD29_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD29, LCD29_SEG1)
+#error Invalid pin assignment for LCD29 SEG1 pin: LCD29_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD29, LCD29_SEG10)
+#error Invalid pin assignment for LCD29 SEG10 pin: LCD29_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD29, LCD29_SEG11)
+#error Invalid pin assignment for LCD29 SEG11 pin: LCD29_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD29, LCD29_SEG12)
+#error Invalid pin assignment for LCD29 SEG12 pin: LCD29_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD29, LCD29_SEG13)
+#error Invalid pin assignment for LCD29 SEG13 pin: LCD29_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD29, LCD29_SEG14)
+#error Invalid pin assignment for LCD29 SEG14 pin: LCD29_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD29, LCD29_SEG15)
+#error Invalid pin assignment for LCD29 SEG15 pin: LCD29_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD29, LCD29_SEG16)
+#error Invalid pin assignment for LCD29 SEG16 pin: LCD29_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD29, LCD29_SEG17)
+#error Invalid pin assignment for LCD29 SEG17 pin: LCD29_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD29, LCD29_SEG18)
+#error Invalid pin assignment for LCD29 SEG18 pin: LCD29_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD29, LCD29_SEG19)
+#error Invalid pin assignment for LCD29 SEG19 pin: LCD29_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD29, LCD29_SEG2)
+#error Invalid pin assignment for LCD29 SEG2 pin: LCD29_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD29, LCD29_SEG20)
+#error Invalid pin assignment for LCD29 SEG20 pin: LCD29_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD29, LCD29_SEG21)
+#error Invalid pin assignment for LCD29 SEG21 pin: LCD29_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD29, LCD29_SEG22)
+#error Invalid pin assignment for LCD29 SEG22 pin: LCD29_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD29, LCD29_SEG23)
+#error Invalid pin assignment for LCD29 SEG23 pin: LCD29_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD29, LCD29_SEG24)
+#error Invalid pin assignment for LCD29 SEG24 pin: LCD29_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD29, LCD29_SEG25)
+#error Invalid pin assignment for LCD29 SEG25 pin: LCD29_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD29, LCD29_SEG26)
+#error Invalid pin assignment for LCD29 SEG26 pin: LCD29_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD29, LCD29_SEG27)
+#error Invalid pin assignment for LCD29 SEG27 pin: LCD29_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD29, LCD29_SEG28)
+#error Invalid pin assignment for LCD29 SEG28 pin: LCD29_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD29, LCD29_SEG29)
+#error Invalid pin assignment for LCD29 SEG29 pin: LCD29_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD29, LCD29_SEG3)
+#error Invalid pin assignment for LCD29 SEG3 pin: LCD29_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD29, LCD29_SEG30)
+#error Invalid pin assignment for LCD29 SEG30 pin: LCD29_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD29, LCD29_SEG31)
+#error Invalid pin assignment for LCD29 SEG31 pin: LCD29_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD29, LCD29_SEG32)
+#error Invalid pin assignment for LCD29 SEG32 pin: LCD29_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD29, LCD29_SEG33)
+#error Invalid pin assignment for LCD29 SEG33 pin: LCD29_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD29, LCD29_SEG34)
+#error Invalid pin assignment for LCD29 SEG34 pin: LCD29_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD29, LCD29_SEG35)
+#error Invalid pin assignment for LCD29 SEG35 pin: LCD29_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD29, LCD29_SEG36)
+#error Invalid pin assignment for LCD29 SEG36 pin: LCD29_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD29, LCD29_SEG37)
+#error Invalid pin assignment for LCD29 SEG37 pin: LCD29_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD29, LCD29_SEG38)
+#error Invalid pin assignment for LCD29 SEG38 pin: LCD29_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD29, LCD29_SEG39)
+#error Invalid pin assignment for LCD29 SEG39 pin: LCD29_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD29, LCD29_SEG4)
+#error Invalid pin assignment for LCD29 SEG4 pin: LCD29_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD29, LCD29_SEG40)
+#error Invalid pin assignment for LCD29 SEG40 pin: LCD29_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD29, LCD29_SEG41)
+#error Invalid pin assignment for LCD29 SEG41 pin: LCD29_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD29, LCD29_SEG42)
+#error Invalid pin assignment for LCD29 SEG42 pin: LCD29_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD29, LCD29_SEG43)
+#error Invalid pin assignment for LCD29 SEG43 pin: LCD29_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD29, LCD29_SEG44)
+#error Invalid pin assignment for LCD29 SEG44 pin: LCD29_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD29, LCD29_SEG45)
+#error Invalid pin assignment for LCD29 SEG45 pin: LCD29_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD29, LCD29_SEG46)
+#error Invalid pin assignment for LCD29 SEG46 pin: LCD29_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD29, LCD29_SEG47)
+#error Invalid pin assignment for LCD29 SEG47 pin: LCD29_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD29, LCD29_SEG48)
+#error Invalid pin assignment for LCD29 SEG48 pin: LCD29_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD29, LCD29_SEG49)
+#error Invalid pin assignment for LCD29 SEG49 pin: LCD29_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD29, LCD29_SEG5)
+#error Invalid pin assignment for LCD29 SEG5 pin: LCD29_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD29, LCD29_SEG50)
+#error Invalid pin assignment for LCD29 SEG50 pin: LCD29_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD29, LCD29_SEG51)
+#error Invalid pin assignment for LCD29 SEG51 pin: LCD29_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD29, LCD29_SEG6)
+#error Invalid pin assignment for LCD29 SEG6 pin: LCD29_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD29, LCD29_SEG7)
+#error Invalid pin assignment for LCD29 SEG7 pin: LCD29_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD29, LCD29_SEG8)
+#error Invalid pin assignment for LCD29 SEG8 pin: LCD29_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD29, LCD29_SEG9)
+#error Invalid pin assignment for LCD29 SEG9 pin: LCD29_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD29, LCD29_VLCD)
+#error Invalid pin assignment for LCD29 VLCD pin: LCD29_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD30
+#if !FIND_VALUE_LCD_COM0(_LCD30, LCD30_COM0)
+#error Invalid pin assignment for LCD30 COM0 pin: LCD30_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD30, LCD30_COM1)
+#error Invalid pin assignment for LCD30 COM1 pin: LCD30_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD30, LCD30_COM2)
+#error Invalid pin assignment for LCD30 COM2 pin: LCD30_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD30, LCD30_COM3)
+#error Invalid pin assignment for LCD30 COM3 pin: LCD30_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD30, LCD30_COM4)
+#error Invalid pin assignment for LCD30 COM4 pin: LCD30_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD30, LCD30_COM5)
+#error Invalid pin assignment for LCD30 COM5 pin: LCD30_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD30, LCD30_COM6)
+#error Invalid pin assignment for LCD30 COM6 pin: LCD30_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD30, LCD30_COM7)
+#error Invalid pin assignment for LCD30 COM7 pin: LCD30_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD30, LCD30_SEG0)
+#error Invalid pin assignment for LCD30 SEG0 pin: LCD30_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD30, LCD30_SEG1)
+#error Invalid pin assignment for LCD30 SEG1 pin: LCD30_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD30, LCD30_SEG10)
+#error Invalid pin assignment for LCD30 SEG10 pin: LCD30_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD30, LCD30_SEG11)
+#error Invalid pin assignment for LCD30 SEG11 pin: LCD30_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD30, LCD30_SEG12)
+#error Invalid pin assignment for LCD30 SEG12 pin: LCD30_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD30, LCD30_SEG13)
+#error Invalid pin assignment for LCD30 SEG13 pin: LCD30_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD30, LCD30_SEG14)
+#error Invalid pin assignment for LCD30 SEG14 pin: LCD30_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD30, LCD30_SEG15)
+#error Invalid pin assignment for LCD30 SEG15 pin: LCD30_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD30, LCD30_SEG16)
+#error Invalid pin assignment for LCD30 SEG16 pin: LCD30_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD30, LCD30_SEG17)
+#error Invalid pin assignment for LCD30 SEG17 pin: LCD30_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD30, LCD30_SEG18)
+#error Invalid pin assignment for LCD30 SEG18 pin: LCD30_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD30, LCD30_SEG19)
+#error Invalid pin assignment for LCD30 SEG19 pin: LCD30_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD30, LCD30_SEG2)
+#error Invalid pin assignment for LCD30 SEG2 pin: LCD30_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD30, LCD30_SEG20)
+#error Invalid pin assignment for LCD30 SEG20 pin: LCD30_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD30, LCD30_SEG21)
+#error Invalid pin assignment for LCD30 SEG21 pin: LCD30_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD30, LCD30_SEG22)
+#error Invalid pin assignment for LCD30 SEG22 pin: LCD30_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD30, LCD30_SEG23)
+#error Invalid pin assignment for LCD30 SEG23 pin: LCD30_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD30, LCD30_SEG24)
+#error Invalid pin assignment for LCD30 SEG24 pin: LCD30_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD30, LCD30_SEG25)
+#error Invalid pin assignment for LCD30 SEG25 pin: LCD30_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD30, LCD30_SEG26)
+#error Invalid pin assignment for LCD30 SEG26 pin: LCD30_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD30, LCD30_SEG27)
+#error Invalid pin assignment for LCD30 SEG27 pin: LCD30_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD30, LCD30_SEG28)
+#error Invalid pin assignment for LCD30 SEG28 pin: LCD30_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD30, LCD30_SEG29)
+#error Invalid pin assignment for LCD30 SEG29 pin: LCD30_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD30, LCD30_SEG3)
+#error Invalid pin assignment for LCD30 SEG3 pin: LCD30_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD30, LCD30_SEG30)
+#error Invalid pin assignment for LCD30 SEG30 pin: LCD30_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD30, LCD30_SEG31)
+#error Invalid pin assignment for LCD30 SEG31 pin: LCD30_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD30, LCD30_SEG32)
+#error Invalid pin assignment for LCD30 SEG32 pin: LCD30_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD30, LCD30_SEG33)
+#error Invalid pin assignment for LCD30 SEG33 pin: LCD30_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD30, LCD30_SEG34)
+#error Invalid pin assignment for LCD30 SEG34 pin: LCD30_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD30, LCD30_SEG35)
+#error Invalid pin assignment for LCD30 SEG35 pin: LCD30_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD30, LCD30_SEG36)
+#error Invalid pin assignment for LCD30 SEG36 pin: LCD30_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD30, LCD30_SEG37)
+#error Invalid pin assignment for LCD30 SEG37 pin: LCD30_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD30, LCD30_SEG38)
+#error Invalid pin assignment for LCD30 SEG38 pin: LCD30_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD30, LCD30_SEG39)
+#error Invalid pin assignment for LCD30 SEG39 pin: LCD30_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD30, LCD30_SEG4)
+#error Invalid pin assignment for LCD30 SEG4 pin: LCD30_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD30, LCD30_SEG40)
+#error Invalid pin assignment for LCD30 SEG40 pin: LCD30_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD30, LCD30_SEG41)
+#error Invalid pin assignment for LCD30 SEG41 pin: LCD30_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD30, LCD30_SEG42)
+#error Invalid pin assignment for LCD30 SEG42 pin: LCD30_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD30, LCD30_SEG43)
+#error Invalid pin assignment for LCD30 SEG43 pin: LCD30_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD30, LCD30_SEG44)
+#error Invalid pin assignment for LCD30 SEG44 pin: LCD30_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD30, LCD30_SEG45)
+#error Invalid pin assignment for LCD30 SEG45 pin: LCD30_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD30, LCD30_SEG46)
+#error Invalid pin assignment for LCD30 SEG46 pin: LCD30_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD30, LCD30_SEG47)
+#error Invalid pin assignment for LCD30 SEG47 pin: LCD30_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD30, LCD30_SEG48)
+#error Invalid pin assignment for LCD30 SEG48 pin: LCD30_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD30, LCD30_SEG49)
+#error Invalid pin assignment for LCD30 SEG49 pin: LCD30_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD30, LCD30_SEG5)
+#error Invalid pin assignment for LCD30 SEG5 pin: LCD30_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD30, LCD30_SEG50)
+#error Invalid pin assignment for LCD30 SEG50 pin: LCD30_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD30, LCD30_SEG51)
+#error Invalid pin assignment for LCD30 SEG51 pin: LCD30_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD30, LCD30_SEG6)
+#error Invalid pin assignment for LCD30 SEG6 pin: LCD30_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD30, LCD30_SEG7)
+#error Invalid pin assignment for LCD30 SEG7 pin: LCD30_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD30, LCD30_SEG8)
+#error Invalid pin assignment for LCD30 SEG8 pin: LCD30_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD30, LCD30_SEG9)
+#error Invalid pin assignment for LCD30 SEG9 pin: LCD30_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD30, LCD30_VLCD)
+#error Invalid pin assignment for LCD30 VLCD pin: LCD30_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD31
+#if !FIND_VALUE_LCD_COM0(_LCD31, LCD31_COM0)
+#error Invalid pin assignment for LCD31 COM0 pin: LCD31_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD31, LCD31_COM1)
+#error Invalid pin assignment for LCD31 COM1 pin: LCD31_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD31, LCD31_COM2)
+#error Invalid pin assignment for LCD31 COM2 pin: LCD31_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD31, LCD31_COM3)
+#error Invalid pin assignment for LCD31 COM3 pin: LCD31_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD31, LCD31_COM4)
+#error Invalid pin assignment for LCD31 COM4 pin: LCD31_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD31, LCD31_COM5)
+#error Invalid pin assignment for LCD31 COM5 pin: LCD31_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD31, LCD31_COM6)
+#error Invalid pin assignment for LCD31 COM6 pin: LCD31_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD31, LCD31_COM7)
+#error Invalid pin assignment for LCD31 COM7 pin: LCD31_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD31, LCD31_SEG0)
+#error Invalid pin assignment for LCD31 SEG0 pin: LCD31_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD31, LCD31_SEG1)
+#error Invalid pin assignment for LCD31 SEG1 pin: LCD31_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD31, LCD31_SEG10)
+#error Invalid pin assignment for LCD31 SEG10 pin: LCD31_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD31, LCD31_SEG11)
+#error Invalid pin assignment for LCD31 SEG11 pin: LCD31_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD31, LCD31_SEG12)
+#error Invalid pin assignment for LCD31 SEG12 pin: LCD31_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD31, LCD31_SEG13)
+#error Invalid pin assignment for LCD31 SEG13 pin: LCD31_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD31, LCD31_SEG14)
+#error Invalid pin assignment for LCD31 SEG14 pin: LCD31_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD31, LCD31_SEG15)
+#error Invalid pin assignment for LCD31 SEG15 pin: LCD31_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD31, LCD31_SEG16)
+#error Invalid pin assignment for LCD31 SEG16 pin: LCD31_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD31, LCD31_SEG17)
+#error Invalid pin assignment for LCD31 SEG17 pin: LCD31_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD31, LCD31_SEG18)
+#error Invalid pin assignment for LCD31 SEG18 pin: LCD31_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD31, LCD31_SEG19)
+#error Invalid pin assignment for LCD31 SEG19 pin: LCD31_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD31, LCD31_SEG2)
+#error Invalid pin assignment for LCD31 SEG2 pin: LCD31_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD31, LCD31_SEG20)
+#error Invalid pin assignment for LCD31 SEG20 pin: LCD31_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD31, LCD31_SEG21)
+#error Invalid pin assignment for LCD31 SEG21 pin: LCD31_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD31, LCD31_SEG22)
+#error Invalid pin assignment for LCD31 SEG22 pin: LCD31_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD31, LCD31_SEG23)
+#error Invalid pin assignment for LCD31 SEG23 pin: LCD31_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD31, LCD31_SEG24)
+#error Invalid pin assignment for LCD31 SEG24 pin: LCD31_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD31, LCD31_SEG25)
+#error Invalid pin assignment for LCD31 SEG25 pin: LCD31_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD31, LCD31_SEG26)
+#error Invalid pin assignment for LCD31 SEG26 pin: LCD31_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD31, LCD31_SEG27)
+#error Invalid pin assignment for LCD31 SEG27 pin: LCD31_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD31, LCD31_SEG28)
+#error Invalid pin assignment for LCD31 SEG28 pin: LCD31_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD31, LCD31_SEG29)
+#error Invalid pin assignment for LCD31 SEG29 pin: LCD31_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD31, LCD31_SEG3)
+#error Invalid pin assignment for LCD31 SEG3 pin: LCD31_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD31, LCD31_SEG30)
+#error Invalid pin assignment for LCD31 SEG30 pin: LCD31_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD31, LCD31_SEG31)
+#error Invalid pin assignment for LCD31 SEG31 pin: LCD31_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD31, LCD31_SEG32)
+#error Invalid pin assignment for LCD31 SEG32 pin: LCD31_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD31, LCD31_SEG33)
+#error Invalid pin assignment for LCD31 SEG33 pin: LCD31_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD31, LCD31_SEG34)
+#error Invalid pin assignment for LCD31 SEG34 pin: LCD31_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD31, LCD31_SEG35)
+#error Invalid pin assignment for LCD31 SEG35 pin: LCD31_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD31, LCD31_SEG36)
+#error Invalid pin assignment for LCD31 SEG36 pin: LCD31_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD31, LCD31_SEG37)
+#error Invalid pin assignment for LCD31 SEG37 pin: LCD31_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD31, LCD31_SEG38)
+#error Invalid pin assignment for LCD31 SEG38 pin: LCD31_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD31, LCD31_SEG39)
+#error Invalid pin assignment for LCD31 SEG39 pin: LCD31_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD31, LCD31_SEG4)
+#error Invalid pin assignment for LCD31 SEG4 pin: LCD31_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD31, LCD31_SEG40)
+#error Invalid pin assignment for LCD31 SEG40 pin: LCD31_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD31, LCD31_SEG41)
+#error Invalid pin assignment for LCD31 SEG41 pin: LCD31_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD31, LCD31_SEG42)
+#error Invalid pin assignment for LCD31 SEG42 pin: LCD31_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD31, LCD31_SEG43)
+#error Invalid pin assignment for LCD31 SEG43 pin: LCD31_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD31, LCD31_SEG44)
+#error Invalid pin assignment for LCD31 SEG44 pin: LCD31_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD31, LCD31_SEG45)
+#error Invalid pin assignment for LCD31 SEG45 pin: LCD31_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD31, LCD31_SEG46)
+#error Invalid pin assignment for LCD31 SEG46 pin: LCD31_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD31, LCD31_SEG47)
+#error Invalid pin assignment for LCD31 SEG47 pin: LCD31_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD31, LCD31_SEG48)
+#error Invalid pin assignment for LCD31 SEG48 pin: LCD31_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD31, LCD31_SEG49)
+#error Invalid pin assignment for LCD31 SEG49 pin: LCD31_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD31, LCD31_SEG5)
+#error Invalid pin assignment for LCD31 SEG5 pin: LCD31_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD31, LCD31_SEG50)
+#error Invalid pin assignment for LCD31 SEG50 pin: LCD31_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD31, LCD31_SEG51)
+#error Invalid pin assignment for LCD31 SEG51 pin: LCD31_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD31, LCD31_SEG6)
+#error Invalid pin assignment for LCD31 SEG6 pin: LCD31_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD31, LCD31_SEG7)
+#error Invalid pin assignment for LCD31 SEG7 pin: LCD31_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD31, LCD31_SEG8)
+#error Invalid pin assignment for LCD31 SEG8 pin: LCD31_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD31, LCD31_SEG9)
+#error Invalid pin assignment for LCD31 SEG9 pin: LCD31_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD31, LCD31_VLCD)
+#error Invalid pin assignment for LCD31 VLCD pin: LCD31_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD32
+#if !FIND_VALUE_LCD_COM0(_LCD32, LCD32_COM0)
+#error Invalid pin assignment for LCD32 COM0 pin: LCD32_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD32, LCD32_COM1)
+#error Invalid pin assignment for LCD32 COM1 pin: LCD32_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD32, LCD32_COM2)
+#error Invalid pin assignment for LCD32 COM2 pin: LCD32_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD32, LCD32_COM3)
+#error Invalid pin assignment for LCD32 COM3 pin: LCD32_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD32, LCD32_COM4)
+#error Invalid pin assignment for LCD32 COM4 pin: LCD32_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD32, LCD32_COM5)
+#error Invalid pin assignment for LCD32 COM5 pin: LCD32_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD32, LCD32_COM6)
+#error Invalid pin assignment for LCD32 COM6 pin: LCD32_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD32, LCD32_COM7)
+#error Invalid pin assignment for LCD32 COM7 pin: LCD32_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD32, LCD32_SEG0)
+#error Invalid pin assignment for LCD32 SEG0 pin: LCD32_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD32, LCD32_SEG1)
+#error Invalid pin assignment for LCD32 SEG1 pin: LCD32_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD32, LCD32_SEG10)
+#error Invalid pin assignment for LCD32 SEG10 pin: LCD32_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD32, LCD32_SEG11)
+#error Invalid pin assignment for LCD32 SEG11 pin: LCD32_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD32, LCD32_SEG12)
+#error Invalid pin assignment for LCD32 SEG12 pin: LCD32_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD32, LCD32_SEG13)
+#error Invalid pin assignment for LCD32 SEG13 pin: LCD32_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD32, LCD32_SEG14)
+#error Invalid pin assignment for LCD32 SEG14 pin: LCD32_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD32, LCD32_SEG15)
+#error Invalid pin assignment for LCD32 SEG15 pin: LCD32_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD32, LCD32_SEG16)
+#error Invalid pin assignment for LCD32 SEG16 pin: LCD32_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD32, LCD32_SEG17)
+#error Invalid pin assignment for LCD32 SEG17 pin: LCD32_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD32, LCD32_SEG18)
+#error Invalid pin assignment for LCD32 SEG18 pin: LCD32_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD32, LCD32_SEG19)
+#error Invalid pin assignment for LCD32 SEG19 pin: LCD32_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD32, LCD32_SEG2)
+#error Invalid pin assignment for LCD32 SEG2 pin: LCD32_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD32, LCD32_SEG20)
+#error Invalid pin assignment for LCD32 SEG20 pin: LCD32_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD32, LCD32_SEG21)
+#error Invalid pin assignment for LCD32 SEG21 pin: LCD32_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD32, LCD32_SEG22)
+#error Invalid pin assignment for LCD32 SEG22 pin: LCD32_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD32, LCD32_SEG23)
+#error Invalid pin assignment for LCD32 SEG23 pin: LCD32_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD32, LCD32_SEG24)
+#error Invalid pin assignment for LCD32 SEG24 pin: LCD32_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD32, LCD32_SEG25)
+#error Invalid pin assignment for LCD32 SEG25 pin: LCD32_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD32, LCD32_SEG26)
+#error Invalid pin assignment for LCD32 SEG26 pin: LCD32_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD32, LCD32_SEG27)
+#error Invalid pin assignment for LCD32 SEG27 pin: LCD32_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD32, LCD32_SEG28)
+#error Invalid pin assignment for LCD32 SEG28 pin: LCD32_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD32, LCD32_SEG29)
+#error Invalid pin assignment for LCD32 SEG29 pin: LCD32_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD32, LCD32_SEG3)
+#error Invalid pin assignment for LCD32 SEG3 pin: LCD32_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD32, LCD32_SEG30)
+#error Invalid pin assignment for LCD32 SEG30 pin: LCD32_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD32, LCD32_SEG31)
+#error Invalid pin assignment for LCD32 SEG31 pin: LCD32_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD32, LCD32_SEG32)
+#error Invalid pin assignment for LCD32 SEG32 pin: LCD32_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD32, LCD32_SEG33)
+#error Invalid pin assignment for LCD32 SEG33 pin: LCD32_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD32, LCD32_SEG34)
+#error Invalid pin assignment for LCD32 SEG34 pin: LCD32_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD32, LCD32_SEG35)
+#error Invalid pin assignment for LCD32 SEG35 pin: LCD32_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD32, LCD32_SEG36)
+#error Invalid pin assignment for LCD32 SEG36 pin: LCD32_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD32, LCD32_SEG37)
+#error Invalid pin assignment for LCD32 SEG37 pin: LCD32_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD32, LCD32_SEG38)
+#error Invalid pin assignment for LCD32 SEG38 pin: LCD32_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD32, LCD32_SEG39)
+#error Invalid pin assignment for LCD32 SEG39 pin: LCD32_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD32, LCD32_SEG4)
+#error Invalid pin assignment for LCD32 SEG4 pin: LCD32_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD32, LCD32_SEG40)
+#error Invalid pin assignment for LCD32 SEG40 pin: LCD32_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD32, LCD32_SEG41)
+#error Invalid pin assignment for LCD32 SEG41 pin: LCD32_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD32, LCD32_SEG42)
+#error Invalid pin assignment for LCD32 SEG42 pin: LCD32_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD32, LCD32_SEG43)
+#error Invalid pin assignment for LCD32 SEG43 pin: LCD32_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD32, LCD32_SEG44)
+#error Invalid pin assignment for LCD32 SEG44 pin: LCD32_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD32, LCD32_SEG45)
+#error Invalid pin assignment for LCD32 SEG45 pin: LCD32_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD32, LCD32_SEG46)
+#error Invalid pin assignment for LCD32 SEG46 pin: LCD32_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD32, LCD32_SEG47)
+#error Invalid pin assignment for LCD32 SEG47 pin: LCD32_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD32, LCD32_SEG48)
+#error Invalid pin assignment for LCD32 SEG48 pin: LCD32_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD32, LCD32_SEG49)
+#error Invalid pin assignment for LCD32 SEG49 pin: LCD32_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD32, LCD32_SEG5)
+#error Invalid pin assignment for LCD32 SEG5 pin: LCD32_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD32, LCD32_SEG50)
+#error Invalid pin assignment for LCD32 SEG50 pin: LCD32_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD32, LCD32_SEG51)
+#error Invalid pin assignment for LCD32 SEG51 pin: LCD32_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD32, LCD32_SEG6)
+#error Invalid pin assignment for LCD32 SEG6 pin: LCD32_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD32, LCD32_SEG7)
+#error Invalid pin assignment for LCD32 SEG7 pin: LCD32_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD32, LCD32_SEG8)
+#error Invalid pin assignment for LCD32 SEG8 pin: LCD32_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD32, LCD32_SEG9)
+#error Invalid pin assignment for LCD32 SEG9 pin: LCD32_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD32, LCD32_VLCD)
+#error Invalid pin assignment for LCD32 VLCD pin: LCD32_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD33
+#if !FIND_VALUE_LCD_COM0(_LCD33, LCD33_COM0)
+#error Invalid pin assignment for LCD33 COM0 pin: LCD33_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD33, LCD33_COM1)
+#error Invalid pin assignment for LCD33 COM1 pin: LCD33_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD33, LCD33_COM2)
+#error Invalid pin assignment for LCD33 COM2 pin: LCD33_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD33, LCD33_COM3)
+#error Invalid pin assignment for LCD33 COM3 pin: LCD33_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD33, LCD33_COM4)
+#error Invalid pin assignment for LCD33 COM4 pin: LCD33_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD33, LCD33_COM5)
+#error Invalid pin assignment for LCD33 COM5 pin: LCD33_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD33, LCD33_COM6)
+#error Invalid pin assignment for LCD33 COM6 pin: LCD33_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD33, LCD33_COM7)
+#error Invalid pin assignment for LCD33 COM7 pin: LCD33_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD33, LCD33_SEG0)
+#error Invalid pin assignment for LCD33 SEG0 pin: LCD33_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD33, LCD33_SEG1)
+#error Invalid pin assignment for LCD33 SEG1 pin: LCD33_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD33, LCD33_SEG10)
+#error Invalid pin assignment for LCD33 SEG10 pin: LCD33_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD33, LCD33_SEG11)
+#error Invalid pin assignment for LCD33 SEG11 pin: LCD33_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD33, LCD33_SEG12)
+#error Invalid pin assignment for LCD33 SEG12 pin: LCD33_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD33, LCD33_SEG13)
+#error Invalid pin assignment for LCD33 SEG13 pin: LCD33_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD33, LCD33_SEG14)
+#error Invalid pin assignment for LCD33 SEG14 pin: LCD33_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD33, LCD33_SEG15)
+#error Invalid pin assignment for LCD33 SEG15 pin: LCD33_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD33, LCD33_SEG16)
+#error Invalid pin assignment for LCD33 SEG16 pin: LCD33_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD33, LCD33_SEG17)
+#error Invalid pin assignment for LCD33 SEG17 pin: LCD33_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD33, LCD33_SEG18)
+#error Invalid pin assignment for LCD33 SEG18 pin: LCD33_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD33, LCD33_SEG19)
+#error Invalid pin assignment for LCD33 SEG19 pin: LCD33_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD33, LCD33_SEG2)
+#error Invalid pin assignment for LCD33 SEG2 pin: LCD33_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD33, LCD33_SEG20)
+#error Invalid pin assignment for LCD33 SEG20 pin: LCD33_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD33, LCD33_SEG21)
+#error Invalid pin assignment for LCD33 SEG21 pin: LCD33_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD33, LCD33_SEG22)
+#error Invalid pin assignment for LCD33 SEG22 pin: LCD33_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD33, LCD33_SEG23)
+#error Invalid pin assignment for LCD33 SEG23 pin: LCD33_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD33, LCD33_SEG24)
+#error Invalid pin assignment for LCD33 SEG24 pin: LCD33_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD33, LCD33_SEG25)
+#error Invalid pin assignment for LCD33 SEG25 pin: LCD33_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD33, LCD33_SEG26)
+#error Invalid pin assignment for LCD33 SEG26 pin: LCD33_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD33, LCD33_SEG27)
+#error Invalid pin assignment for LCD33 SEG27 pin: LCD33_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD33, LCD33_SEG28)
+#error Invalid pin assignment for LCD33 SEG28 pin: LCD33_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD33, LCD33_SEG29)
+#error Invalid pin assignment for LCD33 SEG29 pin: LCD33_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD33, LCD33_SEG3)
+#error Invalid pin assignment for LCD33 SEG3 pin: LCD33_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD33, LCD33_SEG30)
+#error Invalid pin assignment for LCD33 SEG30 pin: LCD33_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD33, LCD33_SEG31)
+#error Invalid pin assignment for LCD33 SEG31 pin: LCD33_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD33, LCD33_SEG32)
+#error Invalid pin assignment for LCD33 SEG32 pin: LCD33_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD33, LCD33_SEG33)
+#error Invalid pin assignment for LCD33 SEG33 pin: LCD33_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD33, LCD33_SEG34)
+#error Invalid pin assignment for LCD33 SEG34 pin: LCD33_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD33, LCD33_SEG35)
+#error Invalid pin assignment for LCD33 SEG35 pin: LCD33_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD33, LCD33_SEG36)
+#error Invalid pin assignment for LCD33 SEG36 pin: LCD33_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD33, LCD33_SEG37)
+#error Invalid pin assignment for LCD33 SEG37 pin: LCD33_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD33, LCD33_SEG38)
+#error Invalid pin assignment for LCD33 SEG38 pin: LCD33_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD33, LCD33_SEG39)
+#error Invalid pin assignment for LCD33 SEG39 pin: LCD33_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD33, LCD33_SEG4)
+#error Invalid pin assignment for LCD33 SEG4 pin: LCD33_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD33, LCD33_SEG40)
+#error Invalid pin assignment for LCD33 SEG40 pin: LCD33_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD33, LCD33_SEG41)
+#error Invalid pin assignment for LCD33 SEG41 pin: LCD33_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD33, LCD33_SEG42)
+#error Invalid pin assignment for LCD33 SEG42 pin: LCD33_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD33, LCD33_SEG43)
+#error Invalid pin assignment for LCD33 SEG43 pin: LCD33_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD33, LCD33_SEG44)
+#error Invalid pin assignment for LCD33 SEG44 pin: LCD33_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD33, LCD33_SEG45)
+#error Invalid pin assignment for LCD33 SEG45 pin: LCD33_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD33, LCD33_SEG46)
+#error Invalid pin assignment for LCD33 SEG46 pin: LCD33_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD33, LCD33_SEG47)
+#error Invalid pin assignment for LCD33 SEG47 pin: LCD33_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD33, LCD33_SEG48)
+#error Invalid pin assignment for LCD33 SEG48 pin: LCD33_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD33, LCD33_SEG49)
+#error Invalid pin assignment for LCD33 SEG49 pin: LCD33_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD33, LCD33_SEG5)
+#error Invalid pin assignment for LCD33 SEG5 pin: LCD33_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD33, LCD33_SEG50)
+#error Invalid pin assignment for LCD33 SEG50 pin: LCD33_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD33, LCD33_SEG51)
+#error Invalid pin assignment for LCD33 SEG51 pin: LCD33_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD33, LCD33_SEG6)
+#error Invalid pin assignment for LCD33 SEG6 pin: LCD33_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD33, LCD33_SEG7)
+#error Invalid pin assignment for LCD33 SEG7 pin: LCD33_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD33, LCD33_SEG8)
+#error Invalid pin assignment for LCD33 SEG8 pin: LCD33_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD33, LCD33_SEG9)
+#error Invalid pin assignment for LCD33 SEG9 pin: LCD33_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD33, LCD33_VLCD)
+#error Invalid pin assignment for LCD33 VLCD pin: LCD33_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD34
+#if !FIND_VALUE_LCD_COM0(_LCD34, LCD34_COM0)
+#error Invalid pin assignment for LCD34 COM0 pin: LCD34_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD34, LCD34_COM1)
+#error Invalid pin assignment for LCD34 COM1 pin: LCD34_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD34, LCD34_COM2)
+#error Invalid pin assignment for LCD34 COM2 pin: LCD34_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD34, LCD34_COM3)
+#error Invalid pin assignment for LCD34 COM3 pin: LCD34_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD34, LCD34_COM4)
+#error Invalid pin assignment for LCD34 COM4 pin: LCD34_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD34, LCD34_COM5)
+#error Invalid pin assignment for LCD34 COM5 pin: LCD34_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD34, LCD34_COM6)
+#error Invalid pin assignment for LCD34 COM6 pin: LCD34_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD34, LCD34_COM7)
+#error Invalid pin assignment for LCD34 COM7 pin: LCD34_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD34, LCD34_SEG0)
+#error Invalid pin assignment for LCD34 SEG0 pin: LCD34_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD34, LCD34_SEG1)
+#error Invalid pin assignment for LCD34 SEG1 pin: LCD34_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD34, LCD34_SEG10)
+#error Invalid pin assignment for LCD34 SEG10 pin: LCD34_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD34, LCD34_SEG11)
+#error Invalid pin assignment for LCD34 SEG11 pin: LCD34_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD34, LCD34_SEG12)
+#error Invalid pin assignment for LCD34 SEG12 pin: LCD34_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD34, LCD34_SEG13)
+#error Invalid pin assignment for LCD34 SEG13 pin: LCD34_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD34, LCD34_SEG14)
+#error Invalid pin assignment for LCD34 SEG14 pin: LCD34_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD34, LCD34_SEG15)
+#error Invalid pin assignment for LCD34 SEG15 pin: LCD34_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD34, LCD34_SEG16)
+#error Invalid pin assignment for LCD34 SEG16 pin: LCD34_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD34, LCD34_SEG17)
+#error Invalid pin assignment for LCD34 SEG17 pin: LCD34_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD34, LCD34_SEG18)
+#error Invalid pin assignment for LCD34 SEG18 pin: LCD34_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD34, LCD34_SEG19)
+#error Invalid pin assignment for LCD34 SEG19 pin: LCD34_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD34, LCD34_SEG2)
+#error Invalid pin assignment for LCD34 SEG2 pin: LCD34_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD34, LCD34_SEG20)
+#error Invalid pin assignment for LCD34 SEG20 pin: LCD34_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD34, LCD34_SEG21)
+#error Invalid pin assignment for LCD34 SEG21 pin: LCD34_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD34, LCD34_SEG22)
+#error Invalid pin assignment for LCD34 SEG22 pin: LCD34_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD34, LCD34_SEG23)
+#error Invalid pin assignment for LCD34 SEG23 pin: LCD34_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD34, LCD34_SEG24)
+#error Invalid pin assignment for LCD34 SEG24 pin: LCD34_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD34, LCD34_SEG25)
+#error Invalid pin assignment for LCD34 SEG25 pin: LCD34_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD34, LCD34_SEG26)
+#error Invalid pin assignment for LCD34 SEG26 pin: LCD34_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD34, LCD34_SEG27)
+#error Invalid pin assignment for LCD34 SEG27 pin: LCD34_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD34, LCD34_SEG28)
+#error Invalid pin assignment for LCD34 SEG28 pin: LCD34_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD34, LCD34_SEG29)
+#error Invalid pin assignment for LCD34 SEG29 pin: LCD34_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD34, LCD34_SEG3)
+#error Invalid pin assignment for LCD34 SEG3 pin: LCD34_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD34, LCD34_SEG30)
+#error Invalid pin assignment for LCD34 SEG30 pin: LCD34_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD34, LCD34_SEG31)
+#error Invalid pin assignment for LCD34 SEG31 pin: LCD34_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD34, LCD34_SEG32)
+#error Invalid pin assignment for LCD34 SEG32 pin: LCD34_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD34, LCD34_SEG33)
+#error Invalid pin assignment for LCD34 SEG33 pin: LCD34_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD34, LCD34_SEG34)
+#error Invalid pin assignment for LCD34 SEG34 pin: LCD34_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD34, LCD34_SEG35)
+#error Invalid pin assignment for LCD34 SEG35 pin: LCD34_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD34, LCD34_SEG36)
+#error Invalid pin assignment for LCD34 SEG36 pin: LCD34_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD34, LCD34_SEG37)
+#error Invalid pin assignment for LCD34 SEG37 pin: LCD34_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD34, LCD34_SEG38)
+#error Invalid pin assignment for LCD34 SEG38 pin: LCD34_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD34, LCD34_SEG39)
+#error Invalid pin assignment for LCD34 SEG39 pin: LCD34_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD34, LCD34_SEG4)
+#error Invalid pin assignment for LCD34 SEG4 pin: LCD34_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD34, LCD34_SEG40)
+#error Invalid pin assignment for LCD34 SEG40 pin: LCD34_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD34, LCD34_SEG41)
+#error Invalid pin assignment for LCD34 SEG41 pin: LCD34_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD34, LCD34_SEG42)
+#error Invalid pin assignment for LCD34 SEG42 pin: LCD34_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD34, LCD34_SEG43)
+#error Invalid pin assignment for LCD34 SEG43 pin: LCD34_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD34, LCD34_SEG44)
+#error Invalid pin assignment for LCD34 SEG44 pin: LCD34_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD34, LCD34_SEG45)
+#error Invalid pin assignment for LCD34 SEG45 pin: LCD34_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD34, LCD34_SEG46)
+#error Invalid pin assignment for LCD34 SEG46 pin: LCD34_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD34, LCD34_SEG47)
+#error Invalid pin assignment for LCD34 SEG47 pin: LCD34_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD34, LCD34_SEG48)
+#error Invalid pin assignment for LCD34 SEG48 pin: LCD34_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD34, LCD34_SEG49)
+#error Invalid pin assignment for LCD34 SEG49 pin: LCD34_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD34, LCD34_SEG5)
+#error Invalid pin assignment for LCD34 SEG5 pin: LCD34_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD34, LCD34_SEG50)
+#error Invalid pin assignment for LCD34 SEG50 pin: LCD34_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD34, LCD34_SEG51)
+#error Invalid pin assignment for LCD34 SEG51 pin: LCD34_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD34, LCD34_SEG6)
+#error Invalid pin assignment for LCD34 SEG6 pin: LCD34_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD34, LCD34_SEG7)
+#error Invalid pin assignment for LCD34 SEG7 pin: LCD34_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD34, LCD34_SEG8)
+#error Invalid pin assignment for LCD34 SEG8 pin: LCD34_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD34, LCD34_SEG9)
+#error Invalid pin assignment for LCD34 SEG9 pin: LCD34_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD34, LCD34_VLCD)
+#error Invalid pin assignment for LCD34 VLCD pin: LCD34_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD35
+#if !FIND_VALUE_LCD_COM0(_LCD35, LCD35_COM0)
+#error Invalid pin assignment for LCD35 COM0 pin: LCD35_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD35, LCD35_COM1)
+#error Invalid pin assignment for LCD35 COM1 pin: LCD35_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD35, LCD35_COM2)
+#error Invalid pin assignment for LCD35 COM2 pin: LCD35_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD35, LCD35_COM3)
+#error Invalid pin assignment for LCD35 COM3 pin: LCD35_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD35, LCD35_COM4)
+#error Invalid pin assignment for LCD35 COM4 pin: LCD35_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD35, LCD35_COM5)
+#error Invalid pin assignment for LCD35 COM5 pin: LCD35_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD35, LCD35_COM6)
+#error Invalid pin assignment for LCD35 COM6 pin: LCD35_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD35, LCD35_COM7)
+#error Invalid pin assignment for LCD35 COM7 pin: LCD35_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD35, LCD35_SEG0)
+#error Invalid pin assignment for LCD35 SEG0 pin: LCD35_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD35, LCD35_SEG1)
+#error Invalid pin assignment for LCD35 SEG1 pin: LCD35_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD35, LCD35_SEG10)
+#error Invalid pin assignment for LCD35 SEG10 pin: LCD35_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD35, LCD35_SEG11)
+#error Invalid pin assignment for LCD35 SEG11 pin: LCD35_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD35, LCD35_SEG12)
+#error Invalid pin assignment for LCD35 SEG12 pin: LCD35_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD35, LCD35_SEG13)
+#error Invalid pin assignment for LCD35 SEG13 pin: LCD35_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD35, LCD35_SEG14)
+#error Invalid pin assignment for LCD35 SEG14 pin: LCD35_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD35, LCD35_SEG15)
+#error Invalid pin assignment for LCD35 SEG15 pin: LCD35_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD35, LCD35_SEG16)
+#error Invalid pin assignment for LCD35 SEG16 pin: LCD35_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD35, LCD35_SEG17)
+#error Invalid pin assignment for LCD35 SEG17 pin: LCD35_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD35, LCD35_SEG18)
+#error Invalid pin assignment for LCD35 SEG18 pin: LCD35_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD35, LCD35_SEG19)
+#error Invalid pin assignment for LCD35 SEG19 pin: LCD35_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD35, LCD35_SEG2)
+#error Invalid pin assignment for LCD35 SEG2 pin: LCD35_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD35, LCD35_SEG20)
+#error Invalid pin assignment for LCD35 SEG20 pin: LCD35_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD35, LCD35_SEG21)
+#error Invalid pin assignment for LCD35 SEG21 pin: LCD35_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD35, LCD35_SEG22)
+#error Invalid pin assignment for LCD35 SEG22 pin: LCD35_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD35, LCD35_SEG23)
+#error Invalid pin assignment for LCD35 SEG23 pin: LCD35_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD35, LCD35_SEG24)
+#error Invalid pin assignment for LCD35 SEG24 pin: LCD35_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD35, LCD35_SEG25)
+#error Invalid pin assignment for LCD35 SEG25 pin: LCD35_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD35, LCD35_SEG26)
+#error Invalid pin assignment for LCD35 SEG26 pin: LCD35_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD35, LCD35_SEG27)
+#error Invalid pin assignment for LCD35 SEG27 pin: LCD35_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD35, LCD35_SEG28)
+#error Invalid pin assignment for LCD35 SEG28 pin: LCD35_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD35, LCD35_SEG29)
+#error Invalid pin assignment for LCD35 SEG29 pin: LCD35_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD35, LCD35_SEG3)
+#error Invalid pin assignment for LCD35 SEG3 pin: LCD35_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD35, LCD35_SEG30)
+#error Invalid pin assignment for LCD35 SEG30 pin: LCD35_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD35, LCD35_SEG31)
+#error Invalid pin assignment for LCD35 SEG31 pin: LCD35_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD35, LCD35_SEG32)
+#error Invalid pin assignment for LCD35 SEG32 pin: LCD35_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD35, LCD35_SEG33)
+#error Invalid pin assignment for LCD35 SEG33 pin: LCD35_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD35, LCD35_SEG34)
+#error Invalid pin assignment for LCD35 SEG34 pin: LCD35_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD35, LCD35_SEG35)
+#error Invalid pin assignment for LCD35 SEG35 pin: LCD35_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD35, LCD35_SEG36)
+#error Invalid pin assignment for LCD35 SEG36 pin: LCD35_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD35, LCD35_SEG37)
+#error Invalid pin assignment for LCD35 SEG37 pin: LCD35_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD35, LCD35_SEG38)
+#error Invalid pin assignment for LCD35 SEG38 pin: LCD35_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD35, LCD35_SEG39)
+#error Invalid pin assignment for LCD35 SEG39 pin: LCD35_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD35, LCD35_SEG4)
+#error Invalid pin assignment for LCD35 SEG4 pin: LCD35_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD35, LCD35_SEG40)
+#error Invalid pin assignment for LCD35 SEG40 pin: LCD35_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD35, LCD35_SEG41)
+#error Invalid pin assignment for LCD35 SEG41 pin: LCD35_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD35, LCD35_SEG42)
+#error Invalid pin assignment for LCD35 SEG42 pin: LCD35_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD35, LCD35_SEG43)
+#error Invalid pin assignment for LCD35 SEG43 pin: LCD35_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD35, LCD35_SEG44)
+#error Invalid pin assignment for LCD35 SEG44 pin: LCD35_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD35, LCD35_SEG45)
+#error Invalid pin assignment for LCD35 SEG45 pin: LCD35_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD35, LCD35_SEG46)
+#error Invalid pin assignment for LCD35 SEG46 pin: LCD35_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD35, LCD35_SEG47)
+#error Invalid pin assignment for LCD35 SEG47 pin: LCD35_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD35, LCD35_SEG48)
+#error Invalid pin assignment for LCD35 SEG48 pin: LCD35_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD35, LCD35_SEG49)
+#error Invalid pin assignment for LCD35 SEG49 pin: LCD35_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD35, LCD35_SEG5)
+#error Invalid pin assignment for LCD35 SEG5 pin: LCD35_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD35, LCD35_SEG50)
+#error Invalid pin assignment for LCD35 SEG50 pin: LCD35_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD35, LCD35_SEG51)
+#error Invalid pin assignment for LCD35 SEG51 pin: LCD35_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD35, LCD35_SEG6)
+#error Invalid pin assignment for LCD35 SEG6 pin: LCD35_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD35, LCD35_SEG7)
+#error Invalid pin assignment for LCD35 SEG7 pin: LCD35_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD35, LCD35_SEG8)
+#error Invalid pin assignment for LCD35 SEG8 pin: LCD35_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD35, LCD35_SEG9)
+#error Invalid pin assignment for LCD35 SEG9 pin: LCD35_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD35, LCD35_VLCD)
+#error Invalid pin assignment for LCD35 VLCD pin: LCD35_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD36
+#if !FIND_VALUE_LCD_COM0(_LCD36, LCD36_COM0)
+#error Invalid pin assignment for LCD36 COM0 pin: LCD36_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD36, LCD36_COM1)
+#error Invalid pin assignment for LCD36 COM1 pin: LCD36_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD36, LCD36_COM2)
+#error Invalid pin assignment for LCD36 COM2 pin: LCD36_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD36, LCD36_COM3)
+#error Invalid pin assignment for LCD36 COM3 pin: LCD36_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD36, LCD36_COM4)
+#error Invalid pin assignment for LCD36 COM4 pin: LCD36_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD36, LCD36_COM5)
+#error Invalid pin assignment for LCD36 COM5 pin: LCD36_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD36, LCD36_COM6)
+#error Invalid pin assignment for LCD36 COM6 pin: LCD36_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD36, LCD36_COM7)
+#error Invalid pin assignment for LCD36 COM7 pin: LCD36_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD36, LCD36_SEG0)
+#error Invalid pin assignment for LCD36 SEG0 pin: LCD36_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD36, LCD36_SEG1)
+#error Invalid pin assignment for LCD36 SEG1 pin: LCD36_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD36, LCD36_SEG10)
+#error Invalid pin assignment for LCD36 SEG10 pin: LCD36_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD36, LCD36_SEG11)
+#error Invalid pin assignment for LCD36 SEG11 pin: LCD36_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD36, LCD36_SEG12)
+#error Invalid pin assignment for LCD36 SEG12 pin: LCD36_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD36, LCD36_SEG13)
+#error Invalid pin assignment for LCD36 SEG13 pin: LCD36_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD36, LCD36_SEG14)
+#error Invalid pin assignment for LCD36 SEG14 pin: LCD36_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD36, LCD36_SEG15)
+#error Invalid pin assignment for LCD36 SEG15 pin: LCD36_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD36, LCD36_SEG16)
+#error Invalid pin assignment for LCD36 SEG16 pin: LCD36_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD36, LCD36_SEG17)
+#error Invalid pin assignment for LCD36 SEG17 pin: LCD36_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD36, LCD36_SEG18)
+#error Invalid pin assignment for LCD36 SEG18 pin: LCD36_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD36, LCD36_SEG19)
+#error Invalid pin assignment for LCD36 SEG19 pin: LCD36_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD36, LCD36_SEG2)
+#error Invalid pin assignment for LCD36 SEG2 pin: LCD36_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD36, LCD36_SEG20)
+#error Invalid pin assignment for LCD36 SEG20 pin: LCD36_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD36, LCD36_SEG21)
+#error Invalid pin assignment for LCD36 SEG21 pin: LCD36_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD36, LCD36_SEG22)
+#error Invalid pin assignment for LCD36 SEG22 pin: LCD36_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD36, LCD36_SEG23)
+#error Invalid pin assignment for LCD36 SEG23 pin: LCD36_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD36, LCD36_SEG24)
+#error Invalid pin assignment for LCD36 SEG24 pin: LCD36_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD36, LCD36_SEG25)
+#error Invalid pin assignment for LCD36 SEG25 pin: LCD36_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD36, LCD36_SEG26)
+#error Invalid pin assignment for LCD36 SEG26 pin: LCD36_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD36, LCD36_SEG27)
+#error Invalid pin assignment for LCD36 SEG27 pin: LCD36_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD36, LCD36_SEG28)
+#error Invalid pin assignment for LCD36 SEG28 pin: LCD36_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD36, LCD36_SEG29)
+#error Invalid pin assignment for LCD36 SEG29 pin: LCD36_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD36, LCD36_SEG3)
+#error Invalid pin assignment for LCD36 SEG3 pin: LCD36_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD36, LCD36_SEG30)
+#error Invalid pin assignment for LCD36 SEG30 pin: LCD36_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD36, LCD36_SEG31)
+#error Invalid pin assignment for LCD36 SEG31 pin: LCD36_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD36, LCD36_SEG32)
+#error Invalid pin assignment for LCD36 SEG32 pin: LCD36_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD36, LCD36_SEG33)
+#error Invalid pin assignment for LCD36 SEG33 pin: LCD36_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD36, LCD36_SEG34)
+#error Invalid pin assignment for LCD36 SEG34 pin: LCD36_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD36, LCD36_SEG35)
+#error Invalid pin assignment for LCD36 SEG35 pin: LCD36_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD36, LCD36_SEG36)
+#error Invalid pin assignment for LCD36 SEG36 pin: LCD36_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD36, LCD36_SEG37)
+#error Invalid pin assignment for LCD36 SEG37 pin: LCD36_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD36, LCD36_SEG38)
+#error Invalid pin assignment for LCD36 SEG38 pin: LCD36_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD36, LCD36_SEG39)
+#error Invalid pin assignment for LCD36 SEG39 pin: LCD36_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD36, LCD36_SEG4)
+#error Invalid pin assignment for LCD36 SEG4 pin: LCD36_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD36, LCD36_SEG40)
+#error Invalid pin assignment for LCD36 SEG40 pin: LCD36_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD36, LCD36_SEG41)
+#error Invalid pin assignment for LCD36 SEG41 pin: LCD36_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD36, LCD36_SEG42)
+#error Invalid pin assignment for LCD36 SEG42 pin: LCD36_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD36, LCD36_SEG43)
+#error Invalid pin assignment for LCD36 SEG43 pin: LCD36_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD36, LCD36_SEG44)
+#error Invalid pin assignment for LCD36 SEG44 pin: LCD36_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD36, LCD36_SEG45)
+#error Invalid pin assignment for LCD36 SEG45 pin: LCD36_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD36, LCD36_SEG46)
+#error Invalid pin assignment for LCD36 SEG46 pin: LCD36_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD36, LCD36_SEG47)
+#error Invalid pin assignment for LCD36 SEG47 pin: LCD36_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD36, LCD36_SEG48)
+#error Invalid pin assignment for LCD36 SEG48 pin: LCD36_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD36, LCD36_SEG49)
+#error Invalid pin assignment for LCD36 SEG49 pin: LCD36_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD36, LCD36_SEG5)
+#error Invalid pin assignment for LCD36 SEG5 pin: LCD36_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD36, LCD36_SEG50)
+#error Invalid pin assignment for LCD36 SEG50 pin: LCD36_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD36, LCD36_SEG51)
+#error Invalid pin assignment for LCD36 SEG51 pin: LCD36_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD36, LCD36_SEG6)
+#error Invalid pin assignment for LCD36 SEG6 pin: LCD36_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD36, LCD36_SEG7)
+#error Invalid pin assignment for LCD36 SEG7 pin: LCD36_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD36, LCD36_SEG8)
+#error Invalid pin assignment for LCD36 SEG8 pin: LCD36_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD36, LCD36_SEG9)
+#error Invalid pin assignment for LCD36 SEG9 pin: LCD36_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD36, LCD36_VLCD)
+#error Invalid pin assignment for LCD36 VLCD pin: LCD36_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD37
+#if !FIND_VALUE_LCD_COM0(_LCD37, LCD37_COM0)
+#error Invalid pin assignment for LCD37 COM0 pin: LCD37_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD37, LCD37_COM1)
+#error Invalid pin assignment for LCD37 COM1 pin: LCD37_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD37, LCD37_COM2)
+#error Invalid pin assignment for LCD37 COM2 pin: LCD37_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD37, LCD37_COM3)
+#error Invalid pin assignment for LCD37 COM3 pin: LCD37_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD37, LCD37_COM4)
+#error Invalid pin assignment for LCD37 COM4 pin: LCD37_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD37, LCD37_COM5)
+#error Invalid pin assignment for LCD37 COM5 pin: LCD37_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD37, LCD37_COM6)
+#error Invalid pin assignment for LCD37 COM6 pin: LCD37_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD37, LCD37_COM7)
+#error Invalid pin assignment for LCD37 COM7 pin: LCD37_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD37, LCD37_SEG0)
+#error Invalid pin assignment for LCD37 SEG0 pin: LCD37_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD37, LCD37_SEG1)
+#error Invalid pin assignment for LCD37 SEG1 pin: LCD37_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD37, LCD37_SEG10)
+#error Invalid pin assignment for LCD37 SEG10 pin: LCD37_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD37, LCD37_SEG11)
+#error Invalid pin assignment for LCD37 SEG11 pin: LCD37_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD37, LCD37_SEG12)
+#error Invalid pin assignment for LCD37 SEG12 pin: LCD37_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD37, LCD37_SEG13)
+#error Invalid pin assignment for LCD37 SEG13 pin: LCD37_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD37, LCD37_SEG14)
+#error Invalid pin assignment for LCD37 SEG14 pin: LCD37_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD37, LCD37_SEG15)
+#error Invalid pin assignment for LCD37 SEG15 pin: LCD37_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD37, LCD37_SEG16)
+#error Invalid pin assignment for LCD37 SEG16 pin: LCD37_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD37, LCD37_SEG17)
+#error Invalid pin assignment for LCD37 SEG17 pin: LCD37_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD37, LCD37_SEG18)
+#error Invalid pin assignment for LCD37 SEG18 pin: LCD37_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD37, LCD37_SEG19)
+#error Invalid pin assignment for LCD37 SEG19 pin: LCD37_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD37, LCD37_SEG2)
+#error Invalid pin assignment for LCD37 SEG2 pin: LCD37_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD37, LCD37_SEG20)
+#error Invalid pin assignment for LCD37 SEG20 pin: LCD37_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD37, LCD37_SEG21)
+#error Invalid pin assignment for LCD37 SEG21 pin: LCD37_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD37, LCD37_SEG22)
+#error Invalid pin assignment for LCD37 SEG22 pin: LCD37_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD37, LCD37_SEG23)
+#error Invalid pin assignment for LCD37 SEG23 pin: LCD37_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD37, LCD37_SEG24)
+#error Invalid pin assignment for LCD37 SEG24 pin: LCD37_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD37, LCD37_SEG25)
+#error Invalid pin assignment for LCD37 SEG25 pin: LCD37_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD37, LCD37_SEG26)
+#error Invalid pin assignment for LCD37 SEG26 pin: LCD37_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD37, LCD37_SEG27)
+#error Invalid pin assignment for LCD37 SEG27 pin: LCD37_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD37, LCD37_SEG28)
+#error Invalid pin assignment for LCD37 SEG28 pin: LCD37_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD37, LCD37_SEG29)
+#error Invalid pin assignment for LCD37 SEG29 pin: LCD37_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD37, LCD37_SEG3)
+#error Invalid pin assignment for LCD37 SEG3 pin: LCD37_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD37, LCD37_SEG30)
+#error Invalid pin assignment for LCD37 SEG30 pin: LCD37_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD37, LCD37_SEG31)
+#error Invalid pin assignment for LCD37 SEG31 pin: LCD37_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD37, LCD37_SEG32)
+#error Invalid pin assignment for LCD37 SEG32 pin: LCD37_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD37, LCD37_SEG33)
+#error Invalid pin assignment for LCD37 SEG33 pin: LCD37_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD37, LCD37_SEG34)
+#error Invalid pin assignment for LCD37 SEG34 pin: LCD37_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD37, LCD37_SEG35)
+#error Invalid pin assignment for LCD37 SEG35 pin: LCD37_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD37, LCD37_SEG36)
+#error Invalid pin assignment for LCD37 SEG36 pin: LCD37_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD37, LCD37_SEG37)
+#error Invalid pin assignment for LCD37 SEG37 pin: LCD37_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD37, LCD37_SEG38)
+#error Invalid pin assignment for LCD37 SEG38 pin: LCD37_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD37, LCD37_SEG39)
+#error Invalid pin assignment for LCD37 SEG39 pin: LCD37_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD37, LCD37_SEG4)
+#error Invalid pin assignment for LCD37 SEG4 pin: LCD37_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD37, LCD37_SEG40)
+#error Invalid pin assignment for LCD37 SEG40 pin: LCD37_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD37, LCD37_SEG41)
+#error Invalid pin assignment for LCD37 SEG41 pin: LCD37_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD37, LCD37_SEG42)
+#error Invalid pin assignment for LCD37 SEG42 pin: LCD37_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD37, LCD37_SEG43)
+#error Invalid pin assignment for LCD37 SEG43 pin: LCD37_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD37, LCD37_SEG44)
+#error Invalid pin assignment for LCD37 SEG44 pin: LCD37_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD37, LCD37_SEG45)
+#error Invalid pin assignment for LCD37 SEG45 pin: LCD37_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD37, LCD37_SEG46)
+#error Invalid pin assignment for LCD37 SEG46 pin: LCD37_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD37, LCD37_SEG47)
+#error Invalid pin assignment for LCD37 SEG47 pin: LCD37_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD37, LCD37_SEG48)
+#error Invalid pin assignment for LCD37 SEG48 pin: LCD37_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD37, LCD37_SEG49)
+#error Invalid pin assignment for LCD37 SEG49 pin: LCD37_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD37, LCD37_SEG5)
+#error Invalid pin assignment for LCD37 SEG5 pin: LCD37_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD37, LCD37_SEG50)
+#error Invalid pin assignment for LCD37 SEG50 pin: LCD37_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD37, LCD37_SEG51)
+#error Invalid pin assignment for LCD37 SEG51 pin: LCD37_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD37, LCD37_SEG6)
+#error Invalid pin assignment for LCD37 SEG6 pin: LCD37_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD37, LCD37_SEG7)
+#error Invalid pin assignment for LCD37 SEG7 pin: LCD37_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD37, LCD37_SEG8)
+#error Invalid pin assignment for LCD37 SEG8 pin: LCD37_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD37, LCD37_SEG9)
+#error Invalid pin assignment for LCD37 SEG9 pin: LCD37_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD37, LCD37_VLCD)
+#error Invalid pin assignment for LCD37 VLCD pin: LCD37_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD38
+#if !FIND_VALUE_LCD_COM0(_LCD38, LCD38_COM0)
+#error Invalid pin assignment for LCD38 COM0 pin: LCD38_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD38, LCD38_COM1)
+#error Invalid pin assignment for LCD38 COM1 pin: LCD38_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD38, LCD38_COM2)
+#error Invalid pin assignment for LCD38 COM2 pin: LCD38_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD38, LCD38_COM3)
+#error Invalid pin assignment for LCD38 COM3 pin: LCD38_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD38, LCD38_COM4)
+#error Invalid pin assignment for LCD38 COM4 pin: LCD38_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD38, LCD38_COM5)
+#error Invalid pin assignment for LCD38 COM5 pin: LCD38_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD38, LCD38_COM6)
+#error Invalid pin assignment for LCD38 COM6 pin: LCD38_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD38, LCD38_COM7)
+#error Invalid pin assignment for LCD38 COM7 pin: LCD38_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD38, LCD38_SEG0)
+#error Invalid pin assignment for LCD38 SEG0 pin: LCD38_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD38, LCD38_SEG1)
+#error Invalid pin assignment for LCD38 SEG1 pin: LCD38_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD38, LCD38_SEG10)
+#error Invalid pin assignment for LCD38 SEG10 pin: LCD38_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD38, LCD38_SEG11)
+#error Invalid pin assignment for LCD38 SEG11 pin: LCD38_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD38, LCD38_SEG12)
+#error Invalid pin assignment for LCD38 SEG12 pin: LCD38_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD38, LCD38_SEG13)
+#error Invalid pin assignment for LCD38 SEG13 pin: LCD38_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD38, LCD38_SEG14)
+#error Invalid pin assignment for LCD38 SEG14 pin: LCD38_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD38, LCD38_SEG15)
+#error Invalid pin assignment for LCD38 SEG15 pin: LCD38_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD38, LCD38_SEG16)
+#error Invalid pin assignment for LCD38 SEG16 pin: LCD38_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD38, LCD38_SEG17)
+#error Invalid pin assignment for LCD38 SEG17 pin: LCD38_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD38, LCD38_SEG18)
+#error Invalid pin assignment for LCD38 SEG18 pin: LCD38_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD38, LCD38_SEG19)
+#error Invalid pin assignment for LCD38 SEG19 pin: LCD38_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD38, LCD38_SEG2)
+#error Invalid pin assignment for LCD38 SEG2 pin: LCD38_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD38, LCD38_SEG20)
+#error Invalid pin assignment for LCD38 SEG20 pin: LCD38_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD38, LCD38_SEG21)
+#error Invalid pin assignment for LCD38 SEG21 pin: LCD38_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD38, LCD38_SEG22)
+#error Invalid pin assignment for LCD38 SEG22 pin: LCD38_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD38, LCD38_SEG23)
+#error Invalid pin assignment for LCD38 SEG23 pin: LCD38_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD38, LCD38_SEG24)
+#error Invalid pin assignment for LCD38 SEG24 pin: LCD38_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD38, LCD38_SEG25)
+#error Invalid pin assignment for LCD38 SEG25 pin: LCD38_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD38, LCD38_SEG26)
+#error Invalid pin assignment for LCD38 SEG26 pin: LCD38_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD38, LCD38_SEG27)
+#error Invalid pin assignment for LCD38 SEG27 pin: LCD38_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD38, LCD38_SEG28)
+#error Invalid pin assignment for LCD38 SEG28 pin: LCD38_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD38, LCD38_SEG29)
+#error Invalid pin assignment for LCD38 SEG29 pin: LCD38_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD38, LCD38_SEG3)
+#error Invalid pin assignment for LCD38 SEG3 pin: LCD38_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD38, LCD38_SEG30)
+#error Invalid pin assignment for LCD38 SEG30 pin: LCD38_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD38, LCD38_SEG31)
+#error Invalid pin assignment for LCD38 SEG31 pin: LCD38_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD38, LCD38_SEG32)
+#error Invalid pin assignment for LCD38 SEG32 pin: LCD38_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD38, LCD38_SEG33)
+#error Invalid pin assignment for LCD38 SEG33 pin: LCD38_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD38, LCD38_SEG34)
+#error Invalid pin assignment for LCD38 SEG34 pin: LCD38_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD38, LCD38_SEG35)
+#error Invalid pin assignment for LCD38 SEG35 pin: LCD38_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD38, LCD38_SEG36)
+#error Invalid pin assignment for LCD38 SEG36 pin: LCD38_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD38, LCD38_SEG37)
+#error Invalid pin assignment for LCD38 SEG37 pin: LCD38_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD38, LCD38_SEG38)
+#error Invalid pin assignment for LCD38 SEG38 pin: LCD38_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD38, LCD38_SEG39)
+#error Invalid pin assignment for LCD38 SEG39 pin: LCD38_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD38, LCD38_SEG4)
+#error Invalid pin assignment for LCD38 SEG4 pin: LCD38_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD38, LCD38_SEG40)
+#error Invalid pin assignment for LCD38 SEG40 pin: LCD38_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD38, LCD38_SEG41)
+#error Invalid pin assignment for LCD38 SEG41 pin: LCD38_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD38, LCD38_SEG42)
+#error Invalid pin assignment for LCD38 SEG42 pin: LCD38_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD38, LCD38_SEG43)
+#error Invalid pin assignment for LCD38 SEG43 pin: LCD38_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD38, LCD38_SEG44)
+#error Invalid pin assignment for LCD38 SEG44 pin: LCD38_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD38, LCD38_SEG45)
+#error Invalid pin assignment for LCD38 SEG45 pin: LCD38_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD38, LCD38_SEG46)
+#error Invalid pin assignment for LCD38 SEG46 pin: LCD38_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD38, LCD38_SEG47)
+#error Invalid pin assignment for LCD38 SEG47 pin: LCD38_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD38, LCD38_SEG48)
+#error Invalid pin assignment for LCD38 SEG48 pin: LCD38_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD38, LCD38_SEG49)
+#error Invalid pin assignment for LCD38 SEG49 pin: LCD38_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD38, LCD38_SEG5)
+#error Invalid pin assignment for LCD38 SEG5 pin: LCD38_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD38, LCD38_SEG50)
+#error Invalid pin assignment for LCD38 SEG50 pin: LCD38_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD38, LCD38_SEG51)
+#error Invalid pin assignment for LCD38 SEG51 pin: LCD38_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD38, LCD38_SEG6)
+#error Invalid pin assignment for LCD38 SEG6 pin: LCD38_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD38, LCD38_SEG7)
+#error Invalid pin assignment for LCD38 SEG7 pin: LCD38_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD38, LCD38_SEG8)
+#error Invalid pin assignment for LCD38 SEG8 pin: LCD38_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD38, LCD38_SEG9)
+#error Invalid pin assignment for LCD38 SEG9 pin: LCD38_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD38, LCD38_VLCD)
+#error Invalid pin assignment for LCD38 VLCD pin: LCD38_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD39
+#if !FIND_VALUE_LCD_COM0(_LCD39, LCD39_COM0)
+#error Invalid pin assignment for LCD39 COM0 pin: LCD39_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD39, LCD39_COM1)
+#error Invalid pin assignment for LCD39 COM1 pin: LCD39_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD39, LCD39_COM2)
+#error Invalid pin assignment for LCD39 COM2 pin: LCD39_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD39, LCD39_COM3)
+#error Invalid pin assignment for LCD39 COM3 pin: LCD39_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD39, LCD39_COM4)
+#error Invalid pin assignment for LCD39 COM4 pin: LCD39_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD39, LCD39_COM5)
+#error Invalid pin assignment for LCD39 COM5 pin: LCD39_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD39, LCD39_COM6)
+#error Invalid pin assignment for LCD39 COM6 pin: LCD39_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD39, LCD39_COM7)
+#error Invalid pin assignment for LCD39 COM7 pin: LCD39_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD39, LCD39_SEG0)
+#error Invalid pin assignment for LCD39 SEG0 pin: LCD39_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD39, LCD39_SEG1)
+#error Invalid pin assignment for LCD39 SEG1 pin: LCD39_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD39, LCD39_SEG10)
+#error Invalid pin assignment for LCD39 SEG10 pin: LCD39_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD39, LCD39_SEG11)
+#error Invalid pin assignment for LCD39 SEG11 pin: LCD39_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD39, LCD39_SEG12)
+#error Invalid pin assignment for LCD39 SEG12 pin: LCD39_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD39, LCD39_SEG13)
+#error Invalid pin assignment for LCD39 SEG13 pin: LCD39_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD39, LCD39_SEG14)
+#error Invalid pin assignment for LCD39 SEG14 pin: LCD39_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD39, LCD39_SEG15)
+#error Invalid pin assignment for LCD39 SEG15 pin: LCD39_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD39, LCD39_SEG16)
+#error Invalid pin assignment for LCD39 SEG16 pin: LCD39_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD39, LCD39_SEG17)
+#error Invalid pin assignment for LCD39 SEG17 pin: LCD39_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD39, LCD39_SEG18)
+#error Invalid pin assignment for LCD39 SEG18 pin: LCD39_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD39, LCD39_SEG19)
+#error Invalid pin assignment for LCD39 SEG19 pin: LCD39_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD39, LCD39_SEG2)
+#error Invalid pin assignment for LCD39 SEG2 pin: LCD39_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD39, LCD39_SEG20)
+#error Invalid pin assignment for LCD39 SEG20 pin: LCD39_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD39, LCD39_SEG21)
+#error Invalid pin assignment for LCD39 SEG21 pin: LCD39_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD39, LCD39_SEG22)
+#error Invalid pin assignment for LCD39 SEG22 pin: LCD39_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD39, LCD39_SEG23)
+#error Invalid pin assignment for LCD39 SEG23 pin: LCD39_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD39, LCD39_SEG24)
+#error Invalid pin assignment for LCD39 SEG24 pin: LCD39_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD39, LCD39_SEG25)
+#error Invalid pin assignment for LCD39 SEG25 pin: LCD39_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD39, LCD39_SEG26)
+#error Invalid pin assignment for LCD39 SEG26 pin: LCD39_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD39, LCD39_SEG27)
+#error Invalid pin assignment for LCD39 SEG27 pin: LCD39_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD39, LCD39_SEG28)
+#error Invalid pin assignment for LCD39 SEG28 pin: LCD39_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD39, LCD39_SEG29)
+#error Invalid pin assignment for LCD39 SEG29 pin: LCD39_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD39, LCD39_SEG3)
+#error Invalid pin assignment for LCD39 SEG3 pin: LCD39_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD39, LCD39_SEG30)
+#error Invalid pin assignment for LCD39 SEG30 pin: LCD39_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD39, LCD39_SEG31)
+#error Invalid pin assignment for LCD39 SEG31 pin: LCD39_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD39, LCD39_SEG32)
+#error Invalid pin assignment for LCD39 SEG32 pin: LCD39_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD39, LCD39_SEG33)
+#error Invalid pin assignment for LCD39 SEG33 pin: LCD39_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD39, LCD39_SEG34)
+#error Invalid pin assignment for LCD39 SEG34 pin: LCD39_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD39, LCD39_SEG35)
+#error Invalid pin assignment for LCD39 SEG35 pin: LCD39_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD39, LCD39_SEG36)
+#error Invalid pin assignment for LCD39 SEG36 pin: LCD39_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD39, LCD39_SEG37)
+#error Invalid pin assignment for LCD39 SEG37 pin: LCD39_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD39, LCD39_SEG38)
+#error Invalid pin assignment for LCD39 SEG38 pin: LCD39_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD39, LCD39_SEG39)
+#error Invalid pin assignment for LCD39 SEG39 pin: LCD39_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD39, LCD39_SEG4)
+#error Invalid pin assignment for LCD39 SEG4 pin: LCD39_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD39, LCD39_SEG40)
+#error Invalid pin assignment for LCD39 SEG40 pin: LCD39_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD39, LCD39_SEG41)
+#error Invalid pin assignment for LCD39 SEG41 pin: LCD39_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD39, LCD39_SEG42)
+#error Invalid pin assignment for LCD39 SEG42 pin: LCD39_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD39, LCD39_SEG43)
+#error Invalid pin assignment for LCD39 SEG43 pin: LCD39_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD39, LCD39_SEG44)
+#error Invalid pin assignment for LCD39 SEG44 pin: LCD39_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD39, LCD39_SEG45)
+#error Invalid pin assignment for LCD39 SEG45 pin: LCD39_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD39, LCD39_SEG46)
+#error Invalid pin assignment for LCD39 SEG46 pin: LCD39_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD39, LCD39_SEG47)
+#error Invalid pin assignment for LCD39 SEG47 pin: LCD39_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD39, LCD39_SEG48)
+#error Invalid pin assignment for LCD39 SEG48 pin: LCD39_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD39, LCD39_SEG49)
+#error Invalid pin assignment for LCD39 SEG49 pin: LCD39_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD39, LCD39_SEG5)
+#error Invalid pin assignment for LCD39 SEG5 pin: LCD39_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD39, LCD39_SEG50)
+#error Invalid pin assignment for LCD39 SEG50 pin: LCD39_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD39, LCD39_SEG51)
+#error Invalid pin assignment for LCD39 SEG51 pin: LCD39_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD39, LCD39_SEG6)
+#error Invalid pin assignment for LCD39 SEG6 pin: LCD39_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD39, LCD39_SEG7)
+#error Invalid pin assignment for LCD39 SEG7 pin: LCD39_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD39, LCD39_SEG8)
+#error Invalid pin assignment for LCD39 SEG8 pin: LCD39_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD39, LCD39_SEG9)
+#error Invalid pin assignment for LCD39 SEG9 pin: LCD39_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD39, LCD39_VLCD)
+#error Invalid pin assignment for LCD39 VLCD pin: LCD39_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD40
+#if !FIND_VALUE_LCD_COM0(_LCD40, LCD40_COM0)
+#error Invalid pin assignment for LCD40 COM0 pin: LCD40_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD40, LCD40_COM1)
+#error Invalid pin assignment for LCD40 COM1 pin: LCD40_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD40, LCD40_COM2)
+#error Invalid pin assignment for LCD40 COM2 pin: LCD40_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD40, LCD40_COM3)
+#error Invalid pin assignment for LCD40 COM3 pin: LCD40_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD40, LCD40_COM4)
+#error Invalid pin assignment for LCD40 COM4 pin: LCD40_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD40, LCD40_COM5)
+#error Invalid pin assignment for LCD40 COM5 pin: LCD40_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD40, LCD40_COM6)
+#error Invalid pin assignment for LCD40 COM6 pin: LCD40_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD40, LCD40_COM7)
+#error Invalid pin assignment for LCD40 COM7 pin: LCD40_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD40, LCD40_SEG0)
+#error Invalid pin assignment for LCD40 SEG0 pin: LCD40_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD40, LCD40_SEG1)
+#error Invalid pin assignment for LCD40 SEG1 pin: LCD40_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD40, LCD40_SEG10)
+#error Invalid pin assignment for LCD40 SEG10 pin: LCD40_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD40, LCD40_SEG11)
+#error Invalid pin assignment for LCD40 SEG11 pin: LCD40_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD40, LCD40_SEG12)
+#error Invalid pin assignment for LCD40 SEG12 pin: LCD40_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD40, LCD40_SEG13)
+#error Invalid pin assignment for LCD40 SEG13 pin: LCD40_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD40, LCD40_SEG14)
+#error Invalid pin assignment for LCD40 SEG14 pin: LCD40_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD40, LCD40_SEG15)
+#error Invalid pin assignment for LCD40 SEG15 pin: LCD40_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD40, LCD40_SEG16)
+#error Invalid pin assignment for LCD40 SEG16 pin: LCD40_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD40, LCD40_SEG17)
+#error Invalid pin assignment for LCD40 SEG17 pin: LCD40_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD40, LCD40_SEG18)
+#error Invalid pin assignment for LCD40 SEG18 pin: LCD40_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD40, LCD40_SEG19)
+#error Invalid pin assignment for LCD40 SEG19 pin: LCD40_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD40, LCD40_SEG2)
+#error Invalid pin assignment for LCD40 SEG2 pin: LCD40_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD40, LCD40_SEG20)
+#error Invalid pin assignment for LCD40 SEG20 pin: LCD40_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD40, LCD40_SEG21)
+#error Invalid pin assignment for LCD40 SEG21 pin: LCD40_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD40, LCD40_SEG22)
+#error Invalid pin assignment for LCD40 SEG22 pin: LCD40_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD40, LCD40_SEG23)
+#error Invalid pin assignment for LCD40 SEG23 pin: LCD40_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD40, LCD40_SEG24)
+#error Invalid pin assignment for LCD40 SEG24 pin: LCD40_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD40, LCD40_SEG25)
+#error Invalid pin assignment for LCD40 SEG25 pin: LCD40_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD40, LCD40_SEG26)
+#error Invalid pin assignment for LCD40 SEG26 pin: LCD40_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD40, LCD40_SEG27)
+#error Invalid pin assignment for LCD40 SEG27 pin: LCD40_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD40, LCD40_SEG28)
+#error Invalid pin assignment for LCD40 SEG28 pin: LCD40_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD40, LCD40_SEG29)
+#error Invalid pin assignment for LCD40 SEG29 pin: LCD40_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD40, LCD40_SEG3)
+#error Invalid pin assignment for LCD40 SEG3 pin: LCD40_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD40, LCD40_SEG30)
+#error Invalid pin assignment for LCD40 SEG30 pin: LCD40_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD40, LCD40_SEG31)
+#error Invalid pin assignment for LCD40 SEG31 pin: LCD40_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD40, LCD40_SEG32)
+#error Invalid pin assignment for LCD40 SEG32 pin: LCD40_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD40, LCD40_SEG33)
+#error Invalid pin assignment for LCD40 SEG33 pin: LCD40_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD40, LCD40_SEG34)
+#error Invalid pin assignment for LCD40 SEG34 pin: LCD40_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD40, LCD40_SEG35)
+#error Invalid pin assignment for LCD40 SEG35 pin: LCD40_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD40, LCD40_SEG36)
+#error Invalid pin assignment for LCD40 SEG36 pin: LCD40_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD40, LCD40_SEG37)
+#error Invalid pin assignment for LCD40 SEG37 pin: LCD40_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD40, LCD40_SEG38)
+#error Invalid pin assignment for LCD40 SEG38 pin: LCD40_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD40, LCD40_SEG39)
+#error Invalid pin assignment for LCD40 SEG39 pin: LCD40_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD40, LCD40_SEG4)
+#error Invalid pin assignment for LCD40 SEG4 pin: LCD40_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD40, LCD40_SEG40)
+#error Invalid pin assignment for LCD40 SEG40 pin: LCD40_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD40, LCD40_SEG41)
+#error Invalid pin assignment for LCD40 SEG41 pin: LCD40_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD40, LCD40_SEG42)
+#error Invalid pin assignment for LCD40 SEG42 pin: LCD40_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD40, LCD40_SEG43)
+#error Invalid pin assignment for LCD40 SEG43 pin: LCD40_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD40, LCD40_SEG44)
+#error Invalid pin assignment for LCD40 SEG44 pin: LCD40_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD40, LCD40_SEG45)
+#error Invalid pin assignment for LCD40 SEG45 pin: LCD40_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD40, LCD40_SEG46)
+#error Invalid pin assignment for LCD40 SEG46 pin: LCD40_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD40, LCD40_SEG47)
+#error Invalid pin assignment for LCD40 SEG47 pin: LCD40_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD40, LCD40_SEG48)
+#error Invalid pin assignment for LCD40 SEG48 pin: LCD40_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD40, LCD40_SEG49)
+#error Invalid pin assignment for LCD40 SEG49 pin: LCD40_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD40, LCD40_SEG5)
+#error Invalid pin assignment for LCD40 SEG5 pin: LCD40_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD40, LCD40_SEG50)
+#error Invalid pin assignment for LCD40 SEG50 pin: LCD40_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD40, LCD40_SEG51)
+#error Invalid pin assignment for LCD40 SEG51 pin: LCD40_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD40, LCD40_SEG6)
+#error Invalid pin assignment for LCD40 SEG6 pin: LCD40_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD40, LCD40_SEG7)
+#error Invalid pin assignment for LCD40 SEG7 pin: LCD40_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD40, LCD40_SEG8)
+#error Invalid pin assignment for LCD40 SEG8 pin: LCD40_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD40, LCD40_SEG9)
+#error Invalid pin assignment for LCD40 SEG9 pin: LCD40_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD40, LCD40_VLCD)
+#error Invalid pin assignment for LCD40 VLCD pin: LCD40_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD41
+#if !FIND_VALUE_LCD_COM0(_LCD41, LCD41_COM0)
+#error Invalid pin assignment for LCD41 COM0 pin: LCD41_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD41, LCD41_COM1)
+#error Invalid pin assignment for LCD41 COM1 pin: LCD41_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD41, LCD41_COM2)
+#error Invalid pin assignment for LCD41 COM2 pin: LCD41_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD41, LCD41_COM3)
+#error Invalid pin assignment for LCD41 COM3 pin: LCD41_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD41, LCD41_COM4)
+#error Invalid pin assignment for LCD41 COM4 pin: LCD41_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD41, LCD41_COM5)
+#error Invalid pin assignment for LCD41 COM5 pin: LCD41_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD41, LCD41_COM6)
+#error Invalid pin assignment for LCD41 COM6 pin: LCD41_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD41, LCD41_COM7)
+#error Invalid pin assignment for LCD41 COM7 pin: LCD41_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD41, LCD41_SEG0)
+#error Invalid pin assignment for LCD41 SEG0 pin: LCD41_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD41, LCD41_SEG1)
+#error Invalid pin assignment for LCD41 SEG1 pin: LCD41_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD41, LCD41_SEG10)
+#error Invalid pin assignment for LCD41 SEG10 pin: LCD41_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD41, LCD41_SEG11)
+#error Invalid pin assignment for LCD41 SEG11 pin: LCD41_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD41, LCD41_SEG12)
+#error Invalid pin assignment for LCD41 SEG12 pin: LCD41_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD41, LCD41_SEG13)
+#error Invalid pin assignment for LCD41 SEG13 pin: LCD41_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD41, LCD41_SEG14)
+#error Invalid pin assignment for LCD41 SEG14 pin: LCD41_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD41, LCD41_SEG15)
+#error Invalid pin assignment for LCD41 SEG15 pin: LCD41_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD41, LCD41_SEG16)
+#error Invalid pin assignment for LCD41 SEG16 pin: LCD41_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD41, LCD41_SEG17)
+#error Invalid pin assignment for LCD41 SEG17 pin: LCD41_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD41, LCD41_SEG18)
+#error Invalid pin assignment for LCD41 SEG18 pin: LCD41_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD41, LCD41_SEG19)
+#error Invalid pin assignment for LCD41 SEG19 pin: LCD41_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD41, LCD41_SEG2)
+#error Invalid pin assignment for LCD41 SEG2 pin: LCD41_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD41, LCD41_SEG20)
+#error Invalid pin assignment for LCD41 SEG20 pin: LCD41_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD41, LCD41_SEG21)
+#error Invalid pin assignment for LCD41 SEG21 pin: LCD41_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD41, LCD41_SEG22)
+#error Invalid pin assignment for LCD41 SEG22 pin: LCD41_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD41, LCD41_SEG23)
+#error Invalid pin assignment for LCD41 SEG23 pin: LCD41_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD41, LCD41_SEG24)
+#error Invalid pin assignment for LCD41 SEG24 pin: LCD41_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD41, LCD41_SEG25)
+#error Invalid pin assignment for LCD41 SEG25 pin: LCD41_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD41, LCD41_SEG26)
+#error Invalid pin assignment for LCD41 SEG26 pin: LCD41_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD41, LCD41_SEG27)
+#error Invalid pin assignment for LCD41 SEG27 pin: LCD41_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD41, LCD41_SEG28)
+#error Invalid pin assignment for LCD41 SEG28 pin: LCD41_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD41, LCD41_SEG29)
+#error Invalid pin assignment for LCD41 SEG29 pin: LCD41_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD41, LCD41_SEG3)
+#error Invalid pin assignment for LCD41 SEG3 pin: LCD41_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD41, LCD41_SEG30)
+#error Invalid pin assignment for LCD41 SEG30 pin: LCD41_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD41, LCD41_SEG31)
+#error Invalid pin assignment for LCD41 SEG31 pin: LCD41_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD41, LCD41_SEG32)
+#error Invalid pin assignment for LCD41 SEG32 pin: LCD41_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD41, LCD41_SEG33)
+#error Invalid pin assignment for LCD41 SEG33 pin: LCD41_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD41, LCD41_SEG34)
+#error Invalid pin assignment for LCD41 SEG34 pin: LCD41_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD41, LCD41_SEG35)
+#error Invalid pin assignment for LCD41 SEG35 pin: LCD41_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD41, LCD41_SEG36)
+#error Invalid pin assignment for LCD41 SEG36 pin: LCD41_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD41, LCD41_SEG37)
+#error Invalid pin assignment for LCD41 SEG37 pin: LCD41_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD41, LCD41_SEG38)
+#error Invalid pin assignment for LCD41 SEG38 pin: LCD41_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD41, LCD41_SEG39)
+#error Invalid pin assignment for LCD41 SEG39 pin: LCD41_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD41, LCD41_SEG4)
+#error Invalid pin assignment for LCD41 SEG4 pin: LCD41_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD41, LCD41_SEG40)
+#error Invalid pin assignment for LCD41 SEG40 pin: LCD41_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD41, LCD41_SEG41)
+#error Invalid pin assignment for LCD41 SEG41 pin: LCD41_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD41, LCD41_SEG42)
+#error Invalid pin assignment for LCD41 SEG42 pin: LCD41_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD41, LCD41_SEG43)
+#error Invalid pin assignment for LCD41 SEG43 pin: LCD41_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD41, LCD41_SEG44)
+#error Invalid pin assignment for LCD41 SEG44 pin: LCD41_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD41, LCD41_SEG45)
+#error Invalid pin assignment for LCD41 SEG45 pin: LCD41_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD41, LCD41_SEG46)
+#error Invalid pin assignment for LCD41 SEG46 pin: LCD41_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD41, LCD41_SEG47)
+#error Invalid pin assignment for LCD41 SEG47 pin: LCD41_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD41, LCD41_SEG48)
+#error Invalid pin assignment for LCD41 SEG48 pin: LCD41_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD41, LCD41_SEG49)
+#error Invalid pin assignment for LCD41 SEG49 pin: LCD41_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD41, LCD41_SEG5)
+#error Invalid pin assignment for LCD41 SEG5 pin: LCD41_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD41, LCD41_SEG50)
+#error Invalid pin assignment for LCD41 SEG50 pin: LCD41_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD41, LCD41_SEG51)
+#error Invalid pin assignment for LCD41 SEG51 pin: LCD41_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD41, LCD41_SEG6)
+#error Invalid pin assignment for LCD41 SEG6 pin: LCD41_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD41, LCD41_SEG7)
+#error Invalid pin assignment for LCD41 SEG7 pin: LCD41_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD41, LCD41_SEG8)
+#error Invalid pin assignment for LCD41 SEG8 pin: LCD41_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD41, LCD41_SEG9)
+#error Invalid pin assignment for LCD41 SEG9 pin: LCD41_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD41, LCD41_VLCD)
+#error Invalid pin assignment for LCD41 VLCD pin: LCD41_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD42
+#if !FIND_VALUE_LCD_COM0(_LCD42, LCD42_COM0)
+#error Invalid pin assignment for LCD42 COM0 pin: LCD42_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD42, LCD42_COM1)
+#error Invalid pin assignment for LCD42 COM1 pin: LCD42_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD42, LCD42_COM2)
+#error Invalid pin assignment for LCD42 COM2 pin: LCD42_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD42, LCD42_COM3)
+#error Invalid pin assignment for LCD42 COM3 pin: LCD42_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD42, LCD42_COM4)
+#error Invalid pin assignment for LCD42 COM4 pin: LCD42_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD42, LCD42_COM5)
+#error Invalid pin assignment for LCD42 COM5 pin: LCD42_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD42, LCD42_COM6)
+#error Invalid pin assignment for LCD42 COM6 pin: LCD42_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD42, LCD42_COM7)
+#error Invalid pin assignment for LCD42 COM7 pin: LCD42_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD42, LCD42_SEG0)
+#error Invalid pin assignment for LCD42 SEG0 pin: LCD42_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD42, LCD42_SEG1)
+#error Invalid pin assignment for LCD42 SEG1 pin: LCD42_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD42, LCD42_SEG10)
+#error Invalid pin assignment for LCD42 SEG10 pin: LCD42_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD42, LCD42_SEG11)
+#error Invalid pin assignment for LCD42 SEG11 pin: LCD42_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD42, LCD42_SEG12)
+#error Invalid pin assignment for LCD42 SEG12 pin: LCD42_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD42, LCD42_SEG13)
+#error Invalid pin assignment for LCD42 SEG13 pin: LCD42_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD42, LCD42_SEG14)
+#error Invalid pin assignment for LCD42 SEG14 pin: LCD42_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD42, LCD42_SEG15)
+#error Invalid pin assignment for LCD42 SEG15 pin: LCD42_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD42, LCD42_SEG16)
+#error Invalid pin assignment for LCD42 SEG16 pin: LCD42_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD42, LCD42_SEG17)
+#error Invalid pin assignment for LCD42 SEG17 pin: LCD42_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD42, LCD42_SEG18)
+#error Invalid pin assignment for LCD42 SEG18 pin: LCD42_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD42, LCD42_SEG19)
+#error Invalid pin assignment for LCD42 SEG19 pin: LCD42_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD42, LCD42_SEG2)
+#error Invalid pin assignment for LCD42 SEG2 pin: LCD42_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD42, LCD42_SEG20)
+#error Invalid pin assignment for LCD42 SEG20 pin: LCD42_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD42, LCD42_SEG21)
+#error Invalid pin assignment for LCD42 SEG21 pin: LCD42_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD42, LCD42_SEG22)
+#error Invalid pin assignment for LCD42 SEG22 pin: LCD42_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD42, LCD42_SEG23)
+#error Invalid pin assignment for LCD42 SEG23 pin: LCD42_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD42, LCD42_SEG24)
+#error Invalid pin assignment for LCD42 SEG24 pin: LCD42_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD42, LCD42_SEG25)
+#error Invalid pin assignment for LCD42 SEG25 pin: LCD42_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD42, LCD42_SEG26)
+#error Invalid pin assignment for LCD42 SEG26 pin: LCD42_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD42, LCD42_SEG27)
+#error Invalid pin assignment for LCD42 SEG27 pin: LCD42_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD42, LCD42_SEG28)
+#error Invalid pin assignment for LCD42 SEG28 pin: LCD42_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD42, LCD42_SEG29)
+#error Invalid pin assignment for LCD42 SEG29 pin: LCD42_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD42, LCD42_SEG3)
+#error Invalid pin assignment for LCD42 SEG3 pin: LCD42_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD42, LCD42_SEG30)
+#error Invalid pin assignment for LCD42 SEG30 pin: LCD42_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD42, LCD42_SEG31)
+#error Invalid pin assignment for LCD42 SEG31 pin: LCD42_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD42, LCD42_SEG32)
+#error Invalid pin assignment for LCD42 SEG32 pin: LCD42_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD42, LCD42_SEG33)
+#error Invalid pin assignment for LCD42 SEG33 pin: LCD42_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD42, LCD42_SEG34)
+#error Invalid pin assignment for LCD42 SEG34 pin: LCD42_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD42, LCD42_SEG35)
+#error Invalid pin assignment for LCD42 SEG35 pin: LCD42_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD42, LCD42_SEG36)
+#error Invalid pin assignment for LCD42 SEG36 pin: LCD42_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD42, LCD42_SEG37)
+#error Invalid pin assignment for LCD42 SEG37 pin: LCD42_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD42, LCD42_SEG38)
+#error Invalid pin assignment for LCD42 SEG38 pin: LCD42_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD42, LCD42_SEG39)
+#error Invalid pin assignment for LCD42 SEG39 pin: LCD42_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD42, LCD42_SEG4)
+#error Invalid pin assignment for LCD42 SEG4 pin: LCD42_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD42, LCD42_SEG40)
+#error Invalid pin assignment for LCD42 SEG40 pin: LCD42_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD42, LCD42_SEG41)
+#error Invalid pin assignment for LCD42 SEG41 pin: LCD42_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD42, LCD42_SEG42)
+#error Invalid pin assignment for LCD42 SEG42 pin: LCD42_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD42, LCD42_SEG43)
+#error Invalid pin assignment for LCD42 SEG43 pin: LCD42_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD42, LCD42_SEG44)
+#error Invalid pin assignment for LCD42 SEG44 pin: LCD42_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD42, LCD42_SEG45)
+#error Invalid pin assignment for LCD42 SEG45 pin: LCD42_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD42, LCD42_SEG46)
+#error Invalid pin assignment for LCD42 SEG46 pin: LCD42_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD42, LCD42_SEG47)
+#error Invalid pin assignment for LCD42 SEG47 pin: LCD42_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD42, LCD42_SEG48)
+#error Invalid pin assignment for LCD42 SEG48 pin: LCD42_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD42, LCD42_SEG49)
+#error Invalid pin assignment for LCD42 SEG49 pin: LCD42_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD42, LCD42_SEG5)
+#error Invalid pin assignment for LCD42 SEG5 pin: LCD42_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD42, LCD42_SEG50)
+#error Invalid pin assignment for LCD42 SEG50 pin: LCD42_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD42, LCD42_SEG51)
+#error Invalid pin assignment for LCD42 SEG51 pin: LCD42_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD42, LCD42_SEG6)
+#error Invalid pin assignment for LCD42 SEG6 pin: LCD42_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD42, LCD42_SEG7)
+#error Invalid pin assignment for LCD42 SEG7 pin: LCD42_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD42, LCD42_SEG8)
+#error Invalid pin assignment for LCD42 SEG8 pin: LCD42_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD42, LCD42_SEG9)
+#error Invalid pin assignment for LCD42 SEG9 pin: LCD42_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD42, LCD42_VLCD)
+#error Invalid pin assignment for LCD42 VLCD pin: LCD42_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD43
+#if !FIND_VALUE_LCD_COM0(_LCD43, LCD43_COM0)
+#error Invalid pin assignment for LCD43 COM0 pin: LCD43_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD43, LCD43_COM1)
+#error Invalid pin assignment for LCD43 COM1 pin: LCD43_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD43, LCD43_COM2)
+#error Invalid pin assignment for LCD43 COM2 pin: LCD43_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD43, LCD43_COM3)
+#error Invalid pin assignment for LCD43 COM3 pin: LCD43_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD43, LCD43_COM4)
+#error Invalid pin assignment for LCD43 COM4 pin: LCD43_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD43, LCD43_COM5)
+#error Invalid pin assignment for LCD43 COM5 pin: LCD43_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD43, LCD43_COM6)
+#error Invalid pin assignment for LCD43 COM6 pin: LCD43_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD43, LCD43_COM7)
+#error Invalid pin assignment for LCD43 COM7 pin: LCD43_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD43, LCD43_SEG0)
+#error Invalid pin assignment for LCD43 SEG0 pin: LCD43_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD43, LCD43_SEG1)
+#error Invalid pin assignment for LCD43 SEG1 pin: LCD43_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD43, LCD43_SEG10)
+#error Invalid pin assignment for LCD43 SEG10 pin: LCD43_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD43, LCD43_SEG11)
+#error Invalid pin assignment for LCD43 SEG11 pin: LCD43_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD43, LCD43_SEG12)
+#error Invalid pin assignment for LCD43 SEG12 pin: LCD43_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD43, LCD43_SEG13)
+#error Invalid pin assignment for LCD43 SEG13 pin: LCD43_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD43, LCD43_SEG14)
+#error Invalid pin assignment for LCD43 SEG14 pin: LCD43_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD43, LCD43_SEG15)
+#error Invalid pin assignment for LCD43 SEG15 pin: LCD43_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD43, LCD43_SEG16)
+#error Invalid pin assignment for LCD43 SEG16 pin: LCD43_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD43, LCD43_SEG17)
+#error Invalid pin assignment for LCD43 SEG17 pin: LCD43_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD43, LCD43_SEG18)
+#error Invalid pin assignment for LCD43 SEG18 pin: LCD43_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD43, LCD43_SEG19)
+#error Invalid pin assignment for LCD43 SEG19 pin: LCD43_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD43, LCD43_SEG2)
+#error Invalid pin assignment for LCD43 SEG2 pin: LCD43_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD43, LCD43_SEG20)
+#error Invalid pin assignment for LCD43 SEG20 pin: LCD43_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD43, LCD43_SEG21)
+#error Invalid pin assignment for LCD43 SEG21 pin: LCD43_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD43, LCD43_SEG22)
+#error Invalid pin assignment for LCD43 SEG22 pin: LCD43_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD43, LCD43_SEG23)
+#error Invalid pin assignment for LCD43 SEG23 pin: LCD43_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD43, LCD43_SEG24)
+#error Invalid pin assignment for LCD43 SEG24 pin: LCD43_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD43, LCD43_SEG25)
+#error Invalid pin assignment for LCD43 SEG25 pin: LCD43_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD43, LCD43_SEG26)
+#error Invalid pin assignment for LCD43 SEG26 pin: LCD43_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD43, LCD43_SEG27)
+#error Invalid pin assignment for LCD43 SEG27 pin: LCD43_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD43, LCD43_SEG28)
+#error Invalid pin assignment for LCD43 SEG28 pin: LCD43_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD43, LCD43_SEG29)
+#error Invalid pin assignment for LCD43 SEG29 pin: LCD43_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD43, LCD43_SEG3)
+#error Invalid pin assignment for LCD43 SEG3 pin: LCD43_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD43, LCD43_SEG30)
+#error Invalid pin assignment for LCD43 SEG30 pin: LCD43_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD43, LCD43_SEG31)
+#error Invalid pin assignment for LCD43 SEG31 pin: LCD43_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD43, LCD43_SEG32)
+#error Invalid pin assignment for LCD43 SEG32 pin: LCD43_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD43, LCD43_SEG33)
+#error Invalid pin assignment for LCD43 SEG33 pin: LCD43_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD43, LCD43_SEG34)
+#error Invalid pin assignment for LCD43 SEG34 pin: LCD43_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD43, LCD43_SEG35)
+#error Invalid pin assignment for LCD43 SEG35 pin: LCD43_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD43, LCD43_SEG36)
+#error Invalid pin assignment for LCD43 SEG36 pin: LCD43_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD43, LCD43_SEG37)
+#error Invalid pin assignment for LCD43 SEG37 pin: LCD43_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD43, LCD43_SEG38)
+#error Invalid pin assignment for LCD43 SEG38 pin: LCD43_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD43, LCD43_SEG39)
+#error Invalid pin assignment for LCD43 SEG39 pin: LCD43_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD43, LCD43_SEG4)
+#error Invalid pin assignment for LCD43 SEG4 pin: LCD43_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD43, LCD43_SEG40)
+#error Invalid pin assignment for LCD43 SEG40 pin: LCD43_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD43, LCD43_SEG41)
+#error Invalid pin assignment for LCD43 SEG41 pin: LCD43_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD43, LCD43_SEG42)
+#error Invalid pin assignment for LCD43 SEG42 pin: LCD43_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD43, LCD43_SEG43)
+#error Invalid pin assignment for LCD43 SEG43 pin: LCD43_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD43, LCD43_SEG44)
+#error Invalid pin assignment for LCD43 SEG44 pin: LCD43_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD43, LCD43_SEG45)
+#error Invalid pin assignment for LCD43 SEG45 pin: LCD43_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD43, LCD43_SEG46)
+#error Invalid pin assignment for LCD43 SEG46 pin: LCD43_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD43, LCD43_SEG47)
+#error Invalid pin assignment for LCD43 SEG47 pin: LCD43_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD43, LCD43_SEG48)
+#error Invalid pin assignment for LCD43 SEG48 pin: LCD43_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD43, LCD43_SEG49)
+#error Invalid pin assignment for LCD43 SEG49 pin: LCD43_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD43, LCD43_SEG5)
+#error Invalid pin assignment for LCD43 SEG5 pin: LCD43_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD43, LCD43_SEG50)
+#error Invalid pin assignment for LCD43 SEG50 pin: LCD43_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD43, LCD43_SEG51)
+#error Invalid pin assignment for LCD43 SEG51 pin: LCD43_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD43, LCD43_SEG6)
+#error Invalid pin assignment for LCD43 SEG6 pin: LCD43_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD43, LCD43_SEG7)
+#error Invalid pin assignment for LCD43 SEG7 pin: LCD43_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD43, LCD43_SEG8)
+#error Invalid pin assignment for LCD43 SEG8 pin: LCD43_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD43, LCD43_SEG9)
+#error Invalid pin assignment for LCD43 SEG9 pin: LCD43_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD43, LCD43_VLCD)
+#error Invalid pin assignment for LCD43 VLCD pin: LCD43_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD44
+#if !FIND_VALUE_LCD_COM0(_LCD44, LCD44_COM0)
+#error Invalid pin assignment for LCD44 COM0 pin: LCD44_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD44, LCD44_COM1)
+#error Invalid pin assignment for LCD44 COM1 pin: LCD44_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD44, LCD44_COM2)
+#error Invalid pin assignment for LCD44 COM2 pin: LCD44_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD44, LCD44_COM3)
+#error Invalid pin assignment for LCD44 COM3 pin: LCD44_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD44, LCD44_COM4)
+#error Invalid pin assignment for LCD44 COM4 pin: LCD44_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD44, LCD44_COM5)
+#error Invalid pin assignment for LCD44 COM5 pin: LCD44_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD44, LCD44_COM6)
+#error Invalid pin assignment for LCD44 COM6 pin: LCD44_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD44, LCD44_COM7)
+#error Invalid pin assignment for LCD44 COM7 pin: LCD44_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD44, LCD44_SEG0)
+#error Invalid pin assignment for LCD44 SEG0 pin: LCD44_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD44, LCD44_SEG1)
+#error Invalid pin assignment for LCD44 SEG1 pin: LCD44_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD44, LCD44_SEG10)
+#error Invalid pin assignment for LCD44 SEG10 pin: LCD44_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD44, LCD44_SEG11)
+#error Invalid pin assignment for LCD44 SEG11 pin: LCD44_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD44, LCD44_SEG12)
+#error Invalid pin assignment for LCD44 SEG12 pin: LCD44_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD44, LCD44_SEG13)
+#error Invalid pin assignment for LCD44 SEG13 pin: LCD44_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD44, LCD44_SEG14)
+#error Invalid pin assignment for LCD44 SEG14 pin: LCD44_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD44, LCD44_SEG15)
+#error Invalid pin assignment for LCD44 SEG15 pin: LCD44_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD44, LCD44_SEG16)
+#error Invalid pin assignment for LCD44 SEG16 pin: LCD44_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD44, LCD44_SEG17)
+#error Invalid pin assignment for LCD44 SEG17 pin: LCD44_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD44, LCD44_SEG18)
+#error Invalid pin assignment for LCD44 SEG18 pin: LCD44_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD44, LCD44_SEG19)
+#error Invalid pin assignment for LCD44 SEG19 pin: LCD44_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD44, LCD44_SEG2)
+#error Invalid pin assignment for LCD44 SEG2 pin: LCD44_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD44, LCD44_SEG20)
+#error Invalid pin assignment for LCD44 SEG20 pin: LCD44_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD44, LCD44_SEG21)
+#error Invalid pin assignment for LCD44 SEG21 pin: LCD44_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD44, LCD44_SEG22)
+#error Invalid pin assignment for LCD44 SEG22 pin: LCD44_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD44, LCD44_SEG23)
+#error Invalid pin assignment for LCD44 SEG23 pin: LCD44_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD44, LCD44_SEG24)
+#error Invalid pin assignment for LCD44 SEG24 pin: LCD44_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD44, LCD44_SEG25)
+#error Invalid pin assignment for LCD44 SEG25 pin: LCD44_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD44, LCD44_SEG26)
+#error Invalid pin assignment for LCD44 SEG26 pin: LCD44_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD44, LCD44_SEG27)
+#error Invalid pin assignment for LCD44 SEG27 pin: LCD44_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD44, LCD44_SEG28)
+#error Invalid pin assignment for LCD44 SEG28 pin: LCD44_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD44, LCD44_SEG29)
+#error Invalid pin assignment for LCD44 SEG29 pin: LCD44_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD44, LCD44_SEG3)
+#error Invalid pin assignment for LCD44 SEG3 pin: LCD44_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD44, LCD44_SEG30)
+#error Invalid pin assignment for LCD44 SEG30 pin: LCD44_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD44, LCD44_SEG31)
+#error Invalid pin assignment for LCD44 SEG31 pin: LCD44_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD44, LCD44_SEG32)
+#error Invalid pin assignment for LCD44 SEG32 pin: LCD44_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD44, LCD44_SEG33)
+#error Invalid pin assignment for LCD44 SEG33 pin: LCD44_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD44, LCD44_SEG34)
+#error Invalid pin assignment for LCD44 SEG34 pin: LCD44_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD44, LCD44_SEG35)
+#error Invalid pin assignment for LCD44 SEG35 pin: LCD44_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD44, LCD44_SEG36)
+#error Invalid pin assignment for LCD44 SEG36 pin: LCD44_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD44, LCD44_SEG37)
+#error Invalid pin assignment for LCD44 SEG37 pin: LCD44_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD44, LCD44_SEG38)
+#error Invalid pin assignment for LCD44 SEG38 pin: LCD44_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD44, LCD44_SEG39)
+#error Invalid pin assignment for LCD44 SEG39 pin: LCD44_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD44, LCD44_SEG4)
+#error Invalid pin assignment for LCD44 SEG4 pin: LCD44_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD44, LCD44_SEG40)
+#error Invalid pin assignment for LCD44 SEG40 pin: LCD44_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD44, LCD44_SEG41)
+#error Invalid pin assignment for LCD44 SEG41 pin: LCD44_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD44, LCD44_SEG42)
+#error Invalid pin assignment for LCD44 SEG42 pin: LCD44_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD44, LCD44_SEG43)
+#error Invalid pin assignment for LCD44 SEG43 pin: LCD44_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD44, LCD44_SEG44)
+#error Invalid pin assignment for LCD44 SEG44 pin: LCD44_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD44, LCD44_SEG45)
+#error Invalid pin assignment for LCD44 SEG45 pin: LCD44_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD44, LCD44_SEG46)
+#error Invalid pin assignment for LCD44 SEG46 pin: LCD44_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD44, LCD44_SEG47)
+#error Invalid pin assignment for LCD44 SEG47 pin: LCD44_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD44, LCD44_SEG48)
+#error Invalid pin assignment for LCD44 SEG48 pin: LCD44_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD44, LCD44_SEG49)
+#error Invalid pin assignment for LCD44 SEG49 pin: LCD44_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD44, LCD44_SEG5)
+#error Invalid pin assignment for LCD44 SEG5 pin: LCD44_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD44, LCD44_SEG50)
+#error Invalid pin assignment for LCD44 SEG50 pin: LCD44_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD44, LCD44_SEG51)
+#error Invalid pin assignment for LCD44 SEG51 pin: LCD44_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD44, LCD44_SEG6)
+#error Invalid pin assignment for LCD44 SEG6 pin: LCD44_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD44, LCD44_SEG7)
+#error Invalid pin assignment for LCD44 SEG7 pin: LCD44_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD44, LCD44_SEG8)
+#error Invalid pin assignment for LCD44 SEG8 pin: LCD44_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD44, LCD44_SEG9)
+#error Invalid pin assignment for LCD44 SEG9 pin: LCD44_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD44, LCD44_VLCD)
+#error Invalid pin assignment for LCD44 VLCD pin: LCD44_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD45
+#if !FIND_VALUE_LCD_COM0(_LCD45, LCD45_COM0)
+#error Invalid pin assignment for LCD45 COM0 pin: LCD45_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD45, LCD45_COM1)
+#error Invalid pin assignment for LCD45 COM1 pin: LCD45_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD45, LCD45_COM2)
+#error Invalid pin assignment for LCD45 COM2 pin: LCD45_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD45, LCD45_COM3)
+#error Invalid pin assignment for LCD45 COM3 pin: LCD45_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD45, LCD45_COM4)
+#error Invalid pin assignment for LCD45 COM4 pin: LCD45_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD45, LCD45_COM5)
+#error Invalid pin assignment for LCD45 COM5 pin: LCD45_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD45, LCD45_COM6)
+#error Invalid pin assignment for LCD45 COM6 pin: LCD45_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD45, LCD45_COM7)
+#error Invalid pin assignment for LCD45 COM7 pin: LCD45_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD45, LCD45_SEG0)
+#error Invalid pin assignment for LCD45 SEG0 pin: LCD45_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD45, LCD45_SEG1)
+#error Invalid pin assignment for LCD45 SEG1 pin: LCD45_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD45, LCD45_SEG10)
+#error Invalid pin assignment for LCD45 SEG10 pin: LCD45_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD45, LCD45_SEG11)
+#error Invalid pin assignment for LCD45 SEG11 pin: LCD45_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD45, LCD45_SEG12)
+#error Invalid pin assignment for LCD45 SEG12 pin: LCD45_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD45, LCD45_SEG13)
+#error Invalid pin assignment for LCD45 SEG13 pin: LCD45_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD45, LCD45_SEG14)
+#error Invalid pin assignment for LCD45 SEG14 pin: LCD45_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD45, LCD45_SEG15)
+#error Invalid pin assignment for LCD45 SEG15 pin: LCD45_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD45, LCD45_SEG16)
+#error Invalid pin assignment for LCD45 SEG16 pin: LCD45_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD45, LCD45_SEG17)
+#error Invalid pin assignment for LCD45 SEG17 pin: LCD45_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD45, LCD45_SEG18)
+#error Invalid pin assignment for LCD45 SEG18 pin: LCD45_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD45, LCD45_SEG19)
+#error Invalid pin assignment for LCD45 SEG19 pin: LCD45_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD45, LCD45_SEG2)
+#error Invalid pin assignment for LCD45 SEG2 pin: LCD45_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD45, LCD45_SEG20)
+#error Invalid pin assignment for LCD45 SEG20 pin: LCD45_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD45, LCD45_SEG21)
+#error Invalid pin assignment for LCD45 SEG21 pin: LCD45_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD45, LCD45_SEG22)
+#error Invalid pin assignment for LCD45 SEG22 pin: LCD45_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD45, LCD45_SEG23)
+#error Invalid pin assignment for LCD45 SEG23 pin: LCD45_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD45, LCD45_SEG24)
+#error Invalid pin assignment for LCD45 SEG24 pin: LCD45_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD45, LCD45_SEG25)
+#error Invalid pin assignment for LCD45 SEG25 pin: LCD45_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD45, LCD45_SEG26)
+#error Invalid pin assignment for LCD45 SEG26 pin: LCD45_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD45, LCD45_SEG27)
+#error Invalid pin assignment for LCD45 SEG27 pin: LCD45_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD45, LCD45_SEG28)
+#error Invalid pin assignment for LCD45 SEG28 pin: LCD45_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD45, LCD45_SEG29)
+#error Invalid pin assignment for LCD45 SEG29 pin: LCD45_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD45, LCD45_SEG3)
+#error Invalid pin assignment for LCD45 SEG3 pin: LCD45_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD45, LCD45_SEG30)
+#error Invalid pin assignment for LCD45 SEG30 pin: LCD45_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD45, LCD45_SEG31)
+#error Invalid pin assignment for LCD45 SEG31 pin: LCD45_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD45, LCD45_SEG32)
+#error Invalid pin assignment for LCD45 SEG32 pin: LCD45_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD45, LCD45_SEG33)
+#error Invalid pin assignment for LCD45 SEG33 pin: LCD45_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD45, LCD45_SEG34)
+#error Invalid pin assignment for LCD45 SEG34 pin: LCD45_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD45, LCD45_SEG35)
+#error Invalid pin assignment for LCD45 SEG35 pin: LCD45_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD45, LCD45_SEG36)
+#error Invalid pin assignment for LCD45 SEG36 pin: LCD45_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD45, LCD45_SEG37)
+#error Invalid pin assignment for LCD45 SEG37 pin: LCD45_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD45, LCD45_SEG38)
+#error Invalid pin assignment for LCD45 SEG38 pin: LCD45_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD45, LCD45_SEG39)
+#error Invalid pin assignment for LCD45 SEG39 pin: LCD45_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD45, LCD45_SEG4)
+#error Invalid pin assignment for LCD45 SEG4 pin: LCD45_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD45, LCD45_SEG40)
+#error Invalid pin assignment for LCD45 SEG40 pin: LCD45_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD45, LCD45_SEG41)
+#error Invalid pin assignment for LCD45 SEG41 pin: LCD45_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD45, LCD45_SEG42)
+#error Invalid pin assignment for LCD45 SEG42 pin: LCD45_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD45, LCD45_SEG43)
+#error Invalid pin assignment for LCD45 SEG43 pin: LCD45_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD45, LCD45_SEG44)
+#error Invalid pin assignment for LCD45 SEG44 pin: LCD45_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD45, LCD45_SEG45)
+#error Invalid pin assignment for LCD45 SEG45 pin: LCD45_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD45, LCD45_SEG46)
+#error Invalid pin assignment for LCD45 SEG46 pin: LCD45_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD45, LCD45_SEG47)
+#error Invalid pin assignment for LCD45 SEG47 pin: LCD45_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD45, LCD45_SEG48)
+#error Invalid pin assignment for LCD45 SEG48 pin: LCD45_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD45, LCD45_SEG49)
+#error Invalid pin assignment for LCD45 SEG49 pin: LCD45_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD45, LCD45_SEG5)
+#error Invalid pin assignment for LCD45 SEG5 pin: LCD45_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD45, LCD45_SEG50)
+#error Invalid pin assignment for LCD45 SEG50 pin: LCD45_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD45, LCD45_SEG51)
+#error Invalid pin assignment for LCD45 SEG51 pin: LCD45_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD45, LCD45_SEG6)
+#error Invalid pin assignment for LCD45 SEG6 pin: LCD45_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD45, LCD45_SEG7)
+#error Invalid pin assignment for LCD45 SEG7 pin: LCD45_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD45, LCD45_SEG8)
+#error Invalid pin assignment for LCD45 SEG8 pin: LCD45_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD45, LCD45_SEG9)
+#error Invalid pin assignment for LCD45 SEG9 pin: LCD45_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD45, LCD45_VLCD)
+#error Invalid pin assignment for LCD45 VLCD pin: LCD45_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD46
+#if !FIND_VALUE_LCD_COM0(_LCD46, LCD46_COM0)
+#error Invalid pin assignment for LCD46 COM0 pin: LCD46_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD46, LCD46_COM1)
+#error Invalid pin assignment for LCD46 COM1 pin: LCD46_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD46, LCD46_COM2)
+#error Invalid pin assignment for LCD46 COM2 pin: LCD46_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD46, LCD46_COM3)
+#error Invalid pin assignment for LCD46 COM3 pin: LCD46_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD46, LCD46_COM4)
+#error Invalid pin assignment for LCD46 COM4 pin: LCD46_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD46, LCD46_COM5)
+#error Invalid pin assignment for LCD46 COM5 pin: LCD46_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD46, LCD46_COM6)
+#error Invalid pin assignment for LCD46 COM6 pin: LCD46_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD46, LCD46_COM7)
+#error Invalid pin assignment for LCD46 COM7 pin: LCD46_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD46, LCD46_SEG0)
+#error Invalid pin assignment for LCD46 SEG0 pin: LCD46_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD46, LCD46_SEG1)
+#error Invalid pin assignment for LCD46 SEG1 pin: LCD46_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD46, LCD46_SEG10)
+#error Invalid pin assignment for LCD46 SEG10 pin: LCD46_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD46, LCD46_SEG11)
+#error Invalid pin assignment for LCD46 SEG11 pin: LCD46_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD46, LCD46_SEG12)
+#error Invalid pin assignment for LCD46 SEG12 pin: LCD46_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD46, LCD46_SEG13)
+#error Invalid pin assignment for LCD46 SEG13 pin: LCD46_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD46, LCD46_SEG14)
+#error Invalid pin assignment for LCD46 SEG14 pin: LCD46_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD46, LCD46_SEG15)
+#error Invalid pin assignment for LCD46 SEG15 pin: LCD46_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD46, LCD46_SEG16)
+#error Invalid pin assignment for LCD46 SEG16 pin: LCD46_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD46, LCD46_SEG17)
+#error Invalid pin assignment for LCD46 SEG17 pin: LCD46_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD46, LCD46_SEG18)
+#error Invalid pin assignment for LCD46 SEG18 pin: LCD46_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD46, LCD46_SEG19)
+#error Invalid pin assignment for LCD46 SEG19 pin: LCD46_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD46, LCD46_SEG2)
+#error Invalid pin assignment for LCD46 SEG2 pin: LCD46_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD46, LCD46_SEG20)
+#error Invalid pin assignment for LCD46 SEG20 pin: LCD46_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD46, LCD46_SEG21)
+#error Invalid pin assignment for LCD46 SEG21 pin: LCD46_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD46, LCD46_SEG22)
+#error Invalid pin assignment for LCD46 SEG22 pin: LCD46_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD46, LCD46_SEG23)
+#error Invalid pin assignment for LCD46 SEG23 pin: LCD46_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD46, LCD46_SEG24)
+#error Invalid pin assignment for LCD46 SEG24 pin: LCD46_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD46, LCD46_SEG25)
+#error Invalid pin assignment for LCD46 SEG25 pin: LCD46_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD46, LCD46_SEG26)
+#error Invalid pin assignment for LCD46 SEG26 pin: LCD46_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD46, LCD46_SEG27)
+#error Invalid pin assignment for LCD46 SEG27 pin: LCD46_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD46, LCD46_SEG28)
+#error Invalid pin assignment for LCD46 SEG28 pin: LCD46_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD46, LCD46_SEG29)
+#error Invalid pin assignment for LCD46 SEG29 pin: LCD46_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD46, LCD46_SEG3)
+#error Invalid pin assignment for LCD46 SEG3 pin: LCD46_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD46, LCD46_SEG30)
+#error Invalid pin assignment for LCD46 SEG30 pin: LCD46_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD46, LCD46_SEG31)
+#error Invalid pin assignment for LCD46 SEG31 pin: LCD46_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD46, LCD46_SEG32)
+#error Invalid pin assignment for LCD46 SEG32 pin: LCD46_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD46, LCD46_SEG33)
+#error Invalid pin assignment for LCD46 SEG33 pin: LCD46_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD46, LCD46_SEG34)
+#error Invalid pin assignment for LCD46 SEG34 pin: LCD46_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD46, LCD46_SEG35)
+#error Invalid pin assignment for LCD46 SEG35 pin: LCD46_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD46, LCD46_SEG36)
+#error Invalid pin assignment for LCD46 SEG36 pin: LCD46_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD46, LCD46_SEG37)
+#error Invalid pin assignment for LCD46 SEG37 pin: LCD46_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD46, LCD46_SEG38)
+#error Invalid pin assignment for LCD46 SEG38 pin: LCD46_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD46, LCD46_SEG39)
+#error Invalid pin assignment for LCD46 SEG39 pin: LCD46_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD46, LCD46_SEG4)
+#error Invalid pin assignment for LCD46 SEG4 pin: LCD46_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD46, LCD46_SEG40)
+#error Invalid pin assignment for LCD46 SEG40 pin: LCD46_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD46, LCD46_SEG41)
+#error Invalid pin assignment for LCD46 SEG41 pin: LCD46_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD46, LCD46_SEG42)
+#error Invalid pin assignment for LCD46 SEG42 pin: LCD46_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD46, LCD46_SEG43)
+#error Invalid pin assignment for LCD46 SEG43 pin: LCD46_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD46, LCD46_SEG44)
+#error Invalid pin assignment for LCD46 SEG44 pin: LCD46_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD46, LCD46_SEG45)
+#error Invalid pin assignment for LCD46 SEG45 pin: LCD46_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD46, LCD46_SEG46)
+#error Invalid pin assignment for LCD46 SEG46 pin: LCD46_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD46, LCD46_SEG47)
+#error Invalid pin assignment for LCD46 SEG47 pin: LCD46_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD46, LCD46_SEG48)
+#error Invalid pin assignment for LCD46 SEG48 pin: LCD46_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD46, LCD46_SEG49)
+#error Invalid pin assignment for LCD46 SEG49 pin: LCD46_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD46, LCD46_SEG5)
+#error Invalid pin assignment for LCD46 SEG5 pin: LCD46_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD46, LCD46_SEG50)
+#error Invalid pin assignment for LCD46 SEG50 pin: LCD46_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD46, LCD46_SEG51)
+#error Invalid pin assignment for LCD46 SEG51 pin: LCD46_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD46, LCD46_SEG6)
+#error Invalid pin assignment for LCD46 SEG6 pin: LCD46_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD46, LCD46_SEG7)
+#error Invalid pin assignment for LCD46 SEG7 pin: LCD46_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD46, LCD46_SEG8)
+#error Invalid pin assignment for LCD46 SEG8 pin: LCD46_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD46, LCD46_SEG9)
+#error Invalid pin assignment for LCD46 SEG9 pin: LCD46_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD46, LCD46_VLCD)
+#error Invalid pin assignment for LCD46 VLCD pin: LCD46_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD47
+#if !FIND_VALUE_LCD_COM0(_LCD47, LCD47_COM0)
+#error Invalid pin assignment for LCD47 COM0 pin: LCD47_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD47, LCD47_COM1)
+#error Invalid pin assignment for LCD47 COM1 pin: LCD47_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD47, LCD47_COM2)
+#error Invalid pin assignment for LCD47 COM2 pin: LCD47_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD47, LCD47_COM3)
+#error Invalid pin assignment for LCD47 COM3 pin: LCD47_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD47, LCD47_COM4)
+#error Invalid pin assignment for LCD47 COM4 pin: LCD47_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD47, LCD47_COM5)
+#error Invalid pin assignment for LCD47 COM5 pin: LCD47_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD47, LCD47_COM6)
+#error Invalid pin assignment for LCD47 COM6 pin: LCD47_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD47, LCD47_COM7)
+#error Invalid pin assignment for LCD47 COM7 pin: LCD47_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD47, LCD47_SEG0)
+#error Invalid pin assignment for LCD47 SEG0 pin: LCD47_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD47, LCD47_SEG1)
+#error Invalid pin assignment for LCD47 SEG1 pin: LCD47_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD47, LCD47_SEG10)
+#error Invalid pin assignment for LCD47 SEG10 pin: LCD47_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD47, LCD47_SEG11)
+#error Invalid pin assignment for LCD47 SEG11 pin: LCD47_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD47, LCD47_SEG12)
+#error Invalid pin assignment for LCD47 SEG12 pin: LCD47_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD47, LCD47_SEG13)
+#error Invalid pin assignment for LCD47 SEG13 pin: LCD47_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD47, LCD47_SEG14)
+#error Invalid pin assignment for LCD47 SEG14 pin: LCD47_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD47, LCD47_SEG15)
+#error Invalid pin assignment for LCD47 SEG15 pin: LCD47_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD47, LCD47_SEG16)
+#error Invalid pin assignment for LCD47 SEG16 pin: LCD47_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD47, LCD47_SEG17)
+#error Invalid pin assignment for LCD47 SEG17 pin: LCD47_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD47, LCD47_SEG18)
+#error Invalid pin assignment for LCD47 SEG18 pin: LCD47_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD47, LCD47_SEG19)
+#error Invalid pin assignment for LCD47 SEG19 pin: LCD47_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD47, LCD47_SEG2)
+#error Invalid pin assignment for LCD47 SEG2 pin: LCD47_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD47, LCD47_SEG20)
+#error Invalid pin assignment for LCD47 SEG20 pin: LCD47_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD47, LCD47_SEG21)
+#error Invalid pin assignment for LCD47 SEG21 pin: LCD47_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD47, LCD47_SEG22)
+#error Invalid pin assignment for LCD47 SEG22 pin: LCD47_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD47, LCD47_SEG23)
+#error Invalid pin assignment for LCD47 SEG23 pin: LCD47_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD47, LCD47_SEG24)
+#error Invalid pin assignment for LCD47 SEG24 pin: LCD47_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD47, LCD47_SEG25)
+#error Invalid pin assignment for LCD47 SEG25 pin: LCD47_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD47, LCD47_SEG26)
+#error Invalid pin assignment for LCD47 SEG26 pin: LCD47_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD47, LCD47_SEG27)
+#error Invalid pin assignment for LCD47 SEG27 pin: LCD47_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD47, LCD47_SEG28)
+#error Invalid pin assignment for LCD47 SEG28 pin: LCD47_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD47, LCD47_SEG29)
+#error Invalid pin assignment for LCD47 SEG29 pin: LCD47_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD47, LCD47_SEG3)
+#error Invalid pin assignment for LCD47 SEG3 pin: LCD47_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD47, LCD47_SEG30)
+#error Invalid pin assignment for LCD47 SEG30 pin: LCD47_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD47, LCD47_SEG31)
+#error Invalid pin assignment for LCD47 SEG31 pin: LCD47_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD47, LCD47_SEG32)
+#error Invalid pin assignment for LCD47 SEG32 pin: LCD47_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD47, LCD47_SEG33)
+#error Invalid pin assignment for LCD47 SEG33 pin: LCD47_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD47, LCD47_SEG34)
+#error Invalid pin assignment for LCD47 SEG34 pin: LCD47_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD47, LCD47_SEG35)
+#error Invalid pin assignment for LCD47 SEG35 pin: LCD47_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD47, LCD47_SEG36)
+#error Invalid pin assignment for LCD47 SEG36 pin: LCD47_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD47, LCD47_SEG37)
+#error Invalid pin assignment for LCD47 SEG37 pin: LCD47_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD47, LCD47_SEG38)
+#error Invalid pin assignment for LCD47 SEG38 pin: LCD47_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD47, LCD47_SEG39)
+#error Invalid pin assignment for LCD47 SEG39 pin: LCD47_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD47, LCD47_SEG4)
+#error Invalid pin assignment for LCD47 SEG4 pin: LCD47_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD47, LCD47_SEG40)
+#error Invalid pin assignment for LCD47 SEG40 pin: LCD47_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD47, LCD47_SEG41)
+#error Invalid pin assignment for LCD47 SEG41 pin: LCD47_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD47, LCD47_SEG42)
+#error Invalid pin assignment for LCD47 SEG42 pin: LCD47_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD47, LCD47_SEG43)
+#error Invalid pin assignment for LCD47 SEG43 pin: LCD47_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD47, LCD47_SEG44)
+#error Invalid pin assignment for LCD47 SEG44 pin: LCD47_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD47, LCD47_SEG45)
+#error Invalid pin assignment for LCD47 SEG45 pin: LCD47_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD47, LCD47_SEG46)
+#error Invalid pin assignment for LCD47 SEG46 pin: LCD47_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD47, LCD47_SEG47)
+#error Invalid pin assignment for LCD47 SEG47 pin: LCD47_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD47, LCD47_SEG48)
+#error Invalid pin assignment for LCD47 SEG48 pin: LCD47_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD47, LCD47_SEG49)
+#error Invalid pin assignment for LCD47 SEG49 pin: LCD47_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD47, LCD47_SEG5)
+#error Invalid pin assignment for LCD47 SEG5 pin: LCD47_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD47, LCD47_SEG50)
+#error Invalid pin assignment for LCD47 SEG50 pin: LCD47_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD47, LCD47_SEG51)
+#error Invalid pin assignment for LCD47 SEG51 pin: LCD47_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD47, LCD47_SEG6)
+#error Invalid pin assignment for LCD47 SEG6 pin: LCD47_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD47, LCD47_SEG7)
+#error Invalid pin assignment for LCD47 SEG7 pin: LCD47_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD47, LCD47_SEG8)
+#error Invalid pin assignment for LCD47 SEG8 pin: LCD47_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD47, LCD47_SEG9)
+#error Invalid pin assignment for LCD47 SEG9 pin: LCD47_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD47, LCD47_VLCD)
+#error Invalid pin assignment for LCD47 VLCD pin: LCD47_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD48
+#if !FIND_VALUE_LCD_COM0(_LCD48, LCD48_COM0)
+#error Invalid pin assignment for LCD48 COM0 pin: LCD48_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD48, LCD48_COM1)
+#error Invalid pin assignment for LCD48 COM1 pin: LCD48_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD48, LCD48_COM2)
+#error Invalid pin assignment for LCD48 COM2 pin: LCD48_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD48, LCD48_COM3)
+#error Invalid pin assignment for LCD48 COM3 pin: LCD48_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD48, LCD48_COM4)
+#error Invalid pin assignment for LCD48 COM4 pin: LCD48_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD48, LCD48_COM5)
+#error Invalid pin assignment for LCD48 COM5 pin: LCD48_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD48, LCD48_COM6)
+#error Invalid pin assignment for LCD48 COM6 pin: LCD48_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD48, LCD48_COM7)
+#error Invalid pin assignment for LCD48 COM7 pin: LCD48_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD48, LCD48_SEG0)
+#error Invalid pin assignment for LCD48 SEG0 pin: LCD48_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD48, LCD48_SEG1)
+#error Invalid pin assignment for LCD48 SEG1 pin: LCD48_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD48, LCD48_SEG10)
+#error Invalid pin assignment for LCD48 SEG10 pin: LCD48_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD48, LCD48_SEG11)
+#error Invalid pin assignment for LCD48 SEG11 pin: LCD48_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD48, LCD48_SEG12)
+#error Invalid pin assignment for LCD48 SEG12 pin: LCD48_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD48, LCD48_SEG13)
+#error Invalid pin assignment for LCD48 SEG13 pin: LCD48_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD48, LCD48_SEG14)
+#error Invalid pin assignment for LCD48 SEG14 pin: LCD48_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD48, LCD48_SEG15)
+#error Invalid pin assignment for LCD48 SEG15 pin: LCD48_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD48, LCD48_SEG16)
+#error Invalid pin assignment for LCD48 SEG16 pin: LCD48_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD48, LCD48_SEG17)
+#error Invalid pin assignment for LCD48 SEG17 pin: LCD48_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD48, LCD48_SEG18)
+#error Invalid pin assignment for LCD48 SEG18 pin: LCD48_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD48, LCD48_SEG19)
+#error Invalid pin assignment for LCD48 SEG19 pin: LCD48_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD48, LCD48_SEG2)
+#error Invalid pin assignment for LCD48 SEG2 pin: LCD48_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD48, LCD48_SEG20)
+#error Invalid pin assignment for LCD48 SEG20 pin: LCD48_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD48, LCD48_SEG21)
+#error Invalid pin assignment for LCD48 SEG21 pin: LCD48_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD48, LCD48_SEG22)
+#error Invalid pin assignment for LCD48 SEG22 pin: LCD48_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD48, LCD48_SEG23)
+#error Invalid pin assignment for LCD48 SEG23 pin: LCD48_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD48, LCD48_SEG24)
+#error Invalid pin assignment for LCD48 SEG24 pin: LCD48_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD48, LCD48_SEG25)
+#error Invalid pin assignment for LCD48 SEG25 pin: LCD48_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD48, LCD48_SEG26)
+#error Invalid pin assignment for LCD48 SEG26 pin: LCD48_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD48, LCD48_SEG27)
+#error Invalid pin assignment for LCD48 SEG27 pin: LCD48_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD48, LCD48_SEG28)
+#error Invalid pin assignment for LCD48 SEG28 pin: LCD48_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD48, LCD48_SEG29)
+#error Invalid pin assignment for LCD48 SEG29 pin: LCD48_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD48, LCD48_SEG3)
+#error Invalid pin assignment for LCD48 SEG3 pin: LCD48_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD48, LCD48_SEG30)
+#error Invalid pin assignment for LCD48 SEG30 pin: LCD48_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD48, LCD48_SEG31)
+#error Invalid pin assignment for LCD48 SEG31 pin: LCD48_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD48, LCD48_SEG32)
+#error Invalid pin assignment for LCD48 SEG32 pin: LCD48_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD48, LCD48_SEG33)
+#error Invalid pin assignment for LCD48 SEG33 pin: LCD48_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD48, LCD48_SEG34)
+#error Invalid pin assignment for LCD48 SEG34 pin: LCD48_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD48, LCD48_SEG35)
+#error Invalid pin assignment for LCD48 SEG35 pin: LCD48_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD48, LCD48_SEG36)
+#error Invalid pin assignment for LCD48 SEG36 pin: LCD48_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD48, LCD48_SEG37)
+#error Invalid pin assignment for LCD48 SEG37 pin: LCD48_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD48, LCD48_SEG38)
+#error Invalid pin assignment for LCD48 SEG38 pin: LCD48_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD48, LCD48_SEG39)
+#error Invalid pin assignment for LCD48 SEG39 pin: LCD48_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD48, LCD48_SEG4)
+#error Invalid pin assignment for LCD48 SEG4 pin: LCD48_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD48, LCD48_SEG40)
+#error Invalid pin assignment for LCD48 SEG40 pin: LCD48_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD48, LCD48_SEG41)
+#error Invalid pin assignment for LCD48 SEG41 pin: LCD48_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD48, LCD48_SEG42)
+#error Invalid pin assignment for LCD48 SEG42 pin: LCD48_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD48, LCD48_SEG43)
+#error Invalid pin assignment for LCD48 SEG43 pin: LCD48_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD48, LCD48_SEG44)
+#error Invalid pin assignment for LCD48 SEG44 pin: LCD48_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD48, LCD48_SEG45)
+#error Invalid pin assignment for LCD48 SEG45 pin: LCD48_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD48, LCD48_SEG46)
+#error Invalid pin assignment for LCD48 SEG46 pin: LCD48_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD48, LCD48_SEG47)
+#error Invalid pin assignment for LCD48 SEG47 pin: LCD48_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD48, LCD48_SEG48)
+#error Invalid pin assignment for LCD48 SEG48 pin: LCD48_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD48, LCD48_SEG49)
+#error Invalid pin assignment for LCD48 SEG49 pin: LCD48_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD48, LCD48_SEG5)
+#error Invalid pin assignment for LCD48 SEG5 pin: LCD48_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD48, LCD48_SEG50)
+#error Invalid pin assignment for LCD48 SEG50 pin: LCD48_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD48, LCD48_SEG51)
+#error Invalid pin assignment for LCD48 SEG51 pin: LCD48_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD48, LCD48_SEG6)
+#error Invalid pin assignment for LCD48 SEG6 pin: LCD48_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD48, LCD48_SEG7)
+#error Invalid pin assignment for LCD48 SEG7 pin: LCD48_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD48, LCD48_SEG8)
+#error Invalid pin assignment for LCD48 SEG8 pin: LCD48_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD48, LCD48_SEG9)
+#error Invalid pin assignment for LCD48 SEG9 pin: LCD48_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD48, LCD48_VLCD)
+#error Invalid pin assignment for LCD48 VLCD pin: LCD48_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD49
+#if !FIND_VALUE_LCD_COM0(_LCD49, LCD49_COM0)
+#error Invalid pin assignment for LCD49 COM0 pin: LCD49_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD49, LCD49_COM1)
+#error Invalid pin assignment for LCD49 COM1 pin: LCD49_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD49, LCD49_COM2)
+#error Invalid pin assignment for LCD49 COM2 pin: LCD49_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD49, LCD49_COM3)
+#error Invalid pin assignment for LCD49 COM3 pin: LCD49_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD49, LCD49_COM4)
+#error Invalid pin assignment for LCD49 COM4 pin: LCD49_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD49, LCD49_COM5)
+#error Invalid pin assignment for LCD49 COM5 pin: LCD49_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD49, LCD49_COM6)
+#error Invalid pin assignment for LCD49 COM6 pin: LCD49_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD49, LCD49_COM7)
+#error Invalid pin assignment for LCD49 COM7 pin: LCD49_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD49, LCD49_SEG0)
+#error Invalid pin assignment for LCD49 SEG0 pin: LCD49_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD49, LCD49_SEG1)
+#error Invalid pin assignment for LCD49 SEG1 pin: LCD49_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD49, LCD49_SEG10)
+#error Invalid pin assignment for LCD49 SEG10 pin: LCD49_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD49, LCD49_SEG11)
+#error Invalid pin assignment for LCD49 SEG11 pin: LCD49_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD49, LCD49_SEG12)
+#error Invalid pin assignment for LCD49 SEG12 pin: LCD49_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD49, LCD49_SEG13)
+#error Invalid pin assignment for LCD49 SEG13 pin: LCD49_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD49, LCD49_SEG14)
+#error Invalid pin assignment for LCD49 SEG14 pin: LCD49_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD49, LCD49_SEG15)
+#error Invalid pin assignment for LCD49 SEG15 pin: LCD49_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD49, LCD49_SEG16)
+#error Invalid pin assignment for LCD49 SEG16 pin: LCD49_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD49, LCD49_SEG17)
+#error Invalid pin assignment for LCD49 SEG17 pin: LCD49_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD49, LCD49_SEG18)
+#error Invalid pin assignment for LCD49 SEG18 pin: LCD49_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD49, LCD49_SEG19)
+#error Invalid pin assignment for LCD49 SEG19 pin: LCD49_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD49, LCD49_SEG2)
+#error Invalid pin assignment for LCD49 SEG2 pin: LCD49_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD49, LCD49_SEG20)
+#error Invalid pin assignment for LCD49 SEG20 pin: LCD49_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD49, LCD49_SEG21)
+#error Invalid pin assignment for LCD49 SEG21 pin: LCD49_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD49, LCD49_SEG22)
+#error Invalid pin assignment for LCD49 SEG22 pin: LCD49_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD49, LCD49_SEG23)
+#error Invalid pin assignment for LCD49 SEG23 pin: LCD49_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD49, LCD49_SEG24)
+#error Invalid pin assignment for LCD49 SEG24 pin: LCD49_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD49, LCD49_SEG25)
+#error Invalid pin assignment for LCD49 SEG25 pin: LCD49_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD49, LCD49_SEG26)
+#error Invalid pin assignment for LCD49 SEG26 pin: LCD49_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD49, LCD49_SEG27)
+#error Invalid pin assignment for LCD49 SEG27 pin: LCD49_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD49, LCD49_SEG28)
+#error Invalid pin assignment for LCD49 SEG28 pin: LCD49_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD49, LCD49_SEG29)
+#error Invalid pin assignment for LCD49 SEG29 pin: LCD49_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD49, LCD49_SEG3)
+#error Invalid pin assignment for LCD49 SEG3 pin: LCD49_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD49, LCD49_SEG30)
+#error Invalid pin assignment for LCD49 SEG30 pin: LCD49_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD49, LCD49_SEG31)
+#error Invalid pin assignment for LCD49 SEG31 pin: LCD49_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD49, LCD49_SEG32)
+#error Invalid pin assignment for LCD49 SEG32 pin: LCD49_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD49, LCD49_SEG33)
+#error Invalid pin assignment for LCD49 SEG33 pin: LCD49_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD49, LCD49_SEG34)
+#error Invalid pin assignment for LCD49 SEG34 pin: LCD49_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD49, LCD49_SEG35)
+#error Invalid pin assignment for LCD49 SEG35 pin: LCD49_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD49, LCD49_SEG36)
+#error Invalid pin assignment for LCD49 SEG36 pin: LCD49_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD49, LCD49_SEG37)
+#error Invalid pin assignment for LCD49 SEG37 pin: LCD49_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD49, LCD49_SEG38)
+#error Invalid pin assignment for LCD49 SEG38 pin: LCD49_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD49, LCD49_SEG39)
+#error Invalid pin assignment for LCD49 SEG39 pin: LCD49_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD49, LCD49_SEG4)
+#error Invalid pin assignment for LCD49 SEG4 pin: LCD49_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD49, LCD49_SEG40)
+#error Invalid pin assignment for LCD49 SEG40 pin: LCD49_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD49, LCD49_SEG41)
+#error Invalid pin assignment for LCD49 SEG41 pin: LCD49_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD49, LCD49_SEG42)
+#error Invalid pin assignment for LCD49 SEG42 pin: LCD49_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD49, LCD49_SEG43)
+#error Invalid pin assignment for LCD49 SEG43 pin: LCD49_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD49, LCD49_SEG44)
+#error Invalid pin assignment for LCD49 SEG44 pin: LCD49_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD49, LCD49_SEG45)
+#error Invalid pin assignment for LCD49 SEG45 pin: LCD49_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD49, LCD49_SEG46)
+#error Invalid pin assignment for LCD49 SEG46 pin: LCD49_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD49, LCD49_SEG47)
+#error Invalid pin assignment for LCD49 SEG47 pin: LCD49_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD49, LCD49_SEG48)
+#error Invalid pin assignment for LCD49 SEG48 pin: LCD49_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD49, LCD49_SEG49)
+#error Invalid pin assignment for LCD49 SEG49 pin: LCD49_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD49, LCD49_SEG5)
+#error Invalid pin assignment for LCD49 SEG5 pin: LCD49_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD49, LCD49_SEG50)
+#error Invalid pin assignment for LCD49 SEG50 pin: LCD49_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD49, LCD49_SEG51)
+#error Invalid pin assignment for LCD49 SEG51 pin: LCD49_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD49, LCD49_SEG6)
+#error Invalid pin assignment for LCD49 SEG6 pin: LCD49_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD49, LCD49_SEG7)
+#error Invalid pin assignment for LCD49 SEG7 pin: LCD49_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD49, LCD49_SEG8)
+#error Invalid pin assignment for LCD49 SEG8 pin: LCD49_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD49, LCD49_SEG9)
+#error Invalid pin assignment for LCD49 SEG9 pin: LCD49_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD49, LCD49_VLCD)
+#error Invalid pin assignment for LCD49 VLCD pin: LCD49_VLCD
+#endif
+#endif
+
+#ifdef USE_LCD50
+#if !FIND_VALUE_LCD_COM0(_LCD50, LCD50_COM0)
+#error Invalid pin assignment for LCD50 COM0 pin: LCD50_COM0
+#endif
+#if !FIND_VALUE_LCD_COM1(_LCD50, LCD50_COM1)
+#error Invalid pin assignment for LCD50 COM1 pin: LCD50_COM1
+#endif
+#if !FIND_VALUE_LCD_COM2(_LCD50, LCD50_COM2)
+#error Invalid pin assignment for LCD50 COM2 pin: LCD50_COM2
+#endif
+#if !FIND_VALUE_LCD_COM3(_LCD50, LCD50_COM3)
+#error Invalid pin assignment for LCD50 COM3 pin: LCD50_COM3
+#endif
+#if !FIND_VALUE_LCD_COM4(_LCD50, LCD50_COM4)
+#error Invalid pin assignment for LCD50 COM4 pin: LCD50_COM4
+#endif
+#if !FIND_VALUE_LCD_COM5(_LCD50, LCD50_COM5)
+#error Invalid pin assignment for LCD50 COM5 pin: LCD50_COM5
+#endif
+#if !FIND_VALUE_LCD_COM6(_LCD50, LCD50_COM6)
+#error Invalid pin assignment for LCD50 COM6 pin: LCD50_COM6
+#endif
+#if !FIND_VALUE_LCD_COM7(_LCD50, LCD50_COM7)
+#error Invalid pin assignment for LCD50 COM7 pin: LCD50_COM7
+#endif
+#if !FIND_VALUE_LCD_SEG0(_LCD50, LCD50_SEG0)
+#error Invalid pin assignment for LCD50 SEG0 pin: LCD50_SEG0
+#endif
+#if !FIND_VALUE_LCD_SEG1(_LCD50, LCD50_SEG1)
+#error Invalid pin assignment for LCD50 SEG1 pin: LCD50_SEG1
+#endif
+#if !FIND_VALUE_LCD_SEG10(_LCD50, LCD50_SEG10)
+#error Invalid pin assignment for LCD50 SEG10 pin: LCD50_SEG10
+#endif
+#if !FIND_VALUE_LCD_SEG11(_LCD50, LCD50_SEG11)
+#error Invalid pin assignment for LCD50 SEG11 pin: LCD50_SEG11
+#endif
+#if !FIND_VALUE_LCD_SEG12(_LCD50, LCD50_SEG12)
+#error Invalid pin assignment for LCD50 SEG12 pin: LCD50_SEG12
+#endif
+#if !FIND_VALUE_LCD_SEG13(_LCD50, LCD50_SEG13)
+#error Invalid pin assignment for LCD50 SEG13 pin: LCD50_SEG13
+#endif
+#if !FIND_VALUE_LCD_SEG14(_LCD50, LCD50_SEG14)
+#error Invalid pin assignment for LCD50 SEG14 pin: LCD50_SEG14
+#endif
+#if !FIND_VALUE_LCD_SEG15(_LCD50, LCD50_SEG15)
+#error Invalid pin assignment for LCD50 SEG15 pin: LCD50_SEG15
+#endif
+#if !FIND_VALUE_LCD_SEG16(_LCD50, LCD50_SEG16)
+#error Invalid pin assignment for LCD50 SEG16 pin: LCD50_SEG16
+#endif
+#if !FIND_VALUE_LCD_SEG17(_LCD50, LCD50_SEG17)
+#error Invalid pin assignment for LCD50 SEG17 pin: LCD50_SEG17
+#endif
+#if !FIND_VALUE_LCD_SEG18(_LCD50, LCD50_SEG18)
+#error Invalid pin assignment for LCD50 SEG18 pin: LCD50_SEG18
+#endif
+#if !FIND_VALUE_LCD_SEG19(_LCD50, LCD50_SEG19)
+#error Invalid pin assignment for LCD50 SEG19 pin: LCD50_SEG19
+#endif
+#if !FIND_VALUE_LCD_SEG2(_LCD50, LCD50_SEG2)
+#error Invalid pin assignment for LCD50 SEG2 pin: LCD50_SEG2
+#endif
+#if !FIND_VALUE_LCD_SEG20(_LCD50, LCD50_SEG20)
+#error Invalid pin assignment for LCD50 SEG20 pin: LCD50_SEG20
+#endif
+#if !FIND_VALUE_LCD_SEG21(_LCD50, LCD50_SEG21)
+#error Invalid pin assignment for LCD50 SEG21 pin: LCD50_SEG21
+#endif
+#if !FIND_VALUE_LCD_SEG22(_LCD50, LCD50_SEG22)
+#error Invalid pin assignment for LCD50 SEG22 pin: LCD50_SEG22
+#endif
+#if !FIND_VALUE_LCD_SEG23(_LCD50, LCD50_SEG23)
+#error Invalid pin assignment for LCD50 SEG23 pin: LCD50_SEG23
+#endif
+#if !FIND_VALUE_LCD_SEG24(_LCD50, LCD50_SEG24)
+#error Invalid pin assignment for LCD50 SEG24 pin: LCD50_SEG24
+#endif
+#if !FIND_VALUE_LCD_SEG25(_LCD50, LCD50_SEG25)
+#error Invalid pin assignment for LCD50 SEG25 pin: LCD50_SEG25
+#endif
+#if !FIND_VALUE_LCD_SEG26(_LCD50, LCD50_SEG26)
+#error Invalid pin assignment for LCD50 SEG26 pin: LCD50_SEG26
+#endif
+#if !FIND_VALUE_LCD_SEG27(_LCD50, LCD50_SEG27)
+#error Invalid pin assignment for LCD50 SEG27 pin: LCD50_SEG27
+#endif
+#if !FIND_VALUE_LCD_SEG28(_LCD50, LCD50_SEG28)
+#error Invalid pin assignment for LCD50 SEG28 pin: LCD50_SEG28
+#endif
+#if !FIND_VALUE_LCD_SEG29(_LCD50, LCD50_SEG29)
+#error Invalid pin assignment for LCD50 SEG29 pin: LCD50_SEG29
+#endif
+#if !FIND_VALUE_LCD_SEG3(_LCD50, LCD50_SEG3)
+#error Invalid pin assignment for LCD50 SEG3 pin: LCD50_SEG3
+#endif
+#if !FIND_VALUE_LCD_SEG30(_LCD50, LCD50_SEG30)
+#error Invalid pin assignment for LCD50 SEG30 pin: LCD50_SEG30
+#endif
+#if !FIND_VALUE_LCD_SEG31(_LCD50, LCD50_SEG31)
+#error Invalid pin assignment for LCD50 SEG31 pin: LCD50_SEG31
+#endif
+#if !FIND_VALUE_LCD_SEG32(_LCD50, LCD50_SEG32)
+#error Invalid pin assignment for LCD50 SEG32 pin: LCD50_SEG32
+#endif
+#if !FIND_VALUE_LCD_SEG33(_LCD50, LCD50_SEG33)
+#error Invalid pin assignment for LCD50 SEG33 pin: LCD50_SEG33
+#endif
+#if !FIND_VALUE_LCD_SEG34(_LCD50, LCD50_SEG34)
+#error Invalid pin assignment for LCD50 SEG34 pin: LCD50_SEG34
+#endif
+#if !FIND_VALUE_LCD_SEG35(_LCD50, LCD50_SEG35)
+#error Invalid pin assignment for LCD50 SEG35 pin: LCD50_SEG35
+#endif
+#if !FIND_VALUE_LCD_SEG36(_LCD50, LCD50_SEG36)
+#error Invalid pin assignment for LCD50 SEG36 pin: LCD50_SEG36
+#endif
+#if !FIND_VALUE_LCD_SEG37(_LCD50, LCD50_SEG37)
+#error Invalid pin assignment for LCD50 SEG37 pin: LCD50_SEG37
+#endif
+#if !FIND_VALUE_LCD_SEG38(_LCD50, LCD50_SEG38)
+#error Invalid pin assignment for LCD50 SEG38 pin: LCD50_SEG38
+#endif
+#if !FIND_VALUE_LCD_SEG39(_LCD50, LCD50_SEG39)
+#error Invalid pin assignment for LCD50 SEG39 pin: LCD50_SEG39
+#endif
+#if !FIND_VALUE_LCD_SEG4(_LCD50, LCD50_SEG4)
+#error Invalid pin assignment for LCD50 SEG4 pin: LCD50_SEG4
+#endif
+#if !FIND_VALUE_LCD_SEG40(_LCD50, LCD50_SEG40)
+#error Invalid pin assignment for LCD50 SEG40 pin: LCD50_SEG40
+#endif
+#if !FIND_VALUE_LCD_SEG41(_LCD50, LCD50_SEG41)
+#error Invalid pin assignment for LCD50 SEG41 pin: LCD50_SEG41
+#endif
+#if !FIND_VALUE_LCD_SEG42(_LCD50, LCD50_SEG42)
+#error Invalid pin assignment for LCD50 SEG42 pin: LCD50_SEG42
+#endif
+#if !FIND_VALUE_LCD_SEG43(_LCD50, LCD50_SEG43)
+#error Invalid pin assignment for LCD50 SEG43 pin: LCD50_SEG43
+#endif
+#if !FIND_VALUE_LCD_SEG44(_LCD50, LCD50_SEG44)
+#error Invalid pin assignment for LCD50 SEG44 pin: LCD50_SEG44
+#endif
+#if !FIND_VALUE_LCD_SEG45(_LCD50, LCD50_SEG45)
+#error Invalid pin assignment for LCD50 SEG45 pin: LCD50_SEG45
+#endif
+#if !FIND_VALUE_LCD_SEG46(_LCD50, LCD50_SEG46)
+#error Invalid pin assignment for LCD50 SEG46 pin: LCD50_SEG46
+#endif
+#if !FIND_VALUE_LCD_SEG47(_LCD50, LCD50_SEG47)
+#error Invalid pin assignment for LCD50 SEG47 pin: LCD50_SEG47
+#endif
+#if !FIND_VALUE_LCD_SEG48(_LCD50, LCD50_SEG48)
+#error Invalid pin assignment for LCD50 SEG48 pin: LCD50_SEG48
+#endif
+#if !FIND_VALUE_LCD_SEG49(_LCD50, LCD50_SEG49)
+#error Invalid pin assignment for LCD50 SEG49 pin: LCD50_SEG49
+#endif
+#if !FIND_VALUE_LCD_SEG5(_LCD50, LCD50_SEG5)
+#error Invalid pin assignment for LCD50 SEG5 pin: LCD50_SEG5
+#endif
+#if !FIND_VALUE_LCD_SEG50(_LCD50, LCD50_SEG50)
+#error Invalid pin assignment for LCD50 SEG50 pin: LCD50_SEG50
+#endif
+#if !FIND_VALUE_LCD_SEG51(_LCD50, LCD50_SEG51)
+#error Invalid pin assignment for LCD50 SEG51 pin: LCD50_SEG51
+#endif
+#if !FIND_VALUE_LCD_SEG6(_LCD50, LCD50_SEG6)
+#error Invalid pin assignment for LCD50 SEG6 pin: LCD50_SEG6
+#endif
+#if !FIND_VALUE_LCD_SEG7(_LCD50, LCD50_SEG7)
+#error Invalid pin assignment for LCD50 SEG7 pin: LCD50_SEG7
+#endif
+#if !FIND_VALUE_LCD_SEG8(_LCD50, LCD50_SEG8)
+#error Invalid pin assignment for LCD50 SEG8 pin: LCD50_SEG8
+#endif
+#if !FIND_VALUE_LCD_SEG9(_LCD50, LCD50_SEG9)
+#error Invalid pin assignment for LCD50 SEG9 pin: LCD50_SEG9
+#endif
+#if !FIND_VALUE_LCD_VLCD(_LCD50, LCD50_VLCD)
+#error Invalid pin assignment for LCD50 VLCD pin: LCD50_VLCD
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lptim.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lptim.h
new file mode 100644
index 000000000..59ebac662
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lptim.h
@@ -0,0 +1,128 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403620
+ */
+
+#define FIND_VALUE_LPTIM_CH1_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_CH1(INDEX,PIN) FIND_VALUE_LPTIM_CH1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPTIM_CH2_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_CH2(INDEX,PIN) FIND_VALUE_LPTIM_CH2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPTIM_ETR_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_ETR(INDEX,PIN) FIND_VALUE_LPTIM_ETR_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPTIM_IN1_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_IN1(INDEX,PIN) FIND_VALUE_LPTIM_IN1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPTIM_IN2_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_IN2(INDEX,PIN) FIND_VALUE_LPTIM_IN2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPTIM_OUT_inner(INDEX,PIN) I2C##_LPTIM_##PIN
+#define FIND_VALUE_LPTIM_OUT(INDEX,PIN) FIND_VALUE_LPTIM_OUT_inner(INDEX,PIN)
+
+#ifdef USE_LPTIM0
+#if !FIND_VALUE_LPTIM_CH1(_LPTIM0, LPTIM0_CH1)
+#error Invalid pin assignment for LPTIM0 CH1 pin: LPTIM0_CH1
+#endif
+#if !FIND_VALUE_LPTIM_CH2(_LPTIM0, LPTIM0_CH2)
+#error Invalid pin assignment for LPTIM0 CH2 pin: LPTIM0_CH2
+#endif
+#if !FIND_VALUE_LPTIM_ETR(_LPTIM0, LPTIM0_ETR)
+#error Invalid pin assignment for LPTIM0 ETR pin: LPTIM0_ETR
+#endif
+#if !FIND_VALUE_LPTIM_IN1(_LPTIM0, LPTIM0_IN1)
+#error Invalid pin assignment for LPTIM0 IN1 pin: LPTIM0_IN1
+#endif
+#if !FIND_VALUE_LPTIM_IN2(_LPTIM0, LPTIM0_IN2)
+#error Invalid pin assignment for LPTIM0 IN2 pin: LPTIM0_IN2
+#endif
+#if !FIND_VALUE_LPTIM_OUT(_LPTIM0, LPTIM0_OUT)
+#error Invalid pin assignment for LPTIM0 OUT pin: LPTIM0_OUT
+#endif
+#endif
+
+#ifdef USE_LPTIM1
+#if !FIND_VALUE_LPTIM_CH1(_LPTIM1, LPTIM1_CH1)
+#error Invalid pin assignment for LPTIM1 CH1 pin: LPTIM1_CH1
+#endif
+#if !FIND_VALUE_LPTIM_CH2(_LPTIM1, LPTIM1_CH2)
+#error Invalid pin assignment for LPTIM1 CH2 pin: LPTIM1_CH2
+#endif
+#if !FIND_VALUE_LPTIM_ETR(_LPTIM1, LPTIM1_ETR)
+#error Invalid pin assignment for LPTIM1 ETR pin: LPTIM1_ETR
+#endif
+#if !FIND_VALUE_LPTIM_IN1(_LPTIM1, LPTIM1_IN1)
+#error Invalid pin assignment for LPTIM1 IN1 pin: LPTIM1_IN1
+#endif
+#if !FIND_VALUE_LPTIM_IN2(_LPTIM1, LPTIM1_IN2)
+#error Invalid pin assignment for LPTIM1 IN2 pin: LPTIM1_IN2
+#endif
+#if !FIND_VALUE_LPTIM_OUT(_LPTIM1, LPTIM1_OUT)
+#error Invalid pin assignment for LPTIM1 OUT pin: LPTIM1_OUT
+#endif
+#endif
+
+#ifdef USE_LPTIM2
+#if !FIND_VALUE_LPTIM_CH1(_LPTIM2, LPTIM2_CH1)
+#error Invalid pin assignment for LPTIM2 CH1 pin: LPTIM2_CH1
+#endif
+#if !FIND_VALUE_LPTIM_CH2(_LPTIM2, LPTIM2_CH2)
+#error Invalid pin assignment for LPTIM2 CH2 pin: LPTIM2_CH2
+#endif
+#if !FIND_VALUE_LPTIM_ETR(_LPTIM2, LPTIM2_ETR)
+#error Invalid pin assignment for LPTIM2 ETR pin: LPTIM2_ETR
+#endif
+#if !FIND_VALUE_LPTIM_IN1(_LPTIM2, LPTIM2_IN1)
+#error Invalid pin assignment for LPTIM2 IN1 pin: LPTIM2_IN1
+#endif
+#if !FIND_VALUE_LPTIM_IN2(_LPTIM2, LPTIM2_IN2)
+#error Invalid pin assignment for LPTIM2 IN2 pin: LPTIM2_IN2
+#endif
+#if !FIND_VALUE_LPTIM_OUT(_LPTIM2, LPTIM2_OUT)
+#error Invalid pin assignment for LPTIM2 OUT pin: LPTIM2_OUT
+#endif
+#endif
+
+#ifdef USE_LPTIM3
+#if !FIND_VALUE_LPTIM_CH1(_LPTIM3, LPTIM3_CH1)
+#error Invalid pin assignment for LPTIM3 CH1 pin: LPTIM3_CH1
+#endif
+#if !FIND_VALUE_LPTIM_CH2(_LPTIM3, LPTIM3_CH2)
+#error Invalid pin assignment for LPTIM3 CH2 pin: LPTIM3_CH2
+#endif
+#if !FIND_VALUE_LPTIM_ETR(_LPTIM3, LPTIM3_ETR)
+#error Invalid pin assignment for LPTIM3 ETR pin: LPTIM3_ETR
+#endif
+#if !FIND_VALUE_LPTIM_IN1(_LPTIM3, LPTIM3_IN1)
+#error Invalid pin assignment for LPTIM3 IN1 pin: LPTIM3_IN1
+#endif
+#if !FIND_VALUE_LPTIM_IN2(_LPTIM3, LPTIM3_IN2)
+#error Invalid pin assignment for LPTIM3 IN2 pin: LPTIM3_IN2
+#endif
+#if !FIND_VALUE_LPTIM_OUT(_LPTIM3, LPTIM3_OUT)
+#error Invalid pin assignment for LPTIM3 OUT pin: LPTIM3_OUT
+#endif
+#endif
+
+#ifdef USE_LPTIM4
+#if !FIND_VALUE_LPTIM_CH1(_LPTIM4, LPTIM4_CH1)
+#error Invalid pin assignment for LPTIM4 CH1 pin: LPTIM4_CH1
+#endif
+#if !FIND_VALUE_LPTIM_CH2(_LPTIM4, LPTIM4_CH2)
+#error Invalid pin assignment for LPTIM4 CH2 pin: LPTIM4_CH2
+#endif
+#if !FIND_VALUE_LPTIM_ETR(_LPTIM4, LPTIM4_ETR)
+#error Invalid pin assignment for LPTIM4 ETR pin: LPTIM4_ETR
+#endif
+#if !FIND_VALUE_LPTIM_IN1(_LPTIM4, LPTIM4_IN1)
+#error Invalid pin assignment for LPTIM4 IN1 pin: LPTIM4_IN1
+#endif
+#if !FIND_VALUE_LPTIM_IN2(_LPTIM4, LPTIM4_IN2)
+#error Invalid pin assignment for LPTIM4 IN2 pin: LPTIM4_IN2
+#endif
+#if !FIND_VALUE_LPTIM_OUT(_LPTIM4, LPTIM4_OUT)
+#error Invalid pin assignment for LPTIM4 OUT pin: LPTIM4_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lpuart.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lpuart.h
new file mode 100644
index 000000000..9be6b06d6
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_lpuart.h
@@ -0,0 +1,56 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403652
+ */
+
+#define FIND_VALUE_LPUART_CTS_inner(INDEX,PIN) I2C##_LPUART_##PIN
+#define FIND_VALUE_LPUART_CTS(INDEX,PIN) FIND_VALUE_LPUART_CTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPUART_DE_inner(INDEX,PIN) I2C##_LPUART_##PIN
+#define FIND_VALUE_LPUART_DE(INDEX,PIN) FIND_VALUE_LPUART_DE_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPUART_RTS_inner(INDEX,PIN) I2C##_LPUART_##PIN
+#define FIND_VALUE_LPUART_RTS(INDEX,PIN) FIND_VALUE_LPUART_RTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPUART_RX_inner(INDEX,PIN) I2C##_LPUART_##PIN
+#define FIND_VALUE_LPUART_RX(INDEX,PIN) FIND_VALUE_LPUART_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_LPUART_TX_inner(INDEX,PIN) I2C##_LPUART_##PIN
+#define FIND_VALUE_LPUART_TX(INDEX,PIN) FIND_VALUE_LPUART_TX_inner(INDEX,PIN)
+
+#ifdef USE_LPUART0
+#if !FIND_VALUE_LPUART_CTS(_LPUART0, LPUART0_CTS)
+#error Invalid pin assignment for LPUART0 CTS pin: LPUART0_CTS
+#endif
+#if !FIND_VALUE_LPUART_DE(_LPUART0, LPUART0_DE)
+#error Invalid pin assignment for LPUART0 DE pin: LPUART0_DE
+#endif
+#if !FIND_VALUE_LPUART_RTS(_LPUART0, LPUART0_RTS)
+#error Invalid pin assignment for LPUART0 RTS pin: LPUART0_RTS
+#endif
+#if !FIND_VALUE_LPUART_RX(_LPUART0, LPUART0_RX)
+#error Invalid pin assignment for LPUART0 RX pin: LPUART0_RX
+#endif
+#if !FIND_VALUE_LPUART_TX(_LPUART0, LPUART0_TX)
+#error Invalid pin assignment for LPUART0 TX pin: LPUART0_TX
+#endif
+#endif
+
+#ifdef USE_LPUART1
+#if !FIND_VALUE_LPUART_CTS(_LPUART1, LPUART1_CTS)
+#error Invalid pin assignment for LPUART1 CTS pin: LPUART1_CTS
+#endif
+#if !FIND_VALUE_LPUART_DE(_LPUART1, LPUART1_DE)
+#error Invalid pin assignment for LPUART1 DE pin: LPUART1_DE
+#endif
+#if !FIND_VALUE_LPUART_RTS(_LPUART1, LPUART1_RTS)
+#error Invalid pin assignment for LPUART1 RTS pin: LPUART1_RTS
+#endif
+#if !FIND_VALUE_LPUART_RX(_LPUART1, LPUART1_RX)
+#error Invalid pin assignment for LPUART1 RX pin: LPUART1_RX
+#endif
+#if !FIND_VALUE_LPUART_TX(_LPUART1, LPUART1_TX)
+#error Invalid pin assignment for LPUART1 TX pin: LPUART1_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ltdc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ltdc.h
new file mode 100644
index 000000000..e8a5aa417
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ltdc.h
@@ -0,0 +1,698 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403676
+ */
+
+#define FIND_VALUE_LTDC_B0_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B0(INDEX,PIN) FIND_VALUE_LTDC_B0_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B1_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B1(INDEX,PIN) FIND_VALUE_LTDC_B1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B2_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B2(INDEX,PIN) FIND_VALUE_LTDC_B2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B3_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B3(INDEX,PIN) FIND_VALUE_LTDC_B3_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B4_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B4(INDEX,PIN) FIND_VALUE_LTDC_B4_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B5_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B5(INDEX,PIN) FIND_VALUE_LTDC_B5_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B6_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B6(INDEX,PIN) FIND_VALUE_LTDC_B6_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_B7_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_B7(INDEX,PIN) FIND_VALUE_LTDC_B7_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_CLK_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_CLK(INDEX,PIN) FIND_VALUE_LTDC_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_DE_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_DE(INDEX,PIN) FIND_VALUE_LTDC_DE_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G0_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G0(INDEX,PIN) FIND_VALUE_LTDC_G0_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G1_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G1(INDEX,PIN) FIND_VALUE_LTDC_G1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G2_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G2(INDEX,PIN) FIND_VALUE_LTDC_G2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G3_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G3(INDEX,PIN) FIND_VALUE_LTDC_G3_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G4_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G4(INDEX,PIN) FIND_VALUE_LTDC_G4_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G5_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G5(INDEX,PIN) FIND_VALUE_LTDC_G5_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G6_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G6(INDEX,PIN) FIND_VALUE_LTDC_G6_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_G7_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_G7(INDEX,PIN) FIND_VALUE_LTDC_G7_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_HSYNC_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_HSYNC(INDEX,PIN) FIND_VALUE_LTDC_HSYNC_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R0_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R0(INDEX,PIN) FIND_VALUE_LTDC_R0_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R1_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R1(INDEX,PIN) FIND_VALUE_LTDC_R1_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R2_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R2(INDEX,PIN) FIND_VALUE_LTDC_R2_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R3_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R3(INDEX,PIN) FIND_VALUE_LTDC_R3_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R4_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R4(INDEX,PIN) FIND_VALUE_LTDC_R4_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R5_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R5(INDEX,PIN) FIND_VALUE_LTDC_R5_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R6_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R6(INDEX,PIN) FIND_VALUE_LTDC_R6_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_R7_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_R7(INDEX,PIN) FIND_VALUE_LTDC_R7_inner(INDEX,PIN)
+
+#define FIND_VALUE_LTDC_VSYNC_inner(INDEX,PIN) I2C##_LTDC_##PIN
+#define FIND_VALUE_LTDC_VSYNC(INDEX,PIN) FIND_VALUE_LTDC_VSYNC_inner(INDEX,PIN)
+
+#ifdef USE_LTDC0
+#if !FIND_VALUE_LTDC_B0(_LTDC0, LTDC0_B0)
+#error Invalid pin assignment for LTDC0 B0 pin: LTDC0_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC0, LTDC0_B1)
+#error Invalid pin assignment for LTDC0 B1 pin: LTDC0_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC0, LTDC0_B2)
+#error Invalid pin assignment for LTDC0 B2 pin: LTDC0_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC0, LTDC0_B3)
+#error Invalid pin assignment for LTDC0 B3 pin: LTDC0_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC0, LTDC0_B4)
+#error Invalid pin assignment for LTDC0 B4 pin: LTDC0_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC0, LTDC0_B5)
+#error Invalid pin assignment for LTDC0 B5 pin: LTDC0_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC0, LTDC0_B6)
+#error Invalid pin assignment for LTDC0 B6 pin: LTDC0_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC0, LTDC0_B7)
+#error Invalid pin assignment for LTDC0 B7 pin: LTDC0_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC0, LTDC0_CLK)
+#error Invalid pin assignment for LTDC0 CLK pin: LTDC0_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC0, LTDC0_DE)
+#error Invalid pin assignment for LTDC0 DE pin: LTDC0_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC0, LTDC0_G0)
+#error Invalid pin assignment for LTDC0 G0 pin: LTDC0_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC0, LTDC0_G1)
+#error Invalid pin assignment for LTDC0 G1 pin: LTDC0_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC0, LTDC0_G2)
+#error Invalid pin assignment for LTDC0 G2 pin: LTDC0_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC0, LTDC0_G3)
+#error Invalid pin assignment for LTDC0 G3 pin: LTDC0_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC0, LTDC0_G4)
+#error Invalid pin assignment for LTDC0 G4 pin: LTDC0_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC0, LTDC0_G5)
+#error Invalid pin assignment for LTDC0 G5 pin: LTDC0_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC0, LTDC0_G6)
+#error Invalid pin assignment for LTDC0 G6 pin: LTDC0_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC0, LTDC0_G7)
+#error Invalid pin assignment for LTDC0 G7 pin: LTDC0_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC0, LTDC0_HSYNC)
+#error Invalid pin assignment for LTDC0 HSYNC pin: LTDC0_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC0, LTDC0_R0)
+#error Invalid pin assignment for LTDC0 R0 pin: LTDC0_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC0, LTDC0_R1)
+#error Invalid pin assignment for LTDC0 R1 pin: LTDC0_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC0, LTDC0_R2)
+#error Invalid pin assignment for LTDC0 R2 pin: LTDC0_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC0, LTDC0_R3)
+#error Invalid pin assignment for LTDC0 R3 pin: LTDC0_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC0, LTDC0_R4)
+#error Invalid pin assignment for LTDC0 R4 pin: LTDC0_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC0, LTDC0_R5)
+#error Invalid pin assignment for LTDC0 R5 pin: LTDC0_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC0, LTDC0_R6)
+#error Invalid pin assignment for LTDC0 R6 pin: LTDC0_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC0, LTDC0_R7)
+#error Invalid pin assignment for LTDC0 R7 pin: LTDC0_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC0, LTDC0_VSYNC)
+#error Invalid pin assignment for LTDC0 VSYNC pin: LTDC0_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC1
+#if !FIND_VALUE_LTDC_B0(_LTDC1, LTDC1_B0)
+#error Invalid pin assignment for LTDC1 B0 pin: LTDC1_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC1, LTDC1_B1)
+#error Invalid pin assignment for LTDC1 B1 pin: LTDC1_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC1, LTDC1_B2)
+#error Invalid pin assignment for LTDC1 B2 pin: LTDC1_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC1, LTDC1_B3)
+#error Invalid pin assignment for LTDC1 B3 pin: LTDC1_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC1, LTDC1_B4)
+#error Invalid pin assignment for LTDC1 B4 pin: LTDC1_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC1, LTDC1_B5)
+#error Invalid pin assignment for LTDC1 B5 pin: LTDC1_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC1, LTDC1_B6)
+#error Invalid pin assignment for LTDC1 B6 pin: LTDC1_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC1, LTDC1_B7)
+#error Invalid pin assignment for LTDC1 B7 pin: LTDC1_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC1, LTDC1_CLK)
+#error Invalid pin assignment for LTDC1 CLK pin: LTDC1_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC1, LTDC1_DE)
+#error Invalid pin assignment for LTDC1 DE pin: LTDC1_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC1, LTDC1_G0)
+#error Invalid pin assignment for LTDC1 G0 pin: LTDC1_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC1, LTDC1_G1)
+#error Invalid pin assignment for LTDC1 G1 pin: LTDC1_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC1, LTDC1_G2)
+#error Invalid pin assignment for LTDC1 G2 pin: LTDC1_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC1, LTDC1_G3)
+#error Invalid pin assignment for LTDC1 G3 pin: LTDC1_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC1, LTDC1_G4)
+#error Invalid pin assignment for LTDC1 G4 pin: LTDC1_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC1, LTDC1_G5)
+#error Invalid pin assignment for LTDC1 G5 pin: LTDC1_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC1, LTDC1_G6)
+#error Invalid pin assignment for LTDC1 G6 pin: LTDC1_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC1, LTDC1_G7)
+#error Invalid pin assignment for LTDC1 G7 pin: LTDC1_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC1, LTDC1_HSYNC)
+#error Invalid pin assignment for LTDC1 HSYNC pin: LTDC1_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC1, LTDC1_R0)
+#error Invalid pin assignment for LTDC1 R0 pin: LTDC1_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC1, LTDC1_R1)
+#error Invalid pin assignment for LTDC1 R1 pin: LTDC1_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC1, LTDC1_R2)
+#error Invalid pin assignment for LTDC1 R2 pin: LTDC1_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC1, LTDC1_R3)
+#error Invalid pin assignment for LTDC1 R3 pin: LTDC1_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC1, LTDC1_R4)
+#error Invalid pin assignment for LTDC1 R4 pin: LTDC1_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC1, LTDC1_R5)
+#error Invalid pin assignment for LTDC1 R5 pin: LTDC1_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC1, LTDC1_R6)
+#error Invalid pin assignment for LTDC1 R6 pin: LTDC1_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC1, LTDC1_R7)
+#error Invalid pin assignment for LTDC1 R7 pin: LTDC1_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC1, LTDC1_VSYNC)
+#error Invalid pin assignment for LTDC1 VSYNC pin: LTDC1_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC2
+#if !FIND_VALUE_LTDC_B0(_LTDC2, LTDC2_B0)
+#error Invalid pin assignment for LTDC2 B0 pin: LTDC2_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC2, LTDC2_B1)
+#error Invalid pin assignment for LTDC2 B1 pin: LTDC2_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC2, LTDC2_B2)
+#error Invalid pin assignment for LTDC2 B2 pin: LTDC2_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC2, LTDC2_B3)
+#error Invalid pin assignment for LTDC2 B3 pin: LTDC2_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC2, LTDC2_B4)
+#error Invalid pin assignment for LTDC2 B4 pin: LTDC2_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC2, LTDC2_B5)
+#error Invalid pin assignment for LTDC2 B5 pin: LTDC2_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC2, LTDC2_B6)
+#error Invalid pin assignment for LTDC2 B6 pin: LTDC2_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC2, LTDC2_B7)
+#error Invalid pin assignment for LTDC2 B7 pin: LTDC2_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC2, LTDC2_CLK)
+#error Invalid pin assignment for LTDC2 CLK pin: LTDC2_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC2, LTDC2_DE)
+#error Invalid pin assignment for LTDC2 DE pin: LTDC2_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC2, LTDC2_G0)
+#error Invalid pin assignment for LTDC2 G0 pin: LTDC2_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC2, LTDC2_G1)
+#error Invalid pin assignment for LTDC2 G1 pin: LTDC2_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC2, LTDC2_G2)
+#error Invalid pin assignment for LTDC2 G2 pin: LTDC2_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC2, LTDC2_G3)
+#error Invalid pin assignment for LTDC2 G3 pin: LTDC2_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC2, LTDC2_G4)
+#error Invalid pin assignment for LTDC2 G4 pin: LTDC2_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC2, LTDC2_G5)
+#error Invalid pin assignment for LTDC2 G5 pin: LTDC2_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC2, LTDC2_G6)
+#error Invalid pin assignment for LTDC2 G6 pin: LTDC2_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC2, LTDC2_G7)
+#error Invalid pin assignment for LTDC2 G7 pin: LTDC2_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC2, LTDC2_HSYNC)
+#error Invalid pin assignment for LTDC2 HSYNC pin: LTDC2_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC2, LTDC2_R0)
+#error Invalid pin assignment for LTDC2 R0 pin: LTDC2_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC2, LTDC2_R1)
+#error Invalid pin assignment for LTDC2 R1 pin: LTDC2_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC2, LTDC2_R2)
+#error Invalid pin assignment for LTDC2 R2 pin: LTDC2_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC2, LTDC2_R3)
+#error Invalid pin assignment for LTDC2 R3 pin: LTDC2_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC2, LTDC2_R4)
+#error Invalid pin assignment for LTDC2 R4 pin: LTDC2_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC2, LTDC2_R5)
+#error Invalid pin assignment for LTDC2 R5 pin: LTDC2_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC2, LTDC2_R6)
+#error Invalid pin assignment for LTDC2 R6 pin: LTDC2_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC2, LTDC2_R7)
+#error Invalid pin assignment for LTDC2 R7 pin: LTDC2_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC2, LTDC2_VSYNC)
+#error Invalid pin assignment for LTDC2 VSYNC pin: LTDC2_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC3
+#if !FIND_VALUE_LTDC_B0(_LTDC3, LTDC3_B0)
+#error Invalid pin assignment for LTDC3 B0 pin: LTDC3_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC3, LTDC3_B1)
+#error Invalid pin assignment for LTDC3 B1 pin: LTDC3_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC3, LTDC3_B2)
+#error Invalid pin assignment for LTDC3 B2 pin: LTDC3_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC3, LTDC3_B3)
+#error Invalid pin assignment for LTDC3 B3 pin: LTDC3_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC3, LTDC3_B4)
+#error Invalid pin assignment for LTDC3 B4 pin: LTDC3_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC3, LTDC3_B5)
+#error Invalid pin assignment for LTDC3 B5 pin: LTDC3_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC3, LTDC3_B6)
+#error Invalid pin assignment for LTDC3 B6 pin: LTDC3_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC3, LTDC3_B7)
+#error Invalid pin assignment for LTDC3 B7 pin: LTDC3_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC3, LTDC3_CLK)
+#error Invalid pin assignment for LTDC3 CLK pin: LTDC3_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC3, LTDC3_DE)
+#error Invalid pin assignment for LTDC3 DE pin: LTDC3_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC3, LTDC3_G0)
+#error Invalid pin assignment for LTDC3 G0 pin: LTDC3_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC3, LTDC3_G1)
+#error Invalid pin assignment for LTDC3 G1 pin: LTDC3_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC3, LTDC3_G2)
+#error Invalid pin assignment for LTDC3 G2 pin: LTDC3_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC3, LTDC3_G3)
+#error Invalid pin assignment for LTDC3 G3 pin: LTDC3_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC3, LTDC3_G4)
+#error Invalid pin assignment for LTDC3 G4 pin: LTDC3_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC3, LTDC3_G5)
+#error Invalid pin assignment for LTDC3 G5 pin: LTDC3_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC3, LTDC3_G6)
+#error Invalid pin assignment for LTDC3 G6 pin: LTDC3_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC3, LTDC3_G7)
+#error Invalid pin assignment for LTDC3 G7 pin: LTDC3_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC3, LTDC3_HSYNC)
+#error Invalid pin assignment for LTDC3 HSYNC pin: LTDC3_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC3, LTDC3_R0)
+#error Invalid pin assignment for LTDC3 R0 pin: LTDC3_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC3, LTDC3_R1)
+#error Invalid pin assignment for LTDC3 R1 pin: LTDC3_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC3, LTDC3_R2)
+#error Invalid pin assignment for LTDC3 R2 pin: LTDC3_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC3, LTDC3_R3)
+#error Invalid pin assignment for LTDC3 R3 pin: LTDC3_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC3, LTDC3_R4)
+#error Invalid pin assignment for LTDC3 R4 pin: LTDC3_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC3, LTDC3_R5)
+#error Invalid pin assignment for LTDC3 R5 pin: LTDC3_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC3, LTDC3_R6)
+#error Invalid pin assignment for LTDC3 R6 pin: LTDC3_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC3, LTDC3_R7)
+#error Invalid pin assignment for LTDC3 R7 pin: LTDC3_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC3, LTDC3_VSYNC)
+#error Invalid pin assignment for LTDC3 VSYNC pin: LTDC3_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC4
+#if !FIND_VALUE_LTDC_B0(_LTDC4, LTDC4_B0)
+#error Invalid pin assignment for LTDC4 B0 pin: LTDC4_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC4, LTDC4_B1)
+#error Invalid pin assignment for LTDC4 B1 pin: LTDC4_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC4, LTDC4_B2)
+#error Invalid pin assignment for LTDC4 B2 pin: LTDC4_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC4, LTDC4_B3)
+#error Invalid pin assignment for LTDC4 B3 pin: LTDC4_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC4, LTDC4_B4)
+#error Invalid pin assignment for LTDC4 B4 pin: LTDC4_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC4, LTDC4_B5)
+#error Invalid pin assignment for LTDC4 B5 pin: LTDC4_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC4, LTDC4_B6)
+#error Invalid pin assignment for LTDC4 B6 pin: LTDC4_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC4, LTDC4_B7)
+#error Invalid pin assignment for LTDC4 B7 pin: LTDC4_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC4, LTDC4_CLK)
+#error Invalid pin assignment for LTDC4 CLK pin: LTDC4_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC4, LTDC4_DE)
+#error Invalid pin assignment for LTDC4 DE pin: LTDC4_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC4, LTDC4_G0)
+#error Invalid pin assignment for LTDC4 G0 pin: LTDC4_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC4, LTDC4_G1)
+#error Invalid pin assignment for LTDC4 G1 pin: LTDC4_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC4, LTDC4_G2)
+#error Invalid pin assignment for LTDC4 G2 pin: LTDC4_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC4, LTDC4_G3)
+#error Invalid pin assignment for LTDC4 G3 pin: LTDC4_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC4, LTDC4_G4)
+#error Invalid pin assignment for LTDC4 G4 pin: LTDC4_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC4, LTDC4_G5)
+#error Invalid pin assignment for LTDC4 G5 pin: LTDC4_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC4, LTDC4_G6)
+#error Invalid pin assignment for LTDC4 G6 pin: LTDC4_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC4, LTDC4_G7)
+#error Invalid pin assignment for LTDC4 G7 pin: LTDC4_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC4, LTDC4_HSYNC)
+#error Invalid pin assignment for LTDC4 HSYNC pin: LTDC4_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC4, LTDC4_R0)
+#error Invalid pin assignment for LTDC4 R0 pin: LTDC4_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC4, LTDC4_R1)
+#error Invalid pin assignment for LTDC4 R1 pin: LTDC4_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC4, LTDC4_R2)
+#error Invalid pin assignment for LTDC4 R2 pin: LTDC4_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC4, LTDC4_R3)
+#error Invalid pin assignment for LTDC4 R3 pin: LTDC4_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC4, LTDC4_R4)
+#error Invalid pin assignment for LTDC4 R4 pin: LTDC4_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC4, LTDC4_R5)
+#error Invalid pin assignment for LTDC4 R5 pin: LTDC4_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC4, LTDC4_R6)
+#error Invalid pin assignment for LTDC4 R6 pin: LTDC4_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC4, LTDC4_R7)
+#error Invalid pin assignment for LTDC4 R7 pin: LTDC4_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC4, LTDC4_VSYNC)
+#error Invalid pin assignment for LTDC4 VSYNC pin: LTDC4_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC5
+#if !FIND_VALUE_LTDC_B0(_LTDC5, LTDC5_B0)
+#error Invalid pin assignment for LTDC5 B0 pin: LTDC5_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC5, LTDC5_B1)
+#error Invalid pin assignment for LTDC5 B1 pin: LTDC5_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC5, LTDC5_B2)
+#error Invalid pin assignment for LTDC5 B2 pin: LTDC5_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC5, LTDC5_B3)
+#error Invalid pin assignment for LTDC5 B3 pin: LTDC5_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC5, LTDC5_B4)
+#error Invalid pin assignment for LTDC5 B4 pin: LTDC5_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC5, LTDC5_B5)
+#error Invalid pin assignment for LTDC5 B5 pin: LTDC5_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC5, LTDC5_B6)
+#error Invalid pin assignment for LTDC5 B6 pin: LTDC5_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC5, LTDC5_B7)
+#error Invalid pin assignment for LTDC5 B7 pin: LTDC5_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC5, LTDC5_CLK)
+#error Invalid pin assignment for LTDC5 CLK pin: LTDC5_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC5, LTDC5_DE)
+#error Invalid pin assignment for LTDC5 DE pin: LTDC5_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC5, LTDC5_G0)
+#error Invalid pin assignment for LTDC5 G0 pin: LTDC5_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC5, LTDC5_G1)
+#error Invalid pin assignment for LTDC5 G1 pin: LTDC5_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC5, LTDC5_G2)
+#error Invalid pin assignment for LTDC5 G2 pin: LTDC5_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC5, LTDC5_G3)
+#error Invalid pin assignment for LTDC5 G3 pin: LTDC5_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC5, LTDC5_G4)
+#error Invalid pin assignment for LTDC5 G4 pin: LTDC5_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC5, LTDC5_G5)
+#error Invalid pin assignment for LTDC5 G5 pin: LTDC5_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC5, LTDC5_G6)
+#error Invalid pin assignment for LTDC5 G6 pin: LTDC5_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC5, LTDC5_G7)
+#error Invalid pin assignment for LTDC5 G7 pin: LTDC5_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC5, LTDC5_HSYNC)
+#error Invalid pin assignment for LTDC5 HSYNC pin: LTDC5_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC5, LTDC5_R0)
+#error Invalid pin assignment for LTDC5 R0 pin: LTDC5_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC5, LTDC5_R1)
+#error Invalid pin assignment for LTDC5 R1 pin: LTDC5_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC5, LTDC5_R2)
+#error Invalid pin assignment for LTDC5 R2 pin: LTDC5_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC5, LTDC5_R3)
+#error Invalid pin assignment for LTDC5 R3 pin: LTDC5_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC5, LTDC5_R4)
+#error Invalid pin assignment for LTDC5 R4 pin: LTDC5_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC5, LTDC5_R5)
+#error Invalid pin assignment for LTDC5 R5 pin: LTDC5_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC5, LTDC5_R6)
+#error Invalid pin assignment for LTDC5 R6 pin: LTDC5_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC5, LTDC5_R7)
+#error Invalid pin assignment for LTDC5 R7 pin: LTDC5_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC5, LTDC5_VSYNC)
+#error Invalid pin assignment for LTDC5 VSYNC pin: LTDC5_VSYNC
+#endif
+#endif
+
+#ifdef USE_LTDC6
+#if !FIND_VALUE_LTDC_B0(_LTDC6, LTDC6_B0)
+#error Invalid pin assignment for LTDC6 B0 pin: LTDC6_B0
+#endif
+#if !FIND_VALUE_LTDC_B1(_LTDC6, LTDC6_B1)
+#error Invalid pin assignment for LTDC6 B1 pin: LTDC6_B1
+#endif
+#if !FIND_VALUE_LTDC_B2(_LTDC6, LTDC6_B2)
+#error Invalid pin assignment for LTDC6 B2 pin: LTDC6_B2
+#endif
+#if !FIND_VALUE_LTDC_B3(_LTDC6, LTDC6_B3)
+#error Invalid pin assignment for LTDC6 B3 pin: LTDC6_B3
+#endif
+#if !FIND_VALUE_LTDC_B4(_LTDC6, LTDC6_B4)
+#error Invalid pin assignment for LTDC6 B4 pin: LTDC6_B4
+#endif
+#if !FIND_VALUE_LTDC_B5(_LTDC6, LTDC6_B5)
+#error Invalid pin assignment for LTDC6 B5 pin: LTDC6_B5
+#endif
+#if !FIND_VALUE_LTDC_B6(_LTDC6, LTDC6_B6)
+#error Invalid pin assignment for LTDC6 B6 pin: LTDC6_B6
+#endif
+#if !FIND_VALUE_LTDC_B7(_LTDC6, LTDC6_B7)
+#error Invalid pin assignment for LTDC6 B7 pin: LTDC6_B7
+#endif
+#if !FIND_VALUE_LTDC_CLK(_LTDC6, LTDC6_CLK)
+#error Invalid pin assignment for LTDC6 CLK pin: LTDC6_CLK
+#endif
+#if !FIND_VALUE_LTDC_DE(_LTDC6, LTDC6_DE)
+#error Invalid pin assignment for LTDC6 DE pin: LTDC6_DE
+#endif
+#if !FIND_VALUE_LTDC_G0(_LTDC6, LTDC6_G0)
+#error Invalid pin assignment for LTDC6 G0 pin: LTDC6_G0
+#endif
+#if !FIND_VALUE_LTDC_G1(_LTDC6, LTDC6_G1)
+#error Invalid pin assignment for LTDC6 G1 pin: LTDC6_G1
+#endif
+#if !FIND_VALUE_LTDC_G2(_LTDC6, LTDC6_G2)
+#error Invalid pin assignment for LTDC6 G2 pin: LTDC6_G2
+#endif
+#if !FIND_VALUE_LTDC_G3(_LTDC6, LTDC6_G3)
+#error Invalid pin assignment for LTDC6 G3 pin: LTDC6_G3
+#endif
+#if !FIND_VALUE_LTDC_G4(_LTDC6, LTDC6_G4)
+#error Invalid pin assignment for LTDC6 G4 pin: LTDC6_G4
+#endif
+#if !FIND_VALUE_LTDC_G5(_LTDC6, LTDC6_G5)
+#error Invalid pin assignment for LTDC6 G5 pin: LTDC6_G5
+#endif
+#if !FIND_VALUE_LTDC_G6(_LTDC6, LTDC6_G6)
+#error Invalid pin assignment for LTDC6 G6 pin: LTDC6_G6
+#endif
+#if !FIND_VALUE_LTDC_G7(_LTDC6, LTDC6_G7)
+#error Invalid pin assignment for LTDC6 G7 pin: LTDC6_G7
+#endif
+#if !FIND_VALUE_LTDC_HSYNC(_LTDC6, LTDC6_HSYNC)
+#error Invalid pin assignment for LTDC6 HSYNC pin: LTDC6_HSYNC
+#endif
+#if !FIND_VALUE_LTDC_R0(_LTDC6, LTDC6_R0)
+#error Invalid pin assignment for LTDC6 R0 pin: LTDC6_R0
+#endif
+#if !FIND_VALUE_LTDC_R1(_LTDC6, LTDC6_R1)
+#error Invalid pin assignment for LTDC6 R1 pin: LTDC6_R1
+#endif
+#if !FIND_VALUE_LTDC_R2(_LTDC6, LTDC6_R2)
+#error Invalid pin assignment for LTDC6 R2 pin: LTDC6_R2
+#endif
+#if !FIND_VALUE_LTDC_R3(_LTDC6, LTDC6_R3)
+#error Invalid pin assignment for LTDC6 R3 pin: LTDC6_R3
+#endif
+#if !FIND_VALUE_LTDC_R4(_LTDC6, LTDC6_R4)
+#error Invalid pin assignment for LTDC6 R4 pin: LTDC6_R4
+#endif
+#if !FIND_VALUE_LTDC_R5(_LTDC6, LTDC6_R5)
+#error Invalid pin assignment for LTDC6 R5 pin: LTDC6_R5
+#endif
+#if !FIND_VALUE_LTDC_R6(_LTDC6, LTDC6_R6)
+#error Invalid pin assignment for LTDC6 R6 pin: LTDC6_R6
+#endif
+#if !FIND_VALUE_LTDC_R7(_LTDC6, LTDC6_R7)
+#error Invalid pin assignment for LTDC6 R7 pin: LTDC6_R7
+#endif
+#if !FIND_VALUE_LTDC_VSYNC(_LTDC6, LTDC6_VSYNC)
+#error Invalid pin assignment for LTDC6 VSYNC pin: LTDC6_VSYNC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdf.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdf.h
new file mode 100644
index 000000000..d36bc42e2
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdf.h
@@ -0,0 +1,92 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403797
+ */
+
+#define FIND_VALUE_MDF_CCK0_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CCK0(INDEX,PIN) FIND_VALUE_MDF_CCK0_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CCK1_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CCK1(INDEX,PIN) FIND_VALUE_MDF_CCK1_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI0_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI0(INDEX,PIN) FIND_VALUE_MDF_CKI0_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI1_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI1(INDEX,PIN) FIND_VALUE_MDF_CKI1_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI2_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI2(INDEX,PIN) FIND_VALUE_MDF_CKI2_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI3_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI3(INDEX,PIN) FIND_VALUE_MDF_CKI3_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI4_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI4(INDEX,PIN) FIND_VALUE_MDF_CKI4_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_CKI5_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_CKI5(INDEX,PIN) FIND_VALUE_MDF_CKI5_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI0_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI0(INDEX,PIN) FIND_VALUE_MDF_SDI0_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI1_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI1(INDEX,PIN) FIND_VALUE_MDF_SDI1_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI2_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI2(INDEX,PIN) FIND_VALUE_MDF_SDI2_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI3_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI3(INDEX,PIN) FIND_VALUE_MDF_SDI3_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI4_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI4(INDEX,PIN) FIND_VALUE_MDF_SDI4_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDF_SDI5_inner(INDEX,PIN) I2C##_MDF_##PIN
+#define FIND_VALUE_MDF_SDI5(INDEX,PIN) FIND_VALUE_MDF_SDI5_inner(INDEX,PIN)
+
+#ifdef USE_MDF0
+#if !FIND_VALUE_MDF_CCK0(_MDF0, MDF0_CCK0)
+#error Invalid pin assignment for MDF0 CCK0 pin: MDF0_CCK0
+#endif
+#if !FIND_VALUE_MDF_CCK1(_MDF0, MDF0_CCK1)
+#error Invalid pin assignment for MDF0 CCK1 pin: MDF0_CCK1
+#endif
+#if !FIND_VALUE_MDF_CKI0(_MDF0, MDF0_CKI0)
+#error Invalid pin assignment for MDF0 CKI0 pin: MDF0_CKI0
+#endif
+#if !FIND_VALUE_MDF_CKI1(_MDF0, MDF0_CKI1)
+#error Invalid pin assignment for MDF0 CKI1 pin: MDF0_CKI1
+#endif
+#if !FIND_VALUE_MDF_CKI2(_MDF0, MDF0_CKI2)
+#error Invalid pin assignment for MDF0 CKI2 pin: MDF0_CKI2
+#endif
+#if !FIND_VALUE_MDF_CKI3(_MDF0, MDF0_CKI3)
+#error Invalid pin assignment for MDF0 CKI3 pin: MDF0_CKI3
+#endif
+#if !FIND_VALUE_MDF_CKI4(_MDF0, MDF0_CKI4)
+#error Invalid pin assignment for MDF0 CKI4 pin: MDF0_CKI4
+#endif
+#if !FIND_VALUE_MDF_CKI5(_MDF0, MDF0_CKI5)
+#error Invalid pin assignment for MDF0 CKI5 pin: MDF0_CKI5
+#endif
+#if !FIND_VALUE_MDF_SDI0(_MDF0, MDF0_SDI0)
+#error Invalid pin assignment for MDF0 SDI0 pin: MDF0_SDI0
+#endif
+#if !FIND_VALUE_MDF_SDI1(_MDF0, MDF0_SDI1)
+#error Invalid pin assignment for MDF0 SDI1 pin: MDF0_SDI1
+#endif
+#if !FIND_VALUE_MDF_SDI2(_MDF0, MDF0_SDI2)
+#error Invalid pin assignment for MDF0 SDI2 pin: MDF0_SDI2
+#endif
+#if !FIND_VALUE_MDF_SDI3(_MDF0, MDF0_SDI3)
+#error Invalid pin assignment for MDF0 SDI3 pin: MDF0_SDI3
+#endif
+#if !FIND_VALUE_MDF_SDI4(_MDF0, MDF0_SDI4)
+#error Invalid pin assignment for MDF0 SDI4 pin: MDF0_SDI4
+#endif
+#if !FIND_VALUE_MDF_SDI5(_MDF0, MDF0_SDI5)
+#error Invalid pin assignment for MDF0 SDI5 pin: MDF0_SDI5
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdios.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdios.h
new file mode 100644
index 000000000..98ccbd277
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_mdios.h
@@ -0,0 +1,20 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403820
+ */
+
+#define FIND_VALUE_MDIOS_MDC_inner(INDEX,PIN) I2C##_MDIOS_##PIN
+#define FIND_VALUE_MDIOS_MDC(INDEX,PIN) FIND_VALUE_MDIOS_MDC_inner(INDEX,PIN)
+
+#define FIND_VALUE_MDIOS_MDIO_inner(INDEX,PIN) I2C##_MDIOS_##PIN
+#define FIND_VALUE_MDIOS_MDIO(INDEX,PIN) FIND_VALUE_MDIOS_MDIO_inner(INDEX,PIN)
+
+#ifdef USE_MDIOS0
+#if !FIND_VALUE_MDIOS_MDC(_MDIOS0, MDIOS0_MDC)
+#error Invalid pin assignment for MDIOS0 MDC pin: MDIOS0_MDC
+#endif
+#if !FIND_VALUE_MDIOS_MDIO(_MDIOS0, MDIOS0_MDIO)
+#error Invalid pin assignment for MDIOS0 MDIO pin: MDIOS0_MDIO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospi.h
new file mode 100644
index 000000000..8266a298f
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospi.h
@@ -0,0 +1,80 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403834
+ */
+
+#define FIND_VALUE_OCTOSPI_CLK_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_CLK(INDEX,PIN) FIND_VALUE_OCTOSPI_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_DQS_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_DQS(INDEX,PIN) FIND_VALUE_OCTOSPI_DQS_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO0_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO0(INDEX,PIN) FIND_VALUE_OCTOSPI_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO1_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO1(INDEX,PIN) FIND_VALUE_OCTOSPI_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO2_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO2(INDEX,PIN) FIND_VALUE_OCTOSPI_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO3_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO3(INDEX,PIN) FIND_VALUE_OCTOSPI_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO4_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO4(INDEX,PIN) FIND_VALUE_OCTOSPI_IO4_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO5_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO5(INDEX,PIN) FIND_VALUE_OCTOSPI_IO5_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO6_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO6(INDEX,PIN) FIND_VALUE_OCTOSPI_IO6_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_IO7_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_IO7(INDEX,PIN) FIND_VALUE_OCTOSPI_IO7_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_NCLK_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_NCLK(INDEX,PIN) FIND_VALUE_OCTOSPI_NCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPI_NCS_inner(INDEX,PIN) I2C##_OCTOSPI_##PIN
+#define FIND_VALUE_OCTOSPI_NCS(INDEX,PIN) FIND_VALUE_OCTOSPI_NCS_inner(INDEX,PIN)
+
+#ifdef USE_OCTOSPI0
+#if !FIND_VALUE_OCTOSPI_CLK(_OCTOSPI0, OCTOSPI0_CLK)
+#error Invalid pin assignment for OCTOSPI0 CLK pin: OCTOSPI0_CLK
+#endif
+#if !FIND_VALUE_OCTOSPI_DQS(_OCTOSPI0, OCTOSPI0_DQS)
+#error Invalid pin assignment for OCTOSPI0 DQS pin: OCTOSPI0_DQS
+#endif
+#if !FIND_VALUE_OCTOSPI_IO0(_OCTOSPI0, OCTOSPI0_IO0)
+#error Invalid pin assignment for OCTOSPI0 IO0 pin: OCTOSPI0_IO0
+#endif
+#if !FIND_VALUE_OCTOSPI_IO1(_OCTOSPI0, OCTOSPI0_IO1)
+#error Invalid pin assignment for OCTOSPI0 IO1 pin: OCTOSPI0_IO1
+#endif
+#if !FIND_VALUE_OCTOSPI_IO2(_OCTOSPI0, OCTOSPI0_IO2)
+#error Invalid pin assignment for OCTOSPI0 IO2 pin: OCTOSPI0_IO2
+#endif
+#if !FIND_VALUE_OCTOSPI_IO3(_OCTOSPI0, OCTOSPI0_IO3)
+#error Invalid pin assignment for OCTOSPI0 IO3 pin: OCTOSPI0_IO3
+#endif
+#if !FIND_VALUE_OCTOSPI_IO4(_OCTOSPI0, OCTOSPI0_IO4)
+#error Invalid pin assignment for OCTOSPI0 IO4 pin: OCTOSPI0_IO4
+#endif
+#if !FIND_VALUE_OCTOSPI_IO5(_OCTOSPI0, OCTOSPI0_IO5)
+#error Invalid pin assignment for OCTOSPI0 IO5 pin: OCTOSPI0_IO5
+#endif
+#if !FIND_VALUE_OCTOSPI_IO6(_OCTOSPI0, OCTOSPI0_IO6)
+#error Invalid pin assignment for OCTOSPI0 IO6 pin: OCTOSPI0_IO6
+#endif
+#if !FIND_VALUE_OCTOSPI_IO7(_OCTOSPI0, OCTOSPI0_IO7)
+#error Invalid pin assignment for OCTOSPI0 IO7 pin: OCTOSPI0_IO7
+#endif
+#if !FIND_VALUE_OCTOSPI_NCLK(_OCTOSPI0, OCTOSPI0_NCLK)
+#error Invalid pin assignment for OCTOSPI0 NCLK pin: OCTOSPI0_NCLK
+#endif
+#if !FIND_VALUE_OCTOSPI_NCS(_OCTOSPI0, OCTOSPI0_NCS)
+#error Invalid pin assignment for OCTOSPI0 NCS pin: OCTOSPI0_NCS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospim_p.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospim_p.h
new file mode 100644
index 000000000..f1ae2aa47
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_octospim_p.h
@@ -0,0 +1,119 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403857
+ */
+
+#define FIND_VALUE_OCTOSPIM_P_CLK_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_CLK(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_DQS_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_DQS(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_DQS_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO0_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO0(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO1_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO1(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO2_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO2(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO3_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO3(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO4_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO4(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO4_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO5_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO5(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO5_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO6_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO6(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO6_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_IO7_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_IO7(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_IO7_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_NCLK_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_NCLK(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_NCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_OCTOSPIM_P_NCS_inner(INDEX,PIN) I2C##_OCTOSPIM_P_##PIN
+#define FIND_VALUE_OCTOSPIM_P_NCS(INDEX,PIN) FIND_VALUE_OCTOSPIM_P_NCS_inner(INDEX,PIN)
+
+#ifdef USE_OCTOSPIM_P0
+#if !FIND_VALUE_OCTOSPIM_P_CLK(_OCTOSPIM_P0, OCTOSPIM_P0_CLK)
+#error Invalid pin assignment for OCTOSPIM_P0 CLK pin: OCTOSPIM_P0_CLK
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_DQS(_OCTOSPIM_P0, OCTOSPIM_P0_DQS)
+#error Invalid pin assignment for OCTOSPIM_P0 DQS pin: OCTOSPIM_P0_DQS
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO0(_OCTOSPIM_P0, OCTOSPIM_P0_IO0)
+#error Invalid pin assignment for OCTOSPIM_P0 IO0 pin: OCTOSPIM_P0_IO0
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO1(_OCTOSPIM_P0, OCTOSPIM_P0_IO1)
+#error Invalid pin assignment for OCTOSPIM_P0 IO1 pin: OCTOSPIM_P0_IO1
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO2(_OCTOSPIM_P0, OCTOSPIM_P0_IO2)
+#error Invalid pin assignment for OCTOSPIM_P0 IO2 pin: OCTOSPIM_P0_IO2
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO3(_OCTOSPIM_P0, OCTOSPIM_P0_IO3)
+#error Invalid pin assignment for OCTOSPIM_P0 IO3 pin: OCTOSPIM_P0_IO3
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO4(_OCTOSPIM_P0, OCTOSPIM_P0_IO4)
+#error Invalid pin assignment for OCTOSPIM_P0 IO4 pin: OCTOSPIM_P0_IO4
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO5(_OCTOSPIM_P0, OCTOSPIM_P0_IO5)
+#error Invalid pin assignment for OCTOSPIM_P0 IO5 pin: OCTOSPIM_P0_IO5
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO6(_OCTOSPIM_P0, OCTOSPIM_P0_IO6)
+#error Invalid pin assignment for OCTOSPIM_P0 IO6 pin: OCTOSPIM_P0_IO6
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO7(_OCTOSPIM_P0, OCTOSPIM_P0_IO7)
+#error Invalid pin assignment for OCTOSPIM_P0 IO7 pin: OCTOSPIM_P0_IO7
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_NCLK(_OCTOSPIM_P0, OCTOSPIM_P0_NCLK)
+#error Invalid pin assignment for OCTOSPIM_P0 NCLK pin: OCTOSPIM_P0_NCLK
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_NCS(_OCTOSPIM_P0, OCTOSPIM_P0_NCS)
+#error Invalid pin assignment for OCTOSPIM_P0 NCS pin: OCTOSPIM_P0_NCS
+#endif
+#endif
+
+#ifdef USE_OCTOSPIM_P1
+#if !FIND_VALUE_OCTOSPIM_P_CLK(_OCTOSPIM_P1, OCTOSPIM_P1_CLK)
+#error Invalid pin assignment for OCTOSPIM_P1 CLK pin: OCTOSPIM_P1_CLK
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_DQS(_OCTOSPIM_P1, OCTOSPIM_P1_DQS)
+#error Invalid pin assignment for OCTOSPIM_P1 DQS pin: OCTOSPIM_P1_DQS
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO0(_OCTOSPIM_P1, OCTOSPIM_P1_IO0)
+#error Invalid pin assignment for OCTOSPIM_P1 IO0 pin: OCTOSPIM_P1_IO0
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO1(_OCTOSPIM_P1, OCTOSPIM_P1_IO1)
+#error Invalid pin assignment for OCTOSPIM_P1 IO1 pin: OCTOSPIM_P1_IO1
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO2(_OCTOSPIM_P1, OCTOSPIM_P1_IO2)
+#error Invalid pin assignment for OCTOSPIM_P1 IO2 pin: OCTOSPIM_P1_IO2
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO3(_OCTOSPIM_P1, OCTOSPIM_P1_IO3)
+#error Invalid pin assignment for OCTOSPIM_P1 IO3 pin: OCTOSPIM_P1_IO3
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO4(_OCTOSPIM_P1, OCTOSPIM_P1_IO4)
+#error Invalid pin assignment for OCTOSPIM_P1 IO4 pin: OCTOSPIM_P1_IO4
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO5(_OCTOSPIM_P1, OCTOSPIM_P1_IO5)
+#error Invalid pin assignment for OCTOSPIM_P1 IO5 pin: OCTOSPIM_P1_IO5
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO6(_OCTOSPIM_P1, OCTOSPIM_P1_IO6)
+#error Invalid pin assignment for OCTOSPIM_P1 IO6 pin: OCTOSPIM_P1_IO6
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_IO7(_OCTOSPIM_P1, OCTOSPIM_P1_IO7)
+#error Invalid pin assignment for OCTOSPIM_P1 IO7 pin: OCTOSPIM_P1_IO7
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_NCLK(_OCTOSPIM_P1, OCTOSPIM_P1_NCLK)
+#error Invalid pin assignment for OCTOSPIM_P1 NCLK pin: OCTOSPIM_P1_NCLK
+#endif
+#if !FIND_VALUE_OCTOSPIM_P_NCS(_OCTOSPIM_P1, OCTOSPIM_P1_NCS)
+#error Invalid pin assignment for OCTOSPIM_P1 NCS pin: OCTOSPIM_P1_NCS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_opamp.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_opamp.h
new file mode 100644
index 000000000..6312d76e4
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_opamp.h
@@ -0,0 +1,20 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403887
+ */
+
+#define FIND_VALUE_OPAMP_DIG_inner(INDEX,PIN) I2C##_OPAMP_##PIN
+#define FIND_VALUE_OPAMP_DIG(INDEX,PIN) FIND_VALUE_OPAMP_DIG_inner(INDEX,PIN)
+
+#ifdef USE_OPAMP0
+#if !FIND_VALUE_OPAMP_DIG(_OPAMP0, OPAMP0_DIG)
+#error Invalid pin assignment for OPAMP0 DIG pin: OPAMP0_DIG
+#endif
+#endif
+
+#ifdef USE_OPAMP1
+#if !FIND_VALUE_OPAMP_DIG(_OPAMP1, OPAMP1_DIG)
+#error Invalid pin assignment for OPAMP1 DIG pin: OPAMP1_DIG
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pssi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pssi.h
new file mode 100644
index 000000000..821b98728
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pssi.h
@@ -0,0 +1,962 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.403900
+ */
+
+#define FIND_VALUE_PSSI_D0_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D0(INDEX,PIN) FIND_VALUE_PSSI_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D1_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D1(INDEX,PIN) FIND_VALUE_PSSI_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D10_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D10(INDEX,PIN) FIND_VALUE_PSSI_D10_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D11_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D11(INDEX,PIN) FIND_VALUE_PSSI_D11_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D12_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D12(INDEX,PIN) FIND_VALUE_PSSI_D12_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D13_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D13(INDEX,PIN) FIND_VALUE_PSSI_D13_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D14_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D14(INDEX,PIN) FIND_VALUE_PSSI_D14_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D15_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D15(INDEX,PIN) FIND_VALUE_PSSI_D15_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D2_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D2(INDEX,PIN) FIND_VALUE_PSSI_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D3_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D3(INDEX,PIN) FIND_VALUE_PSSI_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D4_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D4(INDEX,PIN) FIND_VALUE_PSSI_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D5_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D5(INDEX,PIN) FIND_VALUE_PSSI_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D6_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D6(INDEX,PIN) FIND_VALUE_PSSI_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D7_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D7(INDEX,PIN) FIND_VALUE_PSSI_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D8_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D8(INDEX,PIN) FIND_VALUE_PSSI_D8_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_D9_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_D9(INDEX,PIN) FIND_VALUE_PSSI_D9_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_DE_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_DE(INDEX,PIN) FIND_VALUE_PSSI_DE_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_PDCK_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_PDCK(INDEX,PIN) FIND_VALUE_PSSI_PDCK_inner(INDEX,PIN)
+
+#define FIND_VALUE_PSSI_RDY_inner(INDEX,PIN) I2C##_PSSI_##PIN
+#define FIND_VALUE_PSSI_RDY(INDEX,PIN) FIND_VALUE_PSSI_RDY_inner(INDEX,PIN)
+
+#ifdef USE_PSSI0
+#if !FIND_VALUE_PSSI_D0(_PSSI0, PSSI0_D0)
+#error Invalid pin assignment for PSSI0 D0 pin: PSSI0_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI0, PSSI0_D1)
+#error Invalid pin assignment for PSSI0 D1 pin: PSSI0_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI0, PSSI0_D10)
+#error Invalid pin assignment for PSSI0 D10 pin: PSSI0_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI0, PSSI0_D11)
+#error Invalid pin assignment for PSSI0 D11 pin: PSSI0_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI0, PSSI0_D12)
+#error Invalid pin assignment for PSSI0 D12 pin: PSSI0_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI0, PSSI0_D13)
+#error Invalid pin assignment for PSSI0 D13 pin: PSSI0_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI0, PSSI0_D14)
+#error Invalid pin assignment for PSSI0 D14 pin: PSSI0_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI0, PSSI0_D15)
+#error Invalid pin assignment for PSSI0 D15 pin: PSSI0_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI0, PSSI0_D2)
+#error Invalid pin assignment for PSSI0 D2 pin: PSSI0_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI0, PSSI0_D3)
+#error Invalid pin assignment for PSSI0 D3 pin: PSSI0_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI0, PSSI0_D4)
+#error Invalid pin assignment for PSSI0 D4 pin: PSSI0_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI0, PSSI0_D5)
+#error Invalid pin assignment for PSSI0 D5 pin: PSSI0_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI0, PSSI0_D6)
+#error Invalid pin assignment for PSSI0 D6 pin: PSSI0_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI0, PSSI0_D7)
+#error Invalid pin assignment for PSSI0 D7 pin: PSSI0_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI0, PSSI0_D8)
+#error Invalid pin assignment for PSSI0 D8 pin: PSSI0_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI0, PSSI0_D9)
+#error Invalid pin assignment for PSSI0 D9 pin: PSSI0_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI0, PSSI0_DE)
+#error Invalid pin assignment for PSSI0 DE pin: PSSI0_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI0, PSSI0_PDCK)
+#error Invalid pin assignment for PSSI0 PDCK pin: PSSI0_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI0, PSSI0_RDY)
+#error Invalid pin assignment for PSSI0 RDY pin: PSSI0_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI1
+#if !FIND_VALUE_PSSI_D0(_PSSI1, PSSI1_D0)
+#error Invalid pin assignment for PSSI1 D0 pin: PSSI1_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI1, PSSI1_D1)
+#error Invalid pin assignment for PSSI1 D1 pin: PSSI1_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI1, PSSI1_D10)
+#error Invalid pin assignment for PSSI1 D10 pin: PSSI1_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI1, PSSI1_D11)
+#error Invalid pin assignment for PSSI1 D11 pin: PSSI1_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI1, PSSI1_D12)
+#error Invalid pin assignment for PSSI1 D12 pin: PSSI1_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI1, PSSI1_D13)
+#error Invalid pin assignment for PSSI1 D13 pin: PSSI1_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI1, PSSI1_D14)
+#error Invalid pin assignment for PSSI1 D14 pin: PSSI1_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI1, PSSI1_D15)
+#error Invalid pin assignment for PSSI1 D15 pin: PSSI1_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI1, PSSI1_D2)
+#error Invalid pin assignment for PSSI1 D2 pin: PSSI1_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI1, PSSI1_D3)
+#error Invalid pin assignment for PSSI1 D3 pin: PSSI1_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI1, PSSI1_D4)
+#error Invalid pin assignment for PSSI1 D4 pin: PSSI1_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI1, PSSI1_D5)
+#error Invalid pin assignment for PSSI1 D5 pin: PSSI1_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI1, PSSI1_D6)
+#error Invalid pin assignment for PSSI1 D6 pin: PSSI1_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI1, PSSI1_D7)
+#error Invalid pin assignment for PSSI1 D7 pin: PSSI1_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI1, PSSI1_D8)
+#error Invalid pin assignment for PSSI1 D8 pin: PSSI1_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI1, PSSI1_D9)
+#error Invalid pin assignment for PSSI1 D9 pin: PSSI1_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI1, PSSI1_DE)
+#error Invalid pin assignment for PSSI1 DE pin: PSSI1_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI1, PSSI1_PDCK)
+#error Invalid pin assignment for PSSI1 PDCK pin: PSSI1_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI1, PSSI1_RDY)
+#error Invalid pin assignment for PSSI1 RDY pin: PSSI1_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI2
+#if !FIND_VALUE_PSSI_D0(_PSSI2, PSSI2_D0)
+#error Invalid pin assignment for PSSI2 D0 pin: PSSI2_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI2, PSSI2_D1)
+#error Invalid pin assignment for PSSI2 D1 pin: PSSI2_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI2, PSSI2_D10)
+#error Invalid pin assignment for PSSI2 D10 pin: PSSI2_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI2, PSSI2_D11)
+#error Invalid pin assignment for PSSI2 D11 pin: PSSI2_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI2, PSSI2_D12)
+#error Invalid pin assignment for PSSI2 D12 pin: PSSI2_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI2, PSSI2_D13)
+#error Invalid pin assignment for PSSI2 D13 pin: PSSI2_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI2, PSSI2_D14)
+#error Invalid pin assignment for PSSI2 D14 pin: PSSI2_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI2, PSSI2_D15)
+#error Invalid pin assignment for PSSI2 D15 pin: PSSI2_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI2, PSSI2_D2)
+#error Invalid pin assignment for PSSI2 D2 pin: PSSI2_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI2, PSSI2_D3)
+#error Invalid pin assignment for PSSI2 D3 pin: PSSI2_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI2, PSSI2_D4)
+#error Invalid pin assignment for PSSI2 D4 pin: PSSI2_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI2, PSSI2_D5)
+#error Invalid pin assignment for PSSI2 D5 pin: PSSI2_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI2, PSSI2_D6)
+#error Invalid pin assignment for PSSI2 D6 pin: PSSI2_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI2, PSSI2_D7)
+#error Invalid pin assignment for PSSI2 D7 pin: PSSI2_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI2, PSSI2_D8)
+#error Invalid pin assignment for PSSI2 D8 pin: PSSI2_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI2, PSSI2_D9)
+#error Invalid pin assignment for PSSI2 D9 pin: PSSI2_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI2, PSSI2_DE)
+#error Invalid pin assignment for PSSI2 DE pin: PSSI2_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI2, PSSI2_PDCK)
+#error Invalid pin assignment for PSSI2 PDCK pin: PSSI2_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI2, PSSI2_RDY)
+#error Invalid pin assignment for PSSI2 RDY pin: PSSI2_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI3
+#if !FIND_VALUE_PSSI_D0(_PSSI3, PSSI3_D0)
+#error Invalid pin assignment for PSSI3 D0 pin: PSSI3_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI3, PSSI3_D1)
+#error Invalid pin assignment for PSSI3 D1 pin: PSSI3_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI3, PSSI3_D10)
+#error Invalid pin assignment for PSSI3 D10 pin: PSSI3_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI3, PSSI3_D11)
+#error Invalid pin assignment for PSSI3 D11 pin: PSSI3_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI3, PSSI3_D12)
+#error Invalid pin assignment for PSSI3 D12 pin: PSSI3_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI3, PSSI3_D13)
+#error Invalid pin assignment for PSSI3 D13 pin: PSSI3_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI3, PSSI3_D14)
+#error Invalid pin assignment for PSSI3 D14 pin: PSSI3_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI3, PSSI3_D15)
+#error Invalid pin assignment for PSSI3 D15 pin: PSSI3_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI3, PSSI3_D2)
+#error Invalid pin assignment for PSSI3 D2 pin: PSSI3_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI3, PSSI3_D3)
+#error Invalid pin assignment for PSSI3 D3 pin: PSSI3_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI3, PSSI3_D4)
+#error Invalid pin assignment for PSSI3 D4 pin: PSSI3_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI3, PSSI3_D5)
+#error Invalid pin assignment for PSSI3 D5 pin: PSSI3_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI3, PSSI3_D6)
+#error Invalid pin assignment for PSSI3 D6 pin: PSSI3_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI3, PSSI3_D7)
+#error Invalid pin assignment for PSSI3 D7 pin: PSSI3_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI3, PSSI3_D8)
+#error Invalid pin assignment for PSSI3 D8 pin: PSSI3_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI3, PSSI3_D9)
+#error Invalid pin assignment for PSSI3 D9 pin: PSSI3_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI3, PSSI3_DE)
+#error Invalid pin assignment for PSSI3 DE pin: PSSI3_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI3, PSSI3_PDCK)
+#error Invalid pin assignment for PSSI3 PDCK pin: PSSI3_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI3, PSSI3_RDY)
+#error Invalid pin assignment for PSSI3 RDY pin: PSSI3_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI4
+#if !FIND_VALUE_PSSI_D0(_PSSI4, PSSI4_D0)
+#error Invalid pin assignment for PSSI4 D0 pin: PSSI4_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI4, PSSI4_D1)
+#error Invalid pin assignment for PSSI4 D1 pin: PSSI4_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI4, PSSI4_D10)
+#error Invalid pin assignment for PSSI4 D10 pin: PSSI4_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI4, PSSI4_D11)
+#error Invalid pin assignment for PSSI4 D11 pin: PSSI4_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI4, PSSI4_D12)
+#error Invalid pin assignment for PSSI4 D12 pin: PSSI4_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI4, PSSI4_D13)
+#error Invalid pin assignment for PSSI4 D13 pin: PSSI4_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI4, PSSI4_D14)
+#error Invalid pin assignment for PSSI4 D14 pin: PSSI4_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI4, PSSI4_D15)
+#error Invalid pin assignment for PSSI4 D15 pin: PSSI4_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI4, PSSI4_D2)
+#error Invalid pin assignment for PSSI4 D2 pin: PSSI4_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI4, PSSI4_D3)
+#error Invalid pin assignment for PSSI4 D3 pin: PSSI4_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI4, PSSI4_D4)
+#error Invalid pin assignment for PSSI4 D4 pin: PSSI4_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI4, PSSI4_D5)
+#error Invalid pin assignment for PSSI4 D5 pin: PSSI4_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI4, PSSI4_D6)
+#error Invalid pin assignment for PSSI4 D6 pin: PSSI4_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI4, PSSI4_D7)
+#error Invalid pin assignment for PSSI4 D7 pin: PSSI4_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI4, PSSI4_D8)
+#error Invalid pin assignment for PSSI4 D8 pin: PSSI4_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI4, PSSI4_D9)
+#error Invalid pin assignment for PSSI4 D9 pin: PSSI4_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI4, PSSI4_DE)
+#error Invalid pin assignment for PSSI4 DE pin: PSSI4_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI4, PSSI4_PDCK)
+#error Invalid pin assignment for PSSI4 PDCK pin: PSSI4_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI4, PSSI4_RDY)
+#error Invalid pin assignment for PSSI4 RDY pin: PSSI4_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI5
+#if !FIND_VALUE_PSSI_D0(_PSSI5, PSSI5_D0)
+#error Invalid pin assignment for PSSI5 D0 pin: PSSI5_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI5, PSSI5_D1)
+#error Invalid pin assignment for PSSI5 D1 pin: PSSI5_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI5, PSSI5_D10)
+#error Invalid pin assignment for PSSI5 D10 pin: PSSI5_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI5, PSSI5_D11)
+#error Invalid pin assignment for PSSI5 D11 pin: PSSI5_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI5, PSSI5_D12)
+#error Invalid pin assignment for PSSI5 D12 pin: PSSI5_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI5, PSSI5_D13)
+#error Invalid pin assignment for PSSI5 D13 pin: PSSI5_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI5, PSSI5_D14)
+#error Invalid pin assignment for PSSI5 D14 pin: PSSI5_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI5, PSSI5_D15)
+#error Invalid pin assignment for PSSI5 D15 pin: PSSI5_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI5, PSSI5_D2)
+#error Invalid pin assignment for PSSI5 D2 pin: PSSI5_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI5, PSSI5_D3)
+#error Invalid pin assignment for PSSI5 D3 pin: PSSI5_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI5, PSSI5_D4)
+#error Invalid pin assignment for PSSI5 D4 pin: PSSI5_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI5, PSSI5_D5)
+#error Invalid pin assignment for PSSI5 D5 pin: PSSI5_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI5, PSSI5_D6)
+#error Invalid pin assignment for PSSI5 D6 pin: PSSI5_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI5, PSSI5_D7)
+#error Invalid pin assignment for PSSI5 D7 pin: PSSI5_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI5, PSSI5_D8)
+#error Invalid pin assignment for PSSI5 D8 pin: PSSI5_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI5, PSSI5_D9)
+#error Invalid pin assignment for PSSI5 D9 pin: PSSI5_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI5, PSSI5_DE)
+#error Invalid pin assignment for PSSI5 DE pin: PSSI5_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI5, PSSI5_PDCK)
+#error Invalid pin assignment for PSSI5 PDCK pin: PSSI5_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI5, PSSI5_RDY)
+#error Invalid pin assignment for PSSI5 RDY pin: PSSI5_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI6
+#if !FIND_VALUE_PSSI_D0(_PSSI6, PSSI6_D0)
+#error Invalid pin assignment for PSSI6 D0 pin: PSSI6_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI6, PSSI6_D1)
+#error Invalid pin assignment for PSSI6 D1 pin: PSSI6_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI6, PSSI6_D10)
+#error Invalid pin assignment for PSSI6 D10 pin: PSSI6_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI6, PSSI6_D11)
+#error Invalid pin assignment for PSSI6 D11 pin: PSSI6_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI6, PSSI6_D12)
+#error Invalid pin assignment for PSSI6 D12 pin: PSSI6_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI6, PSSI6_D13)
+#error Invalid pin assignment for PSSI6 D13 pin: PSSI6_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI6, PSSI6_D14)
+#error Invalid pin assignment for PSSI6 D14 pin: PSSI6_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI6, PSSI6_D15)
+#error Invalid pin assignment for PSSI6 D15 pin: PSSI6_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI6, PSSI6_D2)
+#error Invalid pin assignment for PSSI6 D2 pin: PSSI6_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI6, PSSI6_D3)
+#error Invalid pin assignment for PSSI6 D3 pin: PSSI6_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI6, PSSI6_D4)
+#error Invalid pin assignment for PSSI6 D4 pin: PSSI6_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI6, PSSI6_D5)
+#error Invalid pin assignment for PSSI6 D5 pin: PSSI6_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI6, PSSI6_D6)
+#error Invalid pin assignment for PSSI6 D6 pin: PSSI6_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI6, PSSI6_D7)
+#error Invalid pin assignment for PSSI6 D7 pin: PSSI6_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI6, PSSI6_D8)
+#error Invalid pin assignment for PSSI6 D8 pin: PSSI6_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI6, PSSI6_D9)
+#error Invalid pin assignment for PSSI6 D9 pin: PSSI6_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI6, PSSI6_DE)
+#error Invalid pin assignment for PSSI6 DE pin: PSSI6_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI6, PSSI6_PDCK)
+#error Invalid pin assignment for PSSI6 PDCK pin: PSSI6_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI6, PSSI6_RDY)
+#error Invalid pin assignment for PSSI6 RDY pin: PSSI6_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI7
+#if !FIND_VALUE_PSSI_D0(_PSSI7, PSSI7_D0)
+#error Invalid pin assignment for PSSI7 D0 pin: PSSI7_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI7, PSSI7_D1)
+#error Invalid pin assignment for PSSI7 D1 pin: PSSI7_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI7, PSSI7_D10)
+#error Invalid pin assignment for PSSI7 D10 pin: PSSI7_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI7, PSSI7_D11)
+#error Invalid pin assignment for PSSI7 D11 pin: PSSI7_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI7, PSSI7_D12)
+#error Invalid pin assignment for PSSI7 D12 pin: PSSI7_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI7, PSSI7_D13)
+#error Invalid pin assignment for PSSI7 D13 pin: PSSI7_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI7, PSSI7_D14)
+#error Invalid pin assignment for PSSI7 D14 pin: PSSI7_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI7, PSSI7_D15)
+#error Invalid pin assignment for PSSI7 D15 pin: PSSI7_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI7, PSSI7_D2)
+#error Invalid pin assignment for PSSI7 D2 pin: PSSI7_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI7, PSSI7_D3)
+#error Invalid pin assignment for PSSI7 D3 pin: PSSI7_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI7, PSSI7_D4)
+#error Invalid pin assignment for PSSI7 D4 pin: PSSI7_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI7, PSSI7_D5)
+#error Invalid pin assignment for PSSI7 D5 pin: PSSI7_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI7, PSSI7_D6)
+#error Invalid pin assignment for PSSI7 D6 pin: PSSI7_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI7, PSSI7_D7)
+#error Invalid pin assignment for PSSI7 D7 pin: PSSI7_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI7, PSSI7_D8)
+#error Invalid pin assignment for PSSI7 D8 pin: PSSI7_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI7, PSSI7_D9)
+#error Invalid pin assignment for PSSI7 D9 pin: PSSI7_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI7, PSSI7_DE)
+#error Invalid pin assignment for PSSI7 DE pin: PSSI7_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI7, PSSI7_PDCK)
+#error Invalid pin assignment for PSSI7 PDCK pin: PSSI7_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI7, PSSI7_RDY)
+#error Invalid pin assignment for PSSI7 RDY pin: PSSI7_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI8
+#if !FIND_VALUE_PSSI_D0(_PSSI8, PSSI8_D0)
+#error Invalid pin assignment for PSSI8 D0 pin: PSSI8_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI8, PSSI8_D1)
+#error Invalid pin assignment for PSSI8 D1 pin: PSSI8_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI8, PSSI8_D10)
+#error Invalid pin assignment for PSSI8 D10 pin: PSSI8_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI8, PSSI8_D11)
+#error Invalid pin assignment for PSSI8 D11 pin: PSSI8_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI8, PSSI8_D12)
+#error Invalid pin assignment for PSSI8 D12 pin: PSSI8_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI8, PSSI8_D13)
+#error Invalid pin assignment for PSSI8 D13 pin: PSSI8_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI8, PSSI8_D14)
+#error Invalid pin assignment for PSSI8 D14 pin: PSSI8_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI8, PSSI8_D15)
+#error Invalid pin assignment for PSSI8 D15 pin: PSSI8_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI8, PSSI8_D2)
+#error Invalid pin assignment for PSSI8 D2 pin: PSSI8_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI8, PSSI8_D3)
+#error Invalid pin assignment for PSSI8 D3 pin: PSSI8_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI8, PSSI8_D4)
+#error Invalid pin assignment for PSSI8 D4 pin: PSSI8_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI8, PSSI8_D5)
+#error Invalid pin assignment for PSSI8 D5 pin: PSSI8_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI8, PSSI8_D6)
+#error Invalid pin assignment for PSSI8 D6 pin: PSSI8_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI8, PSSI8_D7)
+#error Invalid pin assignment for PSSI8 D7 pin: PSSI8_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI8, PSSI8_D8)
+#error Invalid pin assignment for PSSI8 D8 pin: PSSI8_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI8, PSSI8_D9)
+#error Invalid pin assignment for PSSI8 D9 pin: PSSI8_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI8, PSSI8_DE)
+#error Invalid pin assignment for PSSI8 DE pin: PSSI8_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI8, PSSI8_PDCK)
+#error Invalid pin assignment for PSSI8 PDCK pin: PSSI8_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI8, PSSI8_RDY)
+#error Invalid pin assignment for PSSI8 RDY pin: PSSI8_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI9
+#if !FIND_VALUE_PSSI_D0(_PSSI9, PSSI9_D0)
+#error Invalid pin assignment for PSSI9 D0 pin: PSSI9_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI9, PSSI9_D1)
+#error Invalid pin assignment for PSSI9 D1 pin: PSSI9_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI9, PSSI9_D10)
+#error Invalid pin assignment for PSSI9 D10 pin: PSSI9_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI9, PSSI9_D11)
+#error Invalid pin assignment for PSSI9 D11 pin: PSSI9_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI9, PSSI9_D12)
+#error Invalid pin assignment for PSSI9 D12 pin: PSSI9_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI9, PSSI9_D13)
+#error Invalid pin assignment for PSSI9 D13 pin: PSSI9_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI9, PSSI9_D14)
+#error Invalid pin assignment for PSSI9 D14 pin: PSSI9_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI9, PSSI9_D15)
+#error Invalid pin assignment for PSSI9 D15 pin: PSSI9_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI9, PSSI9_D2)
+#error Invalid pin assignment for PSSI9 D2 pin: PSSI9_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI9, PSSI9_D3)
+#error Invalid pin assignment for PSSI9 D3 pin: PSSI9_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI9, PSSI9_D4)
+#error Invalid pin assignment for PSSI9 D4 pin: PSSI9_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI9, PSSI9_D5)
+#error Invalid pin assignment for PSSI9 D5 pin: PSSI9_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI9, PSSI9_D6)
+#error Invalid pin assignment for PSSI9 D6 pin: PSSI9_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI9, PSSI9_D7)
+#error Invalid pin assignment for PSSI9 D7 pin: PSSI9_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI9, PSSI9_D8)
+#error Invalid pin assignment for PSSI9 D8 pin: PSSI9_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI9, PSSI9_D9)
+#error Invalid pin assignment for PSSI9 D9 pin: PSSI9_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI9, PSSI9_DE)
+#error Invalid pin assignment for PSSI9 DE pin: PSSI9_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI9, PSSI9_PDCK)
+#error Invalid pin assignment for PSSI9 PDCK pin: PSSI9_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI9, PSSI9_RDY)
+#error Invalid pin assignment for PSSI9 RDY pin: PSSI9_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI10
+#if !FIND_VALUE_PSSI_D0(_PSSI10, PSSI10_D0)
+#error Invalid pin assignment for PSSI10 D0 pin: PSSI10_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI10, PSSI10_D1)
+#error Invalid pin assignment for PSSI10 D1 pin: PSSI10_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI10, PSSI10_D10)
+#error Invalid pin assignment for PSSI10 D10 pin: PSSI10_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI10, PSSI10_D11)
+#error Invalid pin assignment for PSSI10 D11 pin: PSSI10_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI10, PSSI10_D12)
+#error Invalid pin assignment for PSSI10 D12 pin: PSSI10_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI10, PSSI10_D13)
+#error Invalid pin assignment for PSSI10 D13 pin: PSSI10_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI10, PSSI10_D14)
+#error Invalid pin assignment for PSSI10 D14 pin: PSSI10_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI10, PSSI10_D15)
+#error Invalid pin assignment for PSSI10 D15 pin: PSSI10_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI10, PSSI10_D2)
+#error Invalid pin assignment for PSSI10 D2 pin: PSSI10_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI10, PSSI10_D3)
+#error Invalid pin assignment for PSSI10 D3 pin: PSSI10_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI10, PSSI10_D4)
+#error Invalid pin assignment for PSSI10 D4 pin: PSSI10_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI10, PSSI10_D5)
+#error Invalid pin assignment for PSSI10 D5 pin: PSSI10_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI10, PSSI10_D6)
+#error Invalid pin assignment for PSSI10 D6 pin: PSSI10_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI10, PSSI10_D7)
+#error Invalid pin assignment for PSSI10 D7 pin: PSSI10_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI10, PSSI10_D8)
+#error Invalid pin assignment for PSSI10 D8 pin: PSSI10_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI10, PSSI10_D9)
+#error Invalid pin assignment for PSSI10 D9 pin: PSSI10_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI10, PSSI10_DE)
+#error Invalid pin assignment for PSSI10 DE pin: PSSI10_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI10, PSSI10_PDCK)
+#error Invalid pin assignment for PSSI10 PDCK pin: PSSI10_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI10, PSSI10_RDY)
+#error Invalid pin assignment for PSSI10 RDY pin: PSSI10_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI11
+#if !FIND_VALUE_PSSI_D0(_PSSI11, PSSI11_D0)
+#error Invalid pin assignment for PSSI11 D0 pin: PSSI11_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI11, PSSI11_D1)
+#error Invalid pin assignment for PSSI11 D1 pin: PSSI11_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI11, PSSI11_D10)
+#error Invalid pin assignment for PSSI11 D10 pin: PSSI11_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI11, PSSI11_D11)
+#error Invalid pin assignment for PSSI11 D11 pin: PSSI11_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI11, PSSI11_D12)
+#error Invalid pin assignment for PSSI11 D12 pin: PSSI11_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI11, PSSI11_D13)
+#error Invalid pin assignment for PSSI11 D13 pin: PSSI11_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI11, PSSI11_D14)
+#error Invalid pin assignment for PSSI11 D14 pin: PSSI11_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI11, PSSI11_D15)
+#error Invalid pin assignment for PSSI11 D15 pin: PSSI11_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI11, PSSI11_D2)
+#error Invalid pin assignment for PSSI11 D2 pin: PSSI11_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI11, PSSI11_D3)
+#error Invalid pin assignment for PSSI11 D3 pin: PSSI11_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI11, PSSI11_D4)
+#error Invalid pin assignment for PSSI11 D4 pin: PSSI11_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI11, PSSI11_D5)
+#error Invalid pin assignment for PSSI11 D5 pin: PSSI11_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI11, PSSI11_D6)
+#error Invalid pin assignment for PSSI11 D6 pin: PSSI11_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI11, PSSI11_D7)
+#error Invalid pin assignment for PSSI11 D7 pin: PSSI11_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI11, PSSI11_D8)
+#error Invalid pin assignment for PSSI11 D8 pin: PSSI11_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI11, PSSI11_D9)
+#error Invalid pin assignment for PSSI11 D9 pin: PSSI11_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI11, PSSI11_DE)
+#error Invalid pin assignment for PSSI11 DE pin: PSSI11_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI11, PSSI11_PDCK)
+#error Invalid pin assignment for PSSI11 PDCK pin: PSSI11_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI11, PSSI11_RDY)
+#error Invalid pin assignment for PSSI11 RDY pin: PSSI11_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI12
+#if !FIND_VALUE_PSSI_D0(_PSSI12, PSSI12_D0)
+#error Invalid pin assignment for PSSI12 D0 pin: PSSI12_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI12, PSSI12_D1)
+#error Invalid pin assignment for PSSI12 D1 pin: PSSI12_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI12, PSSI12_D10)
+#error Invalid pin assignment for PSSI12 D10 pin: PSSI12_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI12, PSSI12_D11)
+#error Invalid pin assignment for PSSI12 D11 pin: PSSI12_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI12, PSSI12_D12)
+#error Invalid pin assignment for PSSI12 D12 pin: PSSI12_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI12, PSSI12_D13)
+#error Invalid pin assignment for PSSI12 D13 pin: PSSI12_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI12, PSSI12_D14)
+#error Invalid pin assignment for PSSI12 D14 pin: PSSI12_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI12, PSSI12_D15)
+#error Invalid pin assignment for PSSI12 D15 pin: PSSI12_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI12, PSSI12_D2)
+#error Invalid pin assignment for PSSI12 D2 pin: PSSI12_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI12, PSSI12_D3)
+#error Invalid pin assignment for PSSI12 D3 pin: PSSI12_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI12, PSSI12_D4)
+#error Invalid pin assignment for PSSI12 D4 pin: PSSI12_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI12, PSSI12_D5)
+#error Invalid pin assignment for PSSI12 D5 pin: PSSI12_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI12, PSSI12_D6)
+#error Invalid pin assignment for PSSI12 D6 pin: PSSI12_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI12, PSSI12_D7)
+#error Invalid pin assignment for PSSI12 D7 pin: PSSI12_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI12, PSSI12_D8)
+#error Invalid pin assignment for PSSI12 D8 pin: PSSI12_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI12, PSSI12_D9)
+#error Invalid pin assignment for PSSI12 D9 pin: PSSI12_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI12, PSSI12_DE)
+#error Invalid pin assignment for PSSI12 DE pin: PSSI12_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI12, PSSI12_PDCK)
+#error Invalid pin assignment for PSSI12 PDCK pin: PSSI12_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI12, PSSI12_RDY)
+#error Invalid pin assignment for PSSI12 RDY pin: PSSI12_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI13
+#if !FIND_VALUE_PSSI_D0(_PSSI13, PSSI13_D0)
+#error Invalid pin assignment for PSSI13 D0 pin: PSSI13_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI13, PSSI13_D1)
+#error Invalid pin assignment for PSSI13 D1 pin: PSSI13_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI13, PSSI13_D10)
+#error Invalid pin assignment for PSSI13 D10 pin: PSSI13_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI13, PSSI13_D11)
+#error Invalid pin assignment for PSSI13 D11 pin: PSSI13_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI13, PSSI13_D12)
+#error Invalid pin assignment for PSSI13 D12 pin: PSSI13_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI13, PSSI13_D13)
+#error Invalid pin assignment for PSSI13 D13 pin: PSSI13_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI13, PSSI13_D14)
+#error Invalid pin assignment for PSSI13 D14 pin: PSSI13_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI13, PSSI13_D15)
+#error Invalid pin assignment for PSSI13 D15 pin: PSSI13_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI13, PSSI13_D2)
+#error Invalid pin assignment for PSSI13 D2 pin: PSSI13_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI13, PSSI13_D3)
+#error Invalid pin assignment for PSSI13 D3 pin: PSSI13_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI13, PSSI13_D4)
+#error Invalid pin assignment for PSSI13 D4 pin: PSSI13_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI13, PSSI13_D5)
+#error Invalid pin assignment for PSSI13 D5 pin: PSSI13_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI13, PSSI13_D6)
+#error Invalid pin assignment for PSSI13 D6 pin: PSSI13_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI13, PSSI13_D7)
+#error Invalid pin assignment for PSSI13 D7 pin: PSSI13_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI13, PSSI13_D8)
+#error Invalid pin assignment for PSSI13 D8 pin: PSSI13_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI13, PSSI13_D9)
+#error Invalid pin assignment for PSSI13 D9 pin: PSSI13_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI13, PSSI13_DE)
+#error Invalid pin assignment for PSSI13 DE pin: PSSI13_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI13, PSSI13_PDCK)
+#error Invalid pin assignment for PSSI13 PDCK pin: PSSI13_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI13, PSSI13_RDY)
+#error Invalid pin assignment for PSSI13 RDY pin: PSSI13_RDY
+#endif
+#endif
+
+#ifdef USE_PSSI14
+#if !FIND_VALUE_PSSI_D0(_PSSI14, PSSI14_D0)
+#error Invalid pin assignment for PSSI14 D0 pin: PSSI14_D0
+#endif
+#if !FIND_VALUE_PSSI_D1(_PSSI14, PSSI14_D1)
+#error Invalid pin assignment for PSSI14 D1 pin: PSSI14_D1
+#endif
+#if !FIND_VALUE_PSSI_D10(_PSSI14, PSSI14_D10)
+#error Invalid pin assignment for PSSI14 D10 pin: PSSI14_D10
+#endif
+#if !FIND_VALUE_PSSI_D11(_PSSI14, PSSI14_D11)
+#error Invalid pin assignment for PSSI14 D11 pin: PSSI14_D11
+#endif
+#if !FIND_VALUE_PSSI_D12(_PSSI14, PSSI14_D12)
+#error Invalid pin assignment for PSSI14 D12 pin: PSSI14_D12
+#endif
+#if !FIND_VALUE_PSSI_D13(_PSSI14, PSSI14_D13)
+#error Invalid pin assignment for PSSI14 D13 pin: PSSI14_D13
+#endif
+#if !FIND_VALUE_PSSI_D14(_PSSI14, PSSI14_D14)
+#error Invalid pin assignment for PSSI14 D14 pin: PSSI14_D14
+#endif
+#if !FIND_VALUE_PSSI_D15(_PSSI14, PSSI14_D15)
+#error Invalid pin assignment for PSSI14 D15 pin: PSSI14_D15
+#endif
+#if !FIND_VALUE_PSSI_D2(_PSSI14, PSSI14_D2)
+#error Invalid pin assignment for PSSI14 D2 pin: PSSI14_D2
+#endif
+#if !FIND_VALUE_PSSI_D3(_PSSI14, PSSI14_D3)
+#error Invalid pin assignment for PSSI14 D3 pin: PSSI14_D3
+#endif
+#if !FIND_VALUE_PSSI_D4(_PSSI14, PSSI14_D4)
+#error Invalid pin assignment for PSSI14 D4 pin: PSSI14_D4
+#endif
+#if !FIND_VALUE_PSSI_D5(_PSSI14, PSSI14_D5)
+#error Invalid pin assignment for PSSI14 D5 pin: PSSI14_D5
+#endif
+#if !FIND_VALUE_PSSI_D6(_PSSI14, PSSI14_D6)
+#error Invalid pin assignment for PSSI14 D6 pin: PSSI14_D6
+#endif
+#if !FIND_VALUE_PSSI_D7(_PSSI14, PSSI14_D7)
+#error Invalid pin assignment for PSSI14 D7 pin: PSSI14_D7
+#endif
+#if !FIND_VALUE_PSSI_D8(_PSSI14, PSSI14_D8)
+#error Invalid pin assignment for PSSI14 D8 pin: PSSI14_D8
+#endif
+#if !FIND_VALUE_PSSI_D9(_PSSI14, PSSI14_D9)
+#error Invalid pin assignment for PSSI14 D9 pin: PSSI14_D9
+#endif
+#if !FIND_VALUE_PSSI_DE(_PSSI14, PSSI14_DE)
+#error Invalid pin assignment for PSSI14 DE pin: PSSI14_DE
+#endif
+#if !FIND_VALUE_PSSI_PDCK(_PSSI14, PSSI14_PDCK)
+#error Invalid pin assignment for PSSI14 PDCK pin: PSSI14_PDCK
+#endif
+#if !FIND_VALUE_PSSI_RDY(_PSSI14, PSSI14_RDY)
+#error Invalid pin assignment for PSSI14 RDY pin: PSSI14_RDY
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pwr.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pwr.h
new file mode 100644
index 000000000..4d0bb5ac3
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_pwr.h
@@ -0,0 +1,56 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404059
+ */
+
+#define FIND_VALUE_PWR_CDSTOP_inner(INDEX,PIN) I2C##_PWR_##PIN
+#define FIND_VALUE_PWR_CDSTOP(INDEX,PIN) FIND_VALUE_PWR_CDSTOP_inner(INDEX,PIN)
+
+#define FIND_VALUE_PWR_CSLEEP_inner(INDEX,PIN) I2C##_PWR_##PIN
+#define FIND_VALUE_PWR_CSLEEP(INDEX,PIN) FIND_VALUE_PWR_CSLEEP_inner(INDEX,PIN)
+
+#define FIND_VALUE_PWR_CSTOP_inner(INDEX,PIN) I2C##_PWR_##PIN
+#define FIND_VALUE_PWR_CSTOP(INDEX,PIN) FIND_VALUE_PWR_CSTOP_inner(INDEX,PIN)
+
+#define FIND_VALUE_PWR_NDSTOP2_inner(INDEX,PIN) I2C##_PWR_##PIN
+#define FIND_VALUE_PWR_NDSTOP2(INDEX,PIN) FIND_VALUE_PWR_NDSTOP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_PWR_SRDSTOP_inner(INDEX,PIN) I2C##_PWR_##PIN
+#define FIND_VALUE_PWR_SRDSTOP(INDEX,PIN) FIND_VALUE_PWR_SRDSTOP_inner(INDEX,PIN)
+
+#ifdef USE_PWR0
+#if !FIND_VALUE_PWR_CDSTOP(_PWR0, PWR0_CDSTOP)
+#error Invalid pin assignment for PWR0 CDSTOP pin: PWR0_CDSTOP
+#endif
+#if !FIND_VALUE_PWR_CSLEEP(_PWR0, PWR0_CSLEEP)
+#error Invalid pin assignment for PWR0 CSLEEP pin: PWR0_CSLEEP
+#endif
+#if !FIND_VALUE_PWR_CSTOP(_PWR0, PWR0_CSTOP)
+#error Invalid pin assignment for PWR0 CSTOP pin: PWR0_CSTOP
+#endif
+#if !FIND_VALUE_PWR_NDSTOP2(_PWR0, PWR0_NDSTOP2)
+#error Invalid pin assignment for PWR0 NDSTOP2 pin: PWR0_NDSTOP2
+#endif
+#if !FIND_VALUE_PWR_SRDSTOP(_PWR0, PWR0_SRDSTOP)
+#error Invalid pin assignment for PWR0 SRDSTOP pin: PWR0_SRDSTOP
+#endif
+#endif
+
+#ifdef USE_PWR1
+#if !FIND_VALUE_PWR_CDSTOP(_PWR1, PWR1_CDSTOP)
+#error Invalid pin assignment for PWR1 CDSTOP pin: PWR1_CDSTOP
+#endif
+#if !FIND_VALUE_PWR_CSLEEP(_PWR1, PWR1_CSLEEP)
+#error Invalid pin assignment for PWR1 CSLEEP pin: PWR1_CSLEEP
+#endif
+#if !FIND_VALUE_PWR_CSTOP(_PWR1, PWR1_CSTOP)
+#error Invalid pin assignment for PWR1 CSTOP pin: PWR1_CSTOP
+#endif
+#if !FIND_VALUE_PWR_NDSTOP2(_PWR1, PWR1_NDSTOP2)
+#error Invalid pin assignment for PWR1 NDSTOP2 pin: PWR1_NDSTOP2
+#endif
+#if !FIND_VALUE_PWR_SRDSTOP(_PWR1, PWR1_SRDSTOP)
+#error Invalid pin assignment for PWR1 SRDSTOP pin: PWR1_SRDSTOP
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi.h
new file mode 100644
index 000000000..40611a287
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi.h
@@ -0,0 +1,80 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404078
+ */
+
+#define FIND_VALUE_QUADSPI_BK1_IO0_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK1_IO0(INDEX,PIN) FIND_VALUE_QUADSPI_BK1_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK1_IO1_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK1_IO1(INDEX,PIN) FIND_VALUE_QUADSPI_BK1_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK1_IO2_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK1_IO2(INDEX,PIN) FIND_VALUE_QUADSPI_BK1_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK1_IO3_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK1_IO3(INDEX,PIN) FIND_VALUE_QUADSPI_BK1_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK1_NCS_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK1_NCS(INDEX,PIN) FIND_VALUE_QUADSPI_BK1_NCS_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK2_IO0_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK2_IO0(INDEX,PIN) FIND_VALUE_QUADSPI_BK2_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK2_IO1_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK2_IO1(INDEX,PIN) FIND_VALUE_QUADSPI_BK2_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK2_IO2_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK2_IO2(INDEX,PIN) FIND_VALUE_QUADSPI_BK2_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK2_IO3_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK2_IO3(INDEX,PIN) FIND_VALUE_QUADSPI_BK2_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK2_NCS_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_BK2_NCS(INDEX,PIN) FIND_VALUE_QUADSPI_BK2_NCS_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_CLK_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_CLK(INDEX,PIN) FIND_VALUE_QUADSPI_CLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_NCS_inner(INDEX,PIN) I2C##_QUADSPI_##PIN
+#define FIND_VALUE_QUADSPI_NCS(INDEX,PIN) FIND_VALUE_QUADSPI_NCS_inner(INDEX,PIN)
+
+#ifdef USE_QUADSPI0
+#if !FIND_VALUE_QUADSPI_BK1_IO0(_QUADSPI0, QUADSPI0_BK1_IO0)
+#error Invalid pin assignment for QUADSPI0 BK1_IO0 pin: QUADSPI0_BK1_IO0
+#endif
+#if !FIND_VALUE_QUADSPI_BK1_IO1(_QUADSPI0, QUADSPI0_BK1_IO1)
+#error Invalid pin assignment for QUADSPI0 BK1_IO1 pin: QUADSPI0_BK1_IO1
+#endif
+#if !FIND_VALUE_QUADSPI_BK1_IO2(_QUADSPI0, QUADSPI0_BK1_IO2)
+#error Invalid pin assignment for QUADSPI0 BK1_IO2 pin: QUADSPI0_BK1_IO2
+#endif
+#if !FIND_VALUE_QUADSPI_BK1_IO3(_QUADSPI0, QUADSPI0_BK1_IO3)
+#error Invalid pin assignment for QUADSPI0 BK1_IO3 pin: QUADSPI0_BK1_IO3
+#endif
+#if !FIND_VALUE_QUADSPI_BK1_NCS(_QUADSPI0, QUADSPI0_BK1_NCS)
+#error Invalid pin assignment for QUADSPI0 BK1_NCS pin: QUADSPI0_BK1_NCS
+#endif
+#if !FIND_VALUE_QUADSPI_BK2_IO0(_QUADSPI0, QUADSPI0_BK2_IO0)
+#error Invalid pin assignment for QUADSPI0 BK2_IO0 pin: QUADSPI0_BK2_IO0
+#endif
+#if !FIND_VALUE_QUADSPI_BK2_IO1(_QUADSPI0, QUADSPI0_BK2_IO1)
+#error Invalid pin assignment for QUADSPI0 BK2_IO1 pin: QUADSPI0_BK2_IO1
+#endif
+#if !FIND_VALUE_QUADSPI_BK2_IO2(_QUADSPI0, QUADSPI0_BK2_IO2)
+#error Invalid pin assignment for QUADSPI0 BK2_IO2 pin: QUADSPI0_BK2_IO2
+#endif
+#if !FIND_VALUE_QUADSPI_BK2_IO3(_QUADSPI0, QUADSPI0_BK2_IO3)
+#error Invalid pin assignment for QUADSPI0 BK2_IO3 pin: QUADSPI0_BK2_IO3
+#endif
+#if !FIND_VALUE_QUADSPI_BK2_NCS(_QUADSPI0, QUADSPI0_BK2_NCS)
+#error Invalid pin assignment for QUADSPI0 BK2_NCS pin: QUADSPI0_BK2_NCS
+#endif
+#if !FIND_VALUE_QUADSPI_CLK(_QUADSPI0, QUADSPI0_CLK)
+#error Invalid pin assignment for QUADSPI0 CLK pin: QUADSPI0_CLK
+#endif
+#if !FIND_VALUE_QUADSPI_NCS(_QUADSPI0, QUADSPI0_NCS)
+#error Invalid pin assignment for QUADSPI0 NCS pin: QUADSPI0_NCS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi_bk.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi_bk.h
new file mode 100644
index 000000000..5b780a689
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_quadspi_bk.h
@@ -0,0 +1,56 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404099
+ */
+
+#define FIND_VALUE_QUADSPI_BK_IO0_inner(INDEX,PIN) I2C##_QUADSPI_BK_##PIN
+#define FIND_VALUE_QUADSPI_BK_IO0(INDEX,PIN) FIND_VALUE_QUADSPI_BK_IO0_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK_IO1_inner(INDEX,PIN) I2C##_QUADSPI_BK_##PIN
+#define FIND_VALUE_QUADSPI_BK_IO1(INDEX,PIN) FIND_VALUE_QUADSPI_BK_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK_IO2_inner(INDEX,PIN) I2C##_QUADSPI_BK_##PIN
+#define FIND_VALUE_QUADSPI_BK_IO2(INDEX,PIN) FIND_VALUE_QUADSPI_BK_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK_IO3_inner(INDEX,PIN) I2C##_QUADSPI_BK_##PIN
+#define FIND_VALUE_QUADSPI_BK_IO3(INDEX,PIN) FIND_VALUE_QUADSPI_BK_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_QUADSPI_BK_NCS_inner(INDEX,PIN) I2C##_QUADSPI_BK_##PIN
+#define FIND_VALUE_QUADSPI_BK_NCS(INDEX,PIN) FIND_VALUE_QUADSPI_BK_NCS_inner(INDEX,PIN)
+
+#ifdef USE_QUADSPI_BK0
+#if !FIND_VALUE_QUADSPI_BK_IO0(_QUADSPI_BK0, QUADSPI_BK0_IO0)
+#error Invalid pin assignment for QUADSPI_BK0 IO0 pin: QUADSPI_BK0_IO0
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO1(_QUADSPI_BK0, QUADSPI_BK0_IO1)
+#error Invalid pin assignment for QUADSPI_BK0 IO1 pin: QUADSPI_BK0_IO1
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO2(_QUADSPI_BK0, QUADSPI_BK0_IO2)
+#error Invalid pin assignment for QUADSPI_BK0 IO2 pin: QUADSPI_BK0_IO2
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO3(_QUADSPI_BK0, QUADSPI_BK0_IO3)
+#error Invalid pin assignment for QUADSPI_BK0 IO3 pin: QUADSPI_BK0_IO3
+#endif
+#if !FIND_VALUE_QUADSPI_BK_NCS(_QUADSPI_BK0, QUADSPI_BK0_NCS)
+#error Invalid pin assignment for QUADSPI_BK0 NCS pin: QUADSPI_BK0_NCS
+#endif
+#endif
+
+#ifdef USE_QUADSPI_BK1
+#if !FIND_VALUE_QUADSPI_BK_IO0(_QUADSPI_BK1, QUADSPI_BK1_IO0)
+#error Invalid pin assignment for QUADSPI_BK1 IO0 pin: QUADSPI_BK1_IO0
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO1(_QUADSPI_BK1, QUADSPI_BK1_IO1)
+#error Invalid pin assignment for QUADSPI_BK1 IO1 pin: QUADSPI_BK1_IO1
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO2(_QUADSPI_BK1, QUADSPI_BK1_IO2)
+#error Invalid pin assignment for QUADSPI_BK1 IO2 pin: QUADSPI_BK1_IO2
+#endif
+#if !FIND_VALUE_QUADSPI_BK_IO3(_QUADSPI_BK1, QUADSPI_BK1_IO3)
+#error Invalid pin assignment for QUADSPI_BK1 IO3 pin: QUADSPI_BK1_IO3
+#endif
+#if !FIND_VALUE_QUADSPI_BK_NCS(_QUADSPI_BK1, QUADSPI_BK1_NCS)
+#error Invalid pin assignment for QUADSPI_BK1 NCS pin: QUADSPI_BK1_NCS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc.h
new file mode 100644
index 000000000..2764db985
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc.h
@@ -0,0 +1,20 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404118
+ */
+
+#define FIND_VALUE_RCC_LSCO_inner(INDEX,PIN) I2C##_RCC_##PIN
+#define FIND_VALUE_RCC_LSCO(INDEX,PIN) FIND_VALUE_RCC_LSCO_inner(INDEX,PIN)
+
+#define FIND_VALUE_RCC_MCO_inner(INDEX,PIN) I2C##_RCC_##PIN
+#define FIND_VALUE_RCC_MCO(INDEX,PIN) FIND_VALUE_RCC_MCO_inner(INDEX,PIN)
+
+#ifdef USE_RCC0
+#if !FIND_VALUE_RCC_LSCO(_RCC0, RCC0_LSCO)
+#error Invalid pin assignment for RCC0 LSCO pin: RCC0_LSCO
+#endif
+#if !FIND_VALUE_RCC_MCO(_RCC0, RCC0_MCO)
+#error Invalid pin assignment for RCC0 MCO pin: RCC0_MCO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_mco.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_mco.h
new file mode 100644
index 000000000..eb84f5825
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_mco.h
@@ -0,0 +1,29 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404133
+ */
+
+#define FIND_VALUE_RCC_MCO_1_inner(INDEX,PIN) I2C##_RCC_MCO_##PIN
+#define FIND_VALUE_RCC_MCO_1(INDEX,PIN) FIND_VALUE_RCC_MCO_1_inner(INDEX,PIN)
+
+#define FIND_VALUE_RCC_MCO_2_inner(INDEX,PIN) I2C##_RCC_MCO_##PIN
+#define FIND_VALUE_RCC_MCO_2(INDEX,PIN) FIND_VALUE_RCC_MCO_2_inner(INDEX,PIN)
+
+#ifdef USE_RCC_MCO0
+#if !FIND_VALUE_RCC_MCO_1(_RCC_MCO0, RCC_MCO0_1)
+#error Invalid pin assignment for RCC_MCO0 1 pin: RCC_MCO0_1
+#endif
+#if !FIND_VALUE_RCC_MCO_2(_RCC_MCO0, RCC_MCO0_2)
+#error Invalid pin assignment for RCC_MCO0 2 pin: RCC_MCO0_2
+#endif
+#endif
+
+#ifdef USE_RCC_MCO1
+#if !FIND_VALUE_RCC_MCO_1(_RCC_MCO1, RCC_MCO1_1)
+#error Invalid pin assignment for RCC_MCO1 1 pin: RCC_MCO1_1
+#endif
+#if !FIND_VALUE_RCC_MCO_2(_RCC_MCO1, RCC_MCO1_2)
+#error Invalid pin assignment for RCC_MCO1 2 pin: RCC_MCO1_2
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_osc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_osc.h
new file mode 100644
index 000000000..5195458c7
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rcc_osc.h
@@ -0,0 +1,398 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404147
+ */
+
+#define FIND_VALUE_RCC_OSC_EN_inner(INDEX,PIN) I2C##_RCC_OSC_##PIN
+#define FIND_VALUE_RCC_OSC_EN(INDEX,PIN) FIND_VALUE_RCC_OSC_EN_inner(INDEX,PIN)
+
+#define FIND_VALUE_RCC_OSC_IN_inner(INDEX,PIN) I2C##_RCC_OSC_##PIN
+#define FIND_VALUE_RCC_OSC_IN(INDEX,PIN) FIND_VALUE_RCC_OSC_IN_inner(INDEX,PIN)
+
+#define FIND_VALUE_RCC_OSC_OUT_inner(INDEX,PIN) I2C##_RCC_OSC_##PIN
+#define FIND_VALUE_RCC_OSC_OUT(INDEX,PIN) FIND_VALUE_RCC_OSC_OUT_inner(INDEX,PIN)
+
+#ifdef USE_RCC_OSC0
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC0, RCC_OSC0_EN)
+#error Invalid pin assignment for RCC_OSC0 EN pin: RCC_OSC0_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC0, RCC_OSC0_IN)
+#error Invalid pin assignment for RCC_OSC0 IN pin: RCC_OSC0_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC0, RCC_OSC0_OUT)
+#error Invalid pin assignment for RCC_OSC0 OUT pin: RCC_OSC0_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC1
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC1, RCC_OSC1_EN)
+#error Invalid pin assignment for RCC_OSC1 EN pin: RCC_OSC1_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC1, RCC_OSC1_IN)
+#error Invalid pin assignment for RCC_OSC1 IN pin: RCC_OSC1_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC1, RCC_OSC1_OUT)
+#error Invalid pin assignment for RCC_OSC1 OUT pin: RCC_OSC1_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC2
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC2, RCC_OSC2_EN)
+#error Invalid pin assignment for RCC_OSC2 EN pin: RCC_OSC2_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC2, RCC_OSC2_IN)
+#error Invalid pin assignment for RCC_OSC2 IN pin: RCC_OSC2_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC2, RCC_OSC2_OUT)
+#error Invalid pin assignment for RCC_OSC2 OUT pin: RCC_OSC2_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC3
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC3, RCC_OSC3_EN)
+#error Invalid pin assignment for RCC_OSC3 EN pin: RCC_OSC3_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC3, RCC_OSC3_IN)
+#error Invalid pin assignment for RCC_OSC3 IN pin: RCC_OSC3_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC3, RCC_OSC3_OUT)
+#error Invalid pin assignment for RCC_OSC3 OUT pin: RCC_OSC3_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC4
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC4, RCC_OSC4_EN)
+#error Invalid pin assignment for RCC_OSC4 EN pin: RCC_OSC4_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC4, RCC_OSC4_IN)
+#error Invalid pin assignment for RCC_OSC4 IN pin: RCC_OSC4_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC4, RCC_OSC4_OUT)
+#error Invalid pin assignment for RCC_OSC4 OUT pin: RCC_OSC4_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC5
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC5, RCC_OSC5_EN)
+#error Invalid pin assignment for RCC_OSC5 EN pin: RCC_OSC5_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC5, RCC_OSC5_IN)
+#error Invalid pin assignment for RCC_OSC5 IN pin: RCC_OSC5_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC5, RCC_OSC5_OUT)
+#error Invalid pin assignment for RCC_OSC5 OUT pin: RCC_OSC5_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC6
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC6, RCC_OSC6_EN)
+#error Invalid pin assignment for RCC_OSC6 EN pin: RCC_OSC6_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC6, RCC_OSC6_IN)
+#error Invalid pin assignment for RCC_OSC6 IN pin: RCC_OSC6_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC6, RCC_OSC6_OUT)
+#error Invalid pin assignment for RCC_OSC6 OUT pin: RCC_OSC6_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC7
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC7, RCC_OSC7_EN)
+#error Invalid pin assignment for RCC_OSC7 EN pin: RCC_OSC7_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC7, RCC_OSC7_IN)
+#error Invalid pin assignment for RCC_OSC7 IN pin: RCC_OSC7_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC7, RCC_OSC7_OUT)
+#error Invalid pin assignment for RCC_OSC7 OUT pin: RCC_OSC7_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC8
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC8, RCC_OSC8_EN)
+#error Invalid pin assignment for RCC_OSC8 EN pin: RCC_OSC8_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC8, RCC_OSC8_IN)
+#error Invalid pin assignment for RCC_OSC8 IN pin: RCC_OSC8_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC8, RCC_OSC8_OUT)
+#error Invalid pin assignment for RCC_OSC8 OUT pin: RCC_OSC8_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC9
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC9, RCC_OSC9_EN)
+#error Invalid pin assignment for RCC_OSC9 EN pin: RCC_OSC9_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC9, RCC_OSC9_IN)
+#error Invalid pin assignment for RCC_OSC9 IN pin: RCC_OSC9_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC9, RCC_OSC9_OUT)
+#error Invalid pin assignment for RCC_OSC9 OUT pin: RCC_OSC9_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC10
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC10, RCC_OSC10_EN)
+#error Invalid pin assignment for RCC_OSC10 EN pin: RCC_OSC10_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC10, RCC_OSC10_IN)
+#error Invalid pin assignment for RCC_OSC10 IN pin: RCC_OSC10_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC10, RCC_OSC10_OUT)
+#error Invalid pin assignment for RCC_OSC10 OUT pin: RCC_OSC10_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC11
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC11, RCC_OSC11_EN)
+#error Invalid pin assignment for RCC_OSC11 EN pin: RCC_OSC11_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC11, RCC_OSC11_IN)
+#error Invalid pin assignment for RCC_OSC11 IN pin: RCC_OSC11_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC11, RCC_OSC11_OUT)
+#error Invalid pin assignment for RCC_OSC11 OUT pin: RCC_OSC11_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC12
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC12, RCC_OSC12_EN)
+#error Invalid pin assignment for RCC_OSC12 EN pin: RCC_OSC12_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC12, RCC_OSC12_IN)
+#error Invalid pin assignment for RCC_OSC12 IN pin: RCC_OSC12_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC12, RCC_OSC12_OUT)
+#error Invalid pin assignment for RCC_OSC12 OUT pin: RCC_OSC12_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC13
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC13, RCC_OSC13_EN)
+#error Invalid pin assignment for RCC_OSC13 EN pin: RCC_OSC13_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC13, RCC_OSC13_IN)
+#error Invalid pin assignment for RCC_OSC13 IN pin: RCC_OSC13_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC13, RCC_OSC13_OUT)
+#error Invalid pin assignment for RCC_OSC13 OUT pin: RCC_OSC13_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC14
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC14, RCC_OSC14_EN)
+#error Invalid pin assignment for RCC_OSC14 EN pin: RCC_OSC14_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC14, RCC_OSC14_IN)
+#error Invalid pin assignment for RCC_OSC14 IN pin: RCC_OSC14_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC14, RCC_OSC14_OUT)
+#error Invalid pin assignment for RCC_OSC14 OUT pin: RCC_OSC14_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC15
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC15, RCC_OSC15_EN)
+#error Invalid pin assignment for RCC_OSC15 EN pin: RCC_OSC15_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC15, RCC_OSC15_IN)
+#error Invalid pin assignment for RCC_OSC15 IN pin: RCC_OSC15_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC15, RCC_OSC15_OUT)
+#error Invalid pin assignment for RCC_OSC15 OUT pin: RCC_OSC15_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC16
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC16, RCC_OSC16_EN)
+#error Invalid pin assignment for RCC_OSC16 EN pin: RCC_OSC16_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC16, RCC_OSC16_IN)
+#error Invalid pin assignment for RCC_OSC16 IN pin: RCC_OSC16_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC16, RCC_OSC16_OUT)
+#error Invalid pin assignment for RCC_OSC16 OUT pin: RCC_OSC16_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC17
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC17, RCC_OSC17_EN)
+#error Invalid pin assignment for RCC_OSC17 EN pin: RCC_OSC17_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC17, RCC_OSC17_IN)
+#error Invalid pin assignment for RCC_OSC17 IN pin: RCC_OSC17_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC17, RCC_OSC17_OUT)
+#error Invalid pin assignment for RCC_OSC17 OUT pin: RCC_OSC17_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC18
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC18, RCC_OSC18_EN)
+#error Invalid pin assignment for RCC_OSC18 EN pin: RCC_OSC18_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC18, RCC_OSC18_IN)
+#error Invalid pin assignment for RCC_OSC18 IN pin: RCC_OSC18_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC18, RCC_OSC18_OUT)
+#error Invalid pin assignment for RCC_OSC18 OUT pin: RCC_OSC18_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC19
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC19, RCC_OSC19_EN)
+#error Invalid pin assignment for RCC_OSC19 EN pin: RCC_OSC19_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC19, RCC_OSC19_IN)
+#error Invalid pin assignment for RCC_OSC19 IN pin: RCC_OSC19_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC19, RCC_OSC19_OUT)
+#error Invalid pin assignment for RCC_OSC19 OUT pin: RCC_OSC19_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC20
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC20, RCC_OSC20_EN)
+#error Invalid pin assignment for RCC_OSC20 EN pin: RCC_OSC20_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC20, RCC_OSC20_IN)
+#error Invalid pin assignment for RCC_OSC20 IN pin: RCC_OSC20_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC20, RCC_OSC20_OUT)
+#error Invalid pin assignment for RCC_OSC20 OUT pin: RCC_OSC20_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC21
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC21, RCC_OSC21_EN)
+#error Invalid pin assignment for RCC_OSC21 EN pin: RCC_OSC21_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC21, RCC_OSC21_IN)
+#error Invalid pin assignment for RCC_OSC21 IN pin: RCC_OSC21_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC21, RCC_OSC21_OUT)
+#error Invalid pin assignment for RCC_OSC21 OUT pin: RCC_OSC21_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC22
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC22, RCC_OSC22_EN)
+#error Invalid pin assignment for RCC_OSC22 EN pin: RCC_OSC22_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC22, RCC_OSC22_IN)
+#error Invalid pin assignment for RCC_OSC22 IN pin: RCC_OSC22_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC22, RCC_OSC22_OUT)
+#error Invalid pin assignment for RCC_OSC22 OUT pin: RCC_OSC22_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC23
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC23, RCC_OSC23_EN)
+#error Invalid pin assignment for RCC_OSC23 EN pin: RCC_OSC23_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC23, RCC_OSC23_IN)
+#error Invalid pin assignment for RCC_OSC23 IN pin: RCC_OSC23_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC23, RCC_OSC23_OUT)
+#error Invalid pin assignment for RCC_OSC23 OUT pin: RCC_OSC23_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC24
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC24, RCC_OSC24_EN)
+#error Invalid pin assignment for RCC_OSC24 EN pin: RCC_OSC24_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC24, RCC_OSC24_IN)
+#error Invalid pin assignment for RCC_OSC24 IN pin: RCC_OSC24_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC24, RCC_OSC24_OUT)
+#error Invalid pin assignment for RCC_OSC24 OUT pin: RCC_OSC24_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC25
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC25, RCC_OSC25_EN)
+#error Invalid pin assignment for RCC_OSC25 EN pin: RCC_OSC25_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC25, RCC_OSC25_IN)
+#error Invalid pin assignment for RCC_OSC25 IN pin: RCC_OSC25_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC25, RCC_OSC25_OUT)
+#error Invalid pin assignment for RCC_OSC25 OUT pin: RCC_OSC25_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC26
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC26, RCC_OSC26_EN)
+#error Invalid pin assignment for RCC_OSC26 EN pin: RCC_OSC26_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC26, RCC_OSC26_IN)
+#error Invalid pin assignment for RCC_OSC26 IN pin: RCC_OSC26_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC26, RCC_OSC26_OUT)
+#error Invalid pin assignment for RCC_OSC26 OUT pin: RCC_OSC26_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC27
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC27, RCC_OSC27_EN)
+#error Invalid pin assignment for RCC_OSC27 EN pin: RCC_OSC27_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC27, RCC_OSC27_IN)
+#error Invalid pin assignment for RCC_OSC27 IN pin: RCC_OSC27_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC27, RCC_OSC27_OUT)
+#error Invalid pin assignment for RCC_OSC27 OUT pin: RCC_OSC27_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC28
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC28, RCC_OSC28_EN)
+#error Invalid pin assignment for RCC_OSC28 EN pin: RCC_OSC28_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC28, RCC_OSC28_IN)
+#error Invalid pin assignment for RCC_OSC28 IN pin: RCC_OSC28_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC28, RCC_OSC28_OUT)
+#error Invalid pin assignment for RCC_OSC28 OUT pin: RCC_OSC28_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC29
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC29, RCC_OSC29_EN)
+#error Invalid pin assignment for RCC_OSC29 EN pin: RCC_OSC29_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC29, RCC_OSC29_IN)
+#error Invalid pin assignment for RCC_OSC29 IN pin: RCC_OSC29_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC29, RCC_OSC29_OUT)
+#error Invalid pin assignment for RCC_OSC29 OUT pin: RCC_OSC29_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC30
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC30, RCC_OSC30_EN)
+#error Invalid pin assignment for RCC_OSC30 EN pin: RCC_OSC30_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC30, RCC_OSC30_IN)
+#error Invalid pin assignment for RCC_OSC30 IN pin: RCC_OSC30_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC30, RCC_OSC30_OUT)
+#error Invalid pin assignment for RCC_OSC30 OUT pin: RCC_OSC30_OUT
+#endif
+#endif
+
+#ifdef USE_RCC_OSC31
+#if !FIND_VALUE_RCC_OSC_EN(_RCC_OSC31, RCC_OSC31_EN)
+#error Invalid pin assignment for RCC_OSC31 EN pin: RCC_OSC31_EN
+#endif
+#if !FIND_VALUE_RCC_OSC_IN(_RCC_OSC31, RCC_OSC31_IN)
+#error Invalid pin assignment for RCC_OSC31 IN pin: RCC_OSC31_IN
+#endif
+#if !FIND_VALUE_RCC_OSC_OUT(_RCC_OSC31, RCC_OSC31_OUT)
+#error Invalid pin assignment for RCC_OSC31 OUT pin: RCC_OSC31_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf.h
new file mode 100644
index 000000000..0a10f9774
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf.h
@@ -0,0 +1,56 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404218
+ */
+
+#define FIND_VALUE_RF_DTB0_inner(INDEX,PIN) I2C##_RF_##PIN
+#define FIND_VALUE_RF_DTB0(INDEX,PIN) FIND_VALUE_RF_DTB0_inner(INDEX,PIN)
+
+#define FIND_VALUE_RF_DTB1_inner(INDEX,PIN) I2C##_RF_##PIN
+#define FIND_VALUE_RF_DTB1(INDEX,PIN) FIND_VALUE_RF_DTB1_inner(INDEX,PIN)
+
+#define FIND_VALUE_RF_IRQ0_inner(INDEX,PIN) I2C##_RF_##PIN
+#define FIND_VALUE_RF_IRQ0(INDEX,PIN) FIND_VALUE_RF_IRQ0_inner(INDEX,PIN)
+
+#define FIND_VALUE_RF_IRQ1_inner(INDEX,PIN) I2C##_RF_##PIN
+#define FIND_VALUE_RF_IRQ1(INDEX,PIN) FIND_VALUE_RF_IRQ1_inner(INDEX,PIN)
+
+#define FIND_VALUE_RF_IRQ2_inner(INDEX,PIN) I2C##_RF_##PIN
+#define FIND_VALUE_RF_IRQ2(INDEX,PIN) FIND_VALUE_RF_IRQ2_inner(INDEX,PIN)
+
+#ifdef USE_RF0
+#if !FIND_VALUE_RF_DTB0(_RF0, RF0_DTB0)
+#error Invalid pin assignment for RF0 DTB0 pin: RF0_DTB0
+#endif
+#if !FIND_VALUE_RF_DTB1(_RF0, RF0_DTB1)
+#error Invalid pin assignment for RF0 DTB1 pin: RF0_DTB1
+#endif
+#if !FIND_VALUE_RF_IRQ0(_RF0, RF0_IRQ0)
+#error Invalid pin assignment for RF0 IRQ0 pin: RF0_IRQ0
+#endif
+#if !FIND_VALUE_RF_IRQ1(_RF0, RF0_IRQ1)
+#error Invalid pin assignment for RF0 IRQ1 pin: RF0_IRQ1
+#endif
+#if !FIND_VALUE_RF_IRQ2(_RF0, RF0_IRQ2)
+#error Invalid pin assignment for RF0 IRQ2 pin: RF0_IRQ2
+#endif
+#endif
+
+#ifdef USE_RF1
+#if !FIND_VALUE_RF_DTB0(_RF1, RF1_DTB0)
+#error Invalid pin assignment for RF1 DTB0 pin: RF1_DTB0
+#endif
+#if !FIND_VALUE_RF_DTB1(_RF1, RF1_DTB1)
+#error Invalid pin assignment for RF1 DTB1 pin: RF1_DTB1
+#endif
+#if !FIND_VALUE_RF_IRQ0(_RF1, RF1_IRQ0)
+#error Invalid pin assignment for RF1 IRQ0 pin: RF1_IRQ0
+#endif
+#if !FIND_VALUE_RF_IRQ1(_RF1, RF1_IRQ1)
+#error Invalid pin assignment for RF1 IRQ1 pin: RF1_IRQ1
+#endif
+#if !FIND_VALUE_RF_IRQ2(_RF1, RF1_IRQ2)
+#error Invalid pin assignment for RF1 IRQ2 pin: RF1_IRQ2
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf_tx_mod_ext.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf_tx_mod_ext.h
new file mode 100644
index 000000000..3aec687a6
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rf_tx_mod_ext.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404237
+ */
+
+#define FIND_VALUE_RF_TX_MOD_EXT_PA_inner(INDEX,PIN) I2C##_RF_TX_MOD_EXT_##PIN
+#define FIND_VALUE_RF_TX_MOD_EXT_PA(INDEX,PIN) FIND_VALUE_RF_TX_MOD_EXT_PA_inner(INDEX,PIN)
+
+#ifdef USE_RF_TX_MOD_EXT0
+#if !FIND_VALUE_RF_TX_MOD_EXT_PA(_RF_TX_MOD_EXT0, RF_TX_MOD_EXT0_PA)
+#error Invalid pin assignment for RF_TX_MOD_EXT0 PA pin: RF_TX_MOD_EXT0_PA
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc.h
new file mode 100644
index 000000000..b7474c741
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc.h
@@ -0,0 +1,122 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404249
+ */
+
+#define FIND_VALUE_RTC_AF1_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_AF1(INDEX,PIN) FIND_VALUE_RTC_AF1_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_AF2_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_AF2(INDEX,PIN) FIND_VALUE_RTC_AF2_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_OUT_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_OUT(INDEX,PIN) FIND_VALUE_RTC_OUT_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_OUT2_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_OUT2(INDEX,PIN) FIND_VALUE_RTC_OUT2_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_REFIN_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_REFIN(INDEX,PIN) FIND_VALUE_RTC_REFIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_TAMP1_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_TAMP1(INDEX,PIN) FIND_VALUE_RTC_TAMP1_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_TAMP2_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_TAMP2(INDEX,PIN) FIND_VALUE_RTC_TAMP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_TAMP3_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_TAMP3(INDEX,PIN) FIND_VALUE_RTC_TAMP3_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_TS_inner(INDEX,PIN) I2C##_RTC_##PIN
+#define FIND_VALUE_RTC_TS(INDEX,PIN) FIND_VALUE_RTC_TS_inner(INDEX,PIN)
+
+#ifdef USE_RTC0
+#if !FIND_VALUE_RTC_AF1(_RTC0, RTC0_AF1)
+#error Invalid pin assignment for RTC0 AF1 pin: RTC0_AF1
+#endif
+#if !FIND_VALUE_RTC_AF2(_RTC0, RTC0_AF2)
+#error Invalid pin assignment for RTC0 AF2 pin: RTC0_AF2
+#endif
+#if !FIND_VALUE_RTC_OUT(_RTC0, RTC0_OUT)
+#error Invalid pin assignment for RTC0 OUT pin: RTC0_OUT
+#endif
+#if !FIND_VALUE_RTC_OUT2(_RTC0, RTC0_OUT2)
+#error Invalid pin assignment for RTC0 OUT2 pin: RTC0_OUT2
+#endif
+#if !FIND_VALUE_RTC_REFIN(_RTC0, RTC0_REFIN)
+#error Invalid pin assignment for RTC0 REFIN pin: RTC0_REFIN
+#endif
+#if !FIND_VALUE_RTC_TAMP1(_RTC0, RTC0_TAMP1)
+#error Invalid pin assignment for RTC0 TAMP1 pin: RTC0_TAMP1
+#endif
+#if !FIND_VALUE_RTC_TAMP2(_RTC0, RTC0_TAMP2)
+#error Invalid pin assignment for RTC0 TAMP2 pin: RTC0_TAMP2
+#endif
+#if !FIND_VALUE_RTC_TAMP3(_RTC0, RTC0_TAMP3)
+#error Invalid pin assignment for RTC0 TAMP3 pin: RTC0_TAMP3
+#endif
+#if !FIND_VALUE_RTC_TS(_RTC0, RTC0_TS)
+#error Invalid pin assignment for RTC0 TS pin: RTC0_TS
+#endif
+#endif
+
+#ifdef USE_RTC1
+#if !FIND_VALUE_RTC_AF1(_RTC1, RTC1_AF1)
+#error Invalid pin assignment for RTC1 AF1 pin: RTC1_AF1
+#endif
+#if !FIND_VALUE_RTC_AF2(_RTC1, RTC1_AF2)
+#error Invalid pin assignment for RTC1 AF2 pin: RTC1_AF2
+#endif
+#if !FIND_VALUE_RTC_OUT(_RTC1, RTC1_OUT)
+#error Invalid pin assignment for RTC1 OUT pin: RTC1_OUT
+#endif
+#if !FIND_VALUE_RTC_OUT2(_RTC1, RTC1_OUT2)
+#error Invalid pin assignment for RTC1 OUT2 pin: RTC1_OUT2
+#endif
+#if !FIND_VALUE_RTC_REFIN(_RTC1, RTC1_REFIN)
+#error Invalid pin assignment for RTC1 REFIN pin: RTC1_REFIN
+#endif
+#if !FIND_VALUE_RTC_TAMP1(_RTC1, RTC1_TAMP1)
+#error Invalid pin assignment for RTC1 TAMP1 pin: RTC1_TAMP1
+#endif
+#if !FIND_VALUE_RTC_TAMP2(_RTC1, RTC1_TAMP2)
+#error Invalid pin assignment for RTC1 TAMP2 pin: RTC1_TAMP2
+#endif
+#if !FIND_VALUE_RTC_TAMP3(_RTC1, RTC1_TAMP3)
+#error Invalid pin assignment for RTC1 TAMP3 pin: RTC1_TAMP3
+#endif
+#if !FIND_VALUE_RTC_TS(_RTC1, RTC1_TS)
+#error Invalid pin assignment for RTC1 TS pin: RTC1_TS
+#endif
+#endif
+
+#ifdef USE_RTC2
+#if !FIND_VALUE_RTC_AF1(_RTC2, RTC2_AF1)
+#error Invalid pin assignment for RTC2 AF1 pin: RTC2_AF1
+#endif
+#if !FIND_VALUE_RTC_AF2(_RTC2, RTC2_AF2)
+#error Invalid pin assignment for RTC2 AF2 pin: RTC2_AF2
+#endif
+#if !FIND_VALUE_RTC_OUT(_RTC2, RTC2_OUT)
+#error Invalid pin assignment for RTC2 OUT pin: RTC2_OUT
+#endif
+#if !FIND_VALUE_RTC_OUT2(_RTC2, RTC2_OUT2)
+#error Invalid pin assignment for RTC2 OUT2 pin: RTC2_OUT2
+#endif
+#if !FIND_VALUE_RTC_REFIN(_RTC2, RTC2_REFIN)
+#error Invalid pin assignment for RTC2 REFIN pin: RTC2_REFIN
+#endif
+#if !FIND_VALUE_RTC_TAMP1(_RTC2, RTC2_TAMP1)
+#error Invalid pin assignment for RTC2 TAMP1 pin: RTC2_TAMP1
+#endif
+#if !FIND_VALUE_RTC_TAMP2(_RTC2, RTC2_TAMP2)
+#error Invalid pin assignment for RTC2 TAMP2 pin: RTC2_TAMP2
+#endif
+#if !FIND_VALUE_RTC_TAMP3(_RTC2, RTC2_TAMP3)
+#error Invalid pin assignment for RTC2 TAMP3 pin: RTC2_TAMP3
+#endif
+#if !FIND_VALUE_RTC_TS(_RTC2, RTC2_TS)
+#error Invalid pin assignment for RTC2 TS pin: RTC2_TS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc_out.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc_out.h
new file mode 100644
index 000000000..0f359aab7
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_rtc_out.h
@@ -0,0 +1,20 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404279
+ */
+
+#define FIND_VALUE_RTC_OUT_ALARM_inner(INDEX,PIN) I2C##_RTC_OUT_##PIN
+#define FIND_VALUE_RTC_OUT_ALARM(INDEX,PIN) FIND_VALUE_RTC_OUT_ALARM_inner(INDEX,PIN)
+
+#define FIND_VALUE_RTC_OUT_CALIB_inner(INDEX,PIN) I2C##_RTC_OUT_##PIN
+#define FIND_VALUE_RTC_OUT_CALIB(INDEX,PIN) FIND_VALUE_RTC_OUT_CALIB_inner(INDEX,PIN)
+
+#ifdef USE_RTC_OUT0
+#if !FIND_VALUE_RTC_OUT_ALARM(_RTC_OUT0, RTC_OUT0_ALARM)
+#error Invalid pin assignment for RTC_OUT0 ALARM pin: RTC_OUT0_ALARM
+#endif
+#if !FIND_VALUE_RTC_OUT_CALIB(_RTC_OUT0, RTC_OUT0_CALIB)
+#error Invalid pin assignment for RTC_OUT0 CALIB pin: RTC_OUT0_CALIB
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sai.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sai.h
new file mode 100644
index 000000000..704775b41
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sai.h
@@ -0,0 +1,272 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404294
+ */
+
+#define FIND_VALUE_SAI_CK1_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_CK1(INDEX,PIN) FIND_VALUE_SAI_CK1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_CK2_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_CK2(INDEX,PIN) FIND_VALUE_SAI_CK2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_D1_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_D1(INDEX,PIN) FIND_VALUE_SAI_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_D2_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_D2(INDEX,PIN) FIND_VALUE_SAI_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_D3_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_D3(INDEX,PIN) FIND_VALUE_SAI_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_D4_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_D4(INDEX,PIN) FIND_VALUE_SAI_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_DI1_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_DI1(INDEX,PIN) FIND_VALUE_SAI_DI1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_DI2_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_DI2(INDEX,PIN) FIND_VALUE_SAI_DI2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_EXTCLK_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_EXTCLK(INDEX,PIN) FIND_VALUE_SAI_EXTCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_FS_A_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_FS_A(INDEX,PIN) FIND_VALUE_SAI_FS_A_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_FS_B_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_FS_B(INDEX,PIN) FIND_VALUE_SAI_FS_B_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_MCLK_A_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_MCLK_A(INDEX,PIN) FIND_VALUE_SAI_MCLK_A_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_MCLK_B_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_MCLK_B(INDEX,PIN) FIND_VALUE_SAI_MCLK_B_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_SCK_A_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_SCK_A(INDEX,PIN) FIND_VALUE_SAI_SCK_A_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_SCK_B_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_SCK_B(INDEX,PIN) FIND_VALUE_SAI_SCK_B_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_SD_A_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_SD_A(INDEX,PIN) FIND_VALUE_SAI_SD_A_inner(INDEX,PIN)
+
+#define FIND_VALUE_SAI_SD_B_inner(INDEX,PIN) I2C##_SAI_##PIN
+#define FIND_VALUE_SAI_SD_B(INDEX,PIN) FIND_VALUE_SAI_SD_B_inner(INDEX,PIN)
+
+#ifdef USE_SAI0
+#if !FIND_VALUE_SAI_CK1(_SAI0, SAI0_CK1)
+#error Invalid pin assignment for SAI0 CK1 pin: SAI0_CK1
+#endif
+#if !FIND_VALUE_SAI_CK2(_SAI0, SAI0_CK2)
+#error Invalid pin assignment for SAI0 CK2 pin: SAI0_CK2
+#endif
+#if !FIND_VALUE_SAI_D1(_SAI0, SAI0_D1)
+#error Invalid pin assignment for SAI0 D1 pin: SAI0_D1
+#endif
+#if !FIND_VALUE_SAI_D2(_SAI0, SAI0_D2)
+#error Invalid pin assignment for SAI0 D2 pin: SAI0_D2
+#endif
+#if !FIND_VALUE_SAI_D3(_SAI0, SAI0_D3)
+#error Invalid pin assignment for SAI0 D3 pin: SAI0_D3
+#endif
+#if !FIND_VALUE_SAI_D4(_SAI0, SAI0_D4)
+#error Invalid pin assignment for SAI0 D4 pin: SAI0_D4
+#endif
+#if !FIND_VALUE_SAI_DI1(_SAI0, SAI0_DI1)
+#error Invalid pin assignment for SAI0 DI1 pin: SAI0_DI1
+#endif
+#if !FIND_VALUE_SAI_DI2(_SAI0, SAI0_DI2)
+#error Invalid pin assignment for SAI0 DI2 pin: SAI0_DI2
+#endif
+#if !FIND_VALUE_SAI_EXTCLK(_SAI0, SAI0_EXTCLK)
+#error Invalid pin assignment for SAI0 EXTCLK pin: SAI0_EXTCLK
+#endif
+#if !FIND_VALUE_SAI_FS_A(_SAI0, SAI0_FS_A)
+#error Invalid pin assignment for SAI0 FS_A pin: SAI0_FS_A
+#endif
+#if !FIND_VALUE_SAI_FS_B(_SAI0, SAI0_FS_B)
+#error Invalid pin assignment for SAI0 FS_B pin: SAI0_FS_B
+#endif
+#if !FIND_VALUE_SAI_MCLK_A(_SAI0, SAI0_MCLK_A)
+#error Invalid pin assignment for SAI0 MCLK_A pin: SAI0_MCLK_A
+#endif
+#if !FIND_VALUE_SAI_MCLK_B(_SAI0, SAI0_MCLK_B)
+#error Invalid pin assignment for SAI0 MCLK_B pin: SAI0_MCLK_B
+#endif
+#if !FIND_VALUE_SAI_SCK_A(_SAI0, SAI0_SCK_A)
+#error Invalid pin assignment for SAI0 SCK_A pin: SAI0_SCK_A
+#endif
+#if !FIND_VALUE_SAI_SCK_B(_SAI0, SAI0_SCK_B)
+#error Invalid pin assignment for SAI0 SCK_B pin: SAI0_SCK_B
+#endif
+#if !FIND_VALUE_SAI_SD_A(_SAI0, SAI0_SD_A)
+#error Invalid pin assignment for SAI0 SD_A pin: SAI0_SD_A
+#endif
+#if !FIND_VALUE_SAI_SD_B(_SAI0, SAI0_SD_B)
+#error Invalid pin assignment for SAI0 SD_B pin: SAI0_SD_B
+#endif
+#endif
+
+#ifdef USE_SAI1
+#if !FIND_VALUE_SAI_CK1(_SAI1, SAI1_CK1)
+#error Invalid pin assignment for SAI1 CK1 pin: SAI1_CK1
+#endif
+#if !FIND_VALUE_SAI_CK2(_SAI1, SAI1_CK2)
+#error Invalid pin assignment for SAI1 CK2 pin: SAI1_CK2
+#endif
+#if !FIND_VALUE_SAI_D1(_SAI1, SAI1_D1)
+#error Invalid pin assignment for SAI1 D1 pin: SAI1_D1
+#endif
+#if !FIND_VALUE_SAI_D2(_SAI1, SAI1_D2)
+#error Invalid pin assignment for SAI1 D2 pin: SAI1_D2
+#endif
+#if !FIND_VALUE_SAI_D3(_SAI1, SAI1_D3)
+#error Invalid pin assignment for SAI1 D3 pin: SAI1_D3
+#endif
+#if !FIND_VALUE_SAI_D4(_SAI1, SAI1_D4)
+#error Invalid pin assignment for SAI1 D4 pin: SAI1_D4
+#endif
+#if !FIND_VALUE_SAI_DI1(_SAI1, SAI1_DI1)
+#error Invalid pin assignment for SAI1 DI1 pin: SAI1_DI1
+#endif
+#if !FIND_VALUE_SAI_DI2(_SAI1, SAI1_DI2)
+#error Invalid pin assignment for SAI1 DI2 pin: SAI1_DI2
+#endif
+#if !FIND_VALUE_SAI_EXTCLK(_SAI1, SAI1_EXTCLK)
+#error Invalid pin assignment for SAI1 EXTCLK pin: SAI1_EXTCLK
+#endif
+#if !FIND_VALUE_SAI_FS_A(_SAI1, SAI1_FS_A)
+#error Invalid pin assignment for SAI1 FS_A pin: SAI1_FS_A
+#endif
+#if !FIND_VALUE_SAI_FS_B(_SAI1, SAI1_FS_B)
+#error Invalid pin assignment for SAI1 FS_B pin: SAI1_FS_B
+#endif
+#if !FIND_VALUE_SAI_MCLK_A(_SAI1, SAI1_MCLK_A)
+#error Invalid pin assignment for SAI1 MCLK_A pin: SAI1_MCLK_A
+#endif
+#if !FIND_VALUE_SAI_MCLK_B(_SAI1, SAI1_MCLK_B)
+#error Invalid pin assignment for SAI1 MCLK_B pin: SAI1_MCLK_B
+#endif
+#if !FIND_VALUE_SAI_SCK_A(_SAI1, SAI1_SCK_A)
+#error Invalid pin assignment for SAI1 SCK_A pin: SAI1_SCK_A
+#endif
+#if !FIND_VALUE_SAI_SCK_B(_SAI1, SAI1_SCK_B)
+#error Invalid pin assignment for SAI1 SCK_B pin: SAI1_SCK_B
+#endif
+#if !FIND_VALUE_SAI_SD_A(_SAI1, SAI1_SD_A)
+#error Invalid pin assignment for SAI1 SD_A pin: SAI1_SD_A
+#endif
+#if !FIND_VALUE_SAI_SD_B(_SAI1, SAI1_SD_B)
+#error Invalid pin assignment for SAI1 SD_B pin: SAI1_SD_B
+#endif
+#endif
+
+#ifdef USE_SAI2
+#if !FIND_VALUE_SAI_CK1(_SAI2, SAI2_CK1)
+#error Invalid pin assignment for SAI2 CK1 pin: SAI2_CK1
+#endif
+#if !FIND_VALUE_SAI_CK2(_SAI2, SAI2_CK2)
+#error Invalid pin assignment for SAI2 CK2 pin: SAI2_CK2
+#endif
+#if !FIND_VALUE_SAI_D1(_SAI2, SAI2_D1)
+#error Invalid pin assignment for SAI2 D1 pin: SAI2_D1
+#endif
+#if !FIND_VALUE_SAI_D2(_SAI2, SAI2_D2)
+#error Invalid pin assignment for SAI2 D2 pin: SAI2_D2
+#endif
+#if !FIND_VALUE_SAI_D3(_SAI2, SAI2_D3)
+#error Invalid pin assignment for SAI2 D3 pin: SAI2_D3
+#endif
+#if !FIND_VALUE_SAI_D4(_SAI2, SAI2_D4)
+#error Invalid pin assignment for SAI2 D4 pin: SAI2_D4
+#endif
+#if !FIND_VALUE_SAI_DI1(_SAI2, SAI2_DI1)
+#error Invalid pin assignment for SAI2 DI1 pin: SAI2_DI1
+#endif
+#if !FIND_VALUE_SAI_DI2(_SAI2, SAI2_DI2)
+#error Invalid pin assignment for SAI2 DI2 pin: SAI2_DI2
+#endif
+#if !FIND_VALUE_SAI_EXTCLK(_SAI2, SAI2_EXTCLK)
+#error Invalid pin assignment for SAI2 EXTCLK pin: SAI2_EXTCLK
+#endif
+#if !FIND_VALUE_SAI_FS_A(_SAI2, SAI2_FS_A)
+#error Invalid pin assignment for SAI2 FS_A pin: SAI2_FS_A
+#endif
+#if !FIND_VALUE_SAI_FS_B(_SAI2, SAI2_FS_B)
+#error Invalid pin assignment for SAI2 FS_B pin: SAI2_FS_B
+#endif
+#if !FIND_VALUE_SAI_MCLK_A(_SAI2, SAI2_MCLK_A)
+#error Invalid pin assignment for SAI2 MCLK_A pin: SAI2_MCLK_A
+#endif
+#if !FIND_VALUE_SAI_MCLK_B(_SAI2, SAI2_MCLK_B)
+#error Invalid pin assignment for SAI2 MCLK_B pin: SAI2_MCLK_B
+#endif
+#if !FIND_VALUE_SAI_SCK_A(_SAI2, SAI2_SCK_A)
+#error Invalid pin assignment for SAI2 SCK_A pin: SAI2_SCK_A
+#endif
+#if !FIND_VALUE_SAI_SCK_B(_SAI2, SAI2_SCK_B)
+#error Invalid pin assignment for SAI2 SCK_B pin: SAI2_SCK_B
+#endif
+#if !FIND_VALUE_SAI_SD_A(_SAI2, SAI2_SD_A)
+#error Invalid pin assignment for SAI2 SD_A pin: SAI2_SD_A
+#endif
+#if !FIND_VALUE_SAI_SD_B(_SAI2, SAI2_SD_B)
+#error Invalid pin assignment for SAI2 SD_B pin: SAI2_SD_B
+#endif
+#endif
+
+#ifdef USE_SAI3
+#if !FIND_VALUE_SAI_CK1(_SAI3, SAI3_CK1)
+#error Invalid pin assignment for SAI3 CK1 pin: SAI3_CK1
+#endif
+#if !FIND_VALUE_SAI_CK2(_SAI3, SAI3_CK2)
+#error Invalid pin assignment for SAI3 CK2 pin: SAI3_CK2
+#endif
+#if !FIND_VALUE_SAI_D1(_SAI3, SAI3_D1)
+#error Invalid pin assignment for SAI3 D1 pin: SAI3_D1
+#endif
+#if !FIND_VALUE_SAI_D2(_SAI3, SAI3_D2)
+#error Invalid pin assignment for SAI3 D2 pin: SAI3_D2
+#endif
+#if !FIND_VALUE_SAI_D3(_SAI3, SAI3_D3)
+#error Invalid pin assignment for SAI3 D3 pin: SAI3_D3
+#endif
+#if !FIND_VALUE_SAI_D4(_SAI3, SAI3_D4)
+#error Invalid pin assignment for SAI3 D4 pin: SAI3_D4
+#endif
+#if !FIND_VALUE_SAI_DI1(_SAI3, SAI3_DI1)
+#error Invalid pin assignment for SAI3 DI1 pin: SAI3_DI1
+#endif
+#if !FIND_VALUE_SAI_DI2(_SAI3, SAI3_DI2)
+#error Invalid pin assignment for SAI3 DI2 pin: SAI3_DI2
+#endif
+#if !FIND_VALUE_SAI_EXTCLK(_SAI3, SAI3_EXTCLK)
+#error Invalid pin assignment for SAI3 EXTCLK pin: SAI3_EXTCLK
+#endif
+#if !FIND_VALUE_SAI_FS_A(_SAI3, SAI3_FS_A)
+#error Invalid pin assignment for SAI3 FS_A pin: SAI3_FS_A
+#endif
+#if !FIND_VALUE_SAI_FS_B(_SAI3, SAI3_FS_B)
+#error Invalid pin assignment for SAI3 FS_B pin: SAI3_FS_B
+#endif
+#if !FIND_VALUE_SAI_MCLK_A(_SAI3, SAI3_MCLK_A)
+#error Invalid pin assignment for SAI3 MCLK_A pin: SAI3_MCLK_A
+#endif
+#if !FIND_VALUE_SAI_MCLK_B(_SAI3, SAI3_MCLK_B)
+#error Invalid pin assignment for SAI3 MCLK_B pin: SAI3_MCLK_B
+#endif
+#if !FIND_VALUE_SAI_SCK_A(_SAI3, SAI3_SCK_A)
+#error Invalid pin assignment for SAI3 SCK_A pin: SAI3_SCK_A
+#endif
+#if !FIND_VALUE_SAI_SCK_B(_SAI3, SAI3_SCK_B)
+#error Invalid pin assignment for SAI3 SCK_B pin: SAI3_SCK_B
+#endif
+#if !FIND_VALUE_SAI_SD_A(_SAI3, SAI3_SD_A)
+#error Invalid pin assignment for SAI3 SD_A pin: SAI3_SD_A
+#endif
+#if !FIND_VALUE_SAI_SD_B(_SAI3, SAI3_SD_B)
+#error Invalid pin assignment for SAI3 SD_B pin: SAI3_SD_B
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdio.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdio.h
new file mode 100644
index 000000000..d7ce6c56f
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdio.h
@@ -0,0 +1,266 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404346
+ */
+
+#define FIND_VALUE_SDIO_CK_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_CK(INDEX,PIN) FIND_VALUE_SDIO_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_CMD_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_CMD(INDEX,PIN) FIND_VALUE_SDIO_CMD_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D0_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D0(INDEX,PIN) FIND_VALUE_SDIO_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D1_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D1(INDEX,PIN) FIND_VALUE_SDIO_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D2_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D2(INDEX,PIN) FIND_VALUE_SDIO_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D3_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D3(INDEX,PIN) FIND_VALUE_SDIO_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D4_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D4(INDEX,PIN) FIND_VALUE_SDIO_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D5_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D5(INDEX,PIN) FIND_VALUE_SDIO_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D6_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D6(INDEX,PIN) FIND_VALUE_SDIO_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDIO_D7_inner(INDEX,PIN) I2C##_SDIO_##PIN
+#define FIND_VALUE_SDIO_D7(INDEX,PIN) FIND_VALUE_SDIO_D7_inner(INDEX,PIN)
+
+#ifdef USE_SDIO0
+#if !FIND_VALUE_SDIO_CK(_SDIO0, SDIO0_CK)
+#error Invalid pin assignment for SDIO0 CK pin: SDIO0_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO0, SDIO0_CMD)
+#error Invalid pin assignment for SDIO0 CMD pin: SDIO0_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO0, SDIO0_D0)
+#error Invalid pin assignment for SDIO0 D0 pin: SDIO0_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO0, SDIO0_D1)
+#error Invalid pin assignment for SDIO0 D1 pin: SDIO0_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO0, SDIO0_D2)
+#error Invalid pin assignment for SDIO0 D2 pin: SDIO0_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO0, SDIO0_D3)
+#error Invalid pin assignment for SDIO0 D3 pin: SDIO0_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO0, SDIO0_D4)
+#error Invalid pin assignment for SDIO0 D4 pin: SDIO0_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO0, SDIO0_D5)
+#error Invalid pin assignment for SDIO0 D5 pin: SDIO0_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO0, SDIO0_D6)
+#error Invalid pin assignment for SDIO0 D6 pin: SDIO0_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO0, SDIO0_D7)
+#error Invalid pin assignment for SDIO0 D7 pin: SDIO0_D7
+#endif
+#endif
+
+#ifdef USE_SDIO1
+#if !FIND_VALUE_SDIO_CK(_SDIO1, SDIO1_CK)
+#error Invalid pin assignment for SDIO1 CK pin: SDIO1_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO1, SDIO1_CMD)
+#error Invalid pin assignment for SDIO1 CMD pin: SDIO1_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO1, SDIO1_D0)
+#error Invalid pin assignment for SDIO1 D0 pin: SDIO1_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO1, SDIO1_D1)
+#error Invalid pin assignment for SDIO1 D1 pin: SDIO1_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO1, SDIO1_D2)
+#error Invalid pin assignment for SDIO1 D2 pin: SDIO1_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO1, SDIO1_D3)
+#error Invalid pin assignment for SDIO1 D3 pin: SDIO1_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO1, SDIO1_D4)
+#error Invalid pin assignment for SDIO1 D4 pin: SDIO1_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO1, SDIO1_D5)
+#error Invalid pin assignment for SDIO1 D5 pin: SDIO1_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO1, SDIO1_D6)
+#error Invalid pin assignment for SDIO1 D6 pin: SDIO1_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO1, SDIO1_D7)
+#error Invalid pin assignment for SDIO1 D7 pin: SDIO1_D7
+#endif
+#endif
+
+#ifdef USE_SDIO2
+#if !FIND_VALUE_SDIO_CK(_SDIO2, SDIO2_CK)
+#error Invalid pin assignment for SDIO2 CK pin: SDIO2_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO2, SDIO2_CMD)
+#error Invalid pin assignment for SDIO2 CMD pin: SDIO2_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO2, SDIO2_D0)
+#error Invalid pin assignment for SDIO2 D0 pin: SDIO2_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO2, SDIO2_D1)
+#error Invalid pin assignment for SDIO2 D1 pin: SDIO2_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO2, SDIO2_D2)
+#error Invalid pin assignment for SDIO2 D2 pin: SDIO2_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO2, SDIO2_D3)
+#error Invalid pin assignment for SDIO2 D3 pin: SDIO2_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO2, SDIO2_D4)
+#error Invalid pin assignment for SDIO2 D4 pin: SDIO2_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO2, SDIO2_D5)
+#error Invalid pin assignment for SDIO2 D5 pin: SDIO2_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO2, SDIO2_D6)
+#error Invalid pin assignment for SDIO2 D6 pin: SDIO2_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO2, SDIO2_D7)
+#error Invalid pin assignment for SDIO2 D7 pin: SDIO2_D7
+#endif
+#endif
+
+#ifdef USE_SDIO3
+#if !FIND_VALUE_SDIO_CK(_SDIO3, SDIO3_CK)
+#error Invalid pin assignment for SDIO3 CK pin: SDIO3_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO3, SDIO3_CMD)
+#error Invalid pin assignment for SDIO3 CMD pin: SDIO3_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO3, SDIO3_D0)
+#error Invalid pin assignment for SDIO3 D0 pin: SDIO3_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO3, SDIO3_D1)
+#error Invalid pin assignment for SDIO3 D1 pin: SDIO3_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO3, SDIO3_D2)
+#error Invalid pin assignment for SDIO3 D2 pin: SDIO3_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO3, SDIO3_D3)
+#error Invalid pin assignment for SDIO3 D3 pin: SDIO3_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO3, SDIO3_D4)
+#error Invalid pin assignment for SDIO3 D4 pin: SDIO3_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO3, SDIO3_D5)
+#error Invalid pin assignment for SDIO3 D5 pin: SDIO3_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO3, SDIO3_D6)
+#error Invalid pin assignment for SDIO3 D6 pin: SDIO3_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO3, SDIO3_D7)
+#error Invalid pin assignment for SDIO3 D7 pin: SDIO3_D7
+#endif
+#endif
+
+#ifdef USE_SDIO4
+#if !FIND_VALUE_SDIO_CK(_SDIO4, SDIO4_CK)
+#error Invalid pin assignment for SDIO4 CK pin: SDIO4_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO4, SDIO4_CMD)
+#error Invalid pin assignment for SDIO4 CMD pin: SDIO4_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO4, SDIO4_D0)
+#error Invalid pin assignment for SDIO4 D0 pin: SDIO4_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO4, SDIO4_D1)
+#error Invalid pin assignment for SDIO4 D1 pin: SDIO4_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO4, SDIO4_D2)
+#error Invalid pin assignment for SDIO4 D2 pin: SDIO4_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO4, SDIO4_D3)
+#error Invalid pin assignment for SDIO4 D3 pin: SDIO4_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO4, SDIO4_D4)
+#error Invalid pin assignment for SDIO4 D4 pin: SDIO4_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO4, SDIO4_D5)
+#error Invalid pin assignment for SDIO4 D5 pin: SDIO4_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO4, SDIO4_D6)
+#error Invalid pin assignment for SDIO4 D6 pin: SDIO4_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO4, SDIO4_D7)
+#error Invalid pin assignment for SDIO4 D7 pin: SDIO4_D7
+#endif
+#endif
+
+#ifdef USE_SDIO5
+#if !FIND_VALUE_SDIO_CK(_SDIO5, SDIO5_CK)
+#error Invalid pin assignment for SDIO5 CK pin: SDIO5_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO5, SDIO5_CMD)
+#error Invalid pin assignment for SDIO5 CMD pin: SDIO5_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO5, SDIO5_D0)
+#error Invalid pin assignment for SDIO5 D0 pin: SDIO5_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO5, SDIO5_D1)
+#error Invalid pin assignment for SDIO5 D1 pin: SDIO5_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO5, SDIO5_D2)
+#error Invalid pin assignment for SDIO5 D2 pin: SDIO5_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO5, SDIO5_D3)
+#error Invalid pin assignment for SDIO5 D3 pin: SDIO5_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO5, SDIO5_D4)
+#error Invalid pin assignment for SDIO5 D4 pin: SDIO5_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO5, SDIO5_D5)
+#error Invalid pin assignment for SDIO5 D5 pin: SDIO5_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO5, SDIO5_D6)
+#error Invalid pin assignment for SDIO5 D6 pin: SDIO5_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO5, SDIO5_D7)
+#error Invalid pin assignment for SDIO5 D7 pin: SDIO5_D7
+#endif
+#endif
+
+#ifdef USE_SDIO6
+#if !FIND_VALUE_SDIO_CK(_SDIO6, SDIO6_CK)
+#error Invalid pin assignment for SDIO6 CK pin: SDIO6_CK
+#endif
+#if !FIND_VALUE_SDIO_CMD(_SDIO6, SDIO6_CMD)
+#error Invalid pin assignment for SDIO6 CMD pin: SDIO6_CMD
+#endif
+#if !FIND_VALUE_SDIO_D0(_SDIO6, SDIO6_D0)
+#error Invalid pin assignment for SDIO6 D0 pin: SDIO6_D0
+#endif
+#if !FIND_VALUE_SDIO_D1(_SDIO6, SDIO6_D1)
+#error Invalid pin assignment for SDIO6 D1 pin: SDIO6_D1
+#endif
+#if !FIND_VALUE_SDIO_D2(_SDIO6, SDIO6_D2)
+#error Invalid pin assignment for SDIO6 D2 pin: SDIO6_D2
+#endif
+#if !FIND_VALUE_SDIO_D3(_SDIO6, SDIO6_D3)
+#error Invalid pin assignment for SDIO6 D3 pin: SDIO6_D3
+#endif
+#if !FIND_VALUE_SDIO_D4(_SDIO6, SDIO6_D4)
+#error Invalid pin assignment for SDIO6 D4 pin: SDIO6_D4
+#endif
+#if !FIND_VALUE_SDIO_D5(_SDIO6, SDIO6_D5)
+#error Invalid pin assignment for SDIO6 D5 pin: SDIO6_D5
+#endif
+#if !FIND_VALUE_SDIO_D6(_SDIO6, SDIO6_D6)
+#error Invalid pin assignment for SDIO6 D6 pin: SDIO6_D6
+#endif
+#if !FIND_VALUE_SDIO_D7(_SDIO6, SDIO6_D7)
+#error Invalid pin assignment for SDIO6 D7 pin: SDIO6_D7
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdmmc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdmmc.h
new file mode 100644
index 000000000..bfdbea49f
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sdmmc.h
@@ -0,0 +1,182 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404398
+ */
+
+#define FIND_VALUE_SDMMC_CDIR_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_CDIR(INDEX,PIN) FIND_VALUE_SDMMC_CDIR_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_CK_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_CK(INDEX,PIN) FIND_VALUE_SDMMC_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_CKIN_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_CKIN(INDEX,PIN) FIND_VALUE_SDMMC_CKIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_CMD_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_CMD(INDEX,PIN) FIND_VALUE_SDMMC_CMD_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D0_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D0(INDEX,PIN) FIND_VALUE_SDMMC_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D0DIR_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D0DIR(INDEX,PIN) FIND_VALUE_SDMMC_D0DIR_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D1_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D1(INDEX,PIN) FIND_VALUE_SDMMC_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D123DIR_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D123DIR(INDEX,PIN) FIND_VALUE_SDMMC_D123DIR_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D2_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D2(INDEX,PIN) FIND_VALUE_SDMMC_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D3_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D3(INDEX,PIN) FIND_VALUE_SDMMC_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D4_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D4(INDEX,PIN) FIND_VALUE_SDMMC_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D5_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D5(INDEX,PIN) FIND_VALUE_SDMMC_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D6_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D6(INDEX,PIN) FIND_VALUE_SDMMC_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_SDMMC_D7_inner(INDEX,PIN) I2C##_SDMMC_##PIN
+#define FIND_VALUE_SDMMC_D7(INDEX,PIN) FIND_VALUE_SDMMC_D7_inner(INDEX,PIN)
+
+#ifdef USE_SDMMC0
+#if !FIND_VALUE_SDMMC_CDIR(_SDMMC0, SDMMC0_CDIR)
+#error Invalid pin assignment for SDMMC0 CDIR pin: SDMMC0_CDIR
+#endif
+#if !FIND_VALUE_SDMMC_CK(_SDMMC0, SDMMC0_CK)
+#error Invalid pin assignment for SDMMC0 CK pin: SDMMC0_CK
+#endif
+#if !FIND_VALUE_SDMMC_CKIN(_SDMMC0, SDMMC0_CKIN)
+#error Invalid pin assignment for SDMMC0 CKIN pin: SDMMC0_CKIN
+#endif
+#if !FIND_VALUE_SDMMC_CMD(_SDMMC0, SDMMC0_CMD)
+#error Invalid pin assignment for SDMMC0 CMD pin: SDMMC0_CMD
+#endif
+#if !FIND_VALUE_SDMMC_D0(_SDMMC0, SDMMC0_D0)
+#error Invalid pin assignment for SDMMC0 D0 pin: SDMMC0_D0
+#endif
+#if !FIND_VALUE_SDMMC_D0DIR(_SDMMC0, SDMMC0_D0DIR)
+#error Invalid pin assignment for SDMMC0 D0DIR pin: SDMMC0_D0DIR
+#endif
+#if !FIND_VALUE_SDMMC_D1(_SDMMC0, SDMMC0_D1)
+#error Invalid pin assignment for SDMMC0 D1 pin: SDMMC0_D1
+#endif
+#if !FIND_VALUE_SDMMC_D123DIR(_SDMMC0, SDMMC0_D123DIR)
+#error Invalid pin assignment for SDMMC0 D123DIR pin: SDMMC0_D123DIR
+#endif
+#if !FIND_VALUE_SDMMC_D2(_SDMMC0, SDMMC0_D2)
+#error Invalid pin assignment for SDMMC0 D2 pin: SDMMC0_D2
+#endif
+#if !FIND_VALUE_SDMMC_D3(_SDMMC0, SDMMC0_D3)
+#error Invalid pin assignment for SDMMC0 D3 pin: SDMMC0_D3
+#endif
+#if !FIND_VALUE_SDMMC_D4(_SDMMC0, SDMMC0_D4)
+#error Invalid pin assignment for SDMMC0 D4 pin: SDMMC0_D4
+#endif
+#if !FIND_VALUE_SDMMC_D5(_SDMMC0, SDMMC0_D5)
+#error Invalid pin assignment for SDMMC0 D5 pin: SDMMC0_D5
+#endif
+#if !FIND_VALUE_SDMMC_D6(_SDMMC0, SDMMC0_D6)
+#error Invalid pin assignment for SDMMC0 D6 pin: SDMMC0_D6
+#endif
+#if !FIND_VALUE_SDMMC_D7(_SDMMC0, SDMMC0_D7)
+#error Invalid pin assignment for SDMMC0 D7 pin: SDMMC0_D7
+#endif
+#endif
+
+#ifdef USE_SDMMC1
+#if !FIND_VALUE_SDMMC_CDIR(_SDMMC1, SDMMC1_CDIR)
+#error Invalid pin assignment for SDMMC1 CDIR pin: SDMMC1_CDIR
+#endif
+#if !FIND_VALUE_SDMMC_CK(_SDMMC1, SDMMC1_CK)
+#error Invalid pin assignment for SDMMC1 CK pin: SDMMC1_CK
+#endif
+#if !FIND_VALUE_SDMMC_CKIN(_SDMMC1, SDMMC1_CKIN)
+#error Invalid pin assignment for SDMMC1 CKIN pin: SDMMC1_CKIN
+#endif
+#if !FIND_VALUE_SDMMC_CMD(_SDMMC1, SDMMC1_CMD)
+#error Invalid pin assignment for SDMMC1 CMD pin: SDMMC1_CMD
+#endif
+#if !FIND_VALUE_SDMMC_D0(_SDMMC1, SDMMC1_D0)
+#error Invalid pin assignment for SDMMC1 D0 pin: SDMMC1_D0
+#endif
+#if !FIND_VALUE_SDMMC_D0DIR(_SDMMC1, SDMMC1_D0DIR)
+#error Invalid pin assignment for SDMMC1 D0DIR pin: SDMMC1_D0DIR
+#endif
+#if !FIND_VALUE_SDMMC_D1(_SDMMC1, SDMMC1_D1)
+#error Invalid pin assignment for SDMMC1 D1 pin: SDMMC1_D1
+#endif
+#if !FIND_VALUE_SDMMC_D123DIR(_SDMMC1, SDMMC1_D123DIR)
+#error Invalid pin assignment for SDMMC1 D123DIR pin: SDMMC1_D123DIR
+#endif
+#if !FIND_VALUE_SDMMC_D2(_SDMMC1, SDMMC1_D2)
+#error Invalid pin assignment for SDMMC1 D2 pin: SDMMC1_D2
+#endif
+#if !FIND_VALUE_SDMMC_D3(_SDMMC1, SDMMC1_D3)
+#error Invalid pin assignment for SDMMC1 D3 pin: SDMMC1_D3
+#endif
+#if !FIND_VALUE_SDMMC_D4(_SDMMC1, SDMMC1_D4)
+#error Invalid pin assignment for SDMMC1 D4 pin: SDMMC1_D4
+#endif
+#if !FIND_VALUE_SDMMC_D5(_SDMMC1, SDMMC1_D5)
+#error Invalid pin assignment for SDMMC1 D5 pin: SDMMC1_D5
+#endif
+#if !FIND_VALUE_SDMMC_D6(_SDMMC1, SDMMC1_D6)
+#error Invalid pin assignment for SDMMC1 D6 pin: SDMMC1_D6
+#endif
+#if !FIND_VALUE_SDMMC_D7(_SDMMC1, SDMMC1_D7)
+#error Invalid pin assignment for SDMMC1 D7 pin: SDMMC1_D7
+#endif
+#endif
+
+#ifdef USE_SDMMC2
+#if !FIND_VALUE_SDMMC_CDIR(_SDMMC2, SDMMC2_CDIR)
+#error Invalid pin assignment for SDMMC2 CDIR pin: SDMMC2_CDIR
+#endif
+#if !FIND_VALUE_SDMMC_CK(_SDMMC2, SDMMC2_CK)
+#error Invalid pin assignment for SDMMC2 CK pin: SDMMC2_CK
+#endif
+#if !FIND_VALUE_SDMMC_CKIN(_SDMMC2, SDMMC2_CKIN)
+#error Invalid pin assignment for SDMMC2 CKIN pin: SDMMC2_CKIN
+#endif
+#if !FIND_VALUE_SDMMC_CMD(_SDMMC2, SDMMC2_CMD)
+#error Invalid pin assignment for SDMMC2 CMD pin: SDMMC2_CMD
+#endif
+#if !FIND_VALUE_SDMMC_D0(_SDMMC2, SDMMC2_D0)
+#error Invalid pin assignment for SDMMC2 D0 pin: SDMMC2_D0
+#endif
+#if !FIND_VALUE_SDMMC_D0DIR(_SDMMC2, SDMMC2_D0DIR)
+#error Invalid pin assignment for SDMMC2 D0DIR pin: SDMMC2_D0DIR
+#endif
+#if !FIND_VALUE_SDMMC_D1(_SDMMC2, SDMMC2_D1)
+#error Invalid pin assignment for SDMMC2 D1 pin: SDMMC2_D1
+#endif
+#if !FIND_VALUE_SDMMC_D123DIR(_SDMMC2, SDMMC2_D123DIR)
+#error Invalid pin assignment for SDMMC2 D123DIR pin: SDMMC2_D123DIR
+#endif
+#if !FIND_VALUE_SDMMC_D2(_SDMMC2, SDMMC2_D2)
+#error Invalid pin assignment for SDMMC2 D2 pin: SDMMC2_D2
+#endif
+#if !FIND_VALUE_SDMMC_D3(_SDMMC2, SDMMC2_D3)
+#error Invalid pin assignment for SDMMC2 D3 pin: SDMMC2_D3
+#endif
+#if !FIND_VALUE_SDMMC_D4(_SDMMC2, SDMMC2_D4)
+#error Invalid pin assignment for SDMMC2 D4 pin: SDMMC2_D4
+#endif
+#if !FIND_VALUE_SDMMC_D5(_SDMMC2, SDMMC2_D5)
+#error Invalid pin assignment for SDMMC2 D5 pin: SDMMC2_D5
+#endif
+#if !FIND_VALUE_SDMMC_D6(_SDMMC2, SDMMC2_D6)
+#error Invalid pin assignment for SDMMC2 D6 pin: SDMMC2_D6
+#endif
+#if !FIND_VALUE_SDMMC_D7(_SDMMC2, SDMMC2_D7)
+#error Invalid pin assignment for SDMMC2 D7 pin: SDMMC2_D7
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spdifrx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spdifrx.h
new file mode 100644
index 000000000..b3716c6fc
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spdifrx.h
@@ -0,0 +1,92 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404436
+ */
+
+#define FIND_VALUE_SPDIFRX_IN0_inner(INDEX,PIN) I2C##_SPDIFRX_##PIN
+#define FIND_VALUE_SPDIFRX_IN0(INDEX,PIN) FIND_VALUE_SPDIFRX_IN0_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPDIFRX_IN1_inner(INDEX,PIN) I2C##_SPDIFRX_##PIN
+#define FIND_VALUE_SPDIFRX_IN1(INDEX,PIN) FIND_VALUE_SPDIFRX_IN1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPDIFRX_IN2_inner(INDEX,PIN) I2C##_SPDIFRX_##PIN
+#define FIND_VALUE_SPDIFRX_IN2(INDEX,PIN) FIND_VALUE_SPDIFRX_IN2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPDIFRX_IN3_inner(INDEX,PIN) I2C##_SPDIFRX_##PIN
+#define FIND_VALUE_SPDIFRX_IN3(INDEX,PIN) FIND_VALUE_SPDIFRX_IN3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPDIFRX_IN4_inner(INDEX,PIN) I2C##_SPDIFRX_##PIN
+#define FIND_VALUE_SPDIFRX_IN4(INDEX,PIN) FIND_VALUE_SPDIFRX_IN4_inner(INDEX,PIN)
+
+#ifdef USE_SPDIFRX0
+#if !FIND_VALUE_SPDIFRX_IN0(_SPDIFRX0, SPDIFRX0_IN0)
+#error Invalid pin assignment for SPDIFRX0 IN0 pin: SPDIFRX0_IN0
+#endif
+#if !FIND_VALUE_SPDIFRX_IN1(_SPDIFRX0, SPDIFRX0_IN1)
+#error Invalid pin assignment for SPDIFRX0 IN1 pin: SPDIFRX0_IN1
+#endif
+#if !FIND_VALUE_SPDIFRX_IN2(_SPDIFRX0, SPDIFRX0_IN2)
+#error Invalid pin assignment for SPDIFRX0 IN2 pin: SPDIFRX0_IN2
+#endif
+#if !FIND_VALUE_SPDIFRX_IN3(_SPDIFRX0, SPDIFRX0_IN3)
+#error Invalid pin assignment for SPDIFRX0 IN3 pin: SPDIFRX0_IN3
+#endif
+#if !FIND_VALUE_SPDIFRX_IN4(_SPDIFRX0, SPDIFRX0_IN4)
+#error Invalid pin assignment for SPDIFRX0 IN4 pin: SPDIFRX0_IN4
+#endif
+#endif
+
+#ifdef USE_SPDIFRX1
+#if !FIND_VALUE_SPDIFRX_IN0(_SPDIFRX1, SPDIFRX1_IN0)
+#error Invalid pin assignment for SPDIFRX1 IN0 pin: SPDIFRX1_IN0
+#endif
+#if !FIND_VALUE_SPDIFRX_IN1(_SPDIFRX1, SPDIFRX1_IN1)
+#error Invalid pin assignment for SPDIFRX1 IN1 pin: SPDIFRX1_IN1
+#endif
+#if !FIND_VALUE_SPDIFRX_IN2(_SPDIFRX1, SPDIFRX1_IN2)
+#error Invalid pin assignment for SPDIFRX1 IN2 pin: SPDIFRX1_IN2
+#endif
+#if !FIND_VALUE_SPDIFRX_IN3(_SPDIFRX1, SPDIFRX1_IN3)
+#error Invalid pin assignment for SPDIFRX1 IN3 pin: SPDIFRX1_IN3
+#endif
+#if !FIND_VALUE_SPDIFRX_IN4(_SPDIFRX1, SPDIFRX1_IN4)
+#error Invalid pin assignment for SPDIFRX1 IN4 pin: SPDIFRX1_IN4
+#endif
+#endif
+
+#ifdef USE_SPDIFRX2
+#if !FIND_VALUE_SPDIFRX_IN0(_SPDIFRX2, SPDIFRX2_IN0)
+#error Invalid pin assignment for SPDIFRX2 IN0 pin: SPDIFRX2_IN0
+#endif
+#if !FIND_VALUE_SPDIFRX_IN1(_SPDIFRX2, SPDIFRX2_IN1)
+#error Invalid pin assignment for SPDIFRX2 IN1 pin: SPDIFRX2_IN1
+#endif
+#if !FIND_VALUE_SPDIFRX_IN2(_SPDIFRX2, SPDIFRX2_IN2)
+#error Invalid pin assignment for SPDIFRX2 IN2 pin: SPDIFRX2_IN2
+#endif
+#if !FIND_VALUE_SPDIFRX_IN3(_SPDIFRX2, SPDIFRX2_IN3)
+#error Invalid pin assignment for SPDIFRX2 IN3 pin: SPDIFRX2_IN3
+#endif
+#if !FIND_VALUE_SPDIFRX_IN4(_SPDIFRX2, SPDIFRX2_IN4)
+#error Invalid pin assignment for SPDIFRX2 IN4 pin: SPDIFRX2_IN4
+#endif
+#endif
+
+#ifdef USE_SPDIFRX3
+#if !FIND_VALUE_SPDIFRX_IN0(_SPDIFRX3, SPDIFRX3_IN0)
+#error Invalid pin assignment for SPDIFRX3 IN0 pin: SPDIFRX3_IN0
+#endif
+#if !FIND_VALUE_SPDIFRX_IN1(_SPDIFRX3, SPDIFRX3_IN1)
+#error Invalid pin assignment for SPDIFRX3 IN1 pin: SPDIFRX3_IN1
+#endif
+#if !FIND_VALUE_SPDIFRX_IN2(_SPDIFRX3, SPDIFRX3_IN2)
+#error Invalid pin assignment for SPDIFRX3 IN2 pin: SPDIFRX3_IN2
+#endif
+#if !FIND_VALUE_SPDIFRX_IN3(_SPDIFRX3, SPDIFRX3_IN3)
+#error Invalid pin assignment for SPDIFRX3 IN3 pin: SPDIFRX3_IN3
+#endif
+#if !FIND_VALUE_SPDIFRX_IN4(_SPDIFRX3, SPDIFRX3_IN4)
+#error Invalid pin assignment for SPDIFRX3 IN4 pin: SPDIFRX3_IN4
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spi.h
new file mode 100644
index 000000000..e2b6d388f
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_spi.h
@@ -0,0 +1,128 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404463
+ */
+
+#define FIND_VALUE_SPI_MISO_inner(INDEX,PIN) I2C##_SPI_##PIN
+#define FIND_VALUE_SPI_MISO(INDEX,PIN) FIND_VALUE_SPI_MISO_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPI_MOSI_inner(INDEX,PIN) I2C##_SPI_##PIN
+#define FIND_VALUE_SPI_MOSI(INDEX,PIN) FIND_VALUE_SPI_MOSI_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPI_NSS_inner(INDEX,PIN) I2C##_SPI_##PIN
+#define FIND_VALUE_SPI_NSS(INDEX,PIN) FIND_VALUE_SPI_NSS_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPI_RDY_inner(INDEX,PIN) I2C##_SPI_##PIN
+#define FIND_VALUE_SPI_RDY(INDEX,PIN) FIND_VALUE_SPI_RDY_inner(INDEX,PIN)
+
+#define FIND_VALUE_SPI_SCK_inner(INDEX,PIN) I2C##_SPI_##PIN
+#define FIND_VALUE_SPI_SCK(INDEX,PIN) FIND_VALUE_SPI_SCK_inner(INDEX,PIN)
+
+#ifdef USE_SPI0
+#if !FIND_VALUE_SPI_MISO(_SPI0, SPI0_MISO)
+#error Invalid pin assignment for SPI0 MISO pin: SPI0_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI0, SPI0_MOSI)
+#error Invalid pin assignment for SPI0 MOSI pin: SPI0_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI0, SPI0_NSS)
+#error Invalid pin assignment for SPI0 NSS pin: SPI0_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI0, SPI0_RDY)
+#error Invalid pin assignment for SPI0 RDY pin: SPI0_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI0, SPI0_SCK)
+#error Invalid pin assignment for SPI0 SCK pin: SPI0_SCK
+#endif
+#endif
+
+#ifdef USE_SPI1
+#if !FIND_VALUE_SPI_MISO(_SPI1, SPI1_MISO)
+#error Invalid pin assignment for SPI1 MISO pin: SPI1_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI1, SPI1_MOSI)
+#error Invalid pin assignment for SPI1 MOSI pin: SPI1_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI1, SPI1_NSS)
+#error Invalid pin assignment for SPI1 NSS pin: SPI1_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI1, SPI1_RDY)
+#error Invalid pin assignment for SPI1 RDY pin: SPI1_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI1, SPI1_SCK)
+#error Invalid pin assignment for SPI1 SCK pin: SPI1_SCK
+#endif
+#endif
+
+#ifdef USE_SPI2
+#if !FIND_VALUE_SPI_MISO(_SPI2, SPI2_MISO)
+#error Invalid pin assignment for SPI2 MISO pin: SPI2_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI2, SPI2_MOSI)
+#error Invalid pin assignment for SPI2 MOSI pin: SPI2_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI2, SPI2_NSS)
+#error Invalid pin assignment for SPI2 NSS pin: SPI2_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI2, SPI2_RDY)
+#error Invalid pin assignment for SPI2 RDY pin: SPI2_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI2, SPI2_SCK)
+#error Invalid pin assignment for SPI2 SCK pin: SPI2_SCK
+#endif
+#endif
+
+#ifdef USE_SPI3
+#if !FIND_VALUE_SPI_MISO(_SPI3, SPI3_MISO)
+#error Invalid pin assignment for SPI3 MISO pin: SPI3_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI3, SPI3_MOSI)
+#error Invalid pin assignment for SPI3 MOSI pin: SPI3_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI3, SPI3_NSS)
+#error Invalid pin assignment for SPI3 NSS pin: SPI3_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI3, SPI3_RDY)
+#error Invalid pin assignment for SPI3 RDY pin: SPI3_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI3, SPI3_SCK)
+#error Invalid pin assignment for SPI3 SCK pin: SPI3_SCK
+#endif
+#endif
+
+#ifdef USE_SPI4
+#if !FIND_VALUE_SPI_MISO(_SPI4, SPI4_MISO)
+#error Invalid pin assignment for SPI4 MISO pin: SPI4_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI4, SPI4_MOSI)
+#error Invalid pin assignment for SPI4 MOSI pin: SPI4_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI4, SPI4_NSS)
+#error Invalid pin assignment for SPI4 NSS pin: SPI4_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI4, SPI4_RDY)
+#error Invalid pin assignment for SPI4 RDY pin: SPI4_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI4, SPI4_SCK)
+#error Invalid pin assignment for SPI4 SCK pin: SPI4_SCK
+#endif
+#endif
+
+#ifdef USE_SPI5
+#if !FIND_VALUE_SPI_MISO(_SPI5, SPI5_MISO)
+#error Invalid pin assignment for SPI5 MISO pin: SPI5_MISO
+#endif
+#if !FIND_VALUE_SPI_MOSI(_SPI5, SPI5_MOSI)
+#error Invalid pin assignment for SPI5 MOSI pin: SPI5_MOSI
+#endif
+#if !FIND_VALUE_SPI_NSS(_SPI5, SPI5_NSS)
+#error Invalid pin assignment for SPI5 NSS pin: SPI5_NSS
+#endif
+#if !FIND_VALUE_SPI_RDY(_SPI5, SPI5_RDY)
+#error Invalid pin assignment for SPI5 RDY pin: SPI5_RDY
+#endif
+#if !FIND_VALUE_SPI_SCK(_SPI5, SPI5_SCK)
+#error Invalid pin assignment for SPI5 SCK pin: SPI5_SCK
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_swpmi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_swpmi.h
new file mode 100644
index 000000000..9c2339044
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_swpmi.h
@@ -0,0 +1,32 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404493
+ */
+
+#define FIND_VALUE_SWPMI_IO_inner(INDEX,PIN) I2C##_SWPMI_##PIN
+#define FIND_VALUE_SWPMI_IO(INDEX,PIN) FIND_VALUE_SWPMI_IO_inner(INDEX,PIN)
+
+#define FIND_VALUE_SWPMI_RX_inner(INDEX,PIN) I2C##_SWPMI_##PIN
+#define FIND_VALUE_SWPMI_RX(INDEX,PIN) FIND_VALUE_SWPMI_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_SWPMI_SUSPEND_inner(INDEX,PIN) I2C##_SWPMI_##PIN
+#define FIND_VALUE_SWPMI_SUSPEND(INDEX,PIN) FIND_VALUE_SWPMI_SUSPEND_inner(INDEX,PIN)
+
+#define FIND_VALUE_SWPMI_TX_inner(INDEX,PIN) I2C##_SWPMI_##PIN
+#define FIND_VALUE_SWPMI_TX(INDEX,PIN) FIND_VALUE_SWPMI_TX_inner(INDEX,PIN)
+
+#ifdef USE_SWPMI0
+#if !FIND_VALUE_SWPMI_IO(_SWPMI0, SWPMI0_IO)
+#error Invalid pin assignment for SWPMI0 IO pin: SWPMI0_IO
+#endif
+#if !FIND_VALUE_SWPMI_RX(_SWPMI0, SWPMI0_RX)
+#error Invalid pin assignment for SWPMI0 RX pin: SWPMI0_RX
+#endif
+#if !FIND_VALUE_SWPMI_SUSPEND(_SWPMI0, SWPMI0_SUSPEND)
+#error Invalid pin assignment for SWPMI0 SUSPEND pin: SWPMI0_SUSPEND
+#endif
+#if !FIND_VALUE_SWPMI_TX(_SWPMI0, SWPMI0_TX)
+#error Invalid pin assignment for SWPMI0 TX pin: SWPMI0_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys.h
new file mode 100644
index 000000000..09f5ce978
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys.h
@@ -0,0 +1,1730 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404507
+ */
+
+#define FIND_VALUE_SYS_CAN_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_CAN(INDEX,PIN) FIND_VALUE_SYS_CAN_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_COMP_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_COMP(INDEX,PIN) FIND_VALUE_SYS_COMP_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_DAC_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_DAC(INDEX,PIN) FIND_VALUE_SYS_DAC_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_I2C_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_I2C(INDEX,PIN) FIND_VALUE_SYS_I2C_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_JTDI_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_JTDI(INDEX,PIN) FIND_VALUE_SYS_JTDI_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_JTRST_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_JTRST(INDEX,PIN) FIND_VALUE_SYS_JTRST_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_NJTRST_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_NJTRST(INDEX,PIN) FIND_VALUE_SYS_NJTRST_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_SLEEP_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_SLEEP(INDEX,PIN) FIND_VALUE_SYS_SLEEP_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_SPI_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_SPI(INDEX,PIN) FIND_VALUE_SYS_SPI_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_SWCLK_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_SWCLK(INDEX,PIN) FIND_VALUE_SYS_SWCLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_SWDIO_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_SWDIO(INDEX,PIN) FIND_VALUE_SYS_SWDIO_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_SYSTEM_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_SYSTEM(INDEX,PIN) FIND_VALUE_SYS_SYSTEM_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM1_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM1(INDEX,PIN) FIND_VALUE_SYS_TIM1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM14_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM14(INDEX,PIN) FIND_VALUE_SYS_TIM14_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM15_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM15(INDEX,PIN) FIND_VALUE_SYS_TIM15_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM16_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM16(INDEX,PIN) FIND_VALUE_SYS_TIM16_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM17_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM17(INDEX,PIN) FIND_VALUE_SYS_TIM17_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM2_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM2(INDEX,PIN) FIND_VALUE_SYS_TIM2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TIM3_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TIM3(INDEX,PIN) FIND_VALUE_SYS_TIM3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TOUCH_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TOUCH(INDEX,PIN) FIND_VALUE_SYS_TOUCH_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACECK_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACECK(INDEX,PIN) FIND_VALUE_SYS_TRACECK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACECLK_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACECLK(INDEX,PIN) FIND_VALUE_SYS_TRACECLK_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACED0_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACED0(INDEX,PIN) FIND_VALUE_SYS_TRACED0_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACED1_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACED1(INDEX,PIN) FIND_VALUE_SYS_TRACED1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACED2_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACED2(INDEX,PIN) FIND_VALUE_SYS_TRACED2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_TRACED3_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_TRACED3(INDEX,PIN) FIND_VALUE_SYS_TRACED3_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_USART_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_USART(INDEX,PIN) FIND_VALUE_SYS_USART_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_WKUP_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_WKUP(INDEX,PIN) FIND_VALUE_SYS_WKUP_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_WKUP1_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_WKUP1(INDEX,PIN) FIND_VALUE_SYS_WKUP1_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_WKUP2_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_WKUP2(INDEX,PIN) FIND_VALUE_SYS_WKUP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_WKUP3_inner(INDEX,PIN) I2C##_SYS_##PIN
+#define FIND_VALUE_SYS_WKUP3(INDEX,PIN) FIND_VALUE_SYS_WKUP3_inner(INDEX,PIN)
+
+#ifdef USE_SYS0
+#if !FIND_VALUE_SYS_CAN(_SYS0, SYS0_CAN)
+#error Invalid pin assignment for SYS0 CAN pin: SYS0_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS0, SYS0_COMP)
+#error Invalid pin assignment for SYS0 COMP pin: SYS0_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS0, SYS0_DAC)
+#error Invalid pin assignment for SYS0 DAC pin: SYS0_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS0, SYS0_I2C)
+#error Invalid pin assignment for SYS0 I2C pin: SYS0_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS0, SYS0_JTDI)
+#error Invalid pin assignment for SYS0 JTDI pin: SYS0_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS0, SYS0_JTRST)
+#error Invalid pin assignment for SYS0 JTRST pin: SYS0_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS0, SYS0_NJTRST)
+#error Invalid pin assignment for SYS0 NJTRST pin: SYS0_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS0, SYS0_SLEEP)
+#error Invalid pin assignment for SYS0 SLEEP pin: SYS0_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS0, SYS0_SPI)
+#error Invalid pin assignment for SYS0 SPI pin: SYS0_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS0, SYS0_SWCLK)
+#error Invalid pin assignment for SYS0 SWCLK pin: SYS0_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS0, SYS0_SWDIO)
+#error Invalid pin assignment for SYS0 SWDIO pin: SYS0_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS0, SYS0_SYSTEM)
+#error Invalid pin assignment for SYS0 SYSTEM pin: SYS0_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS0, SYS0_TIM1)
+#error Invalid pin assignment for SYS0 TIM1 pin: SYS0_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS0, SYS0_TIM14)
+#error Invalid pin assignment for SYS0 TIM14 pin: SYS0_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS0, SYS0_TIM15)
+#error Invalid pin assignment for SYS0 TIM15 pin: SYS0_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS0, SYS0_TIM16)
+#error Invalid pin assignment for SYS0 TIM16 pin: SYS0_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS0, SYS0_TIM17)
+#error Invalid pin assignment for SYS0 TIM17 pin: SYS0_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS0, SYS0_TIM2)
+#error Invalid pin assignment for SYS0 TIM2 pin: SYS0_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS0, SYS0_TIM3)
+#error Invalid pin assignment for SYS0 TIM3 pin: SYS0_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS0, SYS0_TOUCH)
+#error Invalid pin assignment for SYS0 TOUCH pin: SYS0_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS0, SYS0_TRACECK)
+#error Invalid pin assignment for SYS0 TRACECK pin: SYS0_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS0, SYS0_TRACECLK)
+#error Invalid pin assignment for SYS0 TRACECLK pin: SYS0_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS0, SYS0_TRACED0)
+#error Invalid pin assignment for SYS0 TRACED0 pin: SYS0_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS0, SYS0_TRACED1)
+#error Invalid pin assignment for SYS0 TRACED1 pin: SYS0_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS0, SYS0_TRACED2)
+#error Invalid pin assignment for SYS0 TRACED2 pin: SYS0_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS0, SYS0_TRACED3)
+#error Invalid pin assignment for SYS0 TRACED3 pin: SYS0_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS0, SYS0_USART)
+#error Invalid pin assignment for SYS0 USART pin: SYS0_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS0, SYS0_WKUP)
+#error Invalid pin assignment for SYS0 WKUP pin: SYS0_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS0, SYS0_WKUP1)
+#error Invalid pin assignment for SYS0 WKUP1 pin: SYS0_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS0, SYS0_WKUP2)
+#error Invalid pin assignment for SYS0 WKUP2 pin: SYS0_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS0, SYS0_WKUP3)
+#error Invalid pin assignment for SYS0 WKUP3 pin: SYS0_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS1
+#if !FIND_VALUE_SYS_CAN(_SYS1, SYS1_CAN)
+#error Invalid pin assignment for SYS1 CAN pin: SYS1_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS1, SYS1_COMP)
+#error Invalid pin assignment for SYS1 COMP pin: SYS1_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS1, SYS1_DAC)
+#error Invalid pin assignment for SYS1 DAC pin: SYS1_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS1, SYS1_I2C)
+#error Invalid pin assignment for SYS1 I2C pin: SYS1_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS1, SYS1_JTDI)
+#error Invalid pin assignment for SYS1 JTDI pin: SYS1_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS1, SYS1_JTRST)
+#error Invalid pin assignment for SYS1 JTRST pin: SYS1_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS1, SYS1_NJTRST)
+#error Invalid pin assignment for SYS1 NJTRST pin: SYS1_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS1, SYS1_SLEEP)
+#error Invalid pin assignment for SYS1 SLEEP pin: SYS1_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS1, SYS1_SPI)
+#error Invalid pin assignment for SYS1 SPI pin: SYS1_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS1, SYS1_SWCLK)
+#error Invalid pin assignment for SYS1 SWCLK pin: SYS1_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS1, SYS1_SWDIO)
+#error Invalid pin assignment for SYS1 SWDIO pin: SYS1_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS1, SYS1_SYSTEM)
+#error Invalid pin assignment for SYS1 SYSTEM pin: SYS1_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS1, SYS1_TIM1)
+#error Invalid pin assignment for SYS1 TIM1 pin: SYS1_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS1, SYS1_TIM14)
+#error Invalid pin assignment for SYS1 TIM14 pin: SYS1_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS1, SYS1_TIM15)
+#error Invalid pin assignment for SYS1 TIM15 pin: SYS1_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS1, SYS1_TIM16)
+#error Invalid pin assignment for SYS1 TIM16 pin: SYS1_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS1, SYS1_TIM17)
+#error Invalid pin assignment for SYS1 TIM17 pin: SYS1_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS1, SYS1_TIM2)
+#error Invalid pin assignment for SYS1 TIM2 pin: SYS1_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS1, SYS1_TIM3)
+#error Invalid pin assignment for SYS1 TIM3 pin: SYS1_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS1, SYS1_TOUCH)
+#error Invalid pin assignment for SYS1 TOUCH pin: SYS1_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS1, SYS1_TRACECK)
+#error Invalid pin assignment for SYS1 TRACECK pin: SYS1_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS1, SYS1_TRACECLK)
+#error Invalid pin assignment for SYS1 TRACECLK pin: SYS1_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS1, SYS1_TRACED0)
+#error Invalid pin assignment for SYS1 TRACED0 pin: SYS1_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS1, SYS1_TRACED1)
+#error Invalid pin assignment for SYS1 TRACED1 pin: SYS1_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS1, SYS1_TRACED2)
+#error Invalid pin assignment for SYS1 TRACED2 pin: SYS1_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS1, SYS1_TRACED3)
+#error Invalid pin assignment for SYS1 TRACED3 pin: SYS1_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS1, SYS1_USART)
+#error Invalid pin assignment for SYS1 USART pin: SYS1_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS1, SYS1_WKUP)
+#error Invalid pin assignment for SYS1 WKUP pin: SYS1_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS1, SYS1_WKUP1)
+#error Invalid pin assignment for SYS1 WKUP1 pin: SYS1_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS1, SYS1_WKUP2)
+#error Invalid pin assignment for SYS1 WKUP2 pin: SYS1_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS1, SYS1_WKUP3)
+#error Invalid pin assignment for SYS1 WKUP3 pin: SYS1_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS2
+#if !FIND_VALUE_SYS_CAN(_SYS2, SYS2_CAN)
+#error Invalid pin assignment for SYS2 CAN pin: SYS2_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS2, SYS2_COMP)
+#error Invalid pin assignment for SYS2 COMP pin: SYS2_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS2, SYS2_DAC)
+#error Invalid pin assignment for SYS2 DAC pin: SYS2_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS2, SYS2_I2C)
+#error Invalid pin assignment for SYS2 I2C pin: SYS2_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS2, SYS2_JTDI)
+#error Invalid pin assignment for SYS2 JTDI pin: SYS2_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS2, SYS2_JTRST)
+#error Invalid pin assignment for SYS2 JTRST pin: SYS2_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS2, SYS2_NJTRST)
+#error Invalid pin assignment for SYS2 NJTRST pin: SYS2_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS2, SYS2_SLEEP)
+#error Invalid pin assignment for SYS2 SLEEP pin: SYS2_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS2, SYS2_SPI)
+#error Invalid pin assignment for SYS2 SPI pin: SYS2_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS2, SYS2_SWCLK)
+#error Invalid pin assignment for SYS2 SWCLK pin: SYS2_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS2, SYS2_SWDIO)
+#error Invalid pin assignment for SYS2 SWDIO pin: SYS2_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS2, SYS2_SYSTEM)
+#error Invalid pin assignment for SYS2 SYSTEM pin: SYS2_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS2, SYS2_TIM1)
+#error Invalid pin assignment for SYS2 TIM1 pin: SYS2_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS2, SYS2_TIM14)
+#error Invalid pin assignment for SYS2 TIM14 pin: SYS2_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS2, SYS2_TIM15)
+#error Invalid pin assignment for SYS2 TIM15 pin: SYS2_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS2, SYS2_TIM16)
+#error Invalid pin assignment for SYS2 TIM16 pin: SYS2_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS2, SYS2_TIM17)
+#error Invalid pin assignment for SYS2 TIM17 pin: SYS2_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS2, SYS2_TIM2)
+#error Invalid pin assignment for SYS2 TIM2 pin: SYS2_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS2, SYS2_TIM3)
+#error Invalid pin assignment for SYS2 TIM3 pin: SYS2_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS2, SYS2_TOUCH)
+#error Invalid pin assignment for SYS2 TOUCH pin: SYS2_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS2, SYS2_TRACECK)
+#error Invalid pin assignment for SYS2 TRACECK pin: SYS2_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS2, SYS2_TRACECLK)
+#error Invalid pin assignment for SYS2 TRACECLK pin: SYS2_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS2, SYS2_TRACED0)
+#error Invalid pin assignment for SYS2 TRACED0 pin: SYS2_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS2, SYS2_TRACED1)
+#error Invalid pin assignment for SYS2 TRACED1 pin: SYS2_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS2, SYS2_TRACED2)
+#error Invalid pin assignment for SYS2 TRACED2 pin: SYS2_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS2, SYS2_TRACED3)
+#error Invalid pin assignment for SYS2 TRACED3 pin: SYS2_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS2, SYS2_USART)
+#error Invalid pin assignment for SYS2 USART pin: SYS2_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS2, SYS2_WKUP)
+#error Invalid pin assignment for SYS2 WKUP pin: SYS2_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS2, SYS2_WKUP1)
+#error Invalid pin assignment for SYS2 WKUP1 pin: SYS2_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS2, SYS2_WKUP2)
+#error Invalid pin assignment for SYS2 WKUP2 pin: SYS2_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS2, SYS2_WKUP3)
+#error Invalid pin assignment for SYS2 WKUP3 pin: SYS2_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS3
+#if !FIND_VALUE_SYS_CAN(_SYS3, SYS3_CAN)
+#error Invalid pin assignment for SYS3 CAN pin: SYS3_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS3, SYS3_COMP)
+#error Invalid pin assignment for SYS3 COMP pin: SYS3_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS3, SYS3_DAC)
+#error Invalid pin assignment for SYS3 DAC pin: SYS3_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS3, SYS3_I2C)
+#error Invalid pin assignment for SYS3 I2C pin: SYS3_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS3, SYS3_JTDI)
+#error Invalid pin assignment for SYS3 JTDI pin: SYS3_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS3, SYS3_JTRST)
+#error Invalid pin assignment for SYS3 JTRST pin: SYS3_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS3, SYS3_NJTRST)
+#error Invalid pin assignment for SYS3 NJTRST pin: SYS3_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS3, SYS3_SLEEP)
+#error Invalid pin assignment for SYS3 SLEEP pin: SYS3_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS3, SYS3_SPI)
+#error Invalid pin assignment for SYS3 SPI pin: SYS3_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS3, SYS3_SWCLK)
+#error Invalid pin assignment for SYS3 SWCLK pin: SYS3_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS3, SYS3_SWDIO)
+#error Invalid pin assignment for SYS3 SWDIO pin: SYS3_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS3, SYS3_SYSTEM)
+#error Invalid pin assignment for SYS3 SYSTEM pin: SYS3_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS3, SYS3_TIM1)
+#error Invalid pin assignment for SYS3 TIM1 pin: SYS3_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS3, SYS3_TIM14)
+#error Invalid pin assignment for SYS3 TIM14 pin: SYS3_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS3, SYS3_TIM15)
+#error Invalid pin assignment for SYS3 TIM15 pin: SYS3_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS3, SYS3_TIM16)
+#error Invalid pin assignment for SYS3 TIM16 pin: SYS3_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS3, SYS3_TIM17)
+#error Invalid pin assignment for SYS3 TIM17 pin: SYS3_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS3, SYS3_TIM2)
+#error Invalid pin assignment for SYS3 TIM2 pin: SYS3_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS3, SYS3_TIM3)
+#error Invalid pin assignment for SYS3 TIM3 pin: SYS3_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS3, SYS3_TOUCH)
+#error Invalid pin assignment for SYS3 TOUCH pin: SYS3_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS3, SYS3_TRACECK)
+#error Invalid pin assignment for SYS3 TRACECK pin: SYS3_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS3, SYS3_TRACECLK)
+#error Invalid pin assignment for SYS3 TRACECLK pin: SYS3_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS3, SYS3_TRACED0)
+#error Invalid pin assignment for SYS3 TRACED0 pin: SYS3_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS3, SYS3_TRACED1)
+#error Invalid pin assignment for SYS3 TRACED1 pin: SYS3_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS3, SYS3_TRACED2)
+#error Invalid pin assignment for SYS3 TRACED2 pin: SYS3_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS3, SYS3_TRACED3)
+#error Invalid pin assignment for SYS3 TRACED3 pin: SYS3_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS3, SYS3_USART)
+#error Invalid pin assignment for SYS3 USART pin: SYS3_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS3, SYS3_WKUP)
+#error Invalid pin assignment for SYS3 WKUP pin: SYS3_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS3, SYS3_WKUP1)
+#error Invalid pin assignment for SYS3 WKUP1 pin: SYS3_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS3, SYS3_WKUP2)
+#error Invalid pin assignment for SYS3 WKUP2 pin: SYS3_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS3, SYS3_WKUP3)
+#error Invalid pin assignment for SYS3 WKUP3 pin: SYS3_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS4
+#if !FIND_VALUE_SYS_CAN(_SYS4, SYS4_CAN)
+#error Invalid pin assignment for SYS4 CAN pin: SYS4_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS4, SYS4_COMP)
+#error Invalid pin assignment for SYS4 COMP pin: SYS4_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS4, SYS4_DAC)
+#error Invalid pin assignment for SYS4 DAC pin: SYS4_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS4, SYS4_I2C)
+#error Invalid pin assignment for SYS4 I2C pin: SYS4_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS4, SYS4_JTDI)
+#error Invalid pin assignment for SYS4 JTDI pin: SYS4_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS4, SYS4_JTRST)
+#error Invalid pin assignment for SYS4 JTRST pin: SYS4_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS4, SYS4_NJTRST)
+#error Invalid pin assignment for SYS4 NJTRST pin: SYS4_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS4, SYS4_SLEEP)
+#error Invalid pin assignment for SYS4 SLEEP pin: SYS4_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS4, SYS4_SPI)
+#error Invalid pin assignment for SYS4 SPI pin: SYS4_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS4, SYS4_SWCLK)
+#error Invalid pin assignment for SYS4 SWCLK pin: SYS4_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS4, SYS4_SWDIO)
+#error Invalid pin assignment for SYS4 SWDIO pin: SYS4_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS4, SYS4_SYSTEM)
+#error Invalid pin assignment for SYS4 SYSTEM pin: SYS4_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS4, SYS4_TIM1)
+#error Invalid pin assignment for SYS4 TIM1 pin: SYS4_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS4, SYS4_TIM14)
+#error Invalid pin assignment for SYS4 TIM14 pin: SYS4_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS4, SYS4_TIM15)
+#error Invalid pin assignment for SYS4 TIM15 pin: SYS4_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS4, SYS4_TIM16)
+#error Invalid pin assignment for SYS4 TIM16 pin: SYS4_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS4, SYS4_TIM17)
+#error Invalid pin assignment for SYS4 TIM17 pin: SYS4_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS4, SYS4_TIM2)
+#error Invalid pin assignment for SYS4 TIM2 pin: SYS4_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS4, SYS4_TIM3)
+#error Invalid pin assignment for SYS4 TIM3 pin: SYS4_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS4, SYS4_TOUCH)
+#error Invalid pin assignment for SYS4 TOUCH pin: SYS4_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS4, SYS4_TRACECK)
+#error Invalid pin assignment for SYS4 TRACECK pin: SYS4_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS4, SYS4_TRACECLK)
+#error Invalid pin assignment for SYS4 TRACECLK pin: SYS4_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS4, SYS4_TRACED0)
+#error Invalid pin assignment for SYS4 TRACED0 pin: SYS4_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS4, SYS4_TRACED1)
+#error Invalid pin assignment for SYS4 TRACED1 pin: SYS4_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS4, SYS4_TRACED2)
+#error Invalid pin assignment for SYS4 TRACED2 pin: SYS4_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS4, SYS4_TRACED3)
+#error Invalid pin assignment for SYS4 TRACED3 pin: SYS4_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS4, SYS4_USART)
+#error Invalid pin assignment for SYS4 USART pin: SYS4_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS4, SYS4_WKUP)
+#error Invalid pin assignment for SYS4 WKUP pin: SYS4_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS4, SYS4_WKUP1)
+#error Invalid pin assignment for SYS4 WKUP1 pin: SYS4_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS4, SYS4_WKUP2)
+#error Invalid pin assignment for SYS4 WKUP2 pin: SYS4_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS4, SYS4_WKUP3)
+#error Invalid pin assignment for SYS4 WKUP3 pin: SYS4_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS5
+#if !FIND_VALUE_SYS_CAN(_SYS5, SYS5_CAN)
+#error Invalid pin assignment for SYS5 CAN pin: SYS5_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS5, SYS5_COMP)
+#error Invalid pin assignment for SYS5 COMP pin: SYS5_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS5, SYS5_DAC)
+#error Invalid pin assignment for SYS5 DAC pin: SYS5_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS5, SYS5_I2C)
+#error Invalid pin assignment for SYS5 I2C pin: SYS5_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS5, SYS5_JTDI)
+#error Invalid pin assignment for SYS5 JTDI pin: SYS5_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS5, SYS5_JTRST)
+#error Invalid pin assignment for SYS5 JTRST pin: SYS5_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS5, SYS5_NJTRST)
+#error Invalid pin assignment for SYS5 NJTRST pin: SYS5_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS5, SYS5_SLEEP)
+#error Invalid pin assignment for SYS5 SLEEP pin: SYS5_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS5, SYS5_SPI)
+#error Invalid pin assignment for SYS5 SPI pin: SYS5_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS5, SYS5_SWCLK)
+#error Invalid pin assignment for SYS5 SWCLK pin: SYS5_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS5, SYS5_SWDIO)
+#error Invalid pin assignment for SYS5 SWDIO pin: SYS5_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS5, SYS5_SYSTEM)
+#error Invalid pin assignment for SYS5 SYSTEM pin: SYS5_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS5, SYS5_TIM1)
+#error Invalid pin assignment for SYS5 TIM1 pin: SYS5_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS5, SYS5_TIM14)
+#error Invalid pin assignment for SYS5 TIM14 pin: SYS5_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS5, SYS5_TIM15)
+#error Invalid pin assignment for SYS5 TIM15 pin: SYS5_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS5, SYS5_TIM16)
+#error Invalid pin assignment for SYS5 TIM16 pin: SYS5_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS5, SYS5_TIM17)
+#error Invalid pin assignment for SYS5 TIM17 pin: SYS5_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS5, SYS5_TIM2)
+#error Invalid pin assignment for SYS5 TIM2 pin: SYS5_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS5, SYS5_TIM3)
+#error Invalid pin assignment for SYS5 TIM3 pin: SYS5_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS5, SYS5_TOUCH)
+#error Invalid pin assignment for SYS5 TOUCH pin: SYS5_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS5, SYS5_TRACECK)
+#error Invalid pin assignment for SYS5 TRACECK pin: SYS5_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS5, SYS5_TRACECLK)
+#error Invalid pin assignment for SYS5 TRACECLK pin: SYS5_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS5, SYS5_TRACED0)
+#error Invalid pin assignment for SYS5 TRACED0 pin: SYS5_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS5, SYS5_TRACED1)
+#error Invalid pin assignment for SYS5 TRACED1 pin: SYS5_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS5, SYS5_TRACED2)
+#error Invalid pin assignment for SYS5 TRACED2 pin: SYS5_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS5, SYS5_TRACED3)
+#error Invalid pin assignment for SYS5 TRACED3 pin: SYS5_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS5, SYS5_USART)
+#error Invalid pin assignment for SYS5 USART pin: SYS5_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS5, SYS5_WKUP)
+#error Invalid pin assignment for SYS5 WKUP pin: SYS5_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS5, SYS5_WKUP1)
+#error Invalid pin assignment for SYS5 WKUP1 pin: SYS5_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS5, SYS5_WKUP2)
+#error Invalid pin assignment for SYS5 WKUP2 pin: SYS5_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS5, SYS5_WKUP3)
+#error Invalid pin assignment for SYS5 WKUP3 pin: SYS5_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS6
+#if !FIND_VALUE_SYS_CAN(_SYS6, SYS6_CAN)
+#error Invalid pin assignment for SYS6 CAN pin: SYS6_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS6, SYS6_COMP)
+#error Invalid pin assignment for SYS6 COMP pin: SYS6_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS6, SYS6_DAC)
+#error Invalid pin assignment for SYS6 DAC pin: SYS6_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS6, SYS6_I2C)
+#error Invalid pin assignment for SYS6 I2C pin: SYS6_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS6, SYS6_JTDI)
+#error Invalid pin assignment for SYS6 JTDI pin: SYS6_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS6, SYS6_JTRST)
+#error Invalid pin assignment for SYS6 JTRST pin: SYS6_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS6, SYS6_NJTRST)
+#error Invalid pin assignment for SYS6 NJTRST pin: SYS6_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS6, SYS6_SLEEP)
+#error Invalid pin assignment for SYS6 SLEEP pin: SYS6_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS6, SYS6_SPI)
+#error Invalid pin assignment for SYS6 SPI pin: SYS6_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS6, SYS6_SWCLK)
+#error Invalid pin assignment for SYS6 SWCLK pin: SYS6_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS6, SYS6_SWDIO)
+#error Invalid pin assignment for SYS6 SWDIO pin: SYS6_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS6, SYS6_SYSTEM)
+#error Invalid pin assignment for SYS6 SYSTEM pin: SYS6_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS6, SYS6_TIM1)
+#error Invalid pin assignment for SYS6 TIM1 pin: SYS6_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS6, SYS6_TIM14)
+#error Invalid pin assignment for SYS6 TIM14 pin: SYS6_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS6, SYS6_TIM15)
+#error Invalid pin assignment for SYS6 TIM15 pin: SYS6_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS6, SYS6_TIM16)
+#error Invalid pin assignment for SYS6 TIM16 pin: SYS6_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS6, SYS6_TIM17)
+#error Invalid pin assignment for SYS6 TIM17 pin: SYS6_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS6, SYS6_TIM2)
+#error Invalid pin assignment for SYS6 TIM2 pin: SYS6_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS6, SYS6_TIM3)
+#error Invalid pin assignment for SYS6 TIM3 pin: SYS6_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS6, SYS6_TOUCH)
+#error Invalid pin assignment for SYS6 TOUCH pin: SYS6_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS6, SYS6_TRACECK)
+#error Invalid pin assignment for SYS6 TRACECK pin: SYS6_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS6, SYS6_TRACECLK)
+#error Invalid pin assignment for SYS6 TRACECLK pin: SYS6_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS6, SYS6_TRACED0)
+#error Invalid pin assignment for SYS6 TRACED0 pin: SYS6_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS6, SYS6_TRACED1)
+#error Invalid pin assignment for SYS6 TRACED1 pin: SYS6_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS6, SYS6_TRACED2)
+#error Invalid pin assignment for SYS6 TRACED2 pin: SYS6_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS6, SYS6_TRACED3)
+#error Invalid pin assignment for SYS6 TRACED3 pin: SYS6_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS6, SYS6_USART)
+#error Invalid pin assignment for SYS6 USART pin: SYS6_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS6, SYS6_WKUP)
+#error Invalid pin assignment for SYS6 WKUP pin: SYS6_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS6, SYS6_WKUP1)
+#error Invalid pin assignment for SYS6 WKUP1 pin: SYS6_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS6, SYS6_WKUP2)
+#error Invalid pin assignment for SYS6 WKUP2 pin: SYS6_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS6, SYS6_WKUP3)
+#error Invalid pin assignment for SYS6 WKUP3 pin: SYS6_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS7
+#if !FIND_VALUE_SYS_CAN(_SYS7, SYS7_CAN)
+#error Invalid pin assignment for SYS7 CAN pin: SYS7_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS7, SYS7_COMP)
+#error Invalid pin assignment for SYS7 COMP pin: SYS7_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS7, SYS7_DAC)
+#error Invalid pin assignment for SYS7 DAC pin: SYS7_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS7, SYS7_I2C)
+#error Invalid pin assignment for SYS7 I2C pin: SYS7_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS7, SYS7_JTDI)
+#error Invalid pin assignment for SYS7 JTDI pin: SYS7_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS7, SYS7_JTRST)
+#error Invalid pin assignment for SYS7 JTRST pin: SYS7_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS7, SYS7_NJTRST)
+#error Invalid pin assignment for SYS7 NJTRST pin: SYS7_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS7, SYS7_SLEEP)
+#error Invalid pin assignment for SYS7 SLEEP pin: SYS7_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS7, SYS7_SPI)
+#error Invalid pin assignment for SYS7 SPI pin: SYS7_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS7, SYS7_SWCLK)
+#error Invalid pin assignment for SYS7 SWCLK pin: SYS7_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS7, SYS7_SWDIO)
+#error Invalid pin assignment for SYS7 SWDIO pin: SYS7_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS7, SYS7_SYSTEM)
+#error Invalid pin assignment for SYS7 SYSTEM pin: SYS7_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS7, SYS7_TIM1)
+#error Invalid pin assignment for SYS7 TIM1 pin: SYS7_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS7, SYS7_TIM14)
+#error Invalid pin assignment for SYS7 TIM14 pin: SYS7_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS7, SYS7_TIM15)
+#error Invalid pin assignment for SYS7 TIM15 pin: SYS7_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS7, SYS7_TIM16)
+#error Invalid pin assignment for SYS7 TIM16 pin: SYS7_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS7, SYS7_TIM17)
+#error Invalid pin assignment for SYS7 TIM17 pin: SYS7_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS7, SYS7_TIM2)
+#error Invalid pin assignment for SYS7 TIM2 pin: SYS7_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS7, SYS7_TIM3)
+#error Invalid pin assignment for SYS7 TIM3 pin: SYS7_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS7, SYS7_TOUCH)
+#error Invalid pin assignment for SYS7 TOUCH pin: SYS7_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS7, SYS7_TRACECK)
+#error Invalid pin assignment for SYS7 TRACECK pin: SYS7_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS7, SYS7_TRACECLK)
+#error Invalid pin assignment for SYS7 TRACECLK pin: SYS7_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS7, SYS7_TRACED0)
+#error Invalid pin assignment for SYS7 TRACED0 pin: SYS7_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS7, SYS7_TRACED1)
+#error Invalid pin assignment for SYS7 TRACED1 pin: SYS7_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS7, SYS7_TRACED2)
+#error Invalid pin assignment for SYS7 TRACED2 pin: SYS7_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS7, SYS7_TRACED3)
+#error Invalid pin assignment for SYS7 TRACED3 pin: SYS7_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS7, SYS7_USART)
+#error Invalid pin assignment for SYS7 USART pin: SYS7_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS7, SYS7_WKUP)
+#error Invalid pin assignment for SYS7 WKUP pin: SYS7_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS7, SYS7_WKUP1)
+#error Invalid pin assignment for SYS7 WKUP1 pin: SYS7_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS7, SYS7_WKUP2)
+#error Invalid pin assignment for SYS7 WKUP2 pin: SYS7_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS7, SYS7_WKUP3)
+#error Invalid pin assignment for SYS7 WKUP3 pin: SYS7_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS8
+#if !FIND_VALUE_SYS_CAN(_SYS8, SYS8_CAN)
+#error Invalid pin assignment for SYS8 CAN pin: SYS8_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS8, SYS8_COMP)
+#error Invalid pin assignment for SYS8 COMP pin: SYS8_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS8, SYS8_DAC)
+#error Invalid pin assignment for SYS8 DAC pin: SYS8_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS8, SYS8_I2C)
+#error Invalid pin assignment for SYS8 I2C pin: SYS8_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS8, SYS8_JTDI)
+#error Invalid pin assignment for SYS8 JTDI pin: SYS8_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS8, SYS8_JTRST)
+#error Invalid pin assignment for SYS8 JTRST pin: SYS8_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS8, SYS8_NJTRST)
+#error Invalid pin assignment for SYS8 NJTRST pin: SYS8_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS8, SYS8_SLEEP)
+#error Invalid pin assignment for SYS8 SLEEP pin: SYS8_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS8, SYS8_SPI)
+#error Invalid pin assignment for SYS8 SPI pin: SYS8_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS8, SYS8_SWCLK)
+#error Invalid pin assignment for SYS8 SWCLK pin: SYS8_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS8, SYS8_SWDIO)
+#error Invalid pin assignment for SYS8 SWDIO pin: SYS8_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS8, SYS8_SYSTEM)
+#error Invalid pin assignment for SYS8 SYSTEM pin: SYS8_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS8, SYS8_TIM1)
+#error Invalid pin assignment for SYS8 TIM1 pin: SYS8_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS8, SYS8_TIM14)
+#error Invalid pin assignment for SYS8 TIM14 pin: SYS8_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS8, SYS8_TIM15)
+#error Invalid pin assignment for SYS8 TIM15 pin: SYS8_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS8, SYS8_TIM16)
+#error Invalid pin assignment for SYS8 TIM16 pin: SYS8_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS8, SYS8_TIM17)
+#error Invalid pin assignment for SYS8 TIM17 pin: SYS8_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS8, SYS8_TIM2)
+#error Invalid pin assignment for SYS8 TIM2 pin: SYS8_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS8, SYS8_TIM3)
+#error Invalid pin assignment for SYS8 TIM3 pin: SYS8_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS8, SYS8_TOUCH)
+#error Invalid pin assignment for SYS8 TOUCH pin: SYS8_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS8, SYS8_TRACECK)
+#error Invalid pin assignment for SYS8 TRACECK pin: SYS8_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS8, SYS8_TRACECLK)
+#error Invalid pin assignment for SYS8 TRACECLK pin: SYS8_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS8, SYS8_TRACED0)
+#error Invalid pin assignment for SYS8 TRACED0 pin: SYS8_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS8, SYS8_TRACED1)
+#error Invalid pin assignment for SYS8 TRACED1 pin: SYS8_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS8, SYS8_TRACED2)
+#error Invalid pin assignment for SYS8 TRACED2 pin: SYS8_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS8, SYS8_TRACED3)
+#error Invalid pin assignment for SYS8 TRACED3 pin: SYS8_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS8, SYS8_USART)
+#error Invalid pin assignment for SYS8 USART pin: SYS8_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS8, SYS8_WKUP)
+#error Invalid pin assignment for SYS8 WKUP pin: SYS8_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS8, SYS8_WKUP1)
+#error Invalid pin assignment for SYS8 WKUP1 pin: SYS8_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS8, SYS8_WKUP2)
+#error Invalid pin assignment for SYS8 WKUP2 pin: SYS8_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS8, SYS8_WKUP3)
+#error Invalid pin assignment for SYS8 WKUP3 pin: SYS8_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS9
+#if !FIND_VALUE_SYS_CAN(_SYS9, SYS9_CAN)
+#error Invalid pin assignment for SYS9 CAN pin: SYS9_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS9, SYS9_COMP)
+#error Invalid pin assignment for SYS9 COMP pin: SYS9_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS9, SYS9_DAC)
+#error Invalid pin assignment for SYS9 DAC pin: SYS9_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS9, SYS9_I2C)
+#error Invalid pin assignment for SYS9 I2C pin: SYS9_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS9, SYS9_JTDI)
+#error Invalid pin assignment for SYS9 JTDI pin: SYS9_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS9, SYS9_JTRST)
+#error Invalid pin assignment for SYS9 JTRST pin: SYS9_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS9, SYS9_NJTRST)
+#error Invalid pin assignment for SYS9 NJTRST pin: SYS9_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS9, SYS9_SLEEP)
+#error Invalid pin assignment for SYS9 SLEEP pin: SYS9_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS9, SYS9_SPI)
+#error Invalid pin assignment for SYS9 SPI pin: SYS9_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS9, SYS9_SWCLK)
+#error Invalid pin assignment for SYS9 SWCLK pin: SYS9_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS9, SYS9_SWDIO)
+#error Invalid pin assignment for SYS9 SWDIO pin: SYS9_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS9, SYS9_SYSTEM)
+#error Invalid pin assignment for SYS9 SYSTEM pin: SYS9_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS9, SYS9_TIM1)
+#error Invalid pin assignment for SYS9 TIM1 pin: SYS9_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS9, SYS9_TIM14)
+#error Invalid pin assignment for SYS9 TIM14 pin: SYS9_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS9, SYS9_TIM15)
+#error Invalid pin assignment for SYS9 TIM15 pin: SYS9_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS9, SYS9_TIM16)
+#error Invalid pin assignment for SYS9 TIM16 pin: SYS9_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS9, SYS9_TIM17)
+#error Invalid pin assignment for SYS9 TIM17 pin: SYS9_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS9, SYS9_TIM2)
+#error Invalid pin assignment for SYS9 TIM2 pin: SYS9_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS9, SYS9_TIM3)
+#error Invalid pin assignment for SYS9 TIM3 pin: SYS9_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS9, SYS9_TOUCH)
+#error Invalid pin assignment for SYS9 TOUCH pin: SYS9_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS9, SYS9_TRACECK)
+#error Invalid pin assignment for SYS9 TRACECK pin: SYS9_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS9, SYS9_TRACECLK)
+#error Invalid pin assignment for SYS9 TRACECLK pin: SYS9_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS9, SYS9_TRACED0)
+#error Invalid pin assignment for SYS9 TRACED0 pin: SYS9_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS9, SYS9_TRACED1)
+#error Invalid pin assignment for SYS9 TRACED1 pin: SYS9_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS9, SYS9_TRACED2)
+#error Invalid pin assignment for SYS9 TRACED2 pin: SYS9_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS9, SYS9_TRACED3)
+#error Invalid pin assignment for SYS9 TRACED3 pin: SYS9_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS9, SYS9_USART)
+#error Invalid pin assignment for SYS9 USART pin: SYS9_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS9, SYS9_WKUP)
+#error Invalid pin assignment for SYS9 WKUP pin: SYS9_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS9, SYS9_WKUP1)
+#error Invalid pin assignment for SYS9 WKUP1 pin: SYS9_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS9, SYS9_WKUP2)
+#error Invalid pin assignment for SYS9 WKUP2 pin: SYS9_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS9, SYS9_WKUP3)
+#error Invalid pin assignment for SYS9 WKUP3 pin: SYS9_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS10
+#if !FIND_VALUE_SYS_CAN(_SYS10, SYS10_CAN)
+#error Invalid pin assignment for SYS10 CAN pin: SYS10_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS10, SYS10_COMP)
+#error Invalid pin assignment for SYS10 COMP pin: SYS10_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS10, SYS10_DAC)
+#error Invalid pin assignment for SYS10 DAC pin: SYS10_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS10, SYS10_I2C)
+#error Invalid pin assignment for SYS10 I2C pin: SYS10_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS10, SYS10_JTDI)
+#error Invalid pin assignment for SYS10 JTDI pin: SYS10_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS10, SYS10_JTRST)
+#error Invalid pin assignment for SYS10 JTRST pin: SYS10_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS10, SYS10_NJTRST)
+#error Invalid pin assignment for SYS10 NJTRST pin: SYS10_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS10, SYS10_SLEEP)
+#error Invalid pin assignment for SYS10 SLEEP pin: SYS10_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS10, SYS10_SPI)
+#error Invalid pin assignment for SYS10 SPI pin: SYS10_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS10, SYS10_SWCLK)
+#error Invalid pin assignment for SYS10 SWCLK pin: SYS10_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS10, SYS10_SWDIO)
+#error Invalid pin assignment for SYS10 SWDIO pin: SYS10_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS10, SYS10_SYSTEM)
+#error Invalid pin assignment for SYS10 SYSTEM pin: SYS10_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS10, SYS10_TIM1)
+#error Invalid pin assignment for SYS10 TIM1 pin: SYS10_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS10, SYS10_TIM14)
+#error Invalid pin assignment for SYS10 TIM14 pin: SYS10_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS10, SYS10_TIM15)
+#error Invalid pin assignment for SYS10 TIM15 pin: SYS10_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS10, SYS10_TIM16)
+#error Invalid pin assignment for SYS10 TIM16 pin: SYS10_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS10, SYS10_TIM17)
+#error Invalid pin assignment for SYS10 TIM17 pin: SYS10_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS10, SYS10_TIM2)
+#error Invalid pin assignment for SYS10 TIM2 pin: SYS10_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS10, SYS10_TIM3)
+#error Invalid pin assignment for SYS10 TIM3 pin: SYS10_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS10, SYS10_TOUCH)
+#error Invalid pin assignment for SYS10 TOUCH pin: SYS10_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS10, SYS10_TRACECK)
+#error Invalid pin assignment for SYS10 TRACECK pin: SYS10_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS10, SYS10_TRACECLK)
+#error Invalid pin assignment for SYS10 TRACECLK pin: SYS10_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS10, SYS10_TRACED0)
+#error Invalid pin assignment for SYS10 TRACED0 pin: SYS10_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS10, SYS10_TRACED1)
+#error Invalid pin assignment for SYS10 TRACED1 pin: SYS10_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS10, SYS10_TRACED2)
+#error Invalid pin assignment for SYS10 TRACED2 pin: SYS10_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS10, SYS10_TRACED3)
+#error Invalid pin assignment for SYS10 TRACED3 pin: SYS10_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS10, SYS10_USART)
+#error Invalid pin assignment for SYS10 USART pin: SYS10_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS10, SYS10_WKUP)
+#error Invalid pin assignment for SYS10 WKUP pin: SYS10_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS10, SYS10_WKUP1)
+#error Invalid pin assignment for SYS10 WKUP1 pin: SYS10_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS10, SYS10_WKUP2)
+#error Invalid pin assignment for SYS10 WKUP2 pin: SYS10_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS10, SYS10_WKUP3)
+#error Invalid pin assignment for SYS10 WKUP3 pin: SYS10_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS11
+#if !FIND_VALUE_SYS_CAN(_SYS11, SYS11_CAN)
+#error Invalid pin assignment for SYS11 CAN pin: SYS11_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS11, SYS11_COMP)
+#error Invalid pin assignment for SYS11 COMP pin: SYS11_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS11, SYS11_DAC)
+#error Invalid pin assignment for SYS11 DAC pin: SYS11_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS11, SYS11_I2C)
+#error Invalid pin assignment for SYS11 I2C pin: SYS11_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS11, SYS11_JTDI)
+#error Invalid pin assignment for SYS11 JTDI pin: SYS11_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS11, SYS11_JTRST)
+#error Invalid pin assignment for SYS11 JTRST pin: SYS11_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS11, SYS11_NJTRST)
+#error Invalid pin assignment for SYS11 NJTRST pin: SYS11_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS11, SYS11_SLEEP)
+#error Invalid pin assignment for SYS11 SLEEP pin: SYS11_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS11, SYS11_SPI)
+#error Invalid pin assignment for SYS11 SPI pin: SYS11_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS11, SYS11_SWCLK)
+#error Invalid pin assignment for SYS11 SWCLK pin: SYS11_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS11, SYS11_SWDIO)
+#error Invalid pin assignment for SYS11 SWDIO pin: SYS11_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS11, SYS11_SYSTEM)
+#error Invalid pin assignment for SYS11 SYSTEM pin: SYS11_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS11, SYS11_TIM1)
+#error Invalid pin assignment for SYS11 TIM1 pin: SYS11_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS11, SYS11_TIM14)
+#error Invalid pin assignment for SYS11 TIM14 pin: SYS11_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS11, SYS11_TIM15)
+#error Invalid pin assignment for SYS11 TIM15 pin: SYS11_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS11, SYS11_TIM16)
+#error Invalid pin assignment for SYS11 TIM16 pin: SYS11_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS11, SYS11_TIM17)
+#error Invalid pin assignment for SYS11 TIM17 pin: SYS11_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS11, SYS11_TIM2)
+#error Invalid pin assignment for SYS11 TIM2 pin: SYS11_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS11, SYS11_TIM3)
+#error Invalid pin assignment for SYS11 TIM3 pin: SYS11_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS11, SYS11_TOUCH)
+#error Invalid pin assignment for SYS11 TOUCH pin: SYS11_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS11, SYS11_TRACECK)
+#error Invalid pin assignment for SYS11 TRACECK pin: SYS11_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS11, SYS11_TRACECLK)
+#error Invalid pin assignment for SYS11 TRACECLK pin: SYS11_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS11, SYS11_TRACED0)
+#error Invalid pin assignment for SYS11 TRACED0 pin: SYS11_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS11, SYS11_TRACED1)
+#error Invalid pin assignment for SYS11 TRACED1 pin: SYS11_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS11, SYS11_TRACED2)
+#error Invalid pin assignment for SYS11 TRACED2 pin: SYS11_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS11, SYS11_TRACED3)
+#error Invalid pin assignment for SYS11 TRACED3 pin: SYS11_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS11, SYS11_USART)
+#error Invalid pin assignment for SYS11 USART pin: SYS11_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS11, SYS11_WKUP)
+#error Invalid pin assignment for SYS11 WKUP pin: SYS11_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS11, SYS11_WKUP1)
+#error Invalid pin assignment for SYS11 WKUP1 pin: SYS11_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS11, SYS11_WKUP2)
+#error Invalid pin assignment for SYS11 WKUP2 pin: SYS11_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS11, SYS11_WKUP3)
+#error Invalid pin assignment for SYS11 WKUP3 pin: SYS11_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS12
+#if !FIND_VALUE_SYS_CAN(_SYS12, SYS12_CAN)
+#error Invalid pin assignment for SYS12 CAN pin: SYS12_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS12, SYS12_COMP)
+#error Invalid pin assignment for SYS12 COMP pin: SYS12_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS12, SYS12_DAC)
+#error Invalid pin assignment for SYS12 DAC pin: SYS12_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS12, SYS12_I2C)
+#error Invalid pin assignment for SYS12 I2C pin: SYS12_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS12, SYS12_JTDI)
+#error Invalid pin assignment for SYS12 JTDI pin: SYS12_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS12, SYS12_JTRST)
+#error Invalid pin assignment for SYS12 JTRST pin: SYS12_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS12, SYS12_NJTRST)
+#error Invalid pin assignment for SYS12 NJTRST pin: SYS12_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS12, SYS12_SLEEP)
+#error Invalid pin assignment for SYS12 SLEEP pin: SYS12_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS12, SYS12_SPI)
+#error Invalid pin assignment for SYS12 SPI pin: SYS12_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS12, SYS12_SWCLK)
+#error Invalid pin assignment for SYS12 SWCLK pin: SYS12_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS12, SYS12_SWDIO)
+#error Invalid pin assignment for SYS12 SWDIO pin: SYS12_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS12, SYS12_SYSTEM)
+#error Invalid pin assignment for SYS12 SYSTEM pin: SYS12_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS12, SYS12_TIM1)
+#error Invalid pin assignment for SYS12 TIM1 pin: SYS12_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS12, SYS12_TIM14)
+#error Invalid pin assignment for SYS12 TIM14 pin: SYS12_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS12, SYS12_TIM15)
+#error Invalid pin assignment for SYS12 TIM15 pin: SYS12_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS12, SYS12_TIM16)
+#error Invalid pin assignment for SYS12 TIM16 pin: SYS12_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS12, SYS12_TIM17)
+#error Invalid pin assignment for SYS12 TIM17 pin: SYS12_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS12, SYS12_TIM2)
+#error Invalid pin assignment for SYS12 TIM2 pin: SYS12_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS12, SYS12_TIM3)
+#error Invalid pin assignment for SYS12 TIM3 pin: SYS12_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS12, SYS12_TOUCH)
+#error Invalid pin assignment for SYS12 TOUCH pin: SYS12_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS12, SYS12_TRACECK)
+#error Invalid pin assignment for SYS12 TRACECK pin: SYS12_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS12, SYS12_TRACECLK)
+#error Invalid pin assignment for SYS12 TRACECLK pin: SYS12_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS12, SYS12_TRACED0)
+#error Invalid pin assignment for SYS12 TRACED0 pin: SYS12_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS12, SYS12_TRACED1)
+#error Invalid pin assignment for SYS12 TRACED1 pin: SYS12_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS12, SYS12_TRACED2)
+#error Invalid pin assignment for SYS12 TRACED2 pin: SYS12_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS12, SYS12_TRACED3)
+#error Invalid pin assignment for SYS12 TRACED3 pin: SYS12_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS12, SYS12_USART)
+#error Invalid pin assignment for SYS12 USART pin: SYS12_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS12, SYS12_WKUP)
+#error Invalid pin assignment for SYS12 WKUP pin: SYS12_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS12, SYS12_WKUP1)
+#error Invalid pin assignment for SYS12 WKUP1 pin: SYS12_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS12, SYS12_WKUP2)
+#error Invalid pin assignment for SYS12 WKUP2 pin: SYS12_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS12, SYS12_WKUP3)
+#error Invalid pin assignment for SYS12 WKUP3 pin: SYS12_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS13
+#if !FIND_VALUE_SYS_CAN(_SYS13, SYS13_CAN)
+#error Invalid pin assignment for SYS13 CAN pin: SYS13_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS13, SYS13_COMP)
+#error Invalid pin assignment for SYS13 COMP pin: SYS13_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS13, SYS13_DAC)
+#error Invalid pin assignment for SYS13 DAC pin: SYS13_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS13, SYS13_I2C)
+#error Invalid pin assignment for SYS13 I2C pin: SYS13_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS13, SYS13_JTDI)
+#error Invalid pin assignment for SYS13 JTDI pin: SYS13_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS13, SYS13_JTRST)
+#error Invalid pin assignment for SYS13 JTRST pin: SYS13_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS13, SYS13_NJTRST)
+#error Invalid pin assignment for SYS13 NJTRST pin: SYS13_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS13, SYS13_SLEEP)
+#error Invalid pin assignment for SYS13 SLEEP pin: SYS13_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS13, SYS13_SPI)
+#error Invalid pin assignment for SYS13 SPI pin: SYS13_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS13, SYS13_SWCLK)
+#error Invalid pin assignment for SYS13 SWCLK pin: SYS13_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS13, SYS13_SWDIO)
+#error Invalid pin assignment for SYS13 SWDIO pin: SYS13_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS13, SYS13_SYSTEM)
+#error Invalid pin assignment for SYS13 SYSTEM pin: SYS13_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS13, SYS13_TIM1)
+#error Invalid pin assignment for SYS13 TIM1 pin: SYS13_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS13, SYS13_TIM14)
+#error Invalid pin assignment for SYS13 TIM14 pin: SYS13_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS13, SYS13_TIM15)
+#error Invalid pin assignment for SYS13 TIM15 pin: SYS13_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS13, SYS13_TIM16)
+#error Invalid pin assignment for SYS13 TIM16 pin: SYS13_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS13, SYS13_TIM17)
+#error Invalid pin assignment for SYS13 TIM17 pin: SYS13_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS13, SYS13_TIM2)
+#error Invalid pin assignment for SYS13 TIM2 pin: SYS13_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS13, SYS13_TIM3)
+#error Invalid pin assignment for SYS13 TIM3 pin: SYS13_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS13, SYS13_TOUCH)
+#error Invalid pin assignment for SYS13 TOUCH pin: SYS13_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS13, SYS13_TRACECK)
+#error Invalid pin assignment for SYS13 TRACECK pin: SYS13_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS13, SYS13_TRACECLK)
+#error Invalid pin assignment for SYS13 TRACECLK pin: SYS13_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS13, SYS13_TRACED0)
+#error Invalid pin assignment for SYS13 TRACED0 pin: SYS13_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS13, SYS13_TRACED1)
+#error Invalid pin assignment for SYS13 TRACED1 pin: SYS13_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS13, SYS13_TRACED2)
+#error Invalid pin assignment for SYS13 TRACED2 pin: SYS13_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS13, SYS13_TRACED3)
+#error Invalid pin assignment for SYS13 TRACED3 pin: SYS13_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS13, SYS13_USART)
+#error Invalid pin assignment for SYS13 USART pin: SYS13_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS13, SYS13_WKUP)
+#error Invalid pin assignment for SYS13 WKUP pin: SYS13_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS13, SYS13_WKUP1)
+#error Invalid pin assignment for SYS13 WKUP1 pin: SYS13_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS13, SYS13_WKUP2)
+#error Invalid pin assignment for SYS13 WKUP2 pin: SYS13_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS13, SYS13_WKUP3)
+#error Invalid pin assignment for SYS13 WKUP3 pin: SYS13_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS14
+#if !FIND_VALUE_SYS_CAN(_SYS14, SYS14_CAN)
+#error Invalid pin assignment for SYS14 CAN pin: SYS14_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS14, SYS14_COMP)
+#error Invalid pin assignment for SYS14 COMP pin: SYS14_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS14, SYS14_DAC)
+#error Invalid pin assignment for SYS14 DAC pin: SYS14_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS14, SYS14_I2C)
+#error Invalid pin assignment for SYS14 I2C pin: SYS14_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS14, SYS14_JTDI)
+#error Invalid pin assignment for SYS14 JTDI pin: SYS14_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS14, SYS14_JTRST)
+#error Invalid pin assignment for SYS14 JTRST pin: SYS14_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS14, SYS14_NJTRST)
+#error Invalid pin assignment for SYS14 NJTRST pin: SYS14_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS14, SYS14_SLEEP)
+#error Invalid pin assignment for SYS14 SLEEP pin: SYS14_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS14, SYS14_SPI)
+#error Invalid pin assignment for SYS14 SPI pin: SYS14_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS14, SYS14_SWCLK)
+#error Invalid pin assignment for SYS14 SWCLK pin: SYS14_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS14, SYS14_SWDIO)
+#error Invalid pin assignment for SYS14 SWDIO pin: SYS14_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS14, SYS14_SYSTEM)
+#error Invalid pin assignment for SYS14 SYSTEM pin: SYS14_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS14, SYS14_TIM1)
+#error Invalid pin assignment for SYS14 TIM1 pin: SYS14_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS14, SYS14_TIM14)
+#error Invalid pin assignment for SYS14 TIM14 pin: SYS14_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS14, SYS14_TIM15)
+#error Invalid pin assignment for SYS14 TIM15 pin: SYS14_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS14, SYS14_TIM16)
+#error Invalid pin assignment for SYS14 TIM16 pin: SYS14_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS14, SYS14_TIM17)
+#error Invalid pin assignment for SYS14 TIM17 pin: SYS14_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS14, SYS14_TIM2)
+#error Invalid pin assignment for SYS14 TIM2 pin: SYS14_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS14, SYS14_TIM3)
+#error Invalid pin assignment for SYS14 TIM3 pin: SYS14_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS14, SYS14_TOUCH)
+#error Invalid pin assignment for SYS14 TOUCH pin: SYS14_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS14, SYS14_TRACECK)
+#error Invalid pin assignment for SYS14 TRACECK pin: SYS14_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS14, SYS14_TRACECLK)
+#error Invalid pin assignment for SYS14 TRACECLK pin: SYS14_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS14, SYS14_TRACED0)
+#error Invalid pin assignment for SYS14 TRACED0 pin: SYS14_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS14, SYS14_TRACED1)
+#error Invalid pin assignment for SYS14 TRACED1 pin: SYS14_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS14, SYS14_TRACED2)
+#error Invalid pin assignment for SYS14 TRACED2 pin: SYS14_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS14, SYS14_TRACED3)
+#error Invalid pin assignment for SYS14 TRACED3 pin: SYS14_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS14, SYS14_USART)
+#error Invalid pin assignment for SYS14 USART pin: SYS14_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS14, SYS14_WKUP)
+#error Invalid pin assignment for SYS14 WKUP pin: SYS14_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS14, SYS14_WKUP1)
+#error Invalid pin assignment for SYS14 WKUP1 pin: SYS14_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS14, SYS14_WKUP2)
+#error Invalid pin assignment for SYS14 WKUP2 pin: SYS14_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS14, SYS14_WKUP3)
+#error Invalid pin assignment for SYS14 WKUP3 pin: SYS14_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS15
+#if !FIND_VALUE_SYS_CAN(_SYS15, SYS15_CAN)
+#error Invalid pin assignment for SYS15 CAN pin: SYS15_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS15, SYS15_COMP)
+#error Invalid pin assignment for SYS15 COMP pin: SYS15_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS15, SYS15_DAC)
+#error Invalid pin assignment for SYS15 DAC pin: SYS15_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS15, SYS15_I2C)
+#error Invalid pin assignment for SYS15 I2C pin: SYS15_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS15, SYS15_JTDI)
+#error Invalid pin assignment for SYS15 JTDI pin: SYS15_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS15, SYS15_JTRST)
+#error Invalid pin assignment for SYS15 JTRST pin: SYS15_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS15, SYS15_NJTRST)
+#error Invalid pin assignment for SYS15 NJTRST pin: SYS15_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS15, SYS15_SLEEP)
+#error Invalid pin assignment for SYS15 SLEEP pin: SYS15_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS15, SYS15_SPI)
+#error Invalid pin assignment for SYS15 SPI pin: SYS15_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS15, SYS15_SWCLK)
+#error Invalid pin assignment for SYS15 SWCLK pin: SYS15_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS15, SYS15_SWDIO)
+#error Invalid pin assignment for SYS15 SWDIO pin: SYS15_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS15, SYS15_SYSTEM)
+#error Invalid pin assignment for SYS15 SYSTEM pin: SYS15_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS15, SYS15_TIM1)
+#error Invalid pin assignment for SYS15 TIM1 pin: SYS15_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS15, SYS15_TIM14)
+#error Invalid pin assignment for SYS15 TIM14 pin: SYS15_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS15, SYS15_TIM15)
+#error Invalid pin assignment for SYS15 TIM15 pin: SYS15_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS15, SYS15_TIM16)
+#error Invalid pin assignment for SYS15 TIM16 pin: SYS15_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS15, SYS15_TIM17)
+#error Invalid pin assignment for SYS15 TIM17 pin: SYS15_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS15, SYS15_TIM2)
+#error Invalid pin assignment for SYS15 TIM2 pin: SYS15_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS15, SYS15_TIM3)
+#error Invalid pin assignment for SYS15 TIM3 pin: SYS15_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS15, SYS15_TOUCH)
+#error Invalid pin assignment for SYS15 TOUCH pin: SYS15_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS15, SYS15_TRACECK)
+#error Invalid pin assignment for SYS15 TRACECK pin: SYS15_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS15, SYS15_TRACECLK)
+#error Invalid pin assignment for SYS15 TRACECLK pin: SYS15_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS15, SYS15_TRACED0)
+#error Invalid pin assignment for SYS15 TRACED0 pin: SYS15_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS15, SYS15_TRACED1)
+#error Invalid pin assignment for SYS15 TRACED1 pin: SYS15_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS15, SYS15_TRACED2)
+#error Invalid pin assignment for SYS15 TRACED2 pin: SYS15_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS15, SYS15_TRACED3)
+#error Invalid pin assignment for SYS15 TRACED3 pin: SYS15_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS15, SYS15_USART)
+#error Invalid pin assignment for SYS15 USART pin: SYS15_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS15, SYS15_WKUP)
+#error Invalid pin assignment for SYS15 WKUP pin: SYS15_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS15, SYS15_WKUP1)
+#error Invalid pin assignment for SYS15 WKUP1 pin: SYS15_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS15, SYS15_WKUP2)
+#error Invalid pin assignment for SYS15 WKUP2 pin: SYS15_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS15, SYS15_WKUP3)
+#error Invalid pin assignment for SYS15 WKUP3 pin: SYS15_WKUP3
+#endif
+#endif
+
+#ifdef USE_SYS16
+#if !FIND_VALUE_SYS_CAN(_SYS16, SYS16_CAN)
+#error Invalid pin assignment for SYS16 CAN pin: SYS16_CAN
+#endif
+#if !FIND_VALUE_SYS_COMP(_SYS16, SYS16_COMP)
+#error Invalid pin assignment for SYS16 COMP pin: SYS16_COMP
+#endif
+#if !FIND_VALUE_SYS_DAC(_SYS16, SYS16_DAC)
+#error Invalid pin assignment for SYS16 DAC pin: SYS16_DAC
+#endif
+#if !FIND_VALUE_SYS_I2C(_SYS16, SYS16_I2C)
+#error Invalid pin assignment for SYS16 I2C pin: SYS16_I2C
+#endif
+#if !FIND_VALUE_SYS_JTDI(_SYS16, SYS16_JTDI)
+#error Invalid pin assignment for SYS16 JTDI pin: SYS16_JTDI
+#endif
+#if !FIND_VALUE_SYS_JTRST(_SYS16, SYS16_JTRST)
+#error Invalid pin assignment for SYS16 JTRST pin: SYS16_JTRST
+#endif
+#if !FIND_VALUE_SYS_NJTRST(_SYS16, SYS16_NJTRST)
+#error Invalid pin assignment for SYS16 NJTRST pin: SYS16_NJTRST
+#endif
+#if !FIND_VALUE_SYS_SLEEP(_SYS16, SYS16_SLEEP)
+#error Invalid pin assignment for SYS16 SLEEP pin: SYS16_SLEEP
+#endif
+#if !FIND_VALUE_SYS_SPI(_SYS16, SYS16_SPI)
+#error Invalid pin assignment for SYS16 SPI pin: SYS16_SPI
+#endif
+#if !FIND_VALUE_SYS_SWCLK(_SYS16, SYS16_SWCLK)
+#error Invalid pin assignment for SYS16 SWCLK pin: SYS16_SWCLK
+#endif
+#if !FIND_VALUE_SYS_SWDIO(_SYS16, SYS16_SWDIO)
+#error Invalid pin assignment for SYS16 SWDIO pin: SYS16_SWDIO
+#endif
+#if !FIND_VALUE_SYS_SYSTEM(_SYS16, SYS16_SYSTEM)
+#error Invalid pin assignment for SYS16 SYSTEM pin: SYS16_SYSTEM
+#endif
+#if !FIND_VALUE_SYS_TIM1(_SYS16, SYS16_TIM1)
+#error Invalid pin assignment for SYS16 TIM1 pin: SYS16_TIM1
+#endif
+#if !FIND_VALUE_SYS_TIM14(_SYS16, SYS16_TIM14)
+#error Invalid pin assignment for SYS16 TIM14 pin: SYS16_TIM14
+#endif
+#if !FIND_VALUE_SYS_TIM15(_SYS16, SYS16_TIM15)
+#error Invalid pin assignment for SYS16 TIM15 pin: SYS16_TIM15
+#endif
+#if !FIND_VALUE_SYS_TIM16(_SYS16, SYS16_TIM16)
+#error Invalid pin assignment for SYS16 TIM16 pin: SYS16_TIM16
+#endif
+#if !FIND_VALUE_SYS_TIM17(_SYS16, SYS16_TIM17)
+#error Invalid pin assignment for SYS16 TIM17 pin: SYS16_TIM17
+#endif
+#if !FIND_VALUE_SYS_TIM2(_SYS16, SYS16_TIM2)
+#error Invalid pin assignment for SYS16 TIM2 pin: SYS16_TIM2
+#endif
+#if !FIND_VALUE_SYS_TIM3(_SYS16, SYS16_TIM3)
+#error Invalid pin assignment for SYS16 TIM3 pin: SYS16_TIM3
+#endif
+#if !FIND_VALUE_SYS_TOUCH(_SYS16, SYS16_TOUCH)
+#error Invalid pin assignment for SYS16 TOUCH pin: SYS16_TOUCH
+#endif
+#if !FIND_VALUE_SYS_TRACECK(_SYS16, SYS16_TRACECK)
+#error Invalid pin assignment for SYS16 TRACECK pin: SYS16_TRACECK
+#endif
+#if !FIND_VALUE_SYS_TRACECLK(_SYS16, SYS16_TRACECLK)
+#error Invalid pin assignment for SYS16 TRACECLK pin: SYS16_TRACECLK
+#endif
+#if !FIND_VALUE_SYS_TRACED0(_SYS16, SYS16_TRACED0)
+#error Invalid pin assignment for SYS16 TRACED0 pin: SYS16_TRACED0
+#endif
+#if !FIND_VALUE_SYS_TRACED1(_SYS16, SYS16_TRACED1)
+#error Invalid pin assignment for SYS16 TRACED1 pin: SYS16_TRACED1
+#endif
+#if !FIND_VALUE_SYS_TRACED2(_SYS16, SYS16_TRACED2)
+#error Invalid pin assignment for SYS16 TRACED2 pin: SYS16_TRACED2
+#endif
+#if !FIND_VALUE_SYS_TRACED3(_SYS16, SYS16_TRACED3)
+#error Invalid pin assignment for SYS16 TRACED3 pin: SYS16_TRACED3
+#endif
+#if !FIND_VALUE_SYS_USART(_SYS16, SYS16_USART)
+#error Invalid pin assignment for SYS16 USART pin: SYS16_USART
+#endif
+#if !FIND_VALUE_SYS_WKUP(_SYS16, SYS16_WKUP)
+#error Invalid pin assignment for SYS16 WKUP pin: SYS16_WKUP
+#endif
+#if !FIND_VALUE_SYS_WKUP1(_SYS16, SYS16_WKUP1)
+#error Invalid pin assignment for SYS16 WKUP1 pin: SYS16_WKUP1
+#endif
+#if !FIND_VALUE_SYS_WKUP2(_SYS16, SYS16_WKUP2)
+#error Invalid pin assignment for SYS16 WKUP2 pin: SYS16_WKUP2
+#endif
+#if !FIND_VALUE_SYS_WKUP3(_SYS16, SYS16_WKUP3)
+#error Invalid pin assignment for SYS16 WKUP3 pin: SYS16_WKUP3
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_ir.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_ir.h
new file mode 100644
index 000000000..79abe5d3b
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_ir.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404953
+ */
+
+#define FIND_VALUE_SYS_IR_Out_inner(INDEX,PIN) I2C##_SYS_IR_##PIN
+#define FIND_VALUE_SYS_IR_Out(INDEX,PIN) FIND_VALUE_SYS_IR_Out_inner(INDEX,PIN)
+
+#ifdef USE_SYS_IR0
+#if !FIND_VALUE_SYS_IR_Out(_SYS_IR0, SYS_IR0_Out)
+#error Invalid pin assignment for SYS_IR0 Out pin: SYS_IR0_Out
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtck.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtck.h
new file mode 100644
index 000000000..a20da7140
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtck.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404966
+ */
+
+#define FIND_VALUE_SYS_JTCK_SWCLK_inner(INDEX,PIN) I2C##_SYS_JTCK_##PIN
+#define FIND_VALUE_SYS_JTCK_SWCLK(INDEX,PIN) FIND_VALUE_SYS_JTCK_SWCLK_inner(INDEX,PIN)
+
+#ifdef USE_SYS_JTCK0
+#if !FIND_VALUE_SYS_JTCK_SWCLK(_SYS_JTCK0, SYS_JTCK0_SWCLK)
+#error Invalid pin assignment for SYS_JTCK0 SWCLK pin: SYS_JTCK0_SWCLK
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtdo.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtdo.h
new file mode 100644
index 000000000..85723f83e
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtdo.h
@@ -0,0 +1,20 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404978
+ */
+
+#define FIND_VALUE_SYS_JTDO_SWO_inner(INDEX,PIN) I2C##_SYS_JTDO_##PIN
+#define FIND_VALUE_SYS_JTDO_SWO(INDEX,PIN) FIND_VALUE_SYS_JTDO_SWO_inner(INDEX,PIN)
+
+#define FIND_VALUE_SYS_JTDO_TRACESWO_inner(INDEX,PIN) I2C##_SYS_JTDO_##PIN
+#define FIND_VALUE_SYS_JTDO_TRACESWO(INDEX,PIN) FIND_VALUE_SYS_JTDO_TRACESWO_inner(INDEX,PIN)
+
+#ifdef USE_SYS_JTDO0
+#if !FIND_VALUE_SYS_JTDO_SWO(_SYS_JTDO0, SYS_JTDO0_SWO)
+#error Invalid pin assignment for SYS_JTDO0 SWO pin: SYS_JTDO0_SWO
+#endif
+#if !FIND_VALUE_SYS_JTDO_TRACESWO(_SYS_JTDO0, SYS_JTDO0_TRACESWO)
+#error Invalid pin assignment for SYS_JTDO0 TRACESWO pin: SYS_JTDO0_TRACESWO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtms.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtms.h
new file mode 100644
index 000000000..707ebd4ec
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_jtms.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.404992
+ */
+
+#define FIND_VALUE_SYS_JTMS_SWDIO_inner(INDEX,PIN) I2C##_SYS_JTMS_##PIN
+#define FIND_VALUE_SYS_JTMS_SWDIO(INDEX,PIN) FIND_VALUE_SYS_JTMS_SWDIO_inner(INDEX,PIN)
+
+#ifdef USE_SYS_JTMS0
+#if !FIND_VALUE_SYS_JTMS_SWDIO(_SYS_JTMS0, SYS_JTMS0_SWDIO)
+#error Invalid pin assignment for SYS_JTMS0 SWDIO pin: SYS_JTMS0_SWDIO
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_pvd.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_pvd.h
new file mode 100644
index 000000000..0739f29cf
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_pvd.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405005
+ */
+
+#define FIND_VALUE_SYS_PVD_IN_inner(INDEX,PIN) I2C##_SYS_PVD_##PIN
+#define FIND_VALUE_SYS_PVD_IN(INDEX,PIN) FIND_VALUE_SYS_PVD_IN_inner(INDEX,PIN)
+
+#ifdef USE_SYS_PVD0
+#if !FIND_VALUE_SYS_PVD_IN(_SYS_PVD0, SYS_PVD0_IN)
+#error Invalid pin assignment for SYS_PVD0 IN pin: SYS_PVD0_IN
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_v_ref.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_v_ref.h
new file mode 100644
index 000000000..56ffdb64d
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_sys_v_ref.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405018
+ */
+
+#define FIND_VALUE_SYS_V_REF_OUT_inner(INDEX,PIN) I2C##_SYS_V_REF_##PIN
+#define FIND_VALUE_SYS_V_REF_OUT(INDEX,PIN) FIND_VALUE_SYS_V_REF_OUT_inner(INDEX,PIN)
+
+#ifdef USE_SYS_V_REF0
+#if !FIND_VALUE_SYS_V_REF_OUT(_SYS_V_REF0, SYS_V_REF0_OUT)
+#error Invalid pin assignment for SYS_V_REF0 OUT pin: SYS_V_REF0_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tim.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tim.h
new file mode 100644
index 000000000..9636737e3
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tim.h
@@ -0,0 +1,1352 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405031
+ */
+
+#define FIND_VALUE_TIM_BK_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BK(INDEX,PIN) FIND_VALUE_TIM_BK_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BK2_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BK2(INDEX,PIN) FIND_VALUE_TIM_BK2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN(INDEX,PIN) FIND_VALUE_TIM_BKIN_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN2_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN2(INDEX,PIN) FIND_VALUE_TIM_BKIN2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN2_COMP1_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN2_COMP1(INDEX,PIN) FIND_VALUE_TIM_BKIN2_COMP1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN2_COMP2_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN2_COMP2(INDEX,PIN) FIND_VALUE_TIM_BKIN2_COMP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN_COMP1_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN_COMP1(INDEX,PIN) FIND_VALUE_TIM_BKIN_COMP1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_BKIN_COMP2_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_BKIN_COMP2(INDEX,PIN) FIND_VALUE_TIM_BKIN_COMP2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH1_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH1(INDEX,PIN) FIND_VALUE_TIM_CH1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH1N_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH1N(INDEX,PIN) FIND_VALUE_TIM_CH1N_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH2_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH2(INDEX,PIN) FIND_VALUE_TIM_CH2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH2N_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH2N(INDEX,PIN) FIND_VALUE_TIM_CH2N_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH3_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH3(INDEX,PIN) FIND_VALUE_TIM_CH3_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH3N_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH3N(INDEX,PIN) FIND_VALUE_TIM_CH3N_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH4_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH4(INDEX,PIN) FIND_VALUE_TIM_CH4_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_CH4N_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_CH4N(INDEX,PIN) FIND_VALUE_TIM_CH4N_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIM_ETR_inner(INDEX,PIN) I2C##_TIM_##PIN
+#define FIND_VALUE_TIM_ETR(INDEX,PIN) FIND_VALUE_TIM_ETR_inner(INDEX,PIN)
+
+#ifdef USE_TIM0
+#if !FIND_VALUE_TIM_BK(_TIM0, TIM0_BK)
+#error Invalid pin assignment for TIM0 BK pin: TIM0_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM0, TIM0_BK2)
+#error Invalid pin assignment for TIM0 BK2 pin: TIM0_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM0, TIM0_BKIN)
+#error Invalid pin assignment for TIM0 BKIN pin: TIM0_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM0, TIM0_BKIN2)
+#error Invalid pin assignment for TIM0 BKIN2 pin: TIM0_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM0, TIM0_BKIN2_COMP1)
+#error Invalid pin assignment for TIM0 BKIN2_COMP1 pin: TIM0_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM0, TIM0_BKIN2_COMP2)
+#error Invalid pin assignment for TIM0 BKIN2_COMP2 pin: TIM0_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM0, TIM0_BKIN_COMP1)
+#error Invalid pin assignment for TIM0 BKIN_COMP1 pin: TIM0_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM0, TIM0_BKIN_COMP2)
+#error Invalid pin assignment for TIM0 BKIN_COMP2 pin: TIM0_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM0, TIM0_CH1)
+#error Invalid pin assignment for TIM0 CH1 pin: TIM0_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM0, TIM0_CH1N)
+#error Invalid pin assignment for TIM0 CH1N pin: TIM0_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM0, TIM0_CH2)
+#error Invalid pin assignment for TIM0 CH2 pin: TIM0_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM0, TIM0_CH2N)
+#error Invalid pin assignment for TIM0 CH2N pin: TIM0_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM0, TIM0_CH3)
+#error Invalid pin assignment for TIM0 CH3 pin: TIM0_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM0, TIM0_CH3N)
+#error Invalid pin assignment for TIM0 CH3N pin: TIM0_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM0, TIM0_CH4)
+#error Invalid pin assignment for TIM0 CH4 pin: TIM0_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM0, TIM0_CH4N)
+#error Invalid pin assignment for TIM0 CH4N pin: TIM0_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM0, TIM0_ETR)
+#error Invalid pin assignment for TIM0 ETR pin: TIM0_ETR
+#endif
+#endif
+
+#ifdef USE_TIM1
+#if !FIND_VALUE_TIM_BK(_TIM1, TIM1_BK)
+#error Invalid pin assignment for TIM1 BK pin: TIM1_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM1, TIM1_BK2)
+#error Invalid pin assignment for TIM1 BK2 pin: TIM1_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM1, TIM1_BKIN)
+#error Invalid pin assignment for TIM1 BKIN pin: TIM1_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM1, TIM1_BKIN2)
+#error Invalid pin assignment for TIM1 BKIN2 pin: TIM1_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM1, TIM1_BKIN2_COMP1)
+#error Invalid pin assignment for TIM1 BKIN2_COMP1 pin: TIM1_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM1, TIM1_BKIN2_COMP2)
+#error Invalid pin assignment for TIM1 BKIN2_COMP2 pin: TIM1_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM1, TIM1_BKIN_COMP1)
+#error Invalid pin assignment for TIM1 BKIN_COMP1 pin: TIM1_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM1, TIM1_BKIN_COMP2)
+#error Invalid pin assignment for TIM1 BKIN_COMP2 pin: TIM1_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM1, TIM1_CH1)
+#error Invalid pin assignment for TIM1 CH1 pin: TIM1_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM1, TIM1_CH1N)
+#error Invalid pin assignment for TIM1 CH1N pin: TIM1_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM1, TIM1_CH2)
+#error Invalid pin assignment for TIM1 CH2 pin: TIM1_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM1, TIM1_CH2N)
+#error Invalid pin assignment for TIM1 CH2N pin: TIM1_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM1, TIM1_CH3)
+#error Invalid pin assignment for TIM1 CH3 pin: TIM1_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM1, TIM1_CH3N)
+#error Invalid pin assignment for TIM1 CH3N pin: TIM1_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM1, TIM1_CH4)
+#error Invalid pin assignment for TIM1 CH4 pin: TIM1_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM1, TIM1_CH4N)
+#error Invalid pin assignment for TIM1 CH4N pin: TIM1_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM1, TIM1_ETR)
+#error Invalid pin assignment for TIM1 ETR pin: TIM1_ETR
+#endif
+#endif
+
+#ifdef USE_TIM2
+#if !FIND_VALUE_TIM_BK(_TIM2, TIM2_BK)
+#error Invalid pin assignment for TIM2 BK pin: TIM2_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM2, TIM2_BK2)
+#error Invalid pin assignment for TIM2 BK2 pin: TIM2_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM2, TIM2_BKIN)
+#error Invalid pin assignment for TIM2 BKIN pin: TIM2_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM2, TIM2_BKIN2)
+#error Invalid pin assignment for TIM2 BKIN2 pin: TIM2_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM2, TIM2_BKIN2_COMP1)
+#error Invalid pin assignment for TIM2 BKIN2_COMP1 pin: TIM2_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM2, TIM2_BKIN2_COMP2)
+#error Invalid pin assignment for TIM2 BKIN2_COMP2 pin: TIM2_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM2, TIM2_BKIN_COMP1)
+#error Invalid pin assignment for TIM2 BKIN_COMP1 pin: TIM2_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM2, TIM2_BKIN_COMP2)
+#error Invalid pin assignment for TIM2 BKIN_COMP2 pin: TIM2_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM2, TIM2_CH1)
+#error Invalid pin assignment for TIM2 CH1 pin: TIM2_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM2, TIM2_CH1N)
+#error Invalid pin assignment for TIM2 CH1N pin: TIM2_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM2, TIM2_CH2)
+#error Invalid pin assignment for TIM2 CH2 pin: TIM2_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM2, TIM2_CH2N)
+#error Invalid pin assignment for TIM2 CH2N pin: TIM2_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM2, TIM2_CH3)
+#error Invalid pin assignment for TIM2 CH3 pin: TIM2_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM2, TIM2_CH3N)
+#error Invalid pin assignment for TIM2 CH3N pin: TIM2_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM2, TIM2_CH4)
+#error Invalid pin assignment for TIM2 CH4 pin: TIM2_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM2, TIM2_CH4N)
+#error Invalid pin assignment for TIM2 CH4N pin: TIM2_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM2, TIM2_ETR)
+#error Invalid pin assignment for TIM2 ETR pin: TIM2_ETR
+#endif
+#endif
+
+#ifdef USE_TIM3
+#if !FIND_VALUE_TIM_BK(_TIM3, TIM3_BK)
+#error Invalid pin assignment for TIM3 BK pin: TIM3_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM3, TIM3_BK2)
+#error Invalid pin assignment for TIM3 BK2 pin: TIM3_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM3, TIM3_BKIN)
+#error Invalid pin assignment for TIM3 BKIN pin: TIM3_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM3, TIM3_BKIN2)
+#error Invalid pin assignment for TIM3 BKIN2 pin: TIM3_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM3, TIM3_BKIN2_COMP1)
+#error Invalid pin assignment for TIM3 BKIN2_COMP1 pin: TIM3_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM3, TIM3_BKIN2_COMP2)
+#error Invalid pin assignment for TIM3 BKIN2_COMP2 pin: TIM3_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM3, TIM3_BKIN_COMP1)
+#error Invalid pin assignment for TIM3 BKIN_COMP1 pin: TIM3_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM3, TIM3_BKIN_COMP2)
+#error Invalid pin assignment for TIM3 BKIN_COMP2 pin: TIM3_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM3, TIM3_CH1)
+#error Invalid pin assignment for TIM3 CH1 pin: TIM3_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM3, TIM3_CH1N)
+#error Invalid pin assignment for TIM3 CH1N pin: TIM3_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM3, TIM3_CH2)
+#error Invalid pin assignment for TIM3 CH2 pin: TIM3_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM3, TIM3_CH2N)
+#error Invalid pin assignment for TIM3 CH2N pin: TIM3_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM3, TIM3_CH3)
+#error Invalid pin assignment for TIM3 CH3 pin: TIM3_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM3, TIM3_CH3N)
+#error Invalid pin assignment for TIM3 CH3N pin: TIM3_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM3, TIM3_CH4)
+#error Invalid pin assignment for TIM3 CH4 pin: TIM3_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM3, TIM3_CH4N)
+#error Invalid pin assignment for TIM3 CH4N pin: TIM3_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM3, TIM3_ETR)
+#error Invalid pin assignment for TIM3 ETR pin: TIM3_ETR
+#endif
+#endif
+
+#ifdef USE_TIM4
+#if !FIND_VALUE_TIM_BK(_TIM4, TIM4_BK)
+#error Invalid pin assignment for TIM4 BK pin: TIM4_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM4, TIM4_BK2)
+#error Invalid pin assignment for TIM4 BK2 pin: TIM4_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM4, TIM4_BKIN)
+#error Invalid pin assignment for TIM4 BKIN pin: TIM4_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM4, TIM4_BKIN2)
+#error Invalid pin assignment for TIM4 BKIN2 pin: TIM4_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM4, TIM4_BKIN2_COMP1)
+#error Invalid pin assignment for TIM4 BKIN2_COMP1 pin: TIM4_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM4, TIM4_BKIN2_COMP2)
+#error Invalid pin assignment for TIM4 BKIN2_COMP2 pin: TIM4_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM4, TIM4_BKIN_COMP1)
+#error Invalid pin assignment for TIM4 BKIN_COMP1 pin: TIM4_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM4, TIM4_BKIN_COMP2)
+#error Invalid pin assignment for TIM4 BKIN_COMP2 pin: TIM4_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM4, TIM4_CH1)
+#error Invalid pin assignment for TIM4 CH1 pin: TIM4_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM4, TIM4_CH1N)
+#error Invalid pin assignment for TIM4 CH1N pin: TIM4_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM4, TIM4_CH2)
+#error Invalid pin assignment for TIM4 CH2 pin: TIM4_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM4, TIM4_CH2N)
+#error Invalid pin assignment for TIM4 CH2N pin: TIM4_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM4, TIM4_CH3)
+#error Invalid pin assignment for TIM4 CH3 pin: TIM4_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM4, TIM4_CH3N)
+#error Invalid pin assignment for TIM4 CH3N pin: TIM4_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM4, TIM4_CH4)
+#error Invalid pin assignment for TIM4 CH4 pin: TIM4_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM4, TIM4_CH4N)
+#error Invalid pin assignment for TIM4 CH4N pin: TIM4_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM4, TIM4_ETR)
+#error Invalid pin assignment for TIM4 ETR pin: TIM4_ETR
+#endif
+#endif
+
+#ifdef USE_TIM5
+#if !FIND_VALUE_TIM_BK(_TIM5, TIM5_BK)
+#error Invalid pin assignment for TIM5 BK pin: TIM5_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM5, TIM5_BK2)
+#error Invalid pin assignment for TIM5 BK2 pin: TIM5_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM5, TIM5_BKIN)
+#error Invalid pin assignment for TIM5 BKIN pin: TIM5_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM5, TIM5_BKIN2)
+#error Invalid pin assignment for TIM5 BKIN2 pin: TIM5_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM5, TIM5_BKIN2_COMP1)
+#error Invalid pin assignment for TIM5 BKIN2_COMP1 pin: TIM5_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM5, TIM5_BKIN2_COMP2)
+#error Invalid pin assignment for TIM5 BKIN2_COMP2 pin: TIM5_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM5, TIM5_BKIN_COMP1)
+#error Invalid pin assignment for TIM5 BKIN_COMP1 pin: TIM5_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM5, TIM5_BKIN_COMP2)
+#error Invalid pin assignment for TIM5 BKIN_COMP2 pin: TIM5_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM5, TIM5_CH1)
+#error Invalid pin assignment for TIM5 CH1 pin: TIM5_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM5, TIM5_CH1N)
+#error Invalid pin assignment for TIM5 CH1N pin: TIM5_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM5, TIM5_CH2)
+#error Invalid pin assignment for TIM5 CH2 pin: TIM5_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM5, TIM5_CH2N)
+#error Invalid pin assignment for TIM5 CH2N pin: TIM5_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM5, TIM5_CH3)
+#error Invalid pin assignment for TIM5 CH3 pin: TIM5_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM5, TIM5_CH3N)
+#error Invalid pin assignment for TIM5 CH3N pin: TIM5_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM5, TIM5_CH4)
+#error Invalid pin assignment for TIM5 CH4 pin: TIM5_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM5, TIM5_CH4N)
+#error Invalid pin assignment for TIM5 CH4N pin: TIM5_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM5, TIM5_ETR)
+#error Invalid pin assignment for TIM5 ETR pin: TIM5_ETR
+#endif
+#endif
+
+#ifdef USE_TIM6
+#if !FIND_VALUE_TIM_BK(_TIM6, TIM6_BK)
+#error Invalid pin assignment for TIM6 BK pin: TIM6_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM6, TIM6_BK2)
+#error Invalid pin assignment for TIM6 BK2 pin: TIM6_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM6, TIM6_BKIN)
+#error Invalid pin assignment for TIM6 BKIN pin: TIM6_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM6, TIM6_BKIN2)
+#error Invalid pin assignment for TIM6 BKIN2 pin: TIM6_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM6, TIM6_BKIN2_COMP1)
+#error Invalid pin assignment for TIM6 BKIN2_COMP1 pin: TIM6_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM6, TIM6_BKIN2_COMP2)
+#error Invalid pin assignment for TIM6 BKIN2_COMP2 pin: TIM6_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM6, TIM6_BKIN_COMP1)
+#error Invalid pin assignment for TIM6 BKIN_COMP1 pin: TIM6_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM6, TIM6_BKIN_COMP2)
+#error Invalid pin assignment for TIM6 BKIN_COMP2 pin: TIM6_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM6, TIM6_CH1)
+#error Invalid pin assignment for TIM6 CH1 pin: TIM6_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM6, TIM6_CH1N)
+#error Invalid pin assignment for TIM6 CH1N pin: TIM6_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM6, TIM6_CH2)
+#error Invalid pin assignment for TIM6 CH2 pin: TIM6_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM6, TIM6_CH2N)
+#error Invalid pin assignment for TIM6 CH2N pin: TIM6_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM6, TIM6_CH3)
+#error Invalid pin assignment for TIM6 CH3 pin: TIM6_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM6, TIM6_CH3N)
+#error Invalid pin assignment for TIM6 CH3N pin: TIM6_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM6, TIM6_CH4)
+#error Invalid pin assignment for TIM6 CH4 pin: TIM6_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM6, TIM6_CH4N)
+#error Invalid pin assignment for TIM6 CH4N pin: TIM6_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM6, TIM6_ETR)
+#error Invalid pin assignment for TIM6 ETR pin: TIM6_ETR
+#endif
+#endif
+
+#ifdef USE_TIM7
+#if !FIND_VALUE_TIM_BK(_TIM7, TIM7_BK)
+#error Invalid pin assignment for TIM7 BK pin: TIM7_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM7, TIM7_BK2)
+#error Invalid pin assignment for TIM7 BK2 pin: TIM7_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM7, TIM7_BKIN)
+#error Invalid pin assignment for TIM7 BKIN pin: TIM7_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM7, TIM7_BKIN2)
+#error Invalid pin assignment for TIM7 BKIN2 pin: TIM7_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM7, TIM7_BKIN2_COMP1)
+#error Invalid pin assignment for TIM7 BKIN2_COMP1 pin: TIM7_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM7, TIM7_BKIN2_COMP2)
+#error Invalid pin assignment for TIM7 BKIN2_COMP2 pin: TIM7_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM7, TIM7_BKIN_COMP1)
+#error Invalid pin assignment for TIM7 BKIN_COMP1 pin: TIM7_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM7, TIM7_BKIN_COMP2)
+#error Invalid pin assignment for TIM7 BKIN_COMP2 pin: TIM7_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM7, TIM7_CH1)
+#error Invalid pin assignment for TIM7 CH1 pin: TIM7_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM7, TIM7_CH1N)
+#error Invalid pin assignment for TIM7 CH1N pin: TIM7_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM7, TIM7_CH2)
+#error Invalid pin assignment for TIM7 CH2 pin: TIM7_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM7, TIM7_CH2N)
+#error Invalid pin assignment for TIM7 CH2N pin: TIM7_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM7, TIM7_CH3)
+#error Invalid pin assignment for TIM7 CH3 pin: TIM7_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM7, TIM7_CH3N)
+#error Invalid pin assignment for TIM7 CH3N pin: TIM7_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM7, TIM7_CH4)
+#error Invalid pin assignment for TIM7 CH4 pin: TIM7_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM7, TIM7_CH4N)
+#error Invalid pin assignment for TIM7 CH4N pin: TIM7_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM7, TIM7_ETR)
+#error Invalid pin assignment for TIM7 ETR pin: TIM7_ETR
+#endif
+#endif
+
+#ifdef USE_TIM8
+#if !FIND_VALUE_TIM_BK(_TIM8, TIM8_BK)
+#error Invalid pin assignment for TIM8 BK pin: TIM8_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM8, TIM8_BK2)
+#error Invalid pin assignment for TIM8 BK2 pin: TIM8_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM8, TIM8_BKIN)
+#error Invalid pin assignment for TIM8 BKIN pin: TIM8_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM8, TIM8_BKIN2)
+#error Invalid pin assignment for TIM8 BKIN2 pin: TIM8_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM8, TIM8_BKIN2_COMP1)
+#error Invalid pin assignment for TIM8 BKIN2_COMP1 pin: TIM8_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM8, TIM8_BKIN2_COMP2)
+#error Invalid pin assignment for TIM8 BKIN2_COMP2 pin: TIM8_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM8, TIM8_BKIN_COMP1)
+#error Invalid pin assignment for TIM8 BKIN_COMP1 pin: TIM8_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM8, TIM8_BKIN_COMP2)
+#error Invalid pin assignment for TIM8 BKIN_COMP2 pin: TIM8_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM8, TIM8_CH1)
+#error Invalid pin assignment for TIM8 CH1 pin: TIM8_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM8, TIM8_CH1N)
+#error Invalid pin assignment for TIM8 CH1N pin: TIM8_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM8, TIM8_CH2)
+#error Invalid pin assignment for TIM8 CH2 pin: TIM8_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM8, TIM8_CH2N)
+#error Invalid pin assignment for TIM8 CH2N pin: TIM8_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM8, TIM8_CH3)
+#error Invalid pin assignment for TIM8 CH3 pin: TIM8_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM8, TIM8_CH3N)
+#error Invalid pin assignment for TIM8 CH3N pin: TIM8_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM8, TIM8_CH4)
+#error Invalid pin assignment for TIM8 CH4 pin: TIM8_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM8, TIM8_CH4N)
+#error Invalid pin assignment for TIM8 CH4N pin: TIM8_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM8, TIM8_ETR)
+#error Invalid pin assignment for TIM8 ETR pin: TIM8_ETR
+#endif
+#endif
+
+#ifdef USE_TIM9
+#if !FIND_VALUE_TIM_BK(_TIM9, TIM9_BK)
+#error Invalid pin assignment for TIM9 BK pin: TIM9_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM9, TIM9_BK2)
+#error Invalid pin assignment for TIM9 BK2 pin: TIM9_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM9, TIM9_BKIN)
+#error Invalid pin assignment for TIM9 BKIN pin: TIM9_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM9, TIM9_BKIN2)
+#error Invalid pin assignment for TIM9 BKIN2 pin: TIM9_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM9, TIM9_BKIN2_COMP1)
+#error Invalid pin assignment for TIM9 BKIN2_COMP1 pin: TIM9_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM9, TIM9_BKIN2_COMP2)
+#error Invalid pin assignment for TIM9 BKIN2_COMP2 pin: TIM9_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM9, TIM9_BKIN_COMP1)
+#error Invalid pin assignment for TIM9 BKIN_COMP1 pin: TIM9_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM9, TIM9_BKIN_COMP2)
+#error Invalid pin assignment for TIM9 BKIN_COMP2 pin: TIM9_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM9, TIM9_CH1)
+#error Invalid pin assignment for TIM9 CH1 pin: TIM9_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM9, TIM9_CH1N)
+#error Invalid pin assignment for TIM9 CH1N pin: TIM9_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM9, TIM9_CH2)
+#error Invalid pin assignment for TIM9 CH2 pin: TIM9_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM9, TIM9_CH2N)
+#error Invalid pin assignment for TIM9 CH2N pin: TIM9_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM9, TIM9_CH3)
+#error Invalid pin assignment for TIM9 CH3 pin: TIM9_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM9, TIM9_CH3N)
+#error Invalid pin assignment for TIM9 CH3N pin: TIM9_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM9, TIM9_CH4)
+#error Invalid pin assignment for TIM9 CH4 pin: TIM9_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM9, TIM9_CH4N)
+#error Invalid pin assignment for TIM9 CH4N pin: TIM9_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM9, TIM9_ETR)
+#error Invalid pin assignment for TIM9 ETR pin: TIM9_ETR
+#endif
+#endif
+
+#ifdef USE_TIM10
+#if !FIND_VALUE_TIM_BK(_TIM10, TIM10_BK)
+#error Invalid pin assignment for TIM10 BK pin: TIM10_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM10, TIM10_BK2)
+#error Invalid pin assignment for TIM10 BK2 pin: TIM10_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM10, TIM10_BKIN)
+#error Invalid pin assignment for TIM10 BKIN pin: TIM10_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM10, TIM10_BKIN2)
+#error Invalid pin assignment for TIM10 BKIN2 pin: TIM10_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM10, TIM10_BKIN2_COMP1)
+#error Invalid pin assignment for TIM10 BKIN2_COMP1 pin: TIM10_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM10, TIM10_BKIN2_COMP2)
+#error Invalid pin assignment for TIM10 BKIN2_COMP2 pin: TIM10_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM10, TIM10_BKIN_COMP1)
+#error Invalid pin assignment for TIM10 BKIN_COMP1 pin: TIM10_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM10, TIM10_BKIN_COMP2)
+#error Invalid pin assignment for TIM10 BKIN_COMP2 pin: TIM10_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM10, TIM10_CH1)
+#error Invalid pin assignment for TIM10 CH1 pin: TIM10_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM10, TIM10_CH1N)
+#error Invalid pin assignment for TIM10 CH1N pin: TIM10_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM10, TIM10_CH2)
+#error Invalid pin assignment for TIM10 CH2 pin: TIM10_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM10, TIM10_CH2N)
+#error Invalid pin assignment for TIM10 CH2N pin: TIM10_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM10, TIM10_CH3)
+#error Invalid pin assignment for TIM10 CH3 pin: TIM10_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM10, TIM10_CH3N)
+#error Invalid pin assignment for TIM10 CH3N pin: TIM10_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM10, TIM10_CH4)
+#error Invalid pin assignment for TIM10 CH4 pin: TIM10_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM10, TIM10_CH4N)
+#error Invalid pin assignment for TIM10 CH4N pin: TIM10_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM10, TIM10_ETR)
+#error Invalid pin assignment for TIM10 ETR pin: TIM10_ETR
+#endif
+#endif
+
+#ifdef USE_TIM11
+#if !FIND_VALUE_TIM_BK(_TIM11, TIM11_BK)
+#error Invalid pin assignment for TIM11 BK pin: TIM11_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM11, TIM11_BK2)
+#error Invalid pin assignment for TIM11 BK2 pin: TIM11_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM11, TIM11_BKIN)
+#error Invalid pin assignment for TIM11 BKIN pin: TIM11_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM11, TIM11_BKIN2)
+#error Invalid pin assignment for TIM11 BKIN2 pin: TIM11_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM11, TIM11_BKIN2_COMP1)
+#error Invalid pin assignment for TIM11 BKIN2_COMP1 pin: TIM11_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM11, TIM11_BKIN2_COMP2)
+#error Invalid pin assignment for TIM11 BKIN2_COMP2 pin: TIM11_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM11, TIM11_BKIN_COMP1)
+#error Invalid pin assignment for TIM11 BKIN_COMP1 pin: TIM11_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM11, TIM11_BKIN_COMP2)
+#error Invalid pin assignment for TIM11 BKIN_COMP2 pin: TIM11_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM11, TIM11_CH1)
+#error Invalid pin assignment for TIM11 CH1 pin: TIM11_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM11, TIM11_CH1N)
+#error Invalid pin assignment for TIM11 CH1N pin: TIM11_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM11, TIM11_CH2)
+#error Invalid pin assignment for TIM11 CH2 pin: TIM11_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM11, TIM11_CH2N)
+#error Invalid pin assignment for TIM11 CH2N pin: TIM11_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM11, TIM11_CH3)
+#error Invalid pin assignment for TIM11 CH3 pin: TIM11_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM11, TIM11_CH3N)
+#error Invalid pin assignment for TIM11 CH3N pin: TIM11_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM11, TIM11_CH4)
+#error Invalid pin assignment for TIM11 CH4 pin: TIM11_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM11, TIM11_CH4N)
+#error Invalid pin assignment for TIM11 CH4N pin: TIM11_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM11, TIM11_ETR)
+#error Invalid pin assignment for TIM11 ETR pin: TIM11_ETR
+#endif
+#endif
+
+#ifdef USE_TIM12
+#if !FIND_VALUE_TIM_BK(_TIM12, TIM12_BK)
+#error Invalid pin assignment for TIM12 BK pin: TIM12_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM12, TIM12_BK2)
+#error Invalid pin assignment for TIM12 BK2 pin: TIM12_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM12, TIM12_BKIN)
+#error Invalid pin assignment for TIM12 BKIN pin: TIM12_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM12, TIM12_BKIN2)
+#error Invalid pin assignment for TIM12 BKIN2 pin: TIM12_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM12, TIM12_BKIN2_COMP1)
+#error Invalid pin assignment for TIM12 BKIN2_COMP1 pin: TIM12_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM12, TIM12_BKIN2_COMP2)
+#error Invalid pin assignment for TIM12 BKIN2_COMP2 pin: TIM12_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM12, TIM12_BKIN_COMP1)
+#error Invalid pin assignment for TIM12 BKIN_COMP1 pin: TIM12_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM12, TIM12_BKIN_COMP2)
+#error Invalid pin assignment for TIM12 BKIN_COMP2 pin: TIM12_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM12, TIM12_CH1)
+#error Invalid pin assignment for TIM12 CH1 pin: TIM12_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM12, TIM12_CH1N)
+#error Invalid pin assignment for TIM12 CH1N pin: TIM12_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM12, TIM12_CH2)
+#error Invalid pin assignment for TIM12 CH2 pin: TIM12_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM12, TIM12_CH2N)
+#error Invalid pin assignment for TIM12 CH2N pin: TIM12_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM12, TIM12_CH3)
+#error Invalid pin assignment for TIM12 CH3 pin: TIM12_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM12, TIM12_CH3N)
+#error Invalid pin assignment for TIM12 CH3N pin: TIM12_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM12, TIM12_CH4)
+#error Invalid pin assignment for TIM12 CH4 pin: TIM12_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM12, TIM12_CH4N)
+#error Invalid pin assignment for TIM12 CH4N pin: TIM12_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM12, TIM12_ETR)
+#error Invalid pin assignment for TIM12 ETR pin: TIM12_ETR
+#endif
+#endif
+
+#ifdef USE_TIM13
+#if !FIND_VALUE_TIM_BK(_TIM13, TIM13_BK)
+#error Invalid pin assignment for TIM13 BK pin: TIM13_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM13, TIM13_BK2)
+#error Invalid pin assignment for TIM13 BK2 pin: TIM13_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM13, TIM13_BKIN)
+#error Invalid pin assignment for TIM13 BKIN pin: TIM13_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM13, TIM13_BKIN2)
+#error Invalid pin assignment for TIM13 BKIN2 pin: TIM13_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM13, TIM13_BKIN2_COMP1)
+#error Invalid pin assignment for TIM13 BKIN2_COMP1 pin: TIM13_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM13, TIM13_BKIN2_COMP2)
+#error Invalid pin assignment for TIM13 BKIN2_COMP2 pin: TIM13_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM13, TIM13_BKIN_COMP1)
+#error Invalid pin assignment for TIM13 BKIN_COMP1 pin: TIM13_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM13, TIM13_BKIN_COMP2)
+#error Invalid pin assignment for TIM13 BKIN_COMP2 pin: TIM13_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM13, TIM13_CH1)
+#error Invalid pin assignment for TIM13 CH1 pin: TIM13_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM13, TIM13_CH1N)
+#error Invalid pin assignment for TIM13 CH1N pin: TIM13_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM13, TIM13_CH2)
+#error Invalid pin assignment for TIM13 CH2 pin: TIM13_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM13, TIM13_CH2N)
+#error Invalid pin assignment for TIM13 CH2N pin: TIM13_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM13, TIM13_CH3)
+#error Invalid pin assignment for TIM13 CH3 pin: TIM13_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM13, TIM13_CH3N)
+#error Invalid pin assignment for TIM13 CH3N pin: TIM13_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM13, TIM13_CH4)
+#error Invalid pin assignment for TIM13 CH4 pin: TIM13_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM13, TIM13_CH4N)
+#error Invalid pin assignment for TIM13 CH4N pin: TIM13_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM13, TIM13_ETR)
+#error Invalid pin assignment for TIM13 ETR pin: TIM13_ETR
+#endif
+#endif
+
+#ifdef USE_TIM14
+#if !FIND_VALUE_TIM_BK(_TIM14, TIM14_BK)
+#error Invalid pin assignment for TIM14 BK pin: TIM14_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM14, TIM14_BK2)
+#error Invalid pin assignment for TIM14 BK2 pin: TIM14_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM14, TIM14_BKIN)
+#error Invalid pin assignment for TIM14 BKIN pin: TIM14_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM14, TIM14_BKIN2)
+#error Invalid pin assignment for TIM14 BKIN2 pin: TIM14_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM14, TIM14_BKIN2_COMP1)
+#error Invalid pin assignment for TIM14 BKIN2_COMP1 pin: TIM14_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM14, TIM14_BKIN2_COMP2)
+#error Invalid pin assignment for TIM14 BKIN2_COMP2 pin: TIM14_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM14, TIM14_BKIN_COMP1)
+#error Invalid pin assignment for TIM14 BKIN_COMP1 pin: TIM14_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM14, TIM14_BKIN_COMP2)
+#error Invalid pin assignment for TIM14 BKIN_COMP2 pin: TIM14_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM14, TIM14_CH1)
+#error Invalid pin assignment for TIM14 CH1 pin: TIM14_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM14, TIM14_CH1N)
+#error Invalid pin assignment for TIM14 CH1N pin: TIM14_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM14, TIM14_CH2)
+#error Invalid pin assignment for TIM14 CH2 pin: TIM14_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM14, TIM14_CH2N)
+#error Invalid pin assignment for TIM14 CH2N pin: TIM14_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM14, TIM14_CH3)
+#error Invalid pin assignment for TIM14 CH3 pin: TIM14_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM14, TIM14_CH3N)
+#error Invalid pin assignment for TIM14 CH3N pin: TIM14_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM14, TIM14_CH4)
+#error Invalid pin assignment for TIM14 CH4 pin: TIM14_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM14, TIM14_CH4N)
+#error Invalid pin assignment for TIM14 CH4N pin: TIM14_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM14, TIM14_ETR)
+#error Invalid pin assignment for TIM14 ETR pin: TIM14_ETR
+#endif
+#endif
+
+#ifdef USE_TIM15
+#if !FIND_VALUE_TIM_BK(_TIM15, TIM15_BK)
+#error Invalid pin assignment for TIM15 BK pin: TIM15_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM15, TIM15_BK2)
+#error Invalid pin assignment for TIM15 BK2 pin: TIM15_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM15, TIM15_BKIN)
+#error Invalid pin assignment for TIM15 BKIN pin: TIM15_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM15, TIM15_BKIN2)
+#error Invalid pin assignment for TIM15 BKIN2 pin: TIM15_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM15, TIM15_BKIN2_COMP1)
+#error Invalid pin assignment for TIM15 BKIN2_COMP1 pin: TIM15_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM15, TIM15_BKIN2_COMP2)
+#error Invalid pin assignment for TIM15 BKIN2_COMP2 pin: TIM15_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM15, TIM15_BKIN_COMP1)
+#error Invalid pin assignment for TIM15 BKIN_COMP1 pin: TIM15_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM15, TIM15_BKIN_COMP2)
+#error Invalid pin assignment for TIM15 BKIN_COMP2 pin: TIM15_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM15, TIM15_CH1)
+#error Invalid pin assignment for TIM15 CH1 pin: TIM15_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM15, TIM15_CH1N)
+#error Invalid pin assignment for TIM15 CH1N pin: TIM15_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM15, TIM15_CH2)
+#error Invalid pin assignment for TIM15 CH2 pin: TIM15_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM15, TIM15_CH2N)
+#error Invalid pin assignment for TIM15 CH2N pin: TIM15_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM15, TIM15_CH3)
+#error Invalid pin assignment for TIM15 CH3 pin: TIM15_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM15, TIM15_CH3N)
+#error Invalid pin assignment for TIM15 CH3N pin: TIM15_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM15, TIM15_CH4)
+#error Invalid pin assignment for TIM15 CH4 pin: TIM15_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM15, TIM15_CH4N)
+#error Invalid pin assignment for TIM15 CH4N pin: TIM15_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM15, TIM15_ETR)
+#error Invalid pin assignment for TIM15 ETR pin: TIM15_ETR
+#endif
+#endif
+
+#ifdef USE_TIM16
+#if !FIND_VALUE_TIM_BK(_TIM16, TIM16_BK)
+#error Invalid pin assignment for TIM16 BK pin: TIM16_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM16, TIM16_BK2)
+#error Invalid pin assignment for TIM16 BK2 pin: TIM16_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM16, TIM16_BKIN)
+#error Invalid pin assignment for TIM16 BKIN pin: TIM16_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM16, TIM16_BKIN2)
+#error Invalid pin assignment for TIM16 BKIN2 pin: TIM16_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM16, TIM16_BKIN2_COMP1)
+#error Invalid pin assignment for TIM16 BKIN2_COMP1 pin: TIM16_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM16, TIM16_BKIN2_COMP2)
+#error Invalid pin assignment for TIM16 BKIN2_COMP2 pin: TIM16_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM16, TIM16_BKIN_COMP1)
+#error Invalid pin assignment for TIM16 BKIN_COMP1 pin: TIM16_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM16, TIM16_BKIN_COMP2)
+#error Invalid pin assignment for TIM16 BKIN_COMP2 pin: TIM16_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM16, TIM16_CH1)
+#error Invalid pin assignment for TIM16 CH1 pin: TIM16_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM16, TIM16_CH1N)
+#error Invalid pin assignment for TIM16 CH1N pin: TIM16_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM16, TIM16_CH2)
+#error Invalid pin assignment for TIM16 CH2 pin: TIM16_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM16, TIM16_CH2N)
+#error Invalid pin assignment for TIM16 CH2N pin: TIM16_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM16, TIM16_CH3)
+#error Invalid pin assignment for TIM16 CH3 pin: TIM16_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM16, TIM16_CH3N)
+#error Invalid pin assignment for TIM16 CH3N pin: TIM16_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM16, TIM16_CH4)
+#error Invalid pin assignment for TIM16 CH4 pin: TIM16_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM16, TIM16_CH4N)
+#error Invalid pin assignment for TIM16 CH4N pin: TIM16_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM16, TIM16_ETR)
+#error Invalid pin assignment for TIM16 ETR pin: TIM16_ETR
+#endif
+#endif
+
+#ifdef USE_TIM17
+#if !FIND_VALUE_TIM_BK(_TIM17, TIM17_BK)
+#error Invalid pin assignment for TIM17 BK pin: TIM17_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM17, TIM17_BK2)
+#error Invalid pin assignment for TIM17 BK2 pin: TIM17_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM17, TIM17_BKIN)
+#error Invalid pin assignment for TIM17 BKIN pin: TIM17_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM17, TIM17_BKIN2)
+#error Invalid pin assignment for TIM17 BKIN2 pin: TIM17_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM17, TIM17_BKIN2_COMP1)
+#error Invalid pin assignment for TIM17 BKIN2_COMP1 pin: TIM17_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM17, TIM17_BKIN2_COMP2)
+#error Invalid pin assignment for TIM17 BKIN2_COMP2 pin: TIM17_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM17, TIM17_BKIN_COMP1)
+#error Invalid pin assignment for TIM17 BKIN_COMP1 pin: TIM17_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM17, TIM17_BKIN_COMP2)
+#error Invalid pin assignment for TIM17 BKIN_COMP2 pin: TIM17_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM17, TIM17_CH1)
+#error Invalid pin assignment for TIM17 CH1 pin: TIM17_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM17, TIM17_CH1N)
+#error Invalid pin assignment for TIM17 CH1N pin: TIM17_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM17, TIM17_CH2)
+#error Invalid pin assignment for TIM17 CH2 pin: TIM17_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM17, TIM17_CH2N)
+#error Invalid pin assignment for TIM17 CH2N pin: TIM17_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM17, TIM17_CH3)
+#error Invalid pin assignment for TIM17 CH3 pin: TIM17_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM17, TIM17_CH3N)
+#error Invalid pin assignment for TIM17 CH3N pin: TIM17_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM17, TIM17_CH4)
+#error Invalid pin assignment for TIM17 CH4 pin: TIM17_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM17, TIM17_CH4N)
+#error Invalid pin assignment for TIM17 CH4N pin: TIM17_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM17, TIM17_ETR)
+#error Invalid pin assignment for TIM17 ETR pin: TIM17_ETR
+#endif
+#endif
+
+#ifdef USE_TIM18
+#if !FIND_VALUE_TIM_BK(_TIM18, TIM18_BK)
+#error Invalid pin assignment for TIM18 BK pin: TIM18_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM18, TIM18_BK2)
+#error Invalid pin assignment for TIM18 BK2 pin: TIM18_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM18, TIM18_BKIN)
+#error Invalid pin assignment for TIM18 BKIN pin: TIM18_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM18, TIM18_BKIN2)
+#error Invalid pin assignment for TIM18 BKIN2 pin: TIM18_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM18, TIM18_BKIN2_COMP1)
+#error Invalid pin assignment for TIM18 BKIN2_COMP1 pin: TIM18_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM18, TIM18_BKIN2_COMP2)
+#error Invalid pin assignment for TIM18 BKIN2_COMP2 pin: TIM18_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM18, TIM18_BKIN_COMP1)
+#error Invalid pin assignment for TIM18 BKIN_COMP1 pin: TIM18_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM18, TIM18_BKIN_COMP2)
+#error Invalid pin assignment for TIM18 BKIN_COMP2 pin: TIM18_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM18, TIM18_CH1)
+#error Invalid pin assignment for TIM18 CH1 pin: TIM18_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM18, TIM18_CH1N)
+#error Invalid pin assignment for TIM18 CH1N pin: TIM18_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM18, TIM18_CH2)
+#error Invalid pin assignment for TIM18 CH2 pin: TIM18_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM18, TIM18_CH2N)
+#error Invalid pin assignment for TIM18 CH2N pin: TIM18_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM18, TIM18_CH3)
+#error Invalid pin assignment for TIM18 CH3 pin: TIM18_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM18, TIM18_CH3N)
+#error Invalid pin assignment for TIM18 CH3N pin: TIM18_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM18, TIM18_CH4)
+#error Invalid pin assignment for TIM18 CH4 pin: TIM18_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM18, TIM18_CH4N)
+#error Invalid pin assignment for TIM18 CH4N pin: TIM18_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM18, TIM18_ETR)
+#error Invalid pin assignment for TIM18 ETR pin: TIM18_ETR
+#endif
+#endif
+
+#ifdef USE_TIM19
+#if !FIND_VALUE_TIM_BK(_TIM19, TIM19_BK)
+#error Invalid pin assignment for TIM19 BK pin: TIM19_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM19, TIM19_BK2)
+#error Invalid pin assignment for TIM19 BK2 pin: TIM19_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM19, TIM19_BKIN)
+#error Invalid pin assignment for TIM19 BKIN pin: TIM19_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM19, TIM19_BKIN2)
+#error Invalid pin assignment for TIM19 BKIN2 pin: TIM19_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM19, TIM19_BKIN2_COMP1)
+#error Invalid pin assignment for TIM19 BKIN2_COMP1 pin: TIM19_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM19, TIM19_BKIN2_COMP2)
+#error Invalid pin assignment for TIM19 BKIN2_COMP2 pin: TIM19_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM19, TIM19_BKIN_COMP1)
+#error Invalid pin assignment for TIM19 BKIN_COMP1 pin: TIM19_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM19, TIM19_BKIN_COMP2)
+#error Invalid pin assignment for TIM19 BKIN_COMP2 pin: TIM19_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM19, TIM19_CH1)
+#error Invalid pin assignment for TIM19 CH1 pin: TIM19_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM19, TIM19_CH1N)
+#error Invalid pin assignment for TIM19 CH1N pin: TIM19_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM19, TIM19_CH2)
+#error Invalid pin assignment for TIM19 CH2 pin: TIM19_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM19, TIM19_CH2N)
+#error Invalid pin assignment for TIM19 CH2N pin: TIM19_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM19, TIM19_CH3)
+#error Invalid pin assignment for TIM19 CH3 pin: TIM19_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM19, TIM19_CH3N)
+#error Invalid pin assignment for TIM19 CH3N pin: TIM19_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM19, TIM19_CH4)
+#error Invalid pin assignment for TIM19 CH4 pin: TIM19_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM19, TIM19_CH4N)
+#error Invalid pin assignment for TIM19 CH4N pin: TIM19_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM19, TIM19_ETR)
+#error Invalid pin assignment for TIM19 ETR pin: TIM19_ETR
+#endif
+#endif
+
+#ifdef USE_TIM20
+#if !FIND_VALUE_TIM_BK(_TIM20, TIM20_BK)
+#error Invalid pin assignment for TIM20 BK pin: TIM20_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM20, TIM20_BK2)
+#error Invalid pin assignment for TIM20 BK2 pin: TIM20_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM20, TIM20_BKIN)
+#error Invalid pin assignment for TIM20 BKIN pin: TIM20_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM20, TIM20_BKIN2)
+#error Invalid pin assignment for TIM20 BKIN2 pin: TIM20_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM20, TIM20_BKIN2_COMP1)
+#error Invalid pin assignment for TIM20 BKIN2_COMP1 pin: TIM20_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM20, TIM20_BKIN2_COMP2)
+#error Invalid pin assignment for TIM20 BKIN2_COMP2 pin: TIM20_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM20, TIM20_BKIN_COMP1)
+#error Invalid pin assignment for TIM20 BKIN_COMP1 pin: TIM20_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM20, TIM20_BKIN_COMP2)
+#error Invalid pin assignment for TIM20 BKIN_COMP2 pin: TIM20_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM20, TIM20_CH1)
+#error Invalid pin assignment for TIM20 CH1 pin: TIM20_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM20, TIM20_CH1N)
+#error Invalid pin assignment for TIM20 CH1N pin: TIM20_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM20, TIM20_CH2)
+#error Invalid pin assignment for TIM20 CH2 pin: TIM20_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM20, TIM20_CH2N)
+#error Invalid pin assignment for TIM20 CH2N pin: TIM20_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM20, TIM20_CH3)
+#error Invalid pin assignment for TIM20 CH3 pin: TIM20_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM20, TIM20_CH3N)
+#error Invalid pin assignment for TIM20 CH3N pin: TIM20_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM20, TIM20_CH4)
+#error Invalid pin assignment for TIM20 CH4 pin: TIM20_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM20, TIM20_CH4N)
+#error Invalid pin assignment for TIM20 CH4N pin: TIM20_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM20, TIM20_ETR)
+#error Invalid pin assignment for TIM20 ETR pin: TIM20_ETR
+#endif
+#endif
+
+#ifdef USE_TIM21
+#if !FIND_VALUE_TIM_BK(_TIM21, TIM21_BK)
+#error Invalid pin assignment for TIM21 BK pin: TIM21_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM21, TIM21_BK2)
+#error Invalid pin assignment for TIM21 BK2 pin: TIM21_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM21, TIM21_BKIN)
+#error Invalid pin assignment for TIM21 BKIN pin: TIM21_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM21, TIM21_BKIN2)
+#error Invalid pin assignment for TIM21 BKIN2 pin: TIM21_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM21, TIM21_BKIN2_COMP1)
+#error Invalid pin assignment for TIM21 BKIN2_COMP1 pin: TIM21_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM21, TIM21_BKIN2_COMP2)
+#error Invalid pin assignment for TIM21 BKIN2_COMP2 pin: TIM21_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM21, TIM21_BKIN_COMP1)
+#error Invalid pin assignment for TIM21 BKIN_COMP1 pin: TIM21_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM21, TIM21_BKIN_COMP2)
+#error Invalid pin assignment for TIM21 BKIN_COMP2 pin: TIM21_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM21, TIM21_CH1)
+#error Invalid pin assignment for TIM21 CH1 pin: TIM21_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM21, TIM21_CH1N)
+#error Invalid pin assignment for TIM21 CH1N pin: TIM21_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM21, TIM21_CH2)
+#error Invalid pin assignment for TIM21 CH2 pin: TIM21_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM21, TIM21_CH2N)
+#error Invalid pin assignment for TIM21 CH2N pin: TIM21_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM21, TIM21_CH3)
+#error Invalid pin assignment for TIM21 CH3 pin: TIM21_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM21, TIM21_CH3N)
+#error Invalid pin assignment for TIM21 CH3N pin: TIM21_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM21, TIM21_CH4)
+#error Invalid pin assignment for TIM21 CH4 pin: TIM21_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM21, TIM21_CH4N)
+#error Invalid pin assignment for TIM21 CH4N pin: TIM21_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM21, TIM21_ETR)
+#error Invalid pin assignment for TIM21 ETR pin: TIM21_ETR
+#endif
+#endif
+
+#ifdef USE_TIM22
+#if !FIND_VALUE_TIM_BK(_TIM22, TIM22_BK)
+#error Invalid pin assignment for TIM22 BK pin: TIM22_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM22, TIM22_BK2)
+#error Invalid pin assignment for TIM22 BK2 pin: TIM22_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM22, TIM22_BKIN)
+#error Invalid pin assignment for TIM22 BKIN pin: TIM22_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM22, TIM22_BKIN2)
+#error Invalid pin assignment for TIM22 BKIN2 pin: TIM22_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM22, TIM22_BKIN2_COMP1)
+#error Invalid pin assignment for TIM22 BKIN2_COMP1 pin: TIM22_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM22, TIM22_BKIN2_COMP2)
+#error Invalid pin assignment for TIM22 BKIN2_COMP2 pin: TIM22_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM22, TIM22_BKIN_COMP1)
+#error Invalid pin assignment for TIM22 BKIN_COMP1 pin: TIM22_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM22, TIM22_BKIN_COMP2)
+#error Invalid pin assignment for TIM22 BKIN_COMP2 pin: TIM22_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM22, TIM22_CH1)
+#error Invalid pin assignment for TIM22 CH1 pin: TIM22_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM22, TIM22_CH1N)
+#error Invalid pin assignment for TIM22 CH1N pin: TIM22_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM22, TIM22_CH2)
+#error Invalid pin assignment for TIM22 CH2 pin: TIM22_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM22, TIM22_CH2N)
+#error Invalid pin assignment for TIM22 CH2N pin: TIM22_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM22, TIM22_CH3)
+#error Invalid pin assignment for TIM22 CH3 pin: TIM22_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM22, TIM22_CH3N)
+#error Invalid pin assignment for TIM22 CH3N pin: TIM22_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM22, TIM22_CH4)
+#error Invalid pin assignment for TIM22 CH4 pin: TIM22_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM22, TIM22_CH4N)
+#error Invalid pin assignment for TIM22 CH4N pin: TIM22_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM22, TIM22_ETR)
+#error Invalid pin assignment for TIM22 ETR pin: TIM22_ETR
+#endif
+#endif
+
+#ifdef USE_TIM23
+#if !FIND_VALUE_TIM_BK(_TIM23, TIM23_BK)
+#error Invalid pin assignment for TIM23 BK pin: TIM23_BK
+#endif
+#if !FIND_VALUE_TIM_BK2(_TIM23, TIM23_BK2)
+#error Invalid pin assignment for TIM23 BK2 pin: TIM23_BK2
+#endif
+#if !FIND_VALUE_TIM_BKIN(_TIM23, TIM23_BKIN)
+#error Invalid pin assignment for TIM23 BKIN pin: TIM23_BKIN
+#endif
+#if !FIND_VALUE_TIM_BKIN2(_TIM23, TIM23_BKIN2)
+#error Invalid pin assignment for TIM23 BKIN2 pin: TIM23_BKIN2
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP1(_TIM23, TIM23_BKIN2_COMP1)
+#error Invalid pin assignment for TIM23 BKIN2_COMP1 pin: TIM23_BKIN2_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN2_COMP2(_TIM23, TIM23_BKIN2_COMP2)
+#error Invalid pin assignment for TIM23 BKIN2_COMP2 pin: TIM23_BKIN2_COMP2
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP1(_TIM23, TIM23_BKIN_COMP1)
+#error Invalid pin assignment for TIM23 BKIN_COMP1 pin: TIM23_BKIN_COMP1
+#endif
+#if !FIND_VALUE_TIM_BKIN_COMP2(_TIM23, TIM23_BKIN_COMP2)
+#error Invalid pin assignment for TIM23 BKIN_COMP2 pin: TIM23_BKIN_COMP2
+#endif
+#if !FIND_VALUE_TIM_CH1(_TIM23, TIM23_CH1)
+#error Invalid pin assignment for TIM23 CH1 pin: TIM23_CH1
+#endif
+#if !FIND_VALUE_TIM_CH1N(_TIM23, TIM23_CH1N)
+#error Invalid pin assignment for TIM23 CH1N pin: TIM23_CH1N
+#endif
+#if !FIND_VALUE_TIM_CH2(_TIM23, TIM23_CH2)
+#error Invalid pin assignment for TIM23 CH2 pin: TIM23_CH2
+#endif
+#if !FIND_VALUE_TIM_CH2N(_TIM23, TIM23_CH2N)
+#error Invalid pin assignment for TIM23 CH2N pin: TIM23_CH2N
+#endif
+#if !FIND_VALUE_TIM_CH3(_TIM23, TIM23_CH3)
+#error Invalid pin assignment for TIM23 CH3 pin: TIM23_CH3
+#endif
+#if !FIND_VALUE_TIM_CH3N(_TIM23, TIM23_CH3N)
+#error Invalid pin assignment for TIM23 CH3N pin: TIM23_CH3N
+#endif
+#if !FIND_VALUE_TIM_CH4(_TIM23, TIM23_CH4)
+#error Invalid pin assignment for TIM23 CH4 pin: TIM23_CH4
+#endif
+#if !FIND_VALUE_TIM_CH4N(_TIM23, TIM23_CH4N)
+#error Invalid pin assignment for TIM23 CH4N pin: TIM23_CH4N
+#endif
+#if !FIND_VALUE_TIM_ETR(_TIM23, TIM23_ETR)
+#error Invalid pin assignment for TIM23 ETR pin: TIM23_ETR
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_timx.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_timx.h
new file mode 100644
index 000000000..b2ac511eb
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_timx.h
@@ -0,0 +1,77 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405251
+ */
+
+#define FIND_VALUE_TIMX_IC1_inner(INDEX,PIN) I2C##_TIMX_##PIN
+#define FIND_VALUE_TIMX_IC1(INDEX,PIN) FIND_VALUE_TIMX_IC1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIMX_IC2_inner(INDEX,PIN) I2C##_TIMX_##PIN
+#define FIND_VALUE_TIMX_IC2(INDEX,PIN) FIND_VALUE_TIMX_IC2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIMX_IC3_inner(INDEX,PIN) I2C##_TIMX_##PIN
+#define FIND_VALUE_TIMX_IC3(INDEX,PIN) FIND_VALUE_TIMX_IC3_inner(INDEX,PIN)
+
+#define FIND_VALUE_TIMX_IC4_inner(INDEX,PIN) I2C##_TIMX_##PIN
+#define FIND_VALUE_TIMX_IC4(INDEX,PIN) FIND_VALUE_TIMX_IC4_inner(INDEX,PIN)
+
+#ifdef USE_TIMX0
+#if !FIND_VALUE_TIMX_IC1(_TIMX0, TIMX0_IC1)
+#error Invalid pin assignment for TIMX0 IC1 pin: TIMX0_IC1
+#endif
+#if !FIND_VALUE_TIMX_IC2(_TIMX0, TIMX0_IC2)
+#error Invalid pin assignment for TIMX0 IC2 pin: TIMX0_IC2
+#endif
+#if !FIND_VALUE_TIMX_IC3(_TIMX0, TIMX0_IC3)
+#error Invalid pin assignment for TIMX0 IC3 pin: TIMX0_IC3
+#endif
+#if !FIND_VALUE_TIMX_IC4(_TIMX0, TIMX0_IC4)
+#error Invalid pin assignment for TIMX0 IC4 pin: TIMX0_IC4
+#endif
+#endif
+
+#ifdef USE_TIMX1
+#if !FIND_VALUE_TIMX_IC1(_TIMX1, TIMX1_IC1)
+#error Invalid pin assignment for TIMX1 IC1 pin: TIMX1_IC1
+#endif
+#if !FIND_VALUE_TIMX_IC2(_TIMX1, TIMX1_IC2)
+#error Invalid pin assignment for TIMX1 IC2 pin: TIMX1_IC2
+#endif
+#if !FIND_VALUE_TIMX_IC3(_TIMX1, TIMX1_IC3)
+#error Invalid pin assignment for TIMX1 IC3 pin: TIMX1_IC3
+#endif
+#if !FIND_VALUE_TIMX_IC4(_TIMX1, TIMX1_IC4)
+#error Invalid pin assignment for TIMX1 IC4 pin: TIMX1_IC4
+#endif
+#endif
+
+#ifdef USE_TIMX2
+#if !FIND_VALUE_TIMX_IC1(_TIMX2, TIMX2_IC1)
+#error Invalid pin assignment for TIMX2 IC1 pin: TIMX2_IC1
+#endif
+#if !FIND_VALUE_TIMX_IC2(_TIMX2, TIMX2_IC2)
+#error Invalid pin assignment for TIMX2 IC2 pin: TIMX2_IC2
+#endif
+#if !FIND_VALUE_TIMX_IC3(_TIMX2, TIMX2_IC3)
+#error Invalid pin assignment for TIMX2 IC3 pin: TIMX2_IC3
+#endif
+#if !FIND_VALUE_TIMX_IC4(_TIMX2, TIMX2_IC4)
+#error Invalid pin assignment for TIMX2 IC4 pin: TIMX2_IC4
+#endif
+#endif
+
+#ifdef USE_TIMX3
+#if !FIND_VALUE_TIMX_IC1(_TIMX3, TIMX3_IC1)
+#error Invalid pin assignment for TIMX3 IC1 pin: TIMX3_IC1
+#endif
+#if !FIND_VALUE_TIMX_IC2(_TIMX3, TIMX3_IC2)
+#error Invalid pin assignment for TIMX3 IC2 pin: TIMX3_IC2
+#endif
+#if !FIND_VALUE_TIMX_IC3(_TIMX3, TIMX3_IC3)
+#error Invalid pin assignment for TIMX3 IC3 pin: TIMX3_IC3
+#endif
+#if !FIND_VALUE_TIMX_IC4(_TIMX3, TIMX3_IC4)
+#error Invalid pin assignment for TIMX3 IC4 pin: TIMX3_IC4
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_trig.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_trig.h
new file mode 100644
index 000000000..38b3cf8ac
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_trig.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405272
+ */
+
+#define FIND_VALUE_TRIG_INOUT_inner(INDEX,PIN) I2C##_TRIG_##PIN
+#define FIND_VALUE_TRIG_INOUT(INDEX,PIN) FIND_VALUE_TRIG_INOUT_inner(INDEX,PIN)
+
+#ifdef USE_TRIG0
+#if !FIND_VALUE_TRIG_INOUT(_TRIG0, TRIG0_INOUT)
+#error Invalid pin assignment for TRIG0 INOUT pin: TRIG0_INOUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ts_g.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ts_g.h
new file mode 100644
index 000000000..7d1187a18
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ts_g.h
@@ -0,0 +1,290 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405324
+ */
+
+#define FIND_VALUE_TS_G_IO1_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO1(INDEX,PIN) FIND_VALUE_TS_G_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO2_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO2(INDEX,PIN) FIND_VALUE_TS_G_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO3_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO3(INDEX,PIN) FIND_VALUE_TS_G_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO4_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO4(INDEX,PIN) FIND_VALUE_TS_G_IO4_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO5_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO5(INDEX,PIN) FIND_VALUE_TS_G_IO5_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO6_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO6(INDEX,PIN) FIND_VALUE_TS_G_IO6_inner(INDEX,PIN)
+
+#define FIND_VALUE_TS_G_IO7_inner(INDEX,PIN) I2C##_TS_G_##PIN
+#define FIND_VALUE_TS_G_IO7(INDEX,PIN) FIND_VALUE_TS_G_IO7_inner(INDEX,PIN)
+
+#ifdef USE_TS_G0
+#if !FIND_VALUE_TS_G_IO1(_TS_G0, TS_G0_IO1)
+#error Invalid pin assignment for TS_G0 IO1 pin: TS_G0_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G0, TS_G0_IO2)
+#error Invalid pin assignment for TS_G0 IO2 pin: TS_G0_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G0, TS_G0_IO3)
+#error Invalid pin assignment for TS_G0 IO3 pin: TS_G0_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G0, TS_G0_IO4)
+#error Invalid pin assignment for TS_G0 IO4 pin: TS_G0_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G0, TS_G0_IO5)
+#error Invalid pin assignment for TS_G0 IO5 pin: TS_G0_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G0, TS_G0_IO6)
+#error Invalid pin assignment for TS_G0 IO6 pin: TS_G0_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G0, TS_G0_IO7)
+#error Invalid pin assignment for TS_G0 IO7 pin: TS_G0_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G1
+#if !FIND_VALUE_TS_G_IO1(_TS_G1, TS_G1_IO1)
+#error Invalid pin assignment for TS_G1 IO1 pin: TS_G1_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G1, TS_G1_IO2)
+#error Invalid pin assignment for TS_G1 IO2 pin: TS_G1_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G1, TS_G1_IO3)
+#error Invalid pin assignment for TS_G1 IO3 pin: TS_G1_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G1, TS_G1_IO4)
+#error Invalid pin assignment for TS_G1 IO4 pin: TS_G1_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G1, TS_G1_IO5)
+#error Invalid pin assignment for TS_G1 IO5 pin: TS_G1_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G1, TS_G1_IO6)
+#error Invalid pin assignment for TS_G1 IO6 pin: TS_G1_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G1, TS_G1_IO7)
+#error Invalid pin assignment for TS_G1 IO7 pin: TS_G1_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G2
+#if !FIND_VALUE_TS_G_IO1(_TS_G2, TS_G2_IO1)
+#error Invalid pin assignment for TS_G2 IO1 pin: TS_G2_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G2, TS_G2_IO2)
+#error Invalid pin assignment for TS_G2 IO2 pin: TS_G2_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G2, TS_G2_IO3)
+#error Invalid pin assignment for TS_G2 IO3 pin: TS_G2_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G2, TS_G2_IO4)
+#error Invalid pin assignment for TS_G2 IO4 pin: TS_G2_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G2, TS_G2_IO5)
+#error Invalid pin assignment for TS_G2 IO5 pin: TS_G2_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G2, TS_G2_IO6)
+#error Invalid pin assignment for TS_G2 IO6 pin: TS_G2_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G2, TS_G2_IO7)
+#error Invalid pin assignment for TS_G2 IO7 pin: TS_G2_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G3
+#if !FIND_VALUE_TS_G_IO1(_TS_G3, TS_G3_IO1)
+#error Invalid pin assignment for TS_G3 IO1 pin: TS_G3_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G3, TS_G3_IO2)
+#error Invalid pin assignment for TS_G3 IO2 pin: TS_G3_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G3, TS_G3_IO3)
+#error Invalid pin assignment for TS_G3 IO3 pin: TS_G3_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G3, TS_G3_IO4)
+#error Invalid pin assignment for TS_G3 IO4 pin: TS_G3_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G3, TS_G3_IO5)
+#error Invalid pin assignment for TS_G3 IO5 pin: TS_G3_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G3, TS_G3_IO6)
+#error Invalid pin assignment for TS_G3 IO6 pin: TS_G3_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G3, TS_G3_IO7)
+#error Invalid pin assignment for TS_G3 IO7 pin: TS_G3_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G4
+#if !FIND_VALUE_TS_G_IO1(_TS_G4, TS_G4_IO1)
+#error Invalid pin assignment for TS_G4 IO1 pin: TS_G4_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G4, TS_G4_IO2)
+#error Invalid pin assignment for TS_G4 IO2 pin: TS_G4_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G4, TS_G4_IO3)
+#error Invalid pin assignment for TS_G4 IO3 pin: TS_G4_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G4, TS_G4_IO4)
+#error Invalid pin assignment for TS_G4 IO4 pin: TS_G4_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G4, TS_G4_IO5)
+#error Invalid pin assignment for TS_G4 IO5 pin: TS_G4_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G4, TS_G4_IO6)
+#error Invalid pin assignment for TS_G4 IO6 pin: TS_G4_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G4, TS_G4_IO7)
+#error Invalid pin assignment for TS_G4 IO7 pin: TS_G4_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G5
+#if !FIND_VALUE_TS_G_IO1(_TS_G5, TS_G5_IO1)
+#error Invalid pin assignment for TS_G5 IO1 pin: TS_G5_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G5, TS_G5_IO2)
+#error Invalid pin assignment for TS_G5 IO2 pin: TS_G5_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G5, TS_G5_IO3)
+#error Invalid pin assignment for TS_G5 IO3 pin: TS_G5_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G5, TS_G5_IO4)
+#error Invalid pin assignment for TS_G5 IO4 pin: TS_G5_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G5, TS_G5_IO5)
+#error Invalid pin assignment for TS_G5 IO5 pin: TS_G5_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G5, TS_G5_IO6)
+#error Invalid pin assignment for TS_G5 IO6 pin: TS_G5_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G5, TS_G5_IO7)
+#error Invalid pin assignment for TS_G5 IO7 pin: TS_G5_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G6
+#if !FIND_VALUE_TS_G_IO1(_TS_G6, TS_G6_IO1)
+#error Invalid pin assignment for TS_G6 IO1 pin: TS_G6_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G6, TS_G6_IO2)
+#error Invalid pin assignment for TS_G6 IO2 pin: TS_G6_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G6, TS_G6_IO3)
+#error Invalid pin assignment for TS_G6 IO3 pin: TS_G6_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G6, TS_G6_IO4)
+#error Invalid pin assignment for TS_G6 IO4 pin: TS_G6_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G6, TS_G6_IO5)
+#error Invalid pin assignment for TS_G6 IO5 pin: TS_G6_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G6, TS_G6_IO6)
+#error Invalid pin assignment for TS_G6 IO6 pin: TS_G6_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G6, TS_G6_IO7)
+#error Invalid pin assignment for TS_G6 IO7 pin: TS_G6_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G7
+#if !FIND_VALUE_TS_G_IO1(_TS_G7, TS_G7_IO1)
+#error Invalid pin assignment for TS_G7 IO1 pin: TS_G7_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G7, TS_G7_IO2)
+#error Invalid pin assignment for TS_G7 IO2 pin: TS_G7_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G7, TS_G7_IO3)
+#error Invalid pin assignment for TS_G7 IO3 pin: TS_G7_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G7, TS_G7_IO4)
+#error Invalid pin assignment for TS_G7 IO4 pin: TS_G7_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G7, TS_G7_IO5)
+#error Invalid pin assignment for TS_G7 IO5 pin: TS_G7_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G7, TS_G7_IO6)
+#error Invalid pin assignment for TS_G7 IO6 pin: TS_G7_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G7, TS_G7_IO7)
+#error Invalid pin assignment for TS_G7 IO7 pin: TS_G7_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G8
+#if !FIND_VALUE_TS_G_IO1(_TS_G8, TS_G8_IO1)
+#error Invalid pin assignment for TS_G8 IO1 pin: TS_G8_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G8, TS_G8_IO2)
+#error Invalid pin assignment for TS_G8 IO2 pin: TS_G8_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G8, TS_G8_IO3)
+#error Invalid pin assignment for TS_G8 IO3 pin: TS_G8_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G8, TS_G8_IO4)
+#error Invalid pin assignment for TS_G8 IO4 pin: TS_G8_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G8, TS_G8_IO5)
+#error Invalid pin assignment for TS_G8 IO5 pin: TS_G8_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G8, TS_G8_IO6)
+#error Invalid pin assignment for TS_G8 IO6 pin: TS_G8_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G8, TS_G8_IO7)
+#error Invalid pin assignment for TS_G8 IO7 pin: TS_G8_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G9
+#if !FIND_VALUE_TS_G_IO1(_TS_G9, TS_G9_IO1)
+#error Invalid pin assignment for TS_G9 IO1 pin: TS_G9_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G9, TS_G9_IO2)
+#error Invalid pin assignment for TS_G9 IO2 pin: TS_G9_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G9, TS_G9_IO3)
+#error Invalid pin assignment for TS_G9 IO3 pin: TS_G9_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G9, TS_G9_IO4)
+#error Invalid pin assignment for TS_G9 IO4 pin: TS_G9_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G9, TS_G9_IO5)
+#error Invalid pin assignment for TS_G9 IO5 pin: TS_G9_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G9, TS_G9_IO6)
+#error Invalid pin assignment for TS_G9 IO6 pin: TS_G9_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G9, TS_G9_IO7)
+#error Invalid pin assignment for TS_G9 IO7 pin: TS_G9_IO7
+#endif
+#endif
+
+#ifdef USE_TS_G10
+#if !FIND_VALUE_TS_G_IO1(_TS_G10, TS_G10_IO1)
+#error Invalid pin assignment for TS_G10 IO1 pin: TS_G10_IO1
+#endif
+#if !FIND_VALUE_TS_G_IO2(_TS_G10, TS_G10_IO2)
+#error Invalid pin assignment for TS_G10 IO2 pin: TS_G10_IO2
+#endif
+#if !FIND_VALUE_TS_G_IO3(_TS_G10, TS_G10_IO3)
+#error Invalid pin assignment for TS_G10 IO3 pin: TS_G10_IO3
+#endif
+#if !FIND_VALUE_TS_G_IO4(_TS_G10, TS_G10_IO4)
+#error Invalid pin assignment for TS_G10 IO4 pin: TS_G10_IO4
+#endif
+#if !FIND_VALUE_TS_G_IO5(_TS_G10, TS_G10_IO5)
+#error Invalid pin assignment for TS_G10 IO5 pin: TS_G10_IO5
+#endif
+#if !FIND_VALUE_TS_G_IO6(_TS_G10, TS_G10_IO6)
+#error Invalid pin assignment for TS_G10 IO6 pin: TS_G10_IO6
+#endif
+#if !FIND_VALUE_TS_G_IO7(_TS_G10, TS_G10_IO7)
+#error Invalid pin assignment for TS_G10 IO7 pin: TS_G10_IO7
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc.h
new file mode 100644
index 000000000..07e2a51ed
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405283
+ */
+
+#define FIND_VALUE_TSC_SYNC_inner(INDEX,PIN) I2C##_TSC_##PIN
+#define FIND_VALUE_TSC_SYNC(INDEX,PIN) FIND_VALUE_TSC_SYNC_inner(INDEX,PIN)
+
+#ifdef USE_TSC0
+#if !FIND_VALUE_TSC_SYNC(_TSC0, TSC0_SYNC)
+#error Invalid pin assignment for TSC0 SYNC pin: TSC0_SYNC
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc_g.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc_g.h
new file mode 100644
index 000000000..dcea51578
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_tsc_g.h
@@ -0,0 +1,137 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405295
+ */
+
+#define FIND_VALUE_TSC_G_IO1_inner(INDEX,PIN) I2C##_TSC_G_##PIN
+#define FIND_VALUE_TSC_G_IO1(INDEX,PIN) FIND_VALUE_TSC_G_IO1_inner(INDEX,PIN)
+
+#define FIND_VALUE_TSC_G_IO2_inner(INDEX,PIN) I2C##_TSC_G_##PIN
+#define FIND_VALUE_TSC_G_IO2(INDEX,PIN) FIND_VALUE_TSC_G_IO2_inner(INDEX,PIN)
+
+#define FIND_VALUE_TSC_G_IO3_inner(INDEX,PIN) I2C##_TSC_G_##PIN
+#define FIND_VALUE_TSC_G_IO3(INDEX,PIN) FIND_VALUE_TSC_G_IO3_inner(INDEX,PIN)
+
+#define FIND_VALUE_TSC_G_IO4_inner(INDEX,PIN) I2C##_TSC_G_##PIN
+#define FIND_VALUE_TSC_G_IO4(INDEX,PIN) FIND_VALUE_TSC_G_IO4_inner(INDEX,PIN)
+
+#ifdef USE_TSC_G0
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G0, TSC_G0_IO1)
+#error Invalid pin assignment for TSC_G0 IO1 pin: TSC_G0_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G0, TSC_G0_IO2)
+#error Invalid pin assignment for TSC_G0 IO2 pin: TSC_G0_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G0, TSC_G0_IO3)
+#error Invalid pin assignment for TSC_G0 IO3 pin: TSC_G0_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G0, TSC_G0_IO4)
+#error Invalid pin assignment for TSC_G0 IO4 pin: TSC_G0_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G1
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G1, TSC_G1_IO1)
+#error Invalid pin assignment for TSC_G1 IO1 pin: TSC_G1_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G1, TSC_G1_IO2)
+#error Invalid pin assignment for TSC_G1 IO2 pin: TSC_G1_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G1, TSC_G1_IO3)
+#error Invalid pin assignment for TSC_G1 IO3 pin: TSC_G1_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G1, TSC_G1_IO4)
+#error Invalid pin assignment for TSC_G1 IO4 pin: TSC_G1_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G2
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G2, TSC_G2_IO1)
+#error Invalid pin assignment for TSC_G2 IO1 pin: TSC_G2_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G2, TSC_G2_IO2)
+#error Invalid pin assignment for TSC_G2 IO2 pin: TSC_G2_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G2, TSC_G2_IO3)
+#error Invalid pin assignment for TSC_G2 IO3 pin: TSC_G2_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G2, TSC_G2_IO4)
+#error Invalid pin assignment for TSC_G2 IO4 pin: TSC_G2_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G3
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G3, TSC_G3_IO1)
+#error Invalid pin assignment for TSC_G3 IO1 pin: TSC_G3_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G3, TSC_G3_IO2)
+#error Invalid pin assignment for TSC_G3 IO2 pin: TSC_G3_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G3, TSC_G3_IO3)
+#error Invalid pin assignment for TSC_G3 IO3 pin: TSC_G3_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G3, TSC_G3_IO4)
+#error Invalid pin assignment for TSC_G3 IO4 pin: TSC_G3_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G4
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G4, TSC_G4_IO1)
+#error Invalid pin assignment for TSC_G4 IO1 pin: TSC_G4_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G4, TSC_G4_IO2)
+#error Invalid pin assignment for TSC_G4 IO2 pin: TSC_G4_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G4, TSC_G4_IO3)
+#error Invalid pin assignment for TSC_G4 IO3 pin: TSC_G4_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G4, TSC_G4_IO4)
+#error Invalid pin assignment for TSC_G4 IO4 pin: TSC_G4_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G5
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G5, TSC_G5_IO1)
+#error Invalid pin assignment for TSC_G5 IO1 pin: TSC_G5_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G5, TSC_G5_IO2)
+#error Invalid pin assignment for TSC_G5 IO2 pin: TSC_G5_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G5, TSC_G5_IO3)
+#error Invalid pin assignment for TSC_G5 IO3 pin: TSC_G5_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G5, TSC_G5_IO4)
+#error Invalid pin assignment for TSC_G5 IO4 pin: TSC_G5_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G6
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G6, TSC_G6_IO1)
+#error Invalid pin assignment for TSC_G6 IO1 pin: TSC_G6_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G6, TSC_G6_IO2)
+#error Invalid pin assignment for TSC_G6 IO2 pin: TSC_G6_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G6, TSC_G6_IO3)
+#error Invalid pin assignment for TSC_G6 IO3 pin: TSC_G6_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G6, TSC_G6_IO4)
+#error Invalid pin assignment for TSC_G6 IO4 pin: TSC_G6_IO4
+#endif
+#endif
+
+#ifdef USE_TSC_G7
+#if !FIND_VALUE_TSC_G_IO1(_TSC_G7, TSC_G7_IO1)
+#error Invalid pin assignment for TSC_G7 IO1 pin: TSC_G7_IO1
+#endif
+#if !FIND_VALUE_TSC_G_IO2(_TSC_G7, TSC_G7_IO2)
+#error Invalid pin assignment for TSC_G7 IO2 pin: TSC_G7_IO2
+#endif
+#if !FIND_VALUE_TSC_G_IO3(_TSC_G7, TSC_G7_IO3)
+#error Invalid pin assignment for TSC_G7 IO3 pin: TSC_G7_IO3
+#endif
+#if !FIND_VALUE_TSC_G_IO4(_TSC_G7, TSC_G7_IO4)
+#error Invalid pin assignment for TSC_G7 IO4 pin: TSC_G7_IO4
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_uart.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_uart.h
new file mode 100644
index 000000000..cdd7fbde6
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_uart.h
@@ -0,0 +1,254 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405380
+ */
+
+#define FIND_VALUE_UART_CTS_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_CTS(INDEX,PIN) FIND_VALUE_UART_CTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_UART_CTS_NSS_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_CTS_NSS(INDEX,PIN) FIND_VALUE_UART_CTS_NSS_inner(INDEX,PIN)
+
+#define FIND_VALUE_UART_DE_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_DE(INDEX,PIN) FIND_VALUE_UART_DE_inner(INDEX,PIN)
+
+#define FIND_VALUE_UART_RTS_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_RTS(INDEX,PIN) FIND_VALUE_UART_RTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_UART_RX_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_RX(INDEX,PIN) FIND_VALUE_UART_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_UART_TX_inner(INDEX,PIN) I2C##_UART_##PIN
+#define FIND_VALUE_UART_TX(INDEX,PIN) FIND_VALUE_UART_TX_inner(INDEX,PIN)
+
+#ifdef USE_UART0
+#if !FIND_VALUE_UART_CTS(_UART0, UART0_CTS)
+#error Invalid pin assignment for UART0 CTS pin: UART0_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART0, UART0_CTS_NSS)
+#error Invalid pin assignment for UART0 CTS_NSS pin: UART0_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART0, UART0_DE)
+#error Invalid pin assignment for UART0 DE pin: UART0_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART0, UART0_RTS)
+#error Invalid pin assignment for UART0 RTS pin: UART0_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART0, UART0_RX)
+#error Invalid pin assignment for UART0 RX pin: UART0_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART0, UART0_TX)
+#error Invalid pin assignment for UART0 TX pin: UART0_TX
+#endif
+#endif
+
+#ifdef USE_UART1
+#if !FIND_VALUE_UART_CTS(_UART1, UART1_CTS)
+#error Invalid pin assignment for UART1 CTS pin: UART1_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART1, UART1_CTS_NSS)
+#error Invalid pin assignment for UART1 CTS_NSS pin: UART1_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART1, UART1_DE)
+#error Invalid pin assignment for UART1 DE pin: UART1_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART1, UART1_RTS)
+#error Invalid pin assignment for UART1 RTS pin: UART1_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART1, UART1_RX)
+#error Invalid pin assignment for UART1 RX pin: UART1_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART1, UART1_TX)
+#error Invalid pin assignment for UART1 TX pin: UART1_TX
+#endif
+#endif
+
+#ifdef USE_UART2
+#if !FIND_VALUE_UART_CTS(_UART2, UART2_CTS)
+#error Invalid pin assignment for UART2 CTS pin: UART2_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART2, UART2_CTS_NSS)
+#error Invalid pin assignment for UART2 CTS_NSS pin: UART2_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART2, UART2_DE)
+#error Invalid pin assignment for UART2 DE pin: UART2_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART2, UART2_RTS)
+#error Invalid pin assignment for UART2 RTS pin: UART2_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART2, UART2_RX)
+#error Invalid pin assignment for UART2 RX pin: UART2_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART2, UART2_TX)
+#error Invalid pin assignment for UART2 TX pin: UART2_TX
+#endif
+#endif
+
+#ifdef USE_UART3
+#if !FIND_VALUE_UART_CTS(_UART3, UART3_CTS)
+#error Invalid pin assignment for UART3 CTS pin: UART3_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART3, UART3_CTS_NSS)
+#error Invalid pin assignment for UART3 CTS_NSS pin: UART3_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART3, UART3_DE)
+#error Invalid pin assignment for UART3 DE pin: UART3_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART3, UART3_RTS)
+#error Invalid pin assignment for UART3 RTS pin: UART3_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART3, UART3_RX)
+#error Invalid pin assignment for UART3 RX pin: UART3_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART3, UART3_TX)
+#error Invalid pin assignment for UART3 TX pin: UART3_TX
+#endif
+#endif
+
+#ifdef USE_UART4
+#if !FIND_VALUE_UART_CTS(_UART4, UART4_CTS)
+#error Invalid pin assignment for UART4 CTS pin: UART4_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART4, UART4_CTS_NSS)
+#error Invalid pin assignment for UART4 CTS_NSS pin: UART4_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART4, UART4_DE)
+#error Invalid pin assignment for UART4 DE pin: UART4_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART4, UART4_RTS)
+#error Invalid pin assignment for UART4 RTS pin: UART4_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART4, UART4_RX)
+#error Invalid pin assignment for UART4 RX pin: UART4_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART4, UART4_TX)
+#error Invalid pin assignment for UART4 TX pin: UART4_TX
+#endif
+#endif
+
+#ifdef USE_UART5
+#if !FIND_VALUE_UART_CTS(_UART5, UART5_CTS)
+#error Invalid pin assignment for UART5 CTS pin: UART5_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART5, UART5_CTS_NSS)
+#error Invalid pin assignment for UART5 CTS_NSS pin: UART5_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART5, UART5_DE)
+#error Invalid pin assignment for UART5 DE pin: UART5_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART5, UART5_RTS)
+#error Invalid pin assignment for UART5 RTS pin: UART5_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART5, UART5_RX)
+#error Invalid pin assignment for UART5 RX pin: UART5_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART5, UART5_TX)
+#error Invalid pin assignment for UART5 TX pin: UART5_TX
+#endif
+#endif
+
+#ifdef USE_UART6
+#if !FIND_VALUE_UART_CTS(_UART6, UART6_CTS)
+#error Invalid pin assignment for UART6 CTS pin: UART6_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART6, UART6_CTS_NSS)
+#error Invalid pin assignment for UART6 CTS_NSS pin: UART6_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART6, UART6_DE)
+#error Invalid pin assignment for UART6 DE pin: UART6_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART6, UART6_RTS)
+#error Invalid pin assignment for UART6 RTS pin: UART6_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART6, UART6_RX)
+#error Invalid pin assignment for UART6 RX pin: UART6_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART6, UART6_TX)
+#error Invalid pin assignment for UART6 TX pin: UART6_TX
+#endif
+#endif
+
+#ifdef USE_UART7
+#if !FIND_VALUE_UART_CTS(_UART7, UART7_CTS)
+#error Invalid pin assignment for UART7 CTS pin: UART7_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART7, UART7_CTS_NSS)
+#error Invalid pin assignment for UART7 CTS_NSS pin: UART7_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART7, UART7_DE)
+#error Invalid pin assignment for UART7 DE pin: UART7_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART7, UART7_RTS)
+#error Invalid pin assignment for UART7 RTS pin: UART7_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART7, UART7_RX)
+#error Invalid pin assignment for UART7 RX pin: UART7_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART7, UART7_TX)
+#error Invalid pin assignment for UART7 TX pin: UART7_TX
+#endif
+#endif
+
+#ifdef USE_UART8
+#if !FIND_VALUE_UART_CTS(_UART8, UART8_CTS)
+#error Invalid pin assignment for UART8 CTS pin: UART8_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART8, UART8_CTS_NSS)
+#error Invalid pin assignment for UART8 CTS_NSS pin: UART8_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART8, UART8_DE)
+#error Invalid pin assignment for UART8 DE pin: UART8_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART8, UART8_RTS)
+#error Invalid pin assignment for UART8 RTS pin: UART8_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART8, UART8_RX)
+#error Invalid pin assignment for UART8 RX pin: UART8_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART8, UART8_TX)
+#error Invalid pin assignment for UART8 TX pin: UART8_TX
+#endif
+#endif
+
+#ifdef USE_UART9
+#if !FIND_VALUE_UART_CTS(_UART9, UART9_CTS)
+#error Invalid pin assignment for UART9 CTS pin: UART9_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART9, UART9_CTS_NSS)
+#error Invalid pin assignment for UART9 CTS_NSS pin: UART9_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART9, UART9_DE)
+#error Invalid pin assignment for UART9 DE pin: UART9_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART9, UART9_RTS)
+#error Invalid pin assignment for UART9 RTS pin: UART9_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART9, UART9_RX)
+#error Invalid pin assignment for UART9 RX pin: UART9_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART9, UART9_TX)
+#error Invalid pin assignment for UART9 TX pin: UART9_TX
+#endif
+#endif
+
+#ifdef USE_UART10
+#if !FIND_VALUE_UART_CTS(_UART10, UART10_CTS)
+#error Invalid pin assignment for UART10 CTS pin: UART10_CTS
+#endif
+#if !FIND_VALUE_UART_CTS_NSS(_UART10, UART10_CTS_NSS)
+#error Invalid pin assignment for UART10 CTS_NSS pin: UART10_CTS_NSS
+#endif
+#if !FIND_VALUE_UART_DE(_UART10, UART10_DE)
+#error Invalid pin assignment for UART10 DE pin: UART10_DE
+#endif
+#if !FIND_VALUE_UART_RTS(_UART10, UART10_RTS)
+#error Invalid pin assignment for UART10 RTS pin: UART10_RTS
+#endif
+#if !FIND_VALUE_UART_RX(_UART10, UART10_RX)
+#error Invalid pin assignment for UART10 RX pin: UART10_RX
+#endif
+#if !FIND_VALUE_UART_TX(_UART10, UART10_TX)
+#error Invalid pin assignment for UART10 TX pin: UART10_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ucpd.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ucpd.h
new file mode 100644
index 000000000..ce4702ffa
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_ucpd.h
@@ -0,0 +1,56 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405430
+ */
+
+#define FIND_VALUE_UCPD_FRSTX_inner(INDEX,PIN) I2C##_UCPD_##PIN
+#define FIND_VALUE_UCPD_FRSTX(INDEX,PIN) FIND_VALUE_UCPD_FRSTX_inner(INDEX,PIN)
+
+#define FIND_VALUE_UCPD_FRSTX1_inner(INDEX,PIN) I2C##_UCPD_##PIN
+#define FIND_VALUE_UCPD_FRSTX1(INDEX,PIN) FIND_VALUE_UCPD_FRSTX1_inner(INDEX,PIN)
+
+#define FIND_VALUE_UCPD_FRSTX2_inner(INDEX,PIN) I2C##_UCPD_##PIN
+#define FIND_VALUE_UCPD_FRSTX2(INDEX,PIN) FIND_VALUE_UCPD_FRSTX2_inner(INDEX,PIN)
+
+#define FIND_VALUE_UCPD_TXDATA_inner(INDEX,PIN) I2C##_UCPD_##PIN
+#define FIND_VALUE_UCPD_TXDATA(INDEX,PIN) FIND_VALUE_UCPD_TXDATA_inner(INDEX,PIN)
+
+#define FIND_VALUE_UCPD_TXGND_inner(INDEX,PIN) I2C##_UCPD_##PIN
+#define FIND_VALUE_UCPD_TXGND(INDEX,PIN) FIND_VALUE_UCPD_TXGND_inner(INDEX,PIN)
+
+#ifdef USE_UCPD0
+#if !FIND_VALUE_UCPD_FRSTX(_UCPD0, UCPD0_FRSTX)
+#error Invalid pin assignment for UCPD0 FRSTX pin: UCPD0_FRSTX
+#endif
+#if !FIND_VALUE_UCPD_FRSTX1(_UCPD0, UCPD0_FRSTX1)
+#error Invalid pin assignment for UCPD0 FRSTX1 pin: UCPD0_FRSTX1
+#endif
+#if !FIND_VALUE_UCPD_FRSTX2(_UCPD0, UCPD0_FRSTX2)
+#error Invalid pin assignment for UCPD0 FRSTX2 pin: UCPD0_FRSTX2
+#endif
+#if !FIND_VALUE_UCPD_TXDATA(_UCPD0, UCPD0_TXDATA)
+#error Invalid pin assignment for UCPD0 TXDATA pin: UCPD0_TXDATA
+#endif
+#if !FIND_VALUE_UCPD_TXGND(_UCPD0, UCPD0_TXGND)
+#error Invalid pin assignment for UCPD0 TXGND pin: UCPD0_TXGND
+#endif
+#endif
+
+#ifdef USE_UCPD1
+#if !FIND_VALUE_UCPD_FRSTX(_UCPD1, UCPD1_FRSTX)
+#error Invalid pin assignment for UCPD1 FRSTX pin: UCPD1_FRSTX
+#endif
+#if !FIND_VALUE_UCPD_FRSTX1(_UCPD1, UCPD1_FRSTX1)
+#error Invalid pin assignment for UCPD1 FRSTX1 pin: UCPD1_FRSTX1
+#endif
+#if !FIND_VALUE_UCPD_FRSTX2(_UCPD1, UCPD1_FRSTX2)
+#error Invalid pin assignment for UCPD1 FRSTX2 pin: UCPD1_FRSTX2
+#endif
+#if !FIND_VALUE_UCPD_TXDATA(_UCPD1, UCPD1_TXDATA)
+#error Invalid pin assignment for UCPD1 TXDATA pin: UCPD1_TXDATA
+#endif
+#if !FIND_VALUE_UCPD_TXGND(_UCPD1, UCPD1_TXGND)
+#error Invalid pin assignment for UCPD1 TXGND pin: UCPD1_TXGND
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usart.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usart.h
new file mode 100644
index 000000000..27506bf14
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usart.h
@@ -0,0 +1,266 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405456
+ */
+
+#define FIND_VALUE_USART_CK_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_CK(INDEX,PIN) FIND_VALUE_USART_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_CTS_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_CTS(INDEX,PIN) FIND_VALUE_USART_CTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_DE_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_DE(INDEX,PIN) FIND_VALUE_USART_DE_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_NSS_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_NSS(INDEX,PIN) FIND_VALUE_USART_NSS_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_RTS_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_RTS(INDEX,PIN) FIND_VALUE_USART_RTS_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_RX_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_RX(INDEX,PIN) FIND_VALUE_USART_RX_inner(INDEX,PIN)
+
+#define FIND_VALUE_USART_TX_inner(INDEX,PIN) I2C##_USART_##PIN
+#define FIND_VALUE_USART_TX(INDEX,PIN) FIND_VALUE_USART_TX_inner(INDEX,PIN)
+
+#ifdef USE_USART0
+#if !FIND_VALUE_USART_CK(_USART0, USART0_CK)
+#error Invalid pin assignment for USART0 CK pin: USART0_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART0, USART0_CTS)
+#error Invalid pin assignment for USART0 CTS pin: USART0_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART0, USART0_DE)
+#error Invalid pin assignment for USART0 DE pin: USART0_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART0, USART0_NSS)
+#error Invalid pin assignment for USART0 NSS pin: USART0_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART0, USART0_RTS)
+#error Invalid pin assignment for USART0 RTS pin: USART0_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART0, USART0_RX)
+#error Invalid pin assignment for USART0 RX pin: USART0_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART0, USART0_TX)
+#error Invalid pin assignment for USART0 TX pin: USART0_TX
+#endif
+#endif
+
+#ifdef USE_USART1
+#if !FIND_VALUE_USART_CK(_USART1, USART1_CK)
+#error Invalid pin assignment for USART1 CK pin: USART1_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART1, USART1_CTS)
+#error Invalid pin assignment for USART1 CTS pin: USART1_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART1, USART1_DE)
+#error Invalid pin assignment for USART1 DE pin: USART1_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART1, USART1_NSS)
+#error Invalid pin assignment for USART1 NSS pin: USART1_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART1, USART1_RTS)
+#error Invalid pin assignment for USART1 RTS pin: USART1_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART1, USART1_RX)
+#error Invalid pin assignment for USART1 RX pin: USART1_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART1, USART1_TX)
+#error Invalid pin assignment for USART1 TX pin: USART1_TX
+#endif
+#endif
+
+#ifdef USE_USART2
+#if !FIND_VALUE_USART_CK(_USART2, USART2_CK)
+#error Invalid pin assignment for USART2 CK pin: USART2_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART2, USART2_CTS)
+#error Invalid pin assignment for USART2 CTS pin: USART2_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART2, USART2_DE)
+#error Invalid pin assignment for USART2 DE pin: USART2_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART2, USART2_NSS)
+#error Invalid pin assignment for USART2 NSS pin: USART2_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART2, USART2_RTS)
+#error Invalid pin assignment for USART2 RTS pin: USART2_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART2, USART2_RX)
+#error Invalid pin assignment for USART2 RX pin: USART2_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART2, USART2_TX)
+#error Invalid pin assignment for USART2 TX pin: USART2_TX
+#endif
+#endif
+
+#ifdef USE_USART3
+#if !FIND_VALUE_USART_CK(_USART3, USART3_CK)
+#error Invalid pin assignment for USART3 CK pin: USART3_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART3, USART3_CTS)
+#error Invalid pin assignment for USART3 CTS pin: USART3_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART3, USART3_DE)
+#error Invalid pin assignment for USART3 DE pin: USART3_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART3, USART3_NSS)
+#error Invalid pin assignment for USART3 NSS pin: USART3_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART3, USART3_RTS)
+#error Invalid pin assignment for USART3 RTS pin: USART3_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART3, USART3_RX)
+#error Invalid pin assignment for USART3 RX pin: USART3_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART3, USART3_TX)
+#error Invalid pin assignment for USART3 TX pin: USART3_TX
+#endif
+#endif
+
+#ifdef USE_USART4
+#if !FIND_VALUE_USART_CK(_USART4, USART4_CK)
+#error Invalid pin assignment for USART4 CK pin: USART4_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART4, USART4_CTS)
+#error Invalid pin assignment for USART4 CTS pin: USART4_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART4, USART4_DE)
+#error Invalid pin assignment for USART4 DE pin: USART4_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART4, USART4_NSS)
+#error Invalid pin assignment for USART4 NSS pin: USART4_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART4, USART4_RTS)
+#error Invalid pin assignment for USART4 RTS pin: USART4_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART4, USART4_RX)
+#error Invalid pin assignment for USART4 RX pin: USART4_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART4, USART4_TX)
+#error Invalid pin assignment for USART4 TX pin: USART4_TX
+#endif
+#endif
+
+#ifdef USE_USART5
+#if !FIND_VALUE_USART_CK(_USART5, USART5_CK)
+#error Invalid pin assignment for USART5 CK pin: USART5_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART5, USART5_CTS)
+#error Invalid pin assignment for USART5 CTS pin: USART5_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART5, USART5_DE)
+#error Invalid pin assignment for USART5 DE pin: USART5_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART5, USART5_NSS)
+#error Invalid pin assignment for USART5 NSS pin: USART5_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART5, USART5_RTS)
+#error Invalid pin assignment for USART5 RTS pin: USART5_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART5, USART5_RX)
+#error Invalid pin assignment for USART5 RX pin: USART5_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART5, USART5_TX)
+#error Invalid pin assignment for USART5 TX pin: USART5_TX
+#endif
+#endif
+
+#ifdef USE_USART6
+#if !FIND_VALUE_USART_CK(_USART6, USART6_CK)
+#error Invalid pin assignment for USART6 CK pin: USART6_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART6, USART6_CTS)
+#error Invalid pin assignment for USART6 CTS pin: USART6_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART6, USART6_DE)
+#error Invalid pin assignment for USART6 DE pin: USART6_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART6, USART6_NSS)
+#error Invalid pin assignment for USART6 NSS pin: USART6_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART6, USART6_RTS)
+#error Invalid pin assignment for USART6 RTS pin: USART6_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART6, USART6_RX)
+#error Invalid pin assignment for USART6 RX pin: USART6_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART6, USART6_TX)
+#error Invalid pin assignment for USART6 TX pin: USART6_TX
+#endif
+#endif
+
+#ifdef USE_USART7
+#if !FIND_VALUE_USART_CK(_USART7, USART7_CK)
+#error Invalid pin assignment for USART7 CK pin: USART7_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART7, USART7_CTS)
+#error Invalid pin assignment for USART7 CTS pin: USART7_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART7, USART7_DE)
+#error Invalid pin assignment for USART7 DE pin: USART7_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART7, USART7_NSS)
+#error Invalid pin assignment for USART7 NSS pin: USART7_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART7, USART7_RTS)
+#error Invalid pin assignment for USART7 RTS pin: USART7_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART7, USART7_RX)
+#error Invalid pin assignment for USART7 RX pin: USART7_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART7, USART7_TX)
+#error Invalid pin assignment for USART7 TX pin: USART7_TX
+#endif
+#endif
+
+#ifdef USE_USART8
+#if !FIND_VALUE_USART_CK(_USART8, USART8_CK)
+#error Invalid pin assignment for USART8 CK pin: USART8_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART8, USART8_CTS)
+#error Invalid pin assignment for USART8 CTS pin: USART8_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART8, USART8_DE)
+#error Invalid pin assignment for USART8 DE pin: USART8_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART8, USART8_NSS)
+#error Invalid pin assignment for USART8 NSS pin: USART8_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART8, USART8_RTS)
+#error Invalid pin assignment for USART8 RTS pin: USART8_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART8, USART8_RX)
+#error Invalid pin assignment for USART8 RX pin: USART8_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART8, USART8_TX)
+#error Invalid pin assignment for USART8 TX pin: USART8_TX
+#endif
+#endif
+
+#ifdef USE_USART9
+#if !FIND_VALUE_USART_CK(_USART9, USART9_CK)
+#error Invalid pin assignment for USART9 CK pin: USART9_CK
+#endif
+#if !FIND_VALUE_USART_CTS(_USART9, USART9_CTS)
+#error Invalid pin assignment for USART9 CTS pin: USART9_CTS
+#endif
+#if !FIND_VALUE_USART_DE(_USART9, USART9_DE)
+#error Invalid pin assignment for USART9 DE pin: USART9_DE
+#endif
+#if !FIND_VALUE_USART_NSS(_USART9, USART9_NSS)
+#error Invalid pin assignment for USART9 NSS pin: USART9_NSS
+#endif
+#if !FIND_VALUE_USART_RTS(_USART9, USART9_RTS)
+#error Invalid pin assignment for USART9 RTS pin: USART9_RTS
+#endif
+#if !FIND_VALUE_USART_RX(_USART9, USART9_RX)
+#error Invalid pin assignment for USART9 RX pin: USART9_RX
+#endif
+#if !FIND_VALUE_USART_TX(_USART9, USART9_TX)
+#error Invalid pin assignment for USART9 TX pin: USART9_TX
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb.h
new file mode 100644
index 000000000..c99ce9820
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb.h
@@ -0,0 +1,32 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405507
+ */
+
+#define FIND_VALUE_USB_DM_inner(INDEX,PIN) I2C##_USB_##PIN
+#define FIND_VALUE_USB_DM(INDEX,PIN) FIND_VALUE_USB_DM_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_DP_inner(INDEX,PIN) I2C##_USB_##PIN
+#define FIND_VALUE_USB_DP(INDEX,PIN) FIND_VALUE_USB_DP_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_NOE_inner(INDEX,PIN) I2C##_USB_##PIN
+#define FIND_VALUE_USB_NOE(INDEX,PIN) FIND_VALUE_USB_NOE_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OE_inner(INDEX,PIN) I2C##_USB_##PIN
+#define FIND_VALUE_USB_OE(INDEX,PIN) FIND_VALUE_USB_OE_inner(INDEX,PIN)
+
+#ifdef USE_USB0
+#if !FIND_VALUE_USB_DM(_USB0, USB0_DM)
+#error Invalid pin assignment for USB0 DM pin: USB0_DM
+#endif
+#if !FIND_VALUE_USB_DP(_USB0, USB0_DP)
+#error Invalid pin assignment for USB0 DP pin: USB0_DP
+#endif
+#if !FIND_VALUE_USB_NOE(_USB0, USB0_NOE)
+#error Invalid pin assignment for USB0 NOE pin: USB0_NOE
+#endif
+#if !FIND_VALUE_USB_OE(_USB0, USB0_OE)
+#error Invalid pin assignment for USB0 OE pin: USB0_OE
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_fs.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_fs.h
new file mode 100644
index 000000000..6adae0d47
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_fs.h
@@ -0,0 +1,44 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405522
+ */
+
+#define FIND_VALUE_USB_OTG_FS_DM_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_DM(INDEX,PIN) FIND_VALUE_USB_OTG_FS_DM_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_FS_DP_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_DP(INDEX,PIN) FIND_VALUE_USB_OTG_FS_DP_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_FS_ID_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_ID(INDEX,PIN) FIND_VALUE_USB_OTG_FS_ID_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_FS_NOE_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_NOE(INDEX,PIN) FIND_VALUE_USB_OTG_FS_NOE_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_FS_SOF_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_SOF(INDEX,PIN) FIND_VALUE_USB_OTG_FS_SOF_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_FS_VBUS_inner(INDEX,PIN) I2C##_USB_OTG_FS_##PIN
+#define FIND_VALUE_USB_OTG_FS_VBUS(INDEX,PIN) FIND_VALUE_USB_OTG_FS_VBUS_inner(INDEX,PIN)
+
+#ifdef USE_USB_OTG_FS0
+#if !FIND_VALUE_USB_OTG_FS_DM(_USB_OTG_FS0, USB_OTG_FS0_DM)
+#error Invalid pin assignment for USB_OTG_FS0 DM pin: USB_OTG_FS0_DM
+#endif
+#if !FIND_VALUE_USB_OTG_FS_DP(_USB_OTG_FS0, USB_OTG_FS0_DP)
+#error Invalid pin assignment for USB_OTG_FS0 DP pin: USB_OTG_FS0_DP
+#endif
+#if !FIND_VALUE_USB_OTG_FS_ID(_USB_OTG_FS0, USB_OTG_FS0_ID)
+#error Invalid pin assignment for USB_OTG_FS0 ID pin: USB_OTG_FS0_ID
+#endif
+#if !FIND_VALUE_USB_OTG_FS_NOE(_USB_OTG_FS0, USB_OTG_FS0_NOE)
+#error Invalid pin assignment for USB_OTG_FS0 NOE pin: USB_OTG_FS0_NOE
+#endif
+#if !FIND_VALUE_USB_OTG_FS_SOF(_USB_OTG_FS0, USB_OTG_FS0_SOF)
+#error Invalid pin assignment for USB_OTG_FS0 SOF pin: USB_OTG_FS0_SOF
+#endif
+#if !FIND_VALUE_USB_OTG_FS_VBUS(_USB_OTG_FS0, USB_OTG_FS0_VBUS)
+#error Invalid pin assignment for USB_OTG_FS0 VBUS pin: USB_OTG_FS0_VBUS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs.h
new file mode 100644
index 000000000..b43a200de
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs.h
@@ -0,0 +1,38 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405539
+ */
+
+#define FIND_VALUE_USB_OTG_HS_DM_inner(INDEX,PIN) I2C##_USB_OTG_HS_##PIN
+#define FIND_VALUE_USB_OTG_HS_DM(INDEX,PIN) FIND_VALUE_USB_OTG_HS_DM_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_DP_inner(INDEX,PIN) I2C##_USB_OTG_HS_##PIN
+#define FIND_VALUE_USB_OTG_HS_DP(INDEX,PIN) FIND_VALUE_USB_OTG_HS_DP_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ID_inner(INDEX,PIN) I2C##_USB_OTG_HS_##PIN
+#define FIND_VALUE_USB_OTG_HS_ID(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ID_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_SOF_inner(INDEX,PIN) I2C##_USB_OTG_HS_##PIN
+#define FIND_VALUE_USB_OTG_HS_SOF(INDEX,PIN) FIND_VALUE_USB_OTG_HS_SOF_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_VBUS_inner(INDEX,PIN) I2C##_USB_OTG_HS_##PIN
+#define FIND_VALUE_USB_OTG_HS_VBUS(INDEX,PIN) FIND_VALUE_USB_OTG_HS_VBUS_inner(INDEX,PIN)
+
+#ifdef USE_USB_OTG_HS0
+#if !FIND_VALUE_USB_OTG_HS_DM(_USB_OTG_HS0, USB_OTG_HS0_DM)
+#error Invalid pin assignment for USB_OTG_HS0 DM pin: USB_OTG_HS0_DM
+#endif
+#if !FIND_VALUE_USB_OTG_HS_DP(_USB_OTG_HS0, USB_OTG_HS0_DP)
+#error Invalid pin assignment for USB_OTG_HS0 DP pin: USB_OTG_HS0_DP
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ID(_USB_OTG_HS0, USB_OTG_HS0_ID)
+#error Invalid pin assignment for USB_OTG_HS0 ID pin: USB_OTG_HS0_ID
+#endif
+#if !FIND_VALUE_USB_OTG_HS_SOF(_USB_OTG_HS0, USB_OTG_HS0_SOF)
+#error Invalid pin assignment for USB_OTG_HS0 SOF pin: USB_OTG_HS0_SOF
+#endif
+#if !FIND_VALUE_USB_OTG_HS_VBUS(_USB_OTG_HS0, USB_OTG_HS0_VBUS)
+#error Invalid pin assignment for USB_OTG_HS0 VBUS pin: USB_OTG_HS0_VBUS
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs_ulpi.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs_ulpi.h
new file mode 100644
index 000000000..e8d195537
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_usb_otg_hs_ulpi.h
@@ -0,0 +1,314 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405556
+ */
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_CK_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_CK(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_CK_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D0_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D0(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D0_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D1_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D1(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D1_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D2_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D2(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D2_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D3_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D3(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D3_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D4_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D4(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D4_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D5_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D5(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D5_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D6_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D6(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D6_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_D7_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_D7(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_D7_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_DIR_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_DIR(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_DIR_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_NXT_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_NXT(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_NXT_inner(INDEX,PIN)
+
+#define FIND_VALUE_USB_OTG_HS_ULPI_STP_inner(INDEX,PIN) I2C##_USB_OTG_HS_ULPI_##PIN
+#define FIND_VALUE_USB_OTG_HS_ULPI_STP(INDEX,PIN) FIND_VALUE_USB_OTG_HS_ULPI_STP_inner(INDEX,PIN)
+
+#ifdef USE_USB_OTG_HS_ULPI0
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 CK pin: USB_OTG_HS_ULPI0_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D0 pin: USB_OTG_HS_ULPI0_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D1 pin: USB_OTG_HS_ULPI0_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D2 pin: USB_OTG_HS_ULPI0_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D3 pin: USB_OTG_HS_ULPI0_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D4 pin: USB_OTG_HS_ULPI0_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D5 pin: USB_OTG_HS_ULPI0_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D6 pin: USB_OTG_HS_ULPI0_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 D7 pin: USB_OTG_HS_ULPI0_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 DIR pin: USB_OTG_HS_ULPI0_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 NXT pin: USB_OTG_HS_ULPI0_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI0, USB_OTG_HS_ULPI0_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI0 STP pin: USB_OTG_HS_ULPI0_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI1
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 CK pin: USB_OTG_HS_ULPI1_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D0 pin: USB_OTG_HS_ULPI1_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D1 pin: USB_OTG_HS_ULPI1_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D2 pin: USB_OTG_HS_ULPI1_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D3 pin: USB_OTG_HS_ULPI1_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D4 pin: USB_OTG_HS_ULPI1_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D5 pin: USB_OTG_HS_ULPI1_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D6 pin: USB_OTG_HS_ULPI1_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 D7 pin: USB_OTG_HS_ULPI1_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 DIR pin: USB_OTG_HS_ULPI1_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 NXT pin: USB_OTG_HS_ULPI1_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI1, USB_OTG_HS_ULPI1_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI1 STP pin: USB_OTG_HS_ULPI1_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI2
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 CK pin: USB_OTG_HS_ULPI2_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D0 pin: USB_OTG_HS_ULPI2_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D1 pin: USB_OTG_HS_ULPI2_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D2 pin: USB_OTG_HS_ULPI2_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D3 pin: USB_OTG_HS_ULPI2_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D4 pin: USB_OTG_HS_ULPI2_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D5 pin: USB_OTG_HS_ULPI2_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D6 pin: USB_OTG_HS_ULPI2_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 D7 pin: USB_OTG_HS_ULPI2_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 DIR pin: USB_OTG_HS_ULPI2_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 NXT pin: USB_OTG_HS_ULPI2_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI2, USB_OTG_HS_ULPI2_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI2 STP pin: USB_OTG_HS_ULPI2_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI3
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 CK pin: USB_OTG_HS_ULPI3_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D0 pin: USB_OTG_HS_ULPI3_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D1 pin: USB_OTG_HS_ULPI3_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D2 pin: USB_OTG_HS_ULPI3_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D3 pin: USB_OTG_HS_ULPI3_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D4 pin: USB_OTG_HS_ULPI3_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D5 pin: USB_OTG_HS_ULPI3_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D6 pin: USB_OTG_HS_ULPI3_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 D7 pin: USB_OTG_HS_ULPI3_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 DIR pin: USB_OTG_HS_ULPI3_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 NXT pin: USB_OTG_HS_ULPI3_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI3, USB_OTG_HS_ULPI3_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI3 STP pin: USB_OTG_HS_ULPI3_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI4
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 CK pin: USB_OTG_HS_ULPI4_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D0 pin: USB_OTG_HS_ULPI4_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D1 pin: USB_OTG_HS_ULPI4_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D2 pin: USB_OTG_HS_ULPI4_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D3 pin: USB_OTG_HS_ULPI4_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D4 pin: USB_OTG_HS_ULPI4_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D5 pin: USB_OTG_HS_ULPI4_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D6 pin: USB_OTG_HS_ULPI4_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 D7 pin: USB_OTG_HS_ULPI4_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 DIR pin: USB_OTG_HS_ULPI4_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 NXT pin: USB_OTG_HS_ULPI4_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI4, USB_OTG_HS_ULPI4_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI4 STP pin: USB_OTG_HS_ULPI4_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI5
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 CK pin: USB_OTG_HS_ULPI5_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D0 pin: USB_OTG_HS_ULPI5_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D1 pin: USB_OTG_HS_ULPI5_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D2 pin: USB_OTG_HS_ULPI5_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D3 pin: USB_OTG_HS_ULPI5_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D4 pin: USB_OTG_HS_ULPI5_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D5 pin: USB_OTG_HS_ULPI5_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D6 pin: USB_OTG_HS_ULPI5_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 D7 pin: USB_OTG_HS_ULPI5_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 DIR pin: USB_OTG_HS_ULPI5_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 NXT pin: USB_OTG_HS_ULPI5_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI5, USB_OTG_HS_ULPI5_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI5 STP pin: USB_OTG_HS_ULPI5_STP
+#endif
+#endif
+
+#ifdef USE_USB_OTG_HS_ULPI6
+#if !FIND_VALUE_USB_OTG_HS_ULPI_CK(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_CK)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 CK pin: USB_OTG_HS_ULPI6_CK
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D0(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D0)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D0 pin: USB_OTG_HS_ULPI6_D0
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D1(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D1)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D1 pin: USB_OTG_HS_ULPI6_D1
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D2(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D2)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D2 pin: USB_OTG_HS_ULPI6_D2
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D3(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D3)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D3 pin: USB_OTG_HS_ULPI6_D3
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D4(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D4)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D4 pin: USB_OTG_HS_ULPI6_D4
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D5(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D5)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D5 pin: USB_OTG_HS_ULPI6_D5
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D6(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D6)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D6 pin: USB_OTG_HS_ULPI6_D6
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_D7(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_D7)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 D7 pin: USB_OTG_HS_ULPI6_D7
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_DIR(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_DIR)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 DIR pin: USB_OTG_HS_ULPI6_DIR
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_NXT(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_NXT)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 NXT pin: USB_OTG_HS_ULPI6_NXT
+#endif
+#if !FIND_VALUE_USB_OTG_HS_ULPI_STP(_USB_OTG_HS_ULPI6, USB_OTG_HS_ULPI6_STP)
+#error Invalid pin assignment for USB_OTG_HS_ULPI6 STP pin: USB_OTG_HS_ULPI6_STP
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref.h
new file mode 100644
index 000000000..5a12dd0ce
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405618
+ */
+
+#define FIND_VALUE_V_REF_OUT_inner(INDEX,PIN) I2C##_V_REF_##PIN
+#define FIND_VALUE_V_REF_OUT(INDEX,PIN) FIND_VALUE_V_REF_OUT_inner(INDEX,PIN)
+
+#ifdef USE_V_REF0
+#if !FIND_VALUE_V_REF_OUT(_V_REF0, V_REF0_OUT)
+#error Invalid pin assignment for V_REF0 OUT pin: V_REF0_OUT
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref_pvd.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref_pvd.h
new file mode 100644
index 000000000..bee9f9f2a
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/PeripheralChecks/peripheralPinCheck_v_ref_pvd.h
@@ -0,0 +1,14 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:52:17.405630
+ */
+
+#define FIND_VALUE_V_REF_PVD_IN_inner(INDEX,PIN) I2C##_V_REF_PVD_##PIN
+#define FIND_VALUE_V_REF_PVD_IN(INDEX,PIN) FIND_VALUE_V_REF_PVD_IN_inner(INDEX,PIN)
+
+#ifdef USE_V_REF_PVD0
+#if !FIND_VALUE_V_REF_PVD_IN(_V_REF_PVD0, V_REF_PVD0_IN)
+#error Invalid pin assignment for V_REF_PVD0 IN pin: V_REF_PVD0_IN
+#endif
+#endif
+
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011D.h
index 54d3e4069..7679d89bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.463830
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011F.h
index 54d3e4069..3420b05e0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.464450
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011J.h
index 9558a3bb3..9949576df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C011J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.464687
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031C.h
index 1fe5f31e4..72fc938b8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.465444
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031F.h
index 54d3e4069..11db70ced 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.465705
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031G.h
index 4082f65ca..e60e028f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.466007
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031K.h
index 148e4a8ac..1b7927e60 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32C031K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.466905
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030C.h
index c8a985d81..03960b8a9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.467655
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030F.h
index 3b64c10d3..48c3b83e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.467827
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030K.h
index 024c06383..42e1aed60 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.468000
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030R.h
index 07718de87..5d2b01e5c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F030R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.468584
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031C.h
index 836d4b35b..67a0670e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.468841
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031E.h
index f05ff2aed..2e259e04d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.469021
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031F.h
index 3b64c10d3..e367a6521 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.469169
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031G.h
index e80495fde..ee003a48d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.469339
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031K.h
index 024c06383..6640786b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F031K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.469703
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038C.h
index 0f8d04613..b6b74945a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.469951
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038E.h
index f05ff2aed..c1cb34538 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.470124
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038F.h
index a19b7608b..f6962774c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.470274
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038G.h
index 70fb4ce44..4c430cc76 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.470437
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038K.h
index 929565aab..76317a9c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F038K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.470618
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042C.h
index 2620a9412..afe395838 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.471169
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042F.h
index 86b3f4531..672ef6397 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.471542
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042G.h
index 0c1873ef9..597ae3017 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.471834
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042K.h
index a57b0b53a..fb219a5b7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.472283
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042T.h
index 9d37dc1a3..4836a1745 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F042T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.472513
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048C.h
index e7d186d40..e06fb39f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.472786
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048G.h
index 2c0a54380..9b6799694 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.472992
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048T.h
index e3f47d64f..a638394ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F048T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.473206
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051C.h
index 836d4b35b..592d0aa61 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.474893
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051K.h
index c3b296fd5..f4a7904a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.476192
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051R.h
index 0da245e10..1d9120ad5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.477505
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051T.h
index 9e5dd49db..8917363b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F051T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.477755
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058C.h
index 0f8d04613..010deb3e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.478039
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058R.h
index 586fdce20..552655fc5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.478677
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058T.h
index aaea3e66d..b97009d67 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F058T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.478925
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070C.h
index c8a985d81..b5d9e86df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.479380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070F.h
index 27188ce0c..a3b925976 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.479558
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070R.h
index 07718de87..ca1a79b83 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F070R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.479839
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071C.h
index c8a985d81..667069b78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.480766
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071R.h
index 07718de87..61653fe01 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.481110
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071V.h
index 8d0772f48..dc4ffcbdb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F071V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.482096
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072C.h
index c8a985d81..c7fdcede4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.483085
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072R.h
index 07718de87..f74deec64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.484182
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072V.h
index 8d0772f48..49743e14a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F072V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.485132
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078C.h
index cba6a670d..6e3b682b7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.486088
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078R.h
index 1d3ede125..66e70e0da 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.486797
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078V.h
index e713c5805..36ee04e4f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F078V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.487801
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091C.h
index 2620a9412..ccaa67e37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.488493
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091R.h
index 41a7d049c..2febf3bbe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.489607
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091V.h
index 446558f01..fb08f35e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F091V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.490626
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098C.h
index e7d186d40..8029bbcd2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.491331
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098R.h
index c72af2dd5..b5c2b38a7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.492461
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098V.h
index 972fca409..417f49c11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F098V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.493472
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100C.h
index e1596f1ca..f7048f001 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.494002
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100R.h
index af888ac7d..8ca0fcebd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.495505
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100V.h
index 42c434093..fd02ee94f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.496314
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100Z.h
index 04eac1072..403a38abd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F100Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.496883
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101C.h
index e1596f1ca..87a02b80c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.497610
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101R.h
index af888ac7d..9e9683171 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.499021
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101T.h
index d4f7432fd..040bd0cf1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.499398
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101V.h
index 42c434093..125040f69 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.500549
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101Z.h
index 04eac1072..a03fbb292 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F101Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.501679
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102C.h
index e1596f1ca..5e1fcdef4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.502188
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102R.h
index af888ac7d..77379e044 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F102R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.502725
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103C.h
index e1596f1ca..122f1cc68 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.503686
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103R.h
index af888ac7d..c243c9698 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.505898
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103T.h
index d4f7432fd..b97e4c04f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.506314
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103V.h
index 42c434093..c618ec71c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.508936
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103Z.h
index 04eac1072..05a50996a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F103Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.512159
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105R.h
index af888ac7d..885a11051 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.512572
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105V.h
index 42c434093..3bb29653b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F105V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.513411
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107R.h
index af888ac7d..065ceed98 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.513779
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107V.h
index 42c434093..04a3beb2a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F107V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.514632
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205R.h
index 63a74b1d4..d0e16260a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.515839
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205V.h
index dfbcc8dc9..7a561dfea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.516379
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205Z.h
index 9281c232e..034df9d90 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F205Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.517030
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207I.h
index 8c1048892..4cbbcad31 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.518740
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207V.h
index dfbcc8dc9..8d10a0f67 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.519430
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207Z.h
index 9281c232e..7d61d842e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F207Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.520092
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215R.h
index 63a74b1d4..920ff82cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.520544
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215V.h
index dfbcc8dc9..a9f42ace8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.521045
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215Z.h
index 9281c232e..429d2b65c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F215Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.521689
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217I.h
index 8c1048892..a0f41cd50 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.523375
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217V.h
index dfbcc8dc9..c44489c0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.523994
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217Z.h
index 9281c232e..f14cac641 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F217Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.524667
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301C.h
index c8a985d81..0f906fc6c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.525380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301K.h
index 893ea21f6..e519ed34a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.525855
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301R.h
index 07718de87..58947f9a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F301R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.526206
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302C.h
index c8a985d81..815eefc53 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.527205
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302K.h
index 893ea21f6..97653552b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.527453
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302R.h
index 07718de87..9bed5e025 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.528617
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302V.h
index e56d4a9b1..d6f65d824 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.530859
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302Z.h
index 7013ca646..0171ef2ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F302Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.531546
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303C.h
index c8a985d81..364b1fcdf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.532608
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303K.h
index 893ea21f6..a45690d1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.533077
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303R.h
index 07718de87..5a6796c19 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.534415
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303V.h
index 40bd4c946..3793d9423 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.537638
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303Z.h
index 7013ca646..da9d2fc4c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F303Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.538427
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318C.h
index cba6a670d..45dcd44d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.539135
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318K.h
index db06b812b..a8bfc766f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F318K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.539381
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F328C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F328C.h
index cba6a670d..65f9ab017 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F328C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F328C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.539683
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334C.h
index 48005d917..e08009268 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.540329
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334K.h
index 893ea21f6..85a0a5974 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.540812
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334R.h
index 07718de87..1a8bb182f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F334R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.541175
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358C.h
index cba6a670d..1f2f60e08 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.541541
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358R.h
index 06c2f207c..e6ba5041d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.541966
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358V.h
index 65c0ab6a1..f47ee1ba5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F358V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.542548
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373C.h
index dfbc63d39..6a18eeb29 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.542943
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373R.h
index 4b5b84999..d162cbf97 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.543413
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373V.h
index a80bf2641..666360724 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F373V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.544501
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378C.h
index d0123eeae..eafc13e28 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.544901
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378R.h
index e86bd777b..75e281020 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.545733
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378V.h
index 2e5eecfba..da5d2c32e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F378V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.546916
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F398V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F398V.h
index b4d5acd65..11f546a5b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F398V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F398V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.547569
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401C.h
index 431127f0f..c632265c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.548968
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401R.h
index 3be2014e0..ff41cb1e2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.549627
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401V.h
index bf99538dd..38ba77b22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F401V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.551320
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405O.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405O.h
index a9205ab81..8d514de1e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405O.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405O.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.551843
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405R.h
index 63a74b1d4..e0180ad4b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.553012
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405V.h
index dfbcc8dc9..015935765 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.553553
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405Z.h
index 9281c232e..67974d791 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F405Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.554220
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407I.h
index 8c1048892..cc75d1ff6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.555929
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407V.h
index dfbcc8dc9..bff34b5e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.556548
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407Z.h
index 9281c232e..7e862ff33 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F407Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.557226
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410C.h
index 431127f0f..ab25239e5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.557833
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410R.h
index 5616dc9ad..91b32a60a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.558515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410T.h
index 9adf40a31..37291bb36 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F410T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.558740
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411C.h
index 431127f0f..187f1a928 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.559344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411R.h
index 3be2014e0..8954f353d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.559725
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411V.h
index bf99538dd..e45d42648 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F411V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.560688
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412C.h
index 431127f0f..8216531e0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.561047
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412R.h
index 3be2014e0..aae2ebf11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.562319
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412V.h
index bf99538dd..2edcf95de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.563478
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412Z.h
index 9281c232e..b478d1481 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F412Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.564949
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413C.h
index 431127f0f..cb8fe00a7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.565392
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413M.h
index 468ed3f44..63c429c1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.565908
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413R.h
index 3be2014e0..c9032e77f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.566399
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413V.h
index bf99538dd..2129bb799 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.567728
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413Z.h
index 9281c232e..36ace0fbe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F413Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.569326
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415O.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415O.h
index a9205ab81..faadf06c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415O.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415O.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.569941
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415R.h
index 63a74b1d4..752f75f97 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.570374
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415V.h
index dfbcc8dc9..012d8f14f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.570896
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415Z.h
index 9281c232e..c624fe209 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F415Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.571539
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417I.h
index 8c1048892..cb838f1c4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.573231
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417V.h
index dfbcc8dc9..2f7d94830 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.573856
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417Z.h
index 9281c232e..b6e5660b1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F417Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.574522
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423C.h
index 431127f0f..6d6295d93 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.574944
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423M.h
index 468ed3f44..9c8432eb6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.575452
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423R.h
index 3be2014e0..de09314cc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.575987
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423V.h
index bf99538dd..0f765fb3e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.577279
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423Z.h
index 9281c232e..496e07b41 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F423Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.578942
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427A.h
index 9ba95ed15..e393f8032 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.579762
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427I.h
index 8c1048892..b2b59ac9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.581591
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427V.h
index dfbcc8dc9..1307b68d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.582239
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427Z.h
index 9281c232e..e85f1e54c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F427Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.582965
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429A.h
index 9ba95ed15..b12140611 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.583792
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429B.h
index 00849553f..3176338ae 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.584831
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429I.h
index 8c1048892..004f24316 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.588609
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429N.h
index 00849553f..5852c9b14 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.590801
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429V.h
index dfbcc8dc9..86f83704c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.592122
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429Z.h
index 9281c232e..e5d4c3125 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F429Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.595201
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437A.h
index 9ba95ed15..90414d627 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.596030
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437I.h
index 8c1048892..412fc8b52 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.597855
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437V.h
index dfbcc8dc9..6be796196 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.598497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437Z.h
index 9281c232e..32c1633f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F437Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.599211
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439A.h
index 9ba95ed15..c9729ba8a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.600095
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439B.h
index 00849553f..fe90c08bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.601058
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439I.h
index 8c1048892..eaa48e7de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.602954
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439N.h
index 00849553f..2a9fa155d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.603949
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439V.h
index dfbcc8dc9..93dd77ae7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.604618
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439Z.h
index 9281c232e..2aff9179a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F439Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.606202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446M.h
index 9a10fb933..a85f8ff6c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.606773
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446R.h
index 3be2014e0..063bb24bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.607241
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446V.h
index bf99538dd..186b031f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.607833
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446Z.h
index 9281c232e..c066c21e8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F446Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.610194
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469A.h
index ad6b94241..b184fa456 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.611989
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469B.h
index 634ceae09..0f61f6633 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.612985
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469I.h
index 8a00b008f..09f5c5c22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.615824
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469N.h
index 634ceae09..ee4f5344d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.617935
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469V.h
index ef91bd1ed..ceed0c5c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.619169
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469Z.h
index 7749aa10a..a6e349a24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F469Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.621449
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479A.h
index ad6b94241..c9df74334 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.623259
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479B.h
index 634ceae09..a348dd2d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.624257
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479I.h
index 8a00b008f..c9da4f6c3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.626168
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479N.h
index 634ceae09..81a698e3e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.627148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479V.h
index ef91bd1ed..a06d7b18e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.627781
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479Z.h
index 7749aa10a..bb46bd34f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F479Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.628496
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722I.h
index 8c1048892..6106321c0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.630277
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722R.h
index 83756624b..aa86e3367 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.630794
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722V.h
index dfbcc8dc9..2fbfba638 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.631374
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722Z.h
index 9281c232e..9d621b95e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F722Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.632144
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723I.h
index b58ffc11b..32e471ef9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.633877
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723V.h
index 1f61f7f19..a833acc3b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.635126
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723Z.h
index 98f15b875..5b9f60024 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F723Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.636563
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730I.h
index b58ffc11b..7c8b490ba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.637463
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730R.h
index 83756624b..cc7748ab3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.638028
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730V.h
index dfbcc8dc9..5ec05382a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.638618
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730Z.h
index 98f15b875..92cc22bce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F730Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.639320
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732I.h
index 8c1048892..f3ed2ef1b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.641166
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732R.h
index 83756624b..66a031665 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.641694
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732V.h
index dfbcc8dc9..66607e95f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.642275
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732Z.h
index 9281c232e..fb5138c89 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F732Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.642991
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733I.h
index b58ffc11b..5a743b4ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.644740
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733V.h
index 1f61f7f19..0899aac42 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.645943
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733Z.h
index 98f15b875..5bff15bf7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F733Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.647462
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745I.h
index 8c1048892..5ba5682a6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.649302
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745V.h
index dfbcc8dc9..b5ebc64a8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.650758
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745Z.h
index 9281c232e..c1f7ea9e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F745Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.651537
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746B.h
index 00849553f..426f733e1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.652637
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746I.h
index 8c1048892..c3e64388d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.656558
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746N.h
index 00849553f..ac1cfd825 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.658835
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746V.h
index dfbcc8dc9..5b26ce669 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.660913
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746Z.h
index 9281c232e..64061e49d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F746Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.663428
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750N.h
index 00849553f..dd8b06d25 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.664548
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750V.h
index dfbcc8dc9..250432411 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.665282
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750Z.h
index 9281c232e..3056c650b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F750Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.666064
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756B.h
index 00849553f..a31990a84 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.667142
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756I.h
index 8c1048892..21b621195 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.669260
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756N.h
index 00849553f..3a2e9c83e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.670302
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756V.h
index dfbcc8dc9..529241b77 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.671682
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756Z.h
index 9281c232e..68ae3fcd8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F756Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.673348
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765B.h
index 00849553f..d3c22b76c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.674499
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765I.h
index 8c1048892..63f5a07d3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.676540
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765N.h
index 00849553f..d744b2b55 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.677721
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765V.h
index dfbcc8dc9..5aca5bcbd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.679200
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765Z.h
index 9281c232e..17389c3dc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F765Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.680128
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767B.h
index 00849553f..0bd93dedf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.681204
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767I.h
index 8c1048892..6ba464ed4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.684254
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767N.h
index 00849553f..a4808bf48 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.685415
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767V.h
index dfbcc8dc9..bb62bb252 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.688555
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767Z.h
index 9281c232e..649beb240 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F767Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.690371
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F768A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F768A.h
index ad6b94241..874ed6c8b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F768A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F768A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.691358
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769A.h
index ad6b94241..79a302386 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.692418
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769B.h
index 634ceae09..3c2ba6f35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.693482
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769I.h
index 8a00b008f..a86ed9303 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.695717
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769N.h
index 634ceae09..b0c3ab162 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F769N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.698089
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777B.h
index 00849553f..572c2b49d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.699383
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777I.h
index 8c1048892..434b9d6a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.701657
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777N.h
index 00849553f..f455fba54 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.702784
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777V.h
index dfbcc8dc9..3ce390808 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.704379
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777Z.h
index 9281c232e..9a402b114 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F777Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.705256
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F778A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F778A.h
index ad6b94241..98df988b0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F778A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F778A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.706273
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779A.h
index ad6b94241..9b1ce82d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.707367
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779B.h
index 634ceae09..84aa9fc13 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.708449
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779I.h
index 8a00b008f..61fe1fd30 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.709597
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779N.h
index 634ceae09..cdd0bf471 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32F779N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.710698
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030C.h
index 895183ee2..5ed7c5894 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.711134
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030F.h
index cb45c1789..a5492c104 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.711380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030J.h
index 74100a061..29cf71b4d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.711562
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030K.h
index e4df38f61..453fefe3a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G030K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.711790
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031C.h
index 3fa733713..0132ffd09 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.712439
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031F.h
index af3d66f9b..008d994ef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.712709
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031G.h
index 4082f65ca..ac1faafc3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.712943
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031J.h
index 907d94d0c..cd1fa0d90 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.713143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031K.h
index 148e4a8ac..430e3574e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.713684
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031Y.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031Y.h
index af3d66f9b..576b42c0e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031Y.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G031Y.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.713933
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041C.h
index 3fa733713..4e790ce72 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.715381
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041F.h
index af3d66f9b..4d31eaf2a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.715665
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041G.h
index 4082f65ca..b3c89fffb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.715908
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041J.h
index 907d94d0c..d972f8470 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.716114
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041K.h
index 148e4a8ac..0f885caa8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.716656
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041Y.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041Y.h
index af3d66f9b..febc932ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041Y.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G041Y.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.716908
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050C.h
index 3fa733713..f17ce31cd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.717531
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050F.h
index af3d66f9b..4ce8c828f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.717776
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050K.h
index 148e4a8ac..ceb2a186d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G050K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.718290
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051C.h
index 3fa733713..196b6d007 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.719010
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051F.h
index af3d66f9b..773e8d968 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.719580
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051G.h
index 4082f65ca..68b4af27f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.719852
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051K.h
index 148e4a8ac..0f2d51a47 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G051K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.720434
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061C.h
index 3fa733713..32a210b7c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.721131
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061F.h
index af3d66f9b..c0ba7c155 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.721701
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061G.h
index 4082f65ca..d5effb034 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.721971
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061K.h
index 148e4a8ac..3f1debed8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G061K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.722542
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070C.h
index 895183ee2..c31a96691 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.722865
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070K.h
index e4df38f61..f26ebbaaf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.723143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070R.h
index 3ce6af5d1..4805a3056 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G070R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.723518
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071C.h
index 3fa733713..e50ca3775 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.724339
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071E.h
index 7d2ef407e..cf85063f1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.724645
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071G.h
index 90a6ec965..f56d931b2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.725195
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071K.h
index e7d64abc3..f69c29323 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.726458
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071R.h
index 7781bda41..0f6d623f1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G071R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.727445
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081C.h
index 3fa733713..3d1ffe377 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.728269
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081E.h
index 7d2ef407e..ec8c10caa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.728572
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081G.h
index 4082f65ca..83fe820a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.729136
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081K.h
index 148e4a8ac..a853a342f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.730418
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081R.h
index 7781bda41..feaae837d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G081R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.731381
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0C.h
index 895183ee2..770bce634 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.731782
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0K.h
index e4df38f61..d256ddc5c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.732097
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0R.h
index 3ce6af5d1..5ea74cdf9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.732527
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0V.h
index 51b3badb7..eaa047737 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B0V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.733070
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1C.h
index 3fa733713..68c1aee39 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.735014
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1K.h
index 148e4a8ac..bde7c3125 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.736511
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1M.h
index 3952444ef..df4671ab4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.737128
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1N.h
index 8acd24218..593d11685 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.737708
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1R.h
index 7781bda41..9d6c0e9dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.739395
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1V.h
index b8fe92272..ad4bd7241 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0B1V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.740872
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1C.h
index 3fa733713..623c5dff2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.742884
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1K.h
index 148e4a8ac..cb5166bed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.744409
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1M.h
index 3952444ef..51d437848 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.744994
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1N.h
index 8acd24218..341e4f129 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.745497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1R.h
index 7781bda41..7c174260d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.747180
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1V.h
index b8fe92272..a6ee0c194 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G0C1V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.748575
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431C.h
index 8bcb1a02c..1184aa38f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.749910
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431K.h
index ec0c662d2..299d8e794 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.750629
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431M.h
index cb8f5a40d..54ac13e8e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.751152
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431R.h
index 4293ee1cf..eb6f0fc9c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.752148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431V.h
index ba279bbe1..5c8a3891e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G431V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.752763
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441C.h
index 8bcb1a02c..eba1ad326 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.754925
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441K.h
index ec0c662d2..fc5361213 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.755629
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441M.h
index cb8f5a40d..e432a5f66 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.756172
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441R.h
index 4293ee1cf..5f2da35c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.757191
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441V.h
index ba279bbe1..5913395cc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G441V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.757852
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471C.h
index 70cb51dbf..442c01c16 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.758789
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471M.h
index 7d5c35c8b..28dee4657 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.760033
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471Q.h
index 7661763c0..ea55b35fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.760817
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471R.h
index 4293ee1cf..fb22fbe46 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.761383
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471V.h
index ba279bbe1..549e6e364 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G471V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.763512
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473C.h
index 70cb51dbf..c17a3c68a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.764542
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473M.h
index 7d5c35c8b..de32828fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.765932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473P.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473P.h
index 3c9d8a013..50dd71d3b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473P.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473P.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.766839
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473Q.h
index 7661763c0..92ec82998 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.767792
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473R.h
index 4293ee1cf..ade9efe5f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.768520
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473V.h
index ba279bbe1..63ab87be2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G473V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.770128
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474C.h
index 70cb51dbf..bbf32d9f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.771313
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474M.h
index 7d5c35c8b..3de7720a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.772689
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474P.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474P.h
index 3c9d8a013..d0e85bc37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474P.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474P.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.773682
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474Q.h
index 7661763c0..6bb0ebbb0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.774643
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474R.h
index 4293ee1cf..3b3f2bc1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.775308
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474V.h
index ba279bbe1..b7e208b04 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G474V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.777011
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483C.h
index 70cb51dbf..12e1146fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.778070
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483M.h
index 7d5c35c8b..f458f4ae1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.779462
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483P.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483P.h
index 3c9d8a013..156081b79 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483P.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483P.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.780332
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483Q.h
index 7661763c0..b1c2935fd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.781346
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483R.h
index 4293ee1cf..b7165a221 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.781977
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483V.h
index ba279bbe1..d5f38f7c8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G483V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.783671
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484C.h
index 70cb51dbf..f3794e141 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.785351
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484M.h
index 7d5c35c8b..eee7a110d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.786751
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484P.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484P.h
index 3c9d8a013..b436952ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484P.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484P.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.787718
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484Q.h
index 7661763c0..e67d7f740 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.788698
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484R.h
index 4293ee1cf..ba6ffc5fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.789350
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484V.h
index ba279bbe1..d546c50aa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G484V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.791057
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491C.h
index 70cb51dbf..78966f618 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.792032
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491K.h
index ec0c662d2..8c41ca391 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.792391
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491M.h
index cb8f5a40d..222963f9f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.793558
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491R.h
index 4293ee1cf..820539178 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.795151
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491V.h
index ba279bbe1..35a7aa8d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G491V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.795847
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1C.h
index 70cb51dbf..ab2944364 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.796784
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1K.h
index ec0c662d2..a8813264d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.797164
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1M.h
index cb8f5a40d..ab5a39a97 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.798367
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1R.h
index 4293ee1cf..3359ea000 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.799928
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1V.h
index ba279bbe1..85d3560ce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32G4A1V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.800582
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723V.h
index dfbcc8dc9..12b2ecb6f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.804243
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723Z.h
index 9281c232e..e9c15d5cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H723Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.809089
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725A.h
index df4fb08a4..60a65ddca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.811718
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725I.h
index c5d302114..cdd4ff8f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.817962
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725R.h
index f5cf4ff8c..42ada56d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.819397
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725V.h
index 31be618ba..5ae603c5a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.823539
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725Z.h
index 406116805..77752961c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H725Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.825668
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730A.h
index df4fb08a4..d8a98bd26 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.826960
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730I.h
index c5d302114..ce00e322e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.829551
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730V.h
index dfbcc8dc9..732c5e1b1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.831602
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730Z.h
index 9281c232e..90ae06da7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H730Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.833858
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733V.h
index dfbcc8dc9..d703ec1ec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.835743
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733Z.h
index 9281c232e..fb3537fdb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H733Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.838061
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735A.h
index df4fb08a4..526701541 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.839262
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735I.h
index c5d302114..59a11e9a2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.842826
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735R.h
index f5cf4ff8c..1ee5d15e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.843644
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735V.h
index 31be618ba..98b41cfa3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.846187
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735Z.h
index 406116805..ef4ce933f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H735Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.847227
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742A.h
index 2a2340a5f..49d9c8784 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.848487
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742B.h
index 00849553f..10d359a2d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.849696
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742I.h
index 8c1048892..37732c60c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.852259
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742V.h
index dfbcc8dc9..fd4fc1d11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.854035
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742X.h
index 00849553f..fa9562a63 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.855307
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742Z.h
index 9281c232e..73933226a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H742Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.856531
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743A.h
index 2a2340a5f..9db276eee 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.857668
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743B.h
index 00849553f..bf9d1cf3b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.860376
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743I.h
index 8c1048892..1308f60bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.865443
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743V.h
index dfbcc8dc9..755e06628 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.868143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743X.h
index 00849553f..001072839 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.871932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743Z.h
index 9281c232e..c8728d992 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H743Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.874114
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745B.h
index e00df8af2..16f0dde87 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.877170
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745I.h
index c5d302114..e2d8aee94 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.882652
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745X.h
index 00849553f..599a854bd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.885801
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745Z.h
index 406116805..70c7f99b6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H745Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.888271
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747A.h
index 9281c232e..a9f311d0f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.889624
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747B.h
index 793a1a97c..f9b94cbfb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.892469
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747I.h
index 9281c232e..8ecd011f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.895022
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747X.h
index 00849553f..00e95e712 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.898944
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747Z.h
index d61c3af8f..1a835c36f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H747Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.900126
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750I.h
index 8c1048892..85cc74581 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.902613
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750V.h
index dfbcc8dc9..432538559 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.903662
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750X.h
index 00849553f..5dd30ff8d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.904974
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750Z.h
index 9281c232e..0c4cf77a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H750Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.906240
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753A.h
index 2a2340a5f..e1aec9dea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.907367
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753B.h
index 00849553f..bb857f1ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.908782
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753I.h
index 8c1048892..c77b77342 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.911337
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753V.h
index dfbcc8dc9..b58b1423a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.913100
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753X.h
index 00849553f..2b3da217b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.914488
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753Z.h
index 9281c232e..937591318 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H753Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.915556
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755B.h
index e00df8af2..b8a8f2512 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.916947
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755I.h
index c5d302114..b37bee710 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.919703
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755X.h
index 00849553f..d5667f736 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.921346
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755Z.h
index 406116805..b1c8aa44d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H755Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.922500
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757A.h
index 9281c232e..c4d700107 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.923808
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757B.h
index 793a1a97c..bd1b20869 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.925154
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757I.h
index 9281c232e..560690ea5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.927512
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757X.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757X.h
index 00849553f..fc40e4fdf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757X.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757X.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.928998
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757Z.h
index d61c3af8f..453891c77 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H757Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.930309
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3A.h
index df4fb08a4..8b4e809b3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.931452
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3I.h
index 8c1048892..f3134f4b4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.936310
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3L.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3L.h
index 00849553f..230e65ce1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3L.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3L.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.937747
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3N.h
index 00849553f..5d584a2cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.939256
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Q.h
index 4813d0fd5..c667d4e86 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.940272
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3R.h
index 7498be960..0d72b41bd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.940917
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3V.h
index dfbcc8dc9..f81559ed7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.944251
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Z.h
index 9281c232e..8bc86eb32 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7A3Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.946292
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0A.h
index df4fb08a4..d69f1fc58 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.947586
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0I.h
index 8c1048892..bfc6ec990 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.950026
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0R.h
index 7498be960..1962803c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.950727
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0V.h
index dfbcc8dc9..87458273b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.951530
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0Z.h
index 9281c232e..59b924139 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B0Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.952573
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3A.h
index df4fb08a4..adf0459f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.953671
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3I.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3I.h
index 8c1048892..8abd1bfbd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3I.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3I.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.959629
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3L.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3L.h
index 00849553f..d1b7e9e9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3L.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3L.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.961110
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3N.h
index 00849553f..eedca8568 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.962445
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Q.h
index 4813d0fd5..439ecfd00 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.963569
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3R.h
index 7498be960..a00d9f390 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.964238
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3V.h
index dfbcc8dc9..013952385 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.967537
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Z.h
index 9281c232e..31e43599e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32H7B3Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.969601
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010C.h
index 08c421238..51da5df3a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.969969
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010F.h
index 149b98272..2ca0da024 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.970161
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010K.h
index 178bc185a..8e8bf83f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.970544
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010R.h
index 63a74b1d4..5b2875416 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L010R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.971086
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011D.h
index 9061f6b2e..8abf98b22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.971262
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011E.h
index f78834506..c74fd7e7f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.971451
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011F.h
index c1d8e4847..1da397d76 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.971792
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011G.h
index b4cbc0fdd..2a30ef611 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.971995
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011K.h
index cb45c1789..e92aaf6f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L011K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.972444
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021D.h
index 9061f6b2e..36ab4b1c4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.972603
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021F.h
index c1d8e4847..9844a767a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.972935
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021G.h
index b4cbc0fdd..09e118f7d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.973137
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021K.h
index cb45c1789..c78f7ef9f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L021K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.973585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031C.h
index 08c421238..deecfc0a8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.974131
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031E.h
index 4f2601ff6..145c926be 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.974342
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031F.h
index 96fa67132..72ca95443 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.974509
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031G.h
index fcd7bb150..1b8c7827a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.974883
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031K.h
index ba90dc611..531688731 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L031K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.975318
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041C.h
index 08c421238..6dcce29c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.975857
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041E.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041E.h
index 4f2601ff6..7a27b6341 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041E.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041E.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.976063
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041F.h
index 96fa67132..aa9d00336 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.976233
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041G.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041G.h
index 585ddc117..acfff6b3c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041G.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041G.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.976608
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041K.h
index ba90dc611..7ad3e33ea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L041K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.977041
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051C.h
index ba7a22fdd..28e49d91f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.977555
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051K.h
index ba90dc611..14a0e01a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.977945
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051R.h
index 63a74b1d4..f429d916d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.978579
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051T.h
index a31e96d7a..6f3c09320 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L051T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.978817
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052C.h
index ba7a22fdd..e66726ac9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.979392
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052K.h
index ba90dc611..ed71c4ef7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.979885
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052R.h
index 63a74b1d4..64b6aa396 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.980562
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052T.h
index a31e96d7a..d9b4ed844 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L052T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.981038
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053C.h
index ba7a22fdd..fdd2c873e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.981639
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053R.h
index 63a74b1d4..20d097efa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L053R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.982355
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062C.h
index ba7a22fdd..fe906f86b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.982673
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062K.h
index ba90dc611..f39e0d7b4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L062K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.983102
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063C.h
index ba7a22fdd..f50ccd803 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.983714
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063R.h
index 63a74b1d4..afb673ecb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L063R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.984069
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071C.h
index 1cfae1336..48b888c18 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.985553
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071K.h
index bd6c75234..38e3bf21a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.986195
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071R.h
index 63a74b1d4..e8cf6506c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.986859
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071V.h
index 0482eab42..5517f0429 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L071V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.988626
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072C.h
index 1cfae1336..858fd91e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.989939
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072K.h
index bd6c75234..0f04bd7db 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.990414
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072R.h
index 63a74b1d4..3c326b354 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.991497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072V.h
index 0482eab42..7d26b70ef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L072V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.993393
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073C.h
index 1cfae1336..1d27ea6ed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.994458
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073R.h
index 35dd9f05a..1a74a651b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.995618
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073V.h
index 0482eab42..bf93ec7ad 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L073V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.998488
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081C.h
index ba7a22fdd..9c2e3b16d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.999172
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081K.h
index bd6c75234..7d54fb2fd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L081K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:33.999623
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082C.h
index 1cfae1336..33c056c0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.000277
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082K.h
index bd6c75234..9acabf8e2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L082K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.000751
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083C.h
index ba7a22fdd..7c04c4c9a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.001392
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083R.h
index 63a74b1d4..075539db5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.002179
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083V.h
index 0482eab42..5b3f952b6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L083V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.004333
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100C.h
index ba7a22fdd..a64be0205 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.004955
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100R.h
index 63a74b1d4..e0bfe88a2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L100R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.006017
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151C.h
index ba7a22fdd..4c859341c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.007849
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Q.h
index 65e5cac2f..8a1d29f7b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.009733
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151R.h
index 63a74b1d4..92410ebee 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.013496
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151U.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151U.h
index 63a74b1d4..62dbac098 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151U.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151U.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.013868
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151V.h
index 05ea3d9b2..6ce8a93f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.019952
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Z.h
index 7013ca646..05450679b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L151Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.021944
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152C.h
index ba7a22fdd..41c103206 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.023909
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Q.h
index 65e5cac2f..77d8b4ae8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.025872
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152R.h
index 63a74b1d4..a9ace09db 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.029467
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152U.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152U.h
index 63a74b1d4..3db1e0632 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152U.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152U.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.029867
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152V.h
index 05ea3d9b2..31a77199e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.035744
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Z.h
index 7013ca646..8c3ef84d5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L152Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.037867
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Q.h
index 65e5cac2f..8b0ef69f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.040113
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162R.h
index 63a74b1d4..1ad98a984 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.042261
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162V.h
index 05ea3d9b2..7359457aa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.046148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Z.h
index 7013ca646..34359a4ef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L162Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.048201
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412C.h
index 4361c49d4..15e3ccc6e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.050234
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412K.h
index fa5f9c2ed..ac141d555 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.051198
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412R.h
index aeac1fe49..c78e92eac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.053462
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412T.h
index cc4e9f13c..569602b82 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L412T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.054292
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422C.h
index 4361c49d4..d190e2d46 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.054948
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422K.h
index fa5f9c2ed..e74a85ac4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.055440
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422R.h
index aeac1fe49..4926f585b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.056193
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422T.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422T.h
index cc4e9f13c..0c7b57981 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422T.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L422T.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.056490
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431C.h
index 6bd581907..7333c3356 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.057526
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431K.h
index fa5f9c2ed..bb39102fc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.057815
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431R.h
index aeac1fe49..6eaabbf11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.059033
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431V.h
index 7b20ea0b5..7e6ac6903 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L431V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.060116
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L432K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L432K.h
index fa5f9c2ed..e041e0348 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L432K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L432K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.060446
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433C.h
index 6bd581907..5f52bf61c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.061529
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433R.h
index 5772b3cd8..cac0849dc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.063307
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433V.h
index 7b20ea0b5..ea4e518ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L433V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.064447
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L442K.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L442K.h
index fa5f9c2ed..973a4b56d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L442K.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L442K.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.064788
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443C.h
index 6bd581907..cbc097411 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.066280
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443R.h
index aeac1fe49..666adbb22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.067596
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443V.h
index 7b20ea0b5..2a055736e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L443V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.068739
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451C.h
index 4361c49d4..c50414506 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.069540
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451R.h
index aeac1fe49..4b57ea1eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.070871
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451V.h
index 7b20ea0b5..930dd4883 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L451V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.072032
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452C.h
index 4361c49d4..c68bd80bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.073208
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452R.h
index aeac1fe49..fd2f511df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.075437
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452V.h
index 7b20ea0b5..68de1a094 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L452V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.076632
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462C.h
index 4361c49d4..470401113 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.077428
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462R.h
index aeac1fe49..728bbd407 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.078764
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462V.h
index 7b20ea0b5..d307e83f6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L462V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.080822
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Q.h
index c7334007e..08925233c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.081615
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471R.h
index 63a74b1d4..0d91bf861 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.082168
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471V.h
index dfbcc8dc9..500e28df8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.082793
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Z.h
index 9281c232e..6a3703516 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L471Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.084462
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475R.h
index 63a74b1d4..403fe380a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.085018
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475V.h
index dfbcc8dc9..0eb40eb6c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L475V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.085648
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476J.h
index 9c9b6af35..8a1a060eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.086781
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476M.h
index 5bc5e659c..8019e0516 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.087348
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Q.h
index c7334007e..ae3a18197 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.089028
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476R.h
index 63a74b1d4..b9bb891a6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.089602
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476V.h
index e762af3aa..a86ae1168 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.090845
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Z.h
index 98507c06a..d831b309a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L476Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.093432
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L485J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L485J.h
index 1ac505695..66ce8571d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L485J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L485J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.094002
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486J.h
index 1ac505695..58b23de2b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.094595
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Q.h
index c7334007e..658278259 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.095381
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486R.h
index 63a74b1d4..5c6a70292 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.095932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486V.h
index dfbcc8dc9..0bd97d903 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.096591
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Z.h
index 9281c232e..a4530dd15 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L486Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.097469
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496A.h
index 3f1e592d7..e0c904f73 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.099445
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Q.h
index 4c4b86e7f..d8b905b02 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.102166
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496R.h
index 5772b3cd8..27a2c3fe6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.103391
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496V.h
index 4564b922c..78b9287f6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.106359
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496W.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496W.h
index ec33e02f5..6962cdc76 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496W.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496W.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.107126
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Z.h
index fc553acda..c5d803fbf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L496Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.108976
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6A.h
index 66b950a98..b39b5b149 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.111909
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Q.h
index 4c4b86e7f..6582d2ddf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.113721
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6R.h
index aeac1fe49..06666ee99 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.114914
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6V.h
index 4564b922c..38d9d77c7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.117895
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Z.h
index 4aff45d88..374c115eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4A6Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.119677
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5A.h
index 3f1e592d7..7ce399dac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.121834
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5C.h
index 412092797..15123495d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.123652
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Q.h
index dd67e0ff7..762bc4862 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.126359
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5R.h
index 5772b3cd8..c70f8b319 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.127527
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5V.h
index 35bf8f971..8b035eb78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.130585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Z.h
index fc553acda..ce8b5bffc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4P5Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.132514
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5A.h
index 66b950a98..0699d6a50 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.134617
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5C.h
index 4361c49d4..8592d7265 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.136415
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Q.h
index 4c4b86e7f..ba61d7917 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.138178
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5R.h
index aeac1fe49..98a9230cb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.139326
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5V.h
index 4564b922c..1ec1b7b2f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.143138
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Z.h
index 4aff45d88..be8f62790 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4Q5Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.145020
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5A.h
index 66b950a98..5c5f2bb80 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.146971
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Q.h
index 4c4b86e7f..032b0647b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.149492
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5V.h
index 7b20ea0b5..1ce029ac8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.150222
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Z.h
index fc553acda..4ba97f895 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R5Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.152795
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7A.h
index 66b950a98..da1b4cff6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.153818
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7V.h
index 7b20ea0b5..f2c2eb040 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.154553
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7Z.h
index 4aff45d88..d377e2155 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R7Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.155383
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9A.h
index 58dbef097..49b276003 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.156397
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9V.h
index 08c8c5a01..1547abe65 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.157112
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9Z.h
index 0e60b303d..454e1c7db 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4R9Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.160608
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5A.h
index 66b950a98..9862d63f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.161587
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Q.h
index 4c4b86e7f..5c73f236e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.162429
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5V.h
index 7b20ea0b5..875f834d3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.163129
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Z.h
index ca4ff16ae..ff3432eda 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S5Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.164877
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7A.h
index 66b950a98..b8bab43af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.165824
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7V.h
index 7b20ea0b5..30faa0455 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.166669
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7Z.h
index 4aff45d88..a4979c250 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S7Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.167502
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9A.h
index 58dbef097..976084f7d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.168435
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9V.h
index 08c8c5a01..640a78794 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.169241
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9Z.h
index ca4ff16ae..c7fe26cb6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L4S9Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.172839
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552C.h
index 4258febfd..07bd1b630 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.175979
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552M.h
index 1a3db61f5..96fc1b53a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.177938
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Q.h
index 4c4b86e7f..a13e8be14 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.181758
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552R.h
index 3493c46d1..baf8c5c31 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.184483
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552V.h
index 7b20ea0b5..76a0ecd67 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.186618
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Z.h
index 4aff45d88..d453d217b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L552Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.189129
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562C.h
index 4361c49d4..a5f13f1f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.192401
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562M.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562M.h
index 1a3db61f5..97b6de290 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562M.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562M.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.194379
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Q.h
index 4c4b86e7f..438bf28fa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.198323
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562R.h
index aeac1fe49..487de2ebc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.201073
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562V.h
index 7b20ea0b5..613468544 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.204079
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Z.h
index 4aff45d88..b76f3cb47 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32L562Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.206640
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131A.h
index d297a6e77..8e3826dde 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.211399
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131C.h
index d297a6e77..6361ff4ec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.216202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131D.h
index d297a6e77..54e5bda3d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.220999
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131F.h
index d297a6e77..b038b68ff 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP131F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.225753
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133A.h
index d297a6e77..28c561159 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.230840
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133C.h
index d297a6e77..a02d3a2f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.236673
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133D.h
index d297a6e77..3d2515294 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.241751
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133F.h
index d297a6e77..3154dbe1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP133F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.246814
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135A.h
index d297a6e77..75adbac6c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.252375
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135C.h
index d297a6e77..da4053b06 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.257711
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135D.h
index d297a6e77..96b7b56b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.264263
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135F.h
index d297a6e77..0ac886355 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP135F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.269585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151A.h
index bf3f64571..9e55475b4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.277306
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151C.h
index bf3f64571..b09f21780 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.284994
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151D.h
index bf3f64571..6726b1480 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.293607
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151F.h
index bf3f64571..48864e134 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP151F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.301130
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153A.h
index bf3f64571..8523aea82 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.308767
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153C.h
index bf3f64571..546d35031 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.317662
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153D.h
index bf3f64571..0255f4c22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.325298
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153F.h
index bf3f64571..4f0f87a71 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP153F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.332898
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157A.h
index bf3f64571..d995410ef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.340548
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157C.h
index bf3f64571..9f6f8a6fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.349161
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157D.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157D.h
index bf3f64571..243f617cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157D.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157D.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.357049
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157F.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157F.h
index bf3f64571..dcb263224 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157F.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32MP157F.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.364722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575A.h
index a96f314b5..4beb34087 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.371364
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575C.h
index e5f4e286d..de4871e6a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.379894
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575O.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575O.h
index 11ba46b02..597347cf8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575O.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575O.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.382412
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Q.h
index 4c4b86e7f..5a516d8ed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.388637
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575R.h
index 4bf18aec0..fd4442296 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.393091
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575V.h
index 50225704a..a6b06a26e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.398450
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Z.h
index 1daa8686f..ef4fe1970 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U575Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.405630
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585A.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585A.h
index a96f314b5..d9a98bebe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585A.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585A.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.409151
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585C.h
index e5f4e286d..2346f96f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.413124
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585O.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585O.h
index 11ba46b02..617879ecb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585O.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585O.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.414267
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Q.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Q.h
index 4c4b86e7f..23d313e49 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Q.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Q.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.417411
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585R.h
index 4bf18aec0..1eb4003f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.419556
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585V.h
index 50225704a..622f8f089 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.422391
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Z.h
index 1daa8686f..66370656f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U585Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.425456
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U595Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U595Z.h
index 55ff418f0..6d289a5e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U595Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U595Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.428115
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599B.h
index 544b45118..dd91af7ae 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.429734
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599N.h
index 6daa4ee5d..1cf155700 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U599N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.433511
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A5Z.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A5Z.h
index 55ff418f0..2fc59b7d4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A5Z.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A5Z.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.435181
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9B.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9B.h
index 544b45118..dbf1e43df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9B.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9B.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.436792
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9N.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9N.h
index 6daa4ee5d..e0c6d1773 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9N.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32U5A9N.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.438672
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB10C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB10C.h
index f5fd2f415..a4996b26e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB10C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB10C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.439115
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB15C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB15C.h
index 04f978223..e36ebc168 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB15C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB15C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.439932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB1MM.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB1MM.h
index f439b4fcc..6302f44d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB1MM.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB1MM.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.440193
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB30C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB30C.h
index f5fd2f415..1679c3f47 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB30C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB30C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.440452
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB35C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB35C.h
index f5fd2f415..40fa54444 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB35C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB35C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.440744
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB50C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB50C.h
index f5fd2f415..d394f3cbc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB50C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB50C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.440986
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55C.h
index f5fd2f415..49bfad5fc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.441916
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55R.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55R.h
index 73fe54470..b9f9b930b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55R.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55R.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.443172
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55V.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55V.h
index ee5c48f97..43b88267a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55V.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB55V.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.446896
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB5MM.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB5MM.h
index c36b3c376..faf6d1286 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB5MM.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WB5MM.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.447399
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54C.h
index c4b2137e9..dc2923a02 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.447830
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54J.h
index 616775738..d9a448987 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL54J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.448354
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55C.h
index c4b2137e9..8e0c937de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.448769
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55J.h
index 616775738..a7aca728f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL55J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.449237
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL5MO.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL5MO.h
index e025fe2a5..4235bd562 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL5MO.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WL5MO.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.449720
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4C.h
index c4b2137e9..6c5a97858 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.450664
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4J.h
index 616775738..1a29fad23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE4J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.451786
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5C.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5C.h
index c4b2137e9..3e4784c08 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5C.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5C.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.452715
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5J.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5J.h
index 616775738..afc1b9a56 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5J.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Pins/STM32WLE5J.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:34.453845
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS
#define LOWLEVEL_INCLUDE_DEVICE_PINS
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011D6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011D6.h
index ef97db46f..336fd6b5c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011D6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011D6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.382951
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F4.h
index 67a8d404e..34252a67c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.384313
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F6.h
index e275a184a..e001b10d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.384569
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J4.h
index 64e2fa335..12d846d76 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.384873
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J6.h
index b1a2fd1a8..a64e64d11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C011J6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.385077
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C4.h
index f1b4fd62d..09ec6e7e2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.386198
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C6.h
index 5e3a92efa..ac915e640 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.386544
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F4.h
index 1b7d862ac..2389745a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.386853
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F6.h
index 9e180d774..48c39e366 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.387070
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G4.h
index 5c7870ea4..edf6958bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.387394
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G6.h
index 6fd2ba6ff..88c452827 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.387671
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K4.h
index cb483ffc6..e93faf933 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.388562
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K6.h
index 7405ccebb..e5eca5b1a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32C031K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.388872
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C6.h
index 3b5b07347..ebd46c1fa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.389163
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C8.h
index a2657fed5..a23915da4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.389420
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030CC.h
index f8792a2d6..6740ec2fd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.389687
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030F4.h
index 6406e81a5..1a6509825 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.389879
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030K6.h
index 1d954b132..730312780 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.390092
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030R8.h
index 9bfd58e14..b29414cce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.390394
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030RC.h
index 3356ea14d..8bc799300 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F030RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.390733
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C4.h
index 73ede5d70..865ac9667 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.413164
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C6.h
index c3f6a5713..4dd086128 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.413489
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031E6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031E6.h
index 50dd7111c..c6151b2a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031E6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031E6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.413873
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F4.h
index 961b466f7..1c8b9d1c0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.414095
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F6.h
index 574643fbb..d9b18f18d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.414273
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G4.h
index 3cd6e371a..dca6c906b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.414506
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G6.h
index a6f732cb5..4f9da3865 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.414690
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K4.h
index 3a87c21c3..4e5cb2673 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.414924
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K6.h
index e6e566e8c..57351c3e1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F031K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.415314
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038C6.h
index 7292358dc..ac23e8e7b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.503352
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038E6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038E6.h
index 83fffc1b3..f800ea3e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038E6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038E6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.503673
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038F6.h
index 7ec4f6a5e..b269e4532 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.503878
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038G6.h
index 37fd5658f..ff73f4dd1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.504094
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038K6.h
index f606bc7d3..6e68fad91 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F038K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.504316
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C4.h
index 59bf5ccdf..b9306d324 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.474520
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C6.h
index 8f1e6ebe1..d19692197 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.474824
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F4.h
index 9b2173187..8820992b1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.475083
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F6.h
index 18e99e225..f09789409 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.475319
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G4.h
index e8fd9b011..5dd405043 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.475585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G6.h
index c4c76b6a3..eb0015b0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.475826
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K4.h
index 48ac35934..ed98b8b5e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.476548
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K6.h
index 844619716..bd880f111 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.476809
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042T6.h
index 0eb7066f7..d650f48f3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F042T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.477094
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048C6.h
index e412e9f14..f7bd37abe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.504822
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048G6.h
index 6228b67a2..731b29027 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.505087
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048T6.h
index 3992dadcd..71799722b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F048T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.505347
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C4.h
index 11e51ab53..d82c45fb3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.416291
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C6.h
index 62fa15a95..9fc20a299 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.416922
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C8.h
index 97270c400..e1d09d957 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.417541
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K4.h
index 8ad52b699..32b504f18 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.418040
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K6.h
index eac664239..048072c63 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.418550
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K8.h
index ac68cacbf..82c4ed4c3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.419028
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R4.h
index 358ef32a1..8a922e9f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.419380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R6.h
index 71dd8df42..d75d9b0ea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.419750
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R8.h
index a0965a26c..68bf6886a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.443923
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051T8.h
index 371b40611..bef1f2027 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F051T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.444403
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058C8.h
index 2e3c7ed6c..4f0c44b44 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.505876
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058R8.h
index 6fae82cba..566bdc240 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.506590
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058T8.h
index 5391b6647..4ce104845 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F058T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.506888
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070C6.h
index 2afe8aa05..e9ead694f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.391718
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070CB.h
index 153a15c37..a72df0d96 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.391989
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070F6.h
index 05f259cbb..0769b6dab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.392190
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070RB.h
index c08c5a594..7176623a7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F070RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.392497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071C8.h
index bbe333c77..2f652afec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.445630
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071CB.h
index c651638a9..42cf6d818 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.446320
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071RB.h
index 9bca113f7..4e376ae88 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.446775
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071V8.h
index 881d8e4c9..6b0f46ea6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.448321
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071VB.h
index 733bdc085..cfe951432 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F071VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.448774
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072C8.h
index 87a6e791a..0196ca41f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.478681
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072CB.h
index 42c916c77..09bace81a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.479330
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072R8.h
index dfbc42171..5bb663476 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.479787
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072RB.h
index 63eba4d6b..226861641 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.480883
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072V8.h
index 43674fa33..9b13ee214 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.482385
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072VB.h
index ddd3825aa..448bf31ca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F072VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.482843
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078CB.h
index 80489c0db..d56e75a50 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.508208
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078RB.h
index 583b5ed33..1a66a57fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.508939
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078VB.h
index af5820b2d..cfb1a8e84 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F078VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.509896
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CB.h
index 1fd2571e5..a007b6d2a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.450056
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CC.h
index a18b5b944..ea339a07a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.450408
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RB.h
index 167da020e..26c3d2d61 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.450842
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RC.h
index da2c58b57..e7b812b51 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.451939
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VB.h
index cf6d1bbce..dce6ac9d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.452549
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VC.h
index 3de1574d8..fa4242e33 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F091VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.453521
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098CC.h
index e5469b4db..c52fc0d98 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.510735
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098RC.h
index 25a98ecb3..28c904422 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.511913
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098VC.h
index def82a065..62642d2a9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F098VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.512945
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C4.h
index e35777ea0..703e1f914 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.513269
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C6.h
index 78647e978..7c154d09a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.513503
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C8.h
index ea23bc1d6..ec6237d7b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.513787
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100CB.h
index f7554d0d4..9f64ee4f6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.514027
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R4.h
index 969569ddf..90881d80b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.514887
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R6.h
index f85161d5d..82d6b6097 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.515167
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R8.h
index 47f723e3d..bcf6cf3c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.516130
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RB.h
index 6dec0074a..7c8559dc4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.516442
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RC.h
index b2c1c85e6..57e276017 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.516800
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RD.h
index 515739f7b..e8cee035f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.517105
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RE.h
index 5d873d933..810a40efb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.517405
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100V8.h
index 516dad74f..b86df3071 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.517797
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VB.h
index 92ff1f3b3..974fd9463 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.518150
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VC.h
index ab68ba833..dc0841fd9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.518637
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VD.h
index 5d5b4ee70..eb401efd8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.519065
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VE.h
index 14fb08ebf..19476efe2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.519462
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZC.h
index b3c64d16f..e1432bc21 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.519977
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZD.h
index ae636d702..bf37a926a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.520472
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZE.h
index 14f01227e..399dd56a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F100ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.520962
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C4.h
index fca07ed08..5105bb45e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.521239
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C6.h
index f1c0b3022..b62b1d2f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.521441
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C8.h
index 42984fe57..acab0e728 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.522125
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101CB.h
index 30707dab5..e2b696930 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.522369
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R4.h
index 9ce16d7a9..8e4beef82 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.522655
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R6.h
index 607445835..ce47a8219 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.522905
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R8.h
index 5e5a9b460..3c1ea4b58 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.523192
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RB.h
index 88d2652a0..cfe0ddca3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.525281
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RC.h
index c1f0c9f4f..8cd439222 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.523818
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RD.h
index 76b766057..d56481018 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.524127
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RE.h
index 085dab8c1..9b6edb791 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.524426
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RF.h
index 5f1b6f10b..64e7a148d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.524755
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RG.h
index 2c8830096..5d3b2b793 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.525036
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T4.h
index 462193006..79e7a026c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.525525
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T6.h
index ed9010e3c..d2f9da00f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.525695
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T8.h
index 7e70763ca..af2424115 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.525924
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101TB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101TB.h
index 920f0d162..f54635341 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101TB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101TB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.526106
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101V8.h
index afd665fdf..d4562b58c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.526468
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VB.h
index f8a59f72e..e4ff11870 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.526789
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VC.h
index ee7b3bd79..39da99d6f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.527195
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VD.h
index c29e73104..5f496474d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.527572
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VE.h
index 1dfe0ed1f..c9874346b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.527941
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VF.h
index 20605f589..4516c175f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.528368
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VG.h
index 746ec865c..21a2cfcc5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.528743
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZC.h
index b7db4b0f5..0a3a339cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.529242
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZD.h
index 96506ae12..1dee4189c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.529747
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZE.h
index 3ba9d357c..2915b6837 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.530207
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZF.h
index 37eed0e17..26d6be718 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.530742
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZG.h
index ec1324305..8af9825ed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F101ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.531220
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C4.h
index aee3b3a07..402fa78c8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.531501
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C6.h
index deed76029..918a4eef8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.531705
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C8.h
index c00519a86..692255c27 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.531966
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102CB.h
index 33dd0fd39..1dfeec704 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.532180
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R4.h
index 522215f9e..d68556ce1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.532453
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R6.h
index 52ae95987..40d68cdb2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.532726
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R8.h
index 08434ccc9..816aed2a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.533018
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102RB.h
index 9e242626f..ec7e2c014 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F102RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.533300
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C4.h
index 13c7b274a..72cd720d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.533564
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C6.h
index 7f1adade6..4e3e9ae6b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.534605
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C8.h
index 14d81ea25..d19840f80 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.534121
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103CB.h
index 70afa3b41..7c5c1f8d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.534847
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R4.h
index 0244fdeff..d27541df2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.535773
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R6.h
index ebf7bfea9..206ef11d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.536044
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R8.h
index ccdb3c293..bd40a69bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.536956
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RB.h
index e809ef260..0cfe645bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.537245
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RC.h
index c7347818c..ce9011737 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.538667
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RD.h
index b538d71d7..68432c3a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.539008
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RE.h
index 82bd26b07..6ed2e70f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.539346
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RF.h
index 10a488e4b..c7f3e7254 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.539770
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RG.h
index e7736c99b..1ebbb7d0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.540110
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T4.h
index 6ddb382d1..689826791 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.540372
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T6.h
index 35e763906..ec932c2af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.540573
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T8.h
index 9eafdfe53..e645d947f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.540834
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103TB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103TB.h
index 32075459c..e6bfa9432 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103TB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103TB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.541037
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103V8.h
index 746c5938d..2ceda72cb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.542148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VB.h
index 45f69d6a9..a7bb60af6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.546653
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VC.h
index 33caf9c61..0dc9e8593 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.544413
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VD.h
index 5de31c633..dc7fa6664 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.544856
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VE.h
index d92062da3..aed889ee0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.545296
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VF.h
index 2022052e7..a5e74423d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.545804
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VG.h
index b743be6fd..61820650e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.546284
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZC.h
index 73e736d72..f34d7a544 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.548965
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZD.h
index 1399a098a..b9ec665d5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.549508
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZE.h
index d996f7440..628703318 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.550044
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZF.h
index e0f3a665a..0be1e4b8f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.551806
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZG.h
index 15780378d..ca535b392 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F103ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.552359
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105R8.h
index b77ed1b7e..b4d546fac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.552797
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RB.h
index 079f514d3..73e1ca511 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.553130
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RC.h
index 47f059547..9558dd15c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.553457
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105V8.h
index d51065f6d..e4420d6c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.554722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VB.h
index 5d0d35a2c..597ed38c1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.555124
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VC.h
index c74d0b47f..8495fd8c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F105VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.555522
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RB.h
index 7d4b5bb6a..e53f6fe38 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.555973
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RC.h
index bdbc5f502..d6e691978 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.556327
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VB.h
index 1272054f8..c4abfb1fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.556778
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VC.h
index 0d0a7aa11..e64c96e2f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F107VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.557613
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RB.h
index 02ab734f3..4036021f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.558117
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RC.h
index 71a70b039..77a5539a5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.558550
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RE.h
index 736de6ef3..e3c5ca3f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.560179
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RF.h
index 86c2030d7..ed2b56dbc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.559362
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RG.h
index 0ba5b0d99..61bc1e034 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.561000
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VB.h
index 09728c711..ede9654fd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.561621
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VC.h
index efd3faef9..0c6ccc096 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.562138
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VE.h
index 048aaf8d0..dc9f66316 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.562646
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VF.h
index 8ca44b980..8dc90b85c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.563148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VG.h
index 1fb5baca3..59ac57a4f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.563680
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZC.h
index a705ee7d2..6567b6084 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.564359
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZE.h
index 18e7adef1..d55feb1f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.565002
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZF.h
index 5191ab354..927f6e7ba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.565624
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZG.h
index cab18ff96..7cb79e41b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F205ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.566298
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IC.h
index f3d8b0eda..6b192037a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.573650
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IE.h
index aa9740da6..5fa2737e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.599213
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IF.h
index 2c37fb819..2117624f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.600272
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IG.h
index ea6d6e2d9..9edcc01c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.601078
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VC.h
index d34623487..53c72f66e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.601689
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VE.h
index 247475d28..2d046045e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.602322
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VF.h
index ba151b504..6c4f128bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.602882
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VG.h
index 0654356bf..a69e17cc5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.603428
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZC.h
index d9721516b..722a76979 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.604072
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZE.h
index 5f506ec6c..376baf511 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.604723
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZF.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZF.h
index e816cb899..4c11da132 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZF.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZF.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.605436
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZG.h
index ba9947993..d7c855dfd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F207ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.606075
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RE.h
index fec6a9e76..2b3f28ee4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.566890
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RG.h
index a267a6f26..2aee0bafd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.567316
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VE.h
index f66f24fb6..cf8f8fc2b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.567887
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VG.h
index 5853f0b04..88beb4262 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.568404
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZE.h
index 4cf1052b1..755eadc0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.569068
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZG.h
index 4b60f62cb..77b3c6b1e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F215ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.569749
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IE.h
index dec16c982..58d02e587 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.608509
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IG.h
index 1ee90c56a..5f8a9708c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.609269
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VE.h
index 72da6110d..84e7a4eae 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.609907
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VG.h
index 0ddd36bf0..995ef8c88 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.610516
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZE.h
index 8e12d5bd7..e95c52274 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.611216
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZG.h
index 1fc7f0b37..2e398cd27 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F217ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.611868
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C6.h
index cc8e0ccfc..cdc09b1ad 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.612295
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C8.h
index c045fb1fd..d1cd43669 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.612943
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K6.h
index e8652f130..153561c24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.613805
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K8.h
index 4f2dcb591..9f2f029d4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.614053
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R6.h
index f4a37c3d5..3553c3f78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.614467
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R8.h
index 610d371ba..439087506 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F301R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.614836
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C6.h
index f71f92f10..9594d1bce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.615246
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C8.h
index 8d01238e6..e22ba0689 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.616670
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CB.h
index 05ff24a10..c8b826d34 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.615988
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CC.h
index 077128dfe..0b733181f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.616334
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K6.h
index a7fee32f7..bff2178c8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.616994
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K8.h
index f3c79080d..d75c4c6c3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.617244
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R6.h
index 72892392e..76df2a672 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.617643
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R8.h
index 712f901e8..c9cb62694 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.618005
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RB.h
index a877b9944..a05a392a5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.618467
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RC.h
index 4404abb6d..4a4e6eca3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.618882
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RD.h
index a7e532b1d..a46f90114 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.619344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RE.h
index 951459364..c2dfbc39f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.619760
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VB.h
index b1c1104ff..5a05baa2d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.620363
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VC.h
index 02a40c43a..17c460ac3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.623879
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VD.h
index 7ab1644c3..f40fdb3d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.622714
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VE.h
index 2846ba875..ac3dbeb29 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.623292
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZD.h
index e55ebea3e..040af4d35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.624580
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZE.h
index 7a7211072..dd0170a10 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F302ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.625231
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C6.h
index 8e5962bac..3bc20b729 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.625642
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C8.h
index b4039a276..9629e9b80 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.627176
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CB.h
index cbdda3dae..b38a74979 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.626431
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CC.h
index 27153648d..99e5030a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.626849
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K6.h
index 4e6078368..bff353357 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.668688
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K8.h
index 0f51953d0..52cdee7d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.669102
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R6.h
index 19a880379..d96d32848 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.628167
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R8.h
index 4b73edaf1..5e7531530 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.628523
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RB.h
index 1716361f7..ee5bbc6f5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.629025
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RC.h
index 47958fa0e..f6f47c98f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.629500
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RD.h
index fda50af85..81b711dae 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.630031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RE.h
index c8d4fad5c..b344b3145 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.630515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VB.h
index f6a7469de..dc131f0c4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.631209
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VC.h
index b5cce54f7..d451a430f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.635173
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VD.h
index c7b1e836f..85cdae4e5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.633905
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VE.h
index e9b479a30..4d2adab5e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.635829
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZD.h
index e2b3c1e3f..4edacdde1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.636752
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZE.h
index 367d91863..fd63299f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F303ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.637515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318C8.h
index 4e2473f6e..b26f24eba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.670112
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318K8.h
index fd2dec4a8..48e48de0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F318K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.670454
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F328C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F328C8.h
index 3f5ce5cf7..70b475466 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F328C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F328C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.670835
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C4.h
index 32aed1854..a11e52e2a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.638034
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C6.h
index 04d15bdf9..538d580da 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.638385
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C8.h
index ab00fb53b..99ffc7b96 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.639065
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K4.h
index 8c1b3faef..e83d3988a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.640195
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K6.h
index 51e662dd8..0c24bb123 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.640457
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K8.h
index 7b6089191..017172d20 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.640713
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R6.h
index ec39c11e5..3d4196fba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.641143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R8.h
index 5742e25bc..c56624354 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F334R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.641520
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358CC.h
index 4ec88a4c7..ee9c9b29d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.671407
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358RC.h
index 70056969d..58fcea814 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.671923
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358VC.h
index 2b54b747a..31864f3e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F358VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.672595
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373C8.h
index da78ffbe2..66b21a1f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.642061
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CB.h
index 31ccd654b..4e8ee6e09 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.642454
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CC.h
index 50bf43696..ade0c436d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.642831
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373R8.h
index e2e933a81..97ace3a14 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.643313
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RB.h
index 4e89bbb6e..72267e170 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.643759
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RC.h
index 7d9ca12a6..099ffca85 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.644197
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373V8.h
index a49a70b04..468c0d536 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.646516
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VB.h
index 7b6f2e498..a2b16b869 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.647071
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VC.h
index dcde129e1..41b9435fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F373VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.647619
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378CC.h
index 3270ec128..6bd6f774a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.673141
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378RC.h
index 59199763a..febc0a653 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.674041
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378VC.h
index ddd685c27..d8d0e4911 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F378VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.675229
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F398VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F398VE.h
index 62111069a..9147ea53d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F398VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F398VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.675939
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CB.h
index 3d0071edb..50ddd84eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.676863
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CC.h
index a9e69f71f..9d514412b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.678580
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CD.h
index d496748e7..fed724cd0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.678037
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CE.h
index f7ae5ce4d..d47db1ab4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.678312
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RB.h
index 394765c91..c988796da 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.678988
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RC.h
index ead2eba30..9beec80b0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.679324
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RD.h
index b9ea5eb87..071d78462 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.679702
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RE.h
index 6b98a2093..d5334a59f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.680025
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VB.h
index 6e5fd7c9f..ffca0f3fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.681333
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VC.h
index d18e13df2..2ef60acec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.681745
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VD.h
index aaf5889aa..d0b77cc95 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.683046
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VE.h
index 7841466db..598993e5b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F401VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.683461
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OE.h
index 18651d571..f66dd0e2c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.684015
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OG.h
index eecc8937b..a6b880d52 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405OG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.684512
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405RG.h
index d0ec0c34d..73d264e30 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.684989
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405VG.h
index b6a6fe6e5..4a03bce6a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.685574
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405ZG.h
index 78a342434..90d9808f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F405ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.686231
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IE.h
index 1b67455e0..0b7205495 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.735675
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IG.h
index ab3151d51..b03dad0c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.736545
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VE.h
index 80da9c347..954b5bd62 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.737220
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VG.h
index 107057ffb..c67fc1523 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.737789
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZE.h
index 6795def58..e5ecfef07 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.738515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZG.h
index cea31b7ac..262a5c870 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F407ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.739246
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410C8.h
index 42cd7651d..343980b9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.766864
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410CB.h
index 18c230975..eee18d17b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.767171
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410R8.h
index 56edd2928..87cb97436 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.768295
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410RB.h
index 144186de9..4dfaef350 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.768646
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410T8.h
index c0abb9b9d..3cae88d8f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.768941
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410TB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410TB.h
index ad77a2d3b..5e4d2b902 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410TB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F410TB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.769157
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CC.h
index 1d6a1d992..5d50b87af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.770149
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CE.h
index eb8c48e46..898599472 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.770477
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RC.h
index ad251712c..972f0c3c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.770888
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RE.h
index a386332d4..a564599fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.771284
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VC.h
index 83c844b58..03e2556e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.772699
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VE.h
index 9fcf6cfca..235115859 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F411VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.773151
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CE.h
index 9ca57d989..93ec81558 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.773593
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CG.h
index e999146cc..302d609d3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.773955
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RE.h
index 2b4881b5e..0746a89e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.776173
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RG.h
index 2f9ee2488..f490f271f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.776605
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VE.h
index ecd352f02..245102d09 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.778377
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VG.h
index 1ed1d06e8..5bb3265e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.779008
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZE.h
index 6f97a82df..c646e3126 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.781052
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZG.h
index acac59f04..e46fb61e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F412ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.781788
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CG.h
index ba37bda94..8c4723b22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.782290
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CH.h
index e336a0ece..03fe25e35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413CH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.782700
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MG.h
index 0aee45fc2..39c76f516 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.783271
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MH.h
index d3b23bb03..6d2de0029 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413MH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.783813
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RG.h
index ae3ef2842..ea1968310 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.784358
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RH.h
index 5eae71835..e2720bb33 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413RH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.784845
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VG.h
index cd05d13ff..34df1fee9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.786892
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VH.h
index e4d302c5a..210d90c15 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413VH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.787542
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZG.h
index 4d6f70fbe..7cb6dbb40 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.789935
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZH.h
index efee23ffc..d4681985e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F413ZH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.790781
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415OG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415OG.h
index b2064898c..6810d14be 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415OG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415OG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.687311
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415RG.h
index 47af2064f..52a49bf75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.687785
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415VG.h
index b0b69c231..bceaf7b5b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.688339
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415ZG.h
index e830acbe4..1dc1961ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F415ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.689004
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IE.h
index 1efe71b53..1712457ea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.742221
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IG.h
index d1fd3c1fe..34bbf411f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.743004
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VE.h
index 429cef90a..d46c7e7a4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.743688
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VG.h
index 39dbc14d8..806b708d9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.744262
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZE.h
index 2175258ec..853bc1e7f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.744966
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZG.h
index b244e0222..5c0fa2306 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F417ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.745665
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423CH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423CH.h
index b14bf277b..708d4cbcd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423CH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423CH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.791466
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423MH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423MH.h
index 7f1f475aa..2ef2c2fe6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423MH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423MH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.792031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423RH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423RH.h
index e1eb81bb0..37d582905 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423RH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423RH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.792565
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423VH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423VH.h
index 78ede2f65..02a612bc4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423VH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423VH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.793934
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423ZH.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423ZH.h
index 995758762..11546b66b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423ZH.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F423ZH.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.795497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AG.h
index da01ba21e..966b76e64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.796393
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AI.h
index e399f7048..822889e66 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.797155
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427IG.h
index 9226704cd..186d47ab3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.799790
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427II.h
index b4af986a1..445798758 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.800599
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VG.h
index 443c982d6..51bb16ebb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.801252
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VI.h
index c9c043077..21cc8edf9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.824606
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZG.h
index 68daf29f5..a51e8d5d7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.825576
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZI.h
index f086f765e..bd09c3b78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F427ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.826334
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AG.h
index 8f5e64bcb..6dfb50570 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.855649
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AI.h
index 7df0a3932..88224d058 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.856566
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BE.h
index ab8e1898a..88ffb6722 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.857650
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BG.h
index 9ffc691ab..18ebc2ed0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.858603
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BI.h
index 450a54ad9..89e23b800 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.859488
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IE.h
index 492aa5e81..f60b38e8a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.862056
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IG.h
index 74850b3c1..f0560f0ff 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.862974
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429II.h
index 94fa70d4a..86b7f8067 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.864624
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NE.h
index 6cddd651c..64dd3f542 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.865666
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NG.h
index 1366109a5..1e462efd8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.866556
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NI.h
index 85cd61a4d..7ba9362bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.867625
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VE.h
index 823736f13..9bb55f77b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.868280
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VG.h
index a26f91b91..948c4d27a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.868849
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VI.h
index 2a3088acc..6fce9bbfc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.869468
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZE.h
index 5e55555ae..954b3962b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.870202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZG.h
index 07ea33cb4..b3bd87be8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.871656
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZI.h
index 6a4ccc3be..cb7dba29e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F429ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.873139
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437AI.h
index 9da704117..96ca5b1fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.827499
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437IG.h
index da7f4ea21..4009e2d50 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.830157
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437II.h
index 552e4fa93..a66306967 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.831060
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VG.h
index 74369f889..7a565cdc7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.831724
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VI.h
index b9e3860f6..781dc360f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.832292
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZG.h
index d8eab0fd2..d8d26922b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.833056
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZI.h
index 4fbaeea38..453cef5cf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F437ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.833825
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439AI.h
index 3f862a811..b48c73fd5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.874122
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BG.h
index c590cd0b7..1a3f4a33e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.875067
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BI.h
index ba0b2b508..bd918fabe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.876061
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439IG.h
index 19ceeda8e..5cde544a2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.878727
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439II.h
index a232338c2..250f356a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.879578
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NG.h
index 226eb641b..622526045 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.880547
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NI.h
index ca13db252..768562b74 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.904297
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VG.h
index e9ff36787..7309a2041 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.905204
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VI.h
index a1dae7630..bea21ba12 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.905804
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZG.h
index dbfb0e3ab..6ea4ba57a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.908069
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZI.h
index 218f0e4a1..7c5dd595d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F439ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.908809
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446MC.h
index 8bcb0d62e..954e57b61 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.909414
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ME.h
index 98e6af8ec..d3c31d545 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.909957
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RC.h
index 37b811f20..d3766612a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.910515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RE.h
index 443510b8f..6bb0dc9dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.910964
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VC.h
index 04ae9c80e..36440c0cb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.911599
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VE.h
index c77347f71..427ca3991 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.912197
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZC.h
index 877ef95ac..5adf2c345 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.916006
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZE.h
index 7b5e8f195..789da204b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F446ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.916743
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AE.h
index bf2442f7d..b4a25eb24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.919937
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AG.h
index 4d14ad5a3..7fe76bfeb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.920746
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AI.h
index 725e32609..24ecb1c9d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.921588
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BE.h
index bf0c2af32..6b3eb6074 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.922640
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BG.h
index 69c32d78b..99e6a7d53 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.923704
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BI.h
index d1244e5ca..5cdc4f976 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.924606
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IE.h
index f8f705956..b60c0e2af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.927344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IG.h
index 1e9b3b8b1..e9d5fc18b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.928187
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469II.h
index 9dd089717..1e119f2e0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.929923
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NE.h
index 547b03884..888b32e54 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.930959
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NG.h
index 6ea3c2e53..7ef479e62 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.931948
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NI.h
index 530f6a316..7d0b00460 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.932910
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VE.h
index 4264b79fa..0ce42e65b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.933587
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VG.h
index 0fb04f388..c43e63c19 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.934171
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VI.h
index 3d92add22..6e48062da 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.934768
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZE.h
index d17824d50..4e6cdab5d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.935493
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZG.h
index f630b558b..7f35d542a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.936169
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZI.h
index ba1b8f5e7..d848762d5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F469ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.936949
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AG.h
index 7ee06a88a..a04b7a7c1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.939424
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AI.h
index f0064bead..52573e966 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.940187
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BG.h
index bc687b51a..1662f079e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.941128
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BI.h
index d03621996..ac1201a35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.966578
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479IG.h
index fc23fff61..bc98d361e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.969620
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479II.h
index e40aa2c48..45bbd17f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.970474
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NG.h
index 27e4273a8..4f7da1571 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.971438
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NI.h
index 9912602b4..325465ba2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.972418
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VG.h
index 795a6579c..fcd79db37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.973104
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VI.h
index 7288229e9..6d4279d23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.973654
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZG.h
index aeb01a93b..dd6941c0d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.974396
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZI.h
index 8b448cfea..863f4df37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F479ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.975132
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IC.h
index 5c506afbe..42694c988 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.003899
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IE.h
index e66ab1f1a..29fd7310b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.004783
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RC.h
index 6e41fff9f..670d5f22c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.005324
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RE.h
index ee2b59f09..c21880886 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.005771
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VC.h
index 51f78ea3a..7e27972bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.006423
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VE.h
index 36253fe38..50ad638c7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.006995
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZC.h
index 67029c737..f6950a0d5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.007802
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZE.h
index 75c7a298f..8f625c576 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F722ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.008497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IC.h
index f98b0ea3c..8a74acb27 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.035654
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IE.h
index 91571a9f8..0c8406634 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.036456
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VC.h
index 42c447ef6..fe65159af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.038290
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VE.h
index aefd01310..79439dd60 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.038852
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZC.h
index e0c87f9ee..7406b1494 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.041009
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZE.h
index 2f95cbfc7..c364e268d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F723ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.041722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730I8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730I8.h
index 1d4cc6a5c..b7b486ad5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730I8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730I8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.976162
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730R8.h
index 3a7e48464..8a55d5ec7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.976675
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730V8.h
index c1b450ace..8423700fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.977312
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730Z8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730Z8.h
index 7f5f80e40..ccf4f2fce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730Z8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F730Z8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.978011
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732IE.h
index 98e835067..945afcf8b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.010328
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732RE.h
index 88a5fc941..9b543a25e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.010916
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732VE.h
index 3b79cfaad..e407a1d47 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.011525
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732ZE.h
index 5d1694925..6b6b8d8bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F732ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.012273
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733IE.h
index 5ece6b172..d64f5edde 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.043628
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733VE.h
index c01bbc475..0b488a5ca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.044875
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733ZE.h
index 24a491341..92e9dc3ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F733ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.046304
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IE.h
index b6034fabd..ff31de53b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.049036
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IG.h
index 705368ffd..ea56208c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.071189
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VE.h
index 099779d83..0ad9f609f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.073457
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VG.h
index b45db6d66..b062fc351 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.074137
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZE.h
index a8e114a59..3340ed014 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.074966
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZG.h
index 461f20e29..0886d1027 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F745ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.075691
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BE.h
index 7726bc31d..f0dcdb619 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.111074
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BG.h
index 32cbf66ff..e7d154590 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.112149
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IE.h
index 3ab02bbe0..c2600e64f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.115090
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IG.h
index 0595497bc..154130046 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.116082
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NE.h
index 8b9ebd6fe..4ab8a8623 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.117152
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NG.h
index c70dce967..b3ba78daa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.118279
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VE.h
index cd0cffec2..e23cfb7f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.120290
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VG.h
index 3617e5375..6d26ee6d6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.121005
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZE.h
index 9a88f7bc3..46376f664 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.146567
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZG.h
index bd0f7843e..c0fe03af3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F746ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.147574
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750N8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750N8.h
index cf5a1b531..ee3ba8e61 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750N8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750N8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.979552
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750V8.h
index b3bc9f3fd..6e28f1878 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.980273
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750Z8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750Z8.h
index eaa81e451..028c6668b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750Z8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F750Z8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:06.981064
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756BG.h
index 490eacfdc..7f865d3a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.148798
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756IG.h
index 2e18fdddf..97db962fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.150916
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756NG.h
index 612d0be1e..f594359fc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.152078
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756VG.h
index 3976c1b89..27da7a134 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.153428
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756ZG.h
index dae19241c..fe3f05be5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F756ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.155078
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BG.h
index f70185dff..15a160d96 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.077235
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BI.h
index f72d6b82d..f5a43c49d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.078266
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765IG.h
index c2a230975..c6f929c94 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.081283
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765II.h
index 7d3511d9c..adffcfe10 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.082360
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NG.h
index 82ddc2dba..4be47b7d9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.083405
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NI.h
index 780edf611..0eed7ca20 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.084543
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VG.h
index a34cf9e5c..5a2760fcf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.086710
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VI.h
index 9cdd55ebf..916874b64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.087447
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZG.h
index c8cd7ca27..ce109571e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.088327
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZI.h
index ee5629e6a..d49ad08b7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F765ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.089153
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BG.h
index ce77a81bb..7b85952c8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.156328
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BI.h
index a2f4cb4f2..0c5a658fa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.157555
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767IG.h
index 3bfe7c7f5..9e3fe0a9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.160785
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767II.h
index 13cf2faed..b36d752e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.161795
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NG.h
index 3e6758fb8..51c2bb17e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.162982
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NI.h
index a04869429..c56000c78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.164026
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VG.h
index e9aa5af88..6154a164e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.165659
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VI.h
index 08432e7ac..b0be4f0d7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.167151
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZG.h
index 602c104ac..7dc2ec117 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.168135
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZI.h
index 051c7aaab..a05d35963 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F767ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.169023
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F768AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F768AI.h
index d83134a7c..8faf01d6a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F768AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F768AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.198186
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AG.h
index 724e02597..2f16eec2c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.222201
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AI.h
index c0fcb7be2..6f2c96ce5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.223416
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BG.h
index fc5ace54a..1f0589322 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.224604
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BI.h
index 14a74d56e..0a395062d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.225805
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769IG.h
index fcec00457..e5a6aca3c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.226823
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769II.h
index d62c4cfc2..ca860ac7b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.227944
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NG.h
index a78a05670..8ca419688 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.229019
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NI.h
index 5ffd25bb0..7598325c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F769NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.230232
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777BI.h
index 3ab1e6f89..37552b13b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.170398
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777II.h
index 1bd96118b..5547a8b41 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.172396
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777NI.h
index 34e48f550..c5e648860 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.173584
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777VI.h
index b018ed4c4..d1834f16a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.175094
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777ZI.h
index 8e40029d0..664b5eb1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F777ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.176052
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F778AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F778AI.h
index 4c940e805..d534cc328 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F778AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F778AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.231309
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779AI.h
index e70823a77..34c84b14c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.232401
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779BI.h
index 82f3b8519..058e7b767 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.233469
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779II.h
index 385f550ef..f3647ca80 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.234625
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779NI.h
index b70384e3f..679ed3da5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32F779NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.235702
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C6.h
index 509f924ef..8e4eec17e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.236178
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C8.h
index d636f0370..3eec40405 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.236486
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030F6.h
index 4064004d1..b2c0ad39d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.236762
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030J6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030J6.h
index 285954821..187e5dfb7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030J6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030J6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.236997
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K6.h
index 0e98a56c6..540c6b134 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.237284
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K8.h
index d317c61fe..f96cdf7e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G030K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.237547
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C4.h
index f017bb8c7..25e6942bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.264456
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C6.h
index 28c79740d..3b4bf559d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.264812
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C8.h
index c2b51ecb0..769d92de9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.265147
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F4.h
index 33d4ffb24..d0e329814 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.265476
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F6.h
index 43346bfdc..49e1d7601 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.265727
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F8.h
index 2d93e6185..4723a8fe0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031F8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.265971
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G4.h
index 7dd3b518b..2dcb426f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.266283
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G6.h
index d00c1f5ee..03cb86fb7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.266526
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G8.h
index e22e51fd3..eefd827bb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031G8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.266766
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J4.h
index 2c0e9d4ce..9733d19f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.267023
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J6.h
index 54e51e188..cda8d47fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031J6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.267226
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K4.h
index 9e8f3d4ce..acd423cb7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.268375
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K6.h
index e45db1351..374948b7c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.268659
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K8.h
index 1a7a4e19c..390d5cda2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.268944
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031Y8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031Y8.h
index a0c69c736..c67f346bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031Y8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G031Y8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.269248
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C6.h
index 271d7bd75..9d596dab7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.270313
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C8.h
index eacd4d395..ebda71dda 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.270649
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F6.h
index 917d9646f..50068c693 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.270971
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F8.h
index 8c88353e8..c0280be60 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041F8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.271221
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G6.h
index 401fdc3c6..96c4dcc74 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.271515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G8.h
index 1d606a554..d08b11bb5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041G8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.271761
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041J6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041J6.h
index 5d74721c8..888f064c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041J6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041J6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.272011
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K6.h
index 055803829..4463508bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.272898
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K8.h
index b1504a58a..d565bd351 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.273181
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041Y8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041Y8.h
index 5b3d57310..5e8b2b7e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041Y8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G041Y8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.273482
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C6.h
index d3a158b6d..3399da8cd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.238229
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C8.h
index ffeaf194a..c6f48931e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.238578
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050F6.h
index 10b9c5354..b7dd14859 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.238864
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K6.h
index ba3a7d352..85f6cdca4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.239148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K8.h
index 2ee84ca54..f8f887c52 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G050K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.239456
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C6.h
index 4a5453ded..a3998e6a4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.274735
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C8.h
index e21f6d722..3a2ffc667 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.275105
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F6.h
index d621b0192..078908ad2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.275469
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F8.h
index 41052d0a8..d341aef76 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051F8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.276073
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G6.h
index b2c7a41fd..b56c39042 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.276442
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G8.h
index 12444e31c..5c1cbd81e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051G8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.276723
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K6.h
index ef3e2df26..eabb2eafb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.277680
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K8.h
index da10b12db..7f3459ca2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G051K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.277986
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C6.h
index cb5f15adb..7a88b5b7b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.279134
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C8.h
index 1e91ccd82..a97481d11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.279498
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F6.h
index dab11933f..e52010d8f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.279874
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F8.h
index 9e2e835e2..b0e367519 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061F8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.280484
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G6.h
index b6bcef286..5ff077e49 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.280856
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G8.h
index a304dab73..67f3b1fde 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061G8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.281142
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K6.h
index 52176a77b..54f9658f2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.282112
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K8.h
index 7a65db564..a08da77b8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G061K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.282432
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070CB.h
index c6b1af0d2..ce3ad4f57 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.240102
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070KB.h
index 8bdb9b0db..fb1d37b85 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.240431
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070RB.h
index 833c8d895..cad8e09e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G070RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.240820
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C6.h
index 58f176aa2..742b2a017 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.284202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C8.h
index 8eba28941..d102958f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.284635
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071CB.h
index a66817e83..ef7fdc155 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.285046
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071EB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071EB.h
index 3d51b9e93..8c450ede9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071EB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071EB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.285407
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G6.h
index 76303a285..1e9dc5208 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.285757
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G8.h
index e3df8d215..d196a2180 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071G8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.286669
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071GB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071GB.h
index f871c6e2a..4c7e68f5c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071GB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071GB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.286974
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K6.h
index 8265d8db3..3dec01977 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.288403
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K8.h
index 82fcb890f..5379fd4c1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.290085
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071KB.h
index 1a8bd466d..b339f5448 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.290416
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R6.h
index 7768b0ecb..8bd51c128 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.290988
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R8.h
index 7d64d4377..c4b32faa9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.291478
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071RB.h
index 55460d87d..4193cfe55 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G071RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.292436
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081CB.h
index 7dc9c3090..f378797fa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.293350
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081EB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081EB.h
index 38a26d77e..85c64c557 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081EB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081EB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.293713
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081GB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081GB.h
index 61c67995e..d856a883f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081GB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081GB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.294380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081KB.h
index bf5d445b1..d71c795c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.295783
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081RB.h
index e123fd5b4..e8cc9e563 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G081RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.296826
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0CE.h
index 0c443103f..50448ee86 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.241569
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0KE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0KE.h
index 8ed7f66b6..f2e683b0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0KE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0KE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.241931
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0RE.h
index 4ad0e7dc8..676a0aa0e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.242430
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0VE.h
index 4ad898918..e5d192289 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B0VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.242970
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CB.h
index 0dfe68a4b..5e7fe2125 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.301812
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CC.h
index 413516c0c..f05f68776 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.302329
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CE.h
index a03c29b32..fa3bae27a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.302794
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KB.h
index 4ad183363..5cda2f7e4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.306739
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KC.h
index 9c1126bf2..dc7098cd2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.307125
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KE.h
index f0bee08c5..491b5d3ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1KE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.307510
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MB.h
index ecc653649..c644d346e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.308211
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MC.h
index d87bc85a4..60d697b0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.308875
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1ME.h
index 1fc44a67a..51b712f11 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.309497
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1NE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1NE.h
index 1dc6f8101..b7a60e8b0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1NE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1NE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.332846
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RB.h
index 2cf15dc5f..8fd291373 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.337326
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RC.h
index 5729640c4..8619934c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.337888
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RE.h
index 74db17c7e..6f265a79b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.338457
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VB.h
index f93fff60f..2664674c2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.341347
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VC.h
index 46c617236..527d54598 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.342016
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VE.h
index 721895111..8eddef258 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0B1VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.342794
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CC.h
index 6efeb3f03..18b2a7c16 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.346364
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CE.h
index 7bde2e2a3..3c007eb12 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.346836
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KC.h
index 7eb5f73df..fa132ca51 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.349651
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KE.h
index d686e1080..f0292cce2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1KE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.350078
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1MC.h
index 4f9bac947..de12d57ce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.350759
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1ME.h
index 64b858b8f..0c9539232 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.351384
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1NE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1NE.h
index 70b7d30dc..0a817da34 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1NE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1NE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.351932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RC.h
index e90d4efbd..ce43d49c9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.354865
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RE.h
index 5bd7d89de..f26ae8b9b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.355456
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VC.h
index cd3fd071d..d155605ea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.357582
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VE.h
index 60505afbc..faa238692 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G0C1VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.358261
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C6.h
index 35d1733bb..3a4554867 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.360167
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C8.h
index 42f0b79d1..41825b0a2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.360598
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431CB.h
index 2485d266b..2680e25e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.361464
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K6.h
index 541c72ab7..46672f6bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.363003
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K8.h
index 73f59e9f8..4a1cf86f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.363359
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431KB.h
index 236943483..374b0f02f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.363707
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M6.h
index b4c80dbe5..d753edc53 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.364332
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M8.h
index c816777d6..5227588a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431M8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.364898
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431MB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431MB.h
index d20da8b1d..16b94a4f4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431MB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431MB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.365459
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R6.h
index 937783e53..688ec54b2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.367594
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R8.h
index c70582c54..8ae95b6d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.368098
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431RB.h
index 17bafe506..d70e37546 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.368596
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V6.h
index c250275a5..d71e2a93e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.369339
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V8.h
index bf1489458..bbea4f25d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.369958
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431VB.h
index 643aef41a..3f90ae9ac 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G431VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.370579
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441CB.h
index 7871b88cb..4429d038c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.372003
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441KB.h
index f794d304d..eef394803 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.372791
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441MB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441MB.h
index 494519781..e6ca3079e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441MB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441MB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.373376
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441RB.h
index 9ea0f1420..0647fa942 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.374478
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441VB.h
index d18df85c8..813aa63c4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G441VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.375209
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CC.h
index 83dd8c437..4c4241511 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.376647
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CE.h
index f9b224325..91fe766b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.377106
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471MC.h
index aebd1c74f..aeae9ba0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.377749
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471ME.h
index 3ed643898..f33cd9857 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.378993
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QC.h
index 4631a24d1..01c396047 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.379837
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QE.h
index f98c0a8dc..7354e6a75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.380709
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RC.h
index 8ade58da0..cdc428cc3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.381344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RE.h
index b6808cfbb..27b0f2d09 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.381884
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VC.h
index 1095264ab..ff40ed7cb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.385427
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VE.h
index 6d804dec3..dc76b1735 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G471VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.386103
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CB.h
index a76f7cc11..ea29793a6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.445402
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CC.h
index 4a524487c..bad061c42 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.445916
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CE.h
index c06ca90ca..f15759f04 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.446450
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MB.h
index c31a32351..a0ad62352 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.447199
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MC.h
index d7820b995..cc72dd7dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.447984
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473ME.h
index 64ded0108..7aef23151 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.449323
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PB.h
index 976c32912..7eba946b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.450420
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PC.h
index 87d12a3ee..eedd91f8e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.451340
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PE.h
index a11882552..a7875f572 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473PE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.452199
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QB.h
index 596a727aa..ddf5ddd0a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.453196
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QC.h
index 0d2799f4b..7e68e80b2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.454076
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QE.h
index aab928edc..5460e16eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.455077
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RB.h
index 7e7b79f14..3a60d623a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.455781
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RC.h
index 3218788cf..8483920e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.456394
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RE.h
index 232179f88..6c44c97f3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.456996
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VB.h
index 4a096e175..14395f2f6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.460339
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VC.h
index 260795531..49572da05 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.461166
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VE.h
index 88f5cc2a6..7563e4c8e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G473VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.461960
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CB.h
index 00b5bf80e..6e7fec70c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.516567
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CC.h
index 228f45ba4..6ceb06047 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.517291
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CE.h
index 80aef86f4..fae53c818 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.517841
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MB.h
index 635983102..06410267b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.518706
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MC.h
index a74b2aaa8..51f65be4d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.519493
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474ME.h
index 06868f9fd..7a2713760 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.520922
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PB.h
index bce36db4c..10ef03f36 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.521963
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PC.h
index 857fe1a47..65531b02a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.523023
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PE.h
index f0782a0fd..c6cbd2201 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474PE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.523900
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QB.h
index 993591f37..8e474d34f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.524990
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QC.h
index c356ca5b9..39e9921a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.525911
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QE.h
index a5e38fdab..fdeda07b6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.526829
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RB.h
index 5f2aaa223..62129b53e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.527602
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RC.h
index e4fb44325..ffb39a194 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.528245
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RE.h
index afb9ccd50..05254b544 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.528839
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VB.h
index e87d4cc0b..3edcd34d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.532294
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VC.h
index 1fab0b2d6..4a279c95a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.533103
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VE.h
index 34106487e..021ddd66c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G474VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.533924
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483CE.h
index 4efe3795e..660a3a5e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.463380
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483ME.h
index 911af3c67..b588cddb4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.464745
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483PE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483PE.h
index c1e703617..97292df37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483PE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483PE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.465764
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483QE.h
index dd48ca861..40f0df58a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.466721
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483RE.h
index 924c7f6f4..c398f4710 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.467414
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483VE.h
index 96c65e5de..e7d1b7a73 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G483VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.469078
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484CE.h
index 67b6c0fcd..874dcda24 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.535256
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484ME.h
index 879b5db3b..227fc4e9b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.536831
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484PE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484PE.h
index 92d2e9173..ff5d832ec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484PE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484PE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.537768
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484QE.h
index d31a698f2..22e96a4ca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.538852
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484RE.h
index e23052943..cff93542b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.539562
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484VE.h
index 4775bcc7c..b0fb05261 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G484VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.541304
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CC.h
index a9380e74b..ad112df47 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.409266
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CE.h
index f80cc6e07..da78e2104 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.409776
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KC.h
index f43f06766..0d11243e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.410291
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KE.h
index c9a2a23e8..9a01d7edd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491KE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.410669
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491MC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491MC.h
index 540fa9da3..2ca85cc90 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491MC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491MC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.412609
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491ME.h
index 76e38a9a9..0183d59e8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.413227
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RC.h
index dd5793ad2..36bd9b756 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.414965
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RE.h
index fd5c1ab5d..ab18a6ca2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.416044
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VC.h
index f7db060e3..11caa4c16 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.416815
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VE.h
index ec9d36419..bd15b7ddb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G491VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.417599
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1CE.h
index 0a3083914..7b608cb97 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.418609
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1KE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1KE.h
index 917461057..f47bf1786 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1KE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1KE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.419052
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1ME.h
index 144a71608..8b8914935 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.420257
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1RE.h
index d7e2a5415..360e5758d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.422002
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1VE.h
index 43cd40c4b..5b7a5a2ba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32G4A1VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.422722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VE.h
index d72b9873a..a1d32b312 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.543523
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VG.h
index 8a690de7b..d0169249e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.545352
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZE.h
index bb5c4bba5..b312bfbdd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.547642
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZG.h
index 1e442cdcd..4fd40d351 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H723ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.573748
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AE.h
index 06a6f8e8c..b5a4d3d15 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.601259
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AG.h
index efad79994..4d4ed610d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.602643
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IE.h
index 60fd880ea..57f8d870f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.605477
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IG.h
index fb828591b..7984b5532 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.608192
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RE.h
index c9b756a65..1b6fe4197 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.609003
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RG.h
index 5a06ef760..ed4330554 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.609682
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VE.h
index bfa6d88c5..347af2e64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.611561
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VG.h
index 8eee0b916..0de162673 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.614382
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZE.h
index fdc8066e3..60f2afab2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.615488
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZG.h
index 505b612cd..1248bd7e2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H725ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.616723
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730AB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730AB.h
index b3d45b2fd..389844f75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730AB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730AB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.673969
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730IB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730IB.h
index 07bc236ad..5b2795447 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730IB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730IB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.676801
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730VB.h
index af5861242..f80495196 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.678782
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730ZB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730ZB.h
index c3cce580f..a03cdc093 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730ZB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H730ZB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.681049
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733VG.h
index 893eeba16..710810d62 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.576151
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733ZG.h
index 39a1f8301..4df1eda57 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H733ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.578485
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735AG.h
index 7542bc615..77a410cc4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.618096
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735IG.h
index 8ed621905..7a29a02e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.646429
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735RG.h
index 2ca7be678..930d0537e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.647579
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735VG.h
index 40bcfa4f8..93666e003 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.650387
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735ZG.h
index fdc86d3fc..a7cacf7b0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H735ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.651473
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AG.h
index ef4ffc1f0..d20205951 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.682341
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AI.h
index 4ec8ed402..6d7cca1b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.683516
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BG.h
index 2df61ab74..9951f9f54 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.684700
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BI.h
index a9b11bd68..ec3a1d9b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.685962
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742IG.h
index da3728fa8..a29667429 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.689466
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742II.h
index 3ff4ee9f6..7dc0b4ea0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.690700
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VG.h
index 78c2c2813..ae6a781dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.693375
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VI.h
index 1f3ce1426..96c0d8a0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.694192
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XG.h
index 35361feb6..74111cad4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.720332
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XI.h
index b7fdcc895..cf3d5e340 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.722018
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZG.h
index b0d878301..cdd8e4d06 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.723417
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZI.h
index 535ac8aab..19728c569 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H742ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.724473
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AG.h
index cbebc9c5e..e9e8446d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.725808
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AI.h
index ffffa3237..4d541e1b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.726908
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BG.h
index 0502d3918..983401ff3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.728322
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BI.h
index b7b0ab36a..76495b73f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.729627
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743IG.h
index 80f497880..e3ca34c12 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.732202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743II.h
index 05a1a9443..bb90d700f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.734754
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VG.h
index 4d54d9784..cfe9c977e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.737585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VI.h
index b05ae5c92..55106fa0a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.738564
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XG.h
index 919300999..e5cd83da5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.739922
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XI.h
index bcf2f0200..46dd76736 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.741552
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZG.h
index 8d8aac065..bc4db38a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.742680
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZI.h
index 92f99a51a..7a0d4570f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H743ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.743873
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BG.h
index 9338360c4..20bc1ddbf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.801194
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BI.h
index aab7f31a3..a4886c864 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.802842
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745IG.h
index d107481dc..e0bc017fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.805871
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745II.h
index 5a58ab825..7bf64dc46 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.808632
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XG.h
index a1f85c3cc..4e4fea5e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.810139
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XI.h
index 5a6a2a91b..5f92a11fb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.811778
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZG.h
index e8436bfcc..91d0bc677 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.813130
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZI.h
index 494c5950b..39027a09f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H745ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.814264
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AG.h
index 44c0e9037..1a8c52e19 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.843818
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AI.h
index e00b6bea3..d5b8a2b0b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.869023
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BG.h
index f1164076e..8b16ecc2a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.871043
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BI.h
index 629055d38..14a069d3d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.872478
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747IG.h
index 89a07581f..7fbd1e9d6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.873923
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747II.h
index d9d69fa76..277c9109e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.875165
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XG.h
index fd12735c8..c701daa2b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.876776
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XI.h
index ae7452617..71f060eda 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.878309
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747ZI.h
index fdd9e4f2f..2718bc2ad 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H747ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.879656
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750IB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750IB.h
index d0af5f457..4b5a10a1f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750IB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750IB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.911031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750VB.h
index 1f06a94d8..bbeebb39e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.912028
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750XB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750XB.h
index afbb8adf0..14d09c36e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750XB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750XB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.913341
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750ZB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750ZB.h
index e7688b0dd..814cca960 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750ZB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H750ZB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.914580
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753AI.h
index d92eb7088..b30bd1017 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.745454
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753BI.h
index fac7af1aa..cda75dd7a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.746911
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753II.h
index 5ae72bba6..fd93a1e86 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.773969
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753VI.h
index 79b00c7e5..834197095 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.776249
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753XI.h
index 78e8a4f28..283d05ffc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.777695
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753ZI.h
index 3f2c948b8..2bf2957cd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H753ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.778805
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755BI.h
index 0c7d9b20a..bc123de9a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.816152
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755II.h
index f14143afd..cb2fb94d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.818869
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755XI.h
index b4c4a6789..ef1c33d9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.820555
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755ZI.h
index 01690ec4a..e6317e4d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H755ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.821733
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757AI.h
index 9636a1162..b137ad15d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.881144
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757BI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757BI.h
index 77c650586..a033397b8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757BI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757BI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.882613
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757II.h
index cf5d46163..eca537b43 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.883813
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757XI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757XI.h
index fda632714..8f292fc6a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757XI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757XI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.885363
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757ZI.h
index 43a29fe9f..5856c8371 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H757ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.886764
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AG.h
index 50e8e9523..bb9197dc8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.916055
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AI.h
index e9e8b4495..73c1acb82 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.917287
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3IG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3IG.h
index 7c10aec6c..03f17b24d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3IG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3IG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.952148
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3II.h
index 1491c584e..a07341b81 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.953417
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LG.h
index f149455eb..5fab88639 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.954834
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LI.h
index 1210cb44a..708c5dabf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3LI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.956281
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NG.h
index 3b6e300b7..0f8661dae 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.957905
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NI.h
index 1e76a2eee..0e8859656 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.959118
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3QI.h
index 74077e9fd..23ddd0f1e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.960325
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RG.h
index 6135e2378..470c92a87 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.961038
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RI.h
index 237443733..b406b6819 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3RI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.961710
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VG.h
index acb650d48..34e1aa650 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.967699
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VI.h
index 11f63c266..320c06c64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.968616
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZG.h
index 85b821236..b05814f73 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.971779
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZI.h
index 509de69f6..b461c44d2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7A3ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.972759
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0AB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0AB.h
index 4c3d65fb2..ac77d3e22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0AB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0AB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.032175
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0IB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0IB.h
index b76303187..cfec081e1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0IB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0IB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.034885
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0RB.h
index 844e9ad98..4a679eac9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.035815
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0VB.h
index ff063a758..bbbc29aa0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.036658
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0ZB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0ZB.h
index 304ee1fd7..383004b7c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0ZB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B0ZB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.037670
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3AI.h
index c784aeed4..d86d47e3b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:07.994908
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3II.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3II.h
index c7305ad08..8b9d95550 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3II.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3II.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.000223
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3LI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3LI.h
index e6b7444a8..22a383c9e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3LI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3LI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.001565
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3NI.h
index e859abfca..55c656fb2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.003009
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3QI.h
index 5fa25997e..930da3481 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.003997
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3RI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3RI.h
index 6a0b1881b..3b52522b1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3RI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3RI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.004776
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3VI.h
index e99ef9268..7b392949f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.008174
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3ZI.h
index 4aab355d1..e70d27e2d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32H7B3ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.010261
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010C6.h
index 4798d32ab..042930084 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.038195
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010F4.h
index ac42d932a..09110b280 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.038459
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K4.h
index 29e11c72e..2124ee004 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.038702
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K8.h
index 9712092cc..6a4f9c81a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.038912
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010R8.h
index 5cbfcbaee..b6ed4a1e9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.039176
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010RB.h
index 0c0c568a6..ec23e7bfe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L010RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.039482
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D3.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D3.h
index be20fbd7f..bdb1dce23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D3.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D3.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.039696
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D4.h
index ed9ec07b0..fbc4b809d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011D4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.039860
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E3.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E3.h
index 1d4360912..c4a38872d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E3.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E3.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.040099
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E4.h
index ad49b81fe..020adbd9a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011E4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.040320
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F3.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F3.h
index cb5763d6e..ba9591022 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F3.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F3.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.040906
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F4.h
index 67e3c229c..a3075e9ba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.041123
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G3.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G3.h
index fbc5f2637..c597b0840 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G3.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G3.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.041396
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G4.h
index aa61036ef..fc8def53a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.041639
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K3.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K3.h
index 826ed48cc..76455e9e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K3.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K3.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.042397
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K4.h
index d94166b47..93aa5102c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L011K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.042623
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021D4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021D4.h
index 14a657048..79e5b9bd3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021D4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021D4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.042843
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021F4.h
index e7f96dc39..10e6fa71e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.043246
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021G4.h
index 7b80aacdb..a74214a46 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.043498
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021K4.h
index 8df39b260..d585e4eb5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L021K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.044007
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C4.h
index 6d3b09637..2eb0c4ea6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.044886
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C6.h
index e9204021f..2c3f7e839 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.045167
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E4.h
index a632477d2..e8460cad6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.045434
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E6.h
index 947e1840e..3eddfa4e8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031E6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.045633
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F4.h
index c06564836..8822b73db 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.045856
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F6.h
index 5e5c47191..50f6fba2b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.046027
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G4.h
index 59b6d168c..f69fefc4a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.046281
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G6.h
index f485760f6..9d61e18b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.046681
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K4.h
index adf5b5e5c..ef5f1a979 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.047423
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K6.h
index cf163029a..509ed0afb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L031K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.047646
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C4.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C4.h
index 0fd378576..e25f7d6eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C4.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C4.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.047983
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C6.h
index e03062609..dac887ae9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.048515
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041E6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041E6.h
index 2ba341cde..b91b6f749 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041E6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041E6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.048787
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041F6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041F6.h
index 3694f16a7..f27a1a81d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041F6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041F6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.049004
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041G6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041G6.h
index 2be8b8f0f..c176558ed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041G6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041G6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.049448
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041K6.h
index a5ff7b48b..69c40c336 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L041K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.049932
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C6.h
index da7f293f4..78ed8c9f3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.050777
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C8.h
index 96ddd0de4..acb1800d6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.051030
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K6.h
index f068fae15..333e5c450 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.051694
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K8.h
index 78e81a19e..165d36dec 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.051896
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R6.h
index 7361601b3..617f13692 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.052879
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R8.h
index 62bd9a276..4f7e13533 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.053184
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T6.h
index b544db4e1..d9974b13f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.053474
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T8.h
index e05f7e781..e9e0cfd3c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L051T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.053701
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C6.h
index 3af23617a..ee2f4a825 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.085041
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C8.h
index 32ba81857..e31ecc4df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.085344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K6.h
index cf7cb7a8d..99f50779a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.086097
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K8.h
index 588164110..05f9e7619 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.086324
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R6.h
index 3386ae602..b34a27009 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.087376
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R8.h
index a626a603e..c368d98e4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.087717
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T6.h
index b5d2a7e05..e1d576742 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.088031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T8.h
index 5cd3ac518..1b66ee182 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L052T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.088496
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C6.h
index e33b60229..16985ec12 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.145285
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C8.h
index 97812de3a..761255178 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.145614
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R6.h
index be402cc14..35bdcfae8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.146831
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R8.h
index 0b1f81e69..05e8a24a9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L053R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.147223
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062C8.h
index ab77a9ea0..8cf759f16 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.088946
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062K8.h
index 6833aafd8..55bd2c187 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L062K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.089442
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063C8.h
index 4da4284bd..4ac587ebb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.147991
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063R8.h
index ba5789d2d..b45001c48 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L063R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.148396
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071C8.h
index 93e42e2f5..81b144ff6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.056437
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CB.h
index dcbc70a10..56aae2bd1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.055558
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CZ.h
index f3b8322c4..460c507f9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.055852
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071K8.h
index d4d804343..4027a2f3c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.057661
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KB.h
index b680752aa..7322088a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.057214
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KZ.h
index e530e1867..df3c4e7c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071KZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.057438
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RB.h
index 77e47c2a2..bc30c4422 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.058735
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RZ.h
index 9da723cc3..f3a660f6a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071RZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.059073
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071V8.h
index 6df8b6ed3..e0e0bbdc7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.061695
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VB.h
index 0f7a9057e..f738633a6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.060443
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VZ.h
index ab62d35bb..3e179b462 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L071VZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.060868
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CB.h
index e6b90d807..2ecd7723a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.114652
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CZ.h
index c7ea78bb5..c14bda331 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.115347
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KB.h
index 87fb7b1fd..029923fb0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.116248
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KZ.h
index b90901dc6..08594a3fe 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072KZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.116502
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RB.h
index a9349f1f1..430a25835 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.118447
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RZ.h
index f7c537c6f..7eeeb97c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072RZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.118809
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072V8.h
index 18be7c656..ebbe1a5b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.121779
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VB.h
index cbf2d142e..134e6b440 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.120389
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VZ.h
index 8ad3b98c6..fcaa4ad5b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L072VZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.120854
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CB.h
index dd5fc37d3..8b78654df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.149846
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CZ.h
index 797c6006c..ac7963f16 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.150532
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RB.h
index d022cc018..f32adcdfb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.151812
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RZ.h
index c3cc848bb..0f6aeafcc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073RZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.152595
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073V8.h
index cdd5ec668..56a64397b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.155744
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VB.h
index 781fbbf9f..4ad619efd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.154275
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VZ.h
index 67dfd0a85..3ff50018b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L073VZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.154769
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CB.h
index 96a4d58c6..919ada412 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.062433
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CZ.h
index 6016d11b7..2231c84ab 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.063050
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081KZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081KZ.h
index 89b8a43e7..7c519cf66 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081KZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L081KZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.063592
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082CZ.h
index 0e9dd416f..238f75f92 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.122758
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KB.h
index 85680ecd1..da46d0008 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.123573
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KZ.h
index 5632bfb82..a537b45de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L082KZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.123832
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CB.h
index 109f613a6..c553ec441 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.156304
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CZ.h
index b9954b228..e04cdb891 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083CZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.156986
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RB.h
index 598fc9047..1e729ea98 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.158254
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RZ.h
index c6d502116..8c72cf2ad 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083RZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.158648
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083V8.h
index 862fa03a8..cb479dfc5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.161704
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VB.h
index f31985dac..911030cbb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.160222
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VZ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VZ.h
index 990699db2..a8f58ae52 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VZ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L083VZ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.160713
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100C6.h
index 92071e62f..73bd6bf66 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.162373
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100R8.h
index e81e00c4f..3fbb92d65 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.163446
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RB.h
index e293f37b7..23bc98084 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.163785
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RC.h
index 544f09b7b..8fc091931 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L100RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.164196
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C6.h
index 5af2641ac..1181fe6c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.167254
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C8.h
index 5f9d99ac1..2a4f2a354 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.167546
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CB.h
index 18f368df4..1b70d342a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.167832
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CC.h
index 39e476364..4b35391bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.168547
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QC.h
index 5a0139eba..803603810 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.169138
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QD.h
index 858465266..490d7303c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.169835
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QE.h
index 5b21af346..8abbaf176 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.170465
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R6.h
index 07965afd8..b76dc31f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.173994
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R8.h
index b908792af..48ee8cc82 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.174344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RB.h
index ff709eec5..effea71a1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.174695
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RC.h
index acc00aba5..354b56aa4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.175886
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RD.h
index 74c5e5b19..923f3088f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.176733
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RE.h
index 467438664..1cf13d7af 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.177152
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151UC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151UC.h
index b02c6be5d..d2f7a2c98 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151UC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151UC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.177555
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151V8.h
index d613cb810..787ce7615 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.180815
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VB.h
index c22be17b8..20db23385 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.181265
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VC.h
index e35254918..bf85c20bc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.182831
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VD.h
index e302ef64e..c85eb8bf1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.184442
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VE.h
index 5ac32ab93..1502a9359 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.185463
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZC.h
index 0905c2ab8..b0d7a8668 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.186117
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZD.h
index 2755b9ee8..0ec6a7397 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.186803
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZE.h
index 7d6de2390..0a25697dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L151ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.187423
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C6.h
index cee6a87a6..ccd459fdf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.190653
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C8.h
index f7de6056a..d86cfe38e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.190957
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CB.h
index ae52a13ab..a70d55c66 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.191267
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CC.h
index 4776c9332..15d71472a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.191974
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QC.h
index 7fc54d8dd..ff9fea949 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.192619
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QD.h
index f5a85f04f..05e821ccd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.193363
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QE.h
index 56994e30e..6ff8a91f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.194020
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R6.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R6.h
index d6f9451b0..9a34994c8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R6.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R6.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.197848
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R8.h
index 844fc5ba2..bed4a1083 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.198213
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RB.h
index 0779c1f58..34ee0ee6b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.198585
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RC.h
index 351534cf8..ecd34f88a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.199437
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RD.h
index 539ad30c3..ed4dee1a0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.200336
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RE.h
index 1729c9095..4c8b96c6b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.200787
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152UC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152UC.h
index 867bef0e0..ad63c6fa4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152UC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152UC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.201233
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152V8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152V8.h
index 5c8ee248e..409fa819f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152V8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152V8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.204764
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VB.h
index 0a62f4338..057adfbf2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.205248
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VC.h
index 5928d1d3e..a2ef16a48 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.206811
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VD.h
index f7f16b51e..9ccd1d666 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.208033
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VE.h
index 788313dec..a9c3da7f0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.209143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZC.h
index 6df65d1c3..213b28898 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.209789
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZD.h
index cacebc777..3c1f3145b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.210491
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZE.h
index 43718e095..156391770 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L152ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.211229
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QC.h
index 6c5ef1b0c..c9e2e2eb7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.211865
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QD.h
index 13ef29e4f..9045008bd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162QD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.212543
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RC.h
index 14545d488..8d2e424b0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.213449
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RD.h
index 75475a28f..649793325 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.214349
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RE.h
index ac8a970bf..33f52768a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.214826
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VC.h
index 29cf6f595..14bcd1800 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.216386
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VD.h
index 306040fa3..b11c4cd18 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.217559
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VE.h
index 36067dd04..37d8c121f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.243647
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZC.h
index 380e3025f..f1b77812c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.244592
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZD.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZD.h
index fb4704aad..8d5579158 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZD.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZD.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.245372
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZE.h
index a4db4e5e8..c28e65165 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L162ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.246068
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412C8.h
index e7f1da7c1..a6b33aaef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.287976
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412CB.h
index 1724e6381..71e0a094b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.289374
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412K8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412K8.h
index a3d2c2fc4..9a42c3d08 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412K8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412K8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.289955
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412KB.h
index fb8812279..ab1958035 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.290520
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412R8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412R8.h
index 87d3f5ad9..ee6cf8ba8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412R8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412R8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.291331
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412RB.h
index 52c5de1aa..8514f2fea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.292875
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412T8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412T8.h
index 5a764c11d..4be42f10f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412T8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412T8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.293244
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412TB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412TB.h
index 1f74d3bfd..0082ed838 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412TB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L412TB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.293807
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422CB.h
index 6aa3a5bc2..4ddfd580a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.294541
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422KB.h
index 120dfaa39..414f7566b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.295102
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422RB.h
index e0fd260d7..256391ed0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.295909
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422TB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422TB.h
index 6211dae93..655046fb2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422TB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L422TB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.296252
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CB.h
index 128f7e1ee..7eee35039 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.248268
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CC.h
index 54ad35933..b99282d64 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.248619
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KB.h
index 61413f7fc..d635370d1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.248969
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KC.h
index 605417f02..deafdac01 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.249258
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RB.h
index 815b66356..a54d362a2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.251354
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RC.h
index 155faa37b..1aa23337f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.251777
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431VC.h
index 928feeb23..0e51b0aa7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L431VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.252872
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KB.h
index d2d99bee7..f1834e730 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.296720
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KC.h
index cceccc302..6b80f7fbc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L432KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.297016
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CB.h
index 2b3e714ba..3475c1981 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.332267
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CC.h
index 64842226e..28129c72b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.332712
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RB.h
index 8f861ece0..eafef5f4e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.335219
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RC.h
index 3dda957b8..49baa8f88 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.336123
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433VC.h
index 408257ec3..796b16145 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L433VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.337430
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L442KC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L442KC.h
index d9dc1473c..a99e2cba0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L442KC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L442KC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.297451
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443CC.h
index c256d6065..ca5643dd6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.339115
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443RC.h
index 919853cd2..467d78a92 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.340485
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443VC.h
index 3a9addd08..c8e23404f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L443VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.341701
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CC.h
index 955806403..1e1ef958a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.253569
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CE.h
index 1da9663c9..211478417 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.254333
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RC.h
index cbb17b44e..3b0d5ac35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.256628
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RE.h
index 86861f2db..74c316571 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.257056
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VC.h
index f5106f964..5c2ce9771 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.258860
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VE.h
index de397a317..c36675447 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L451VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.259429
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CC.h
index 2563dfce0..bc6fdc1a8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.298056
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CE.h
index 76fa7195c..9901ab18c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.299241
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RC.h
index 1d7000e68..e6fcfdf10 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.301580
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RE.h
index 1e0878af9..393c26b8f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.302984
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VC.h
index 1fe299bef..32db22842 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.304860
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VE.h
index 14f2eba8e..ab0b20040 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L452VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.305493
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462CE.h
index 4637cf40f..31db00d5f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.306344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462RE.h
index e2c076469..f428d72a8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.307725
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462VE.h
index d80684a84..e845c5482 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L462VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.308974
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QE.h
index 4d44de73b..795f5b59b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.260416
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QG.h
index 6d135cab5..21d94afe4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.261187
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RE.h
index dd06b7991..6a09b27ad 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.261777
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RG.h
index 3352f5b1e..4197c4b50 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.262330
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VE.h
index f2e04f864..cf8655e03 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.262997
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VG.h
index 1b9c2ea15..53afcc27c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.263623
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZE.h
index c51f4e1e5..66f133df7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.265959
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZG.h
index d0aa1b38a..69eadf894 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L471ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.266735
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RC.h
index ee410912e..54bcf36c3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.342722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RE.h
index 07e7bf86a..c77c9bc5a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.343219
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RG.h
index 4de7bbf95..be18d1a2b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.343700
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VC.h
index b8efbe03a..d926955e3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.344374
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VE.h
index 6996f65f7..4174b0397 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.345088
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VG.h
index 55cd3d583..d6137c321 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L475VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.345774
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JE.h
index 19d38c55c..02c921c23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.368292
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JG.h
index 72565222b..d3f469706 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476JG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.369509
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ME.h
index 2c3587d45..0714d01dd 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.370182
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476MG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476MG.h
index a6db3a19c..7155cc2ef 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476MG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476MG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.370786
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QE.h
index eaa2b49b0..ded5556e6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.371598
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QG.h
index f71afc3fe..188298f59 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.373271
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RC.h
index 8525448d2..94fb464de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.373910
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RE.h
index 27be4e176..d1ec809e7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.374423
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RG.h
index c29f7bcba..7d37385f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.400724
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VC.h
index 987a9253f..ff0ca7619 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.401743
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VE.h
index ebe8efd47..3c33eb6b7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.402546
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VG.h
index 0e5cead81..a390fb74a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.404045
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZE.h
index 4a097dc8d..3d0747c75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.405008
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZG.h
index 46281b915..178166ecc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L476ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.407596
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JC.h
index 02297cb73..ff16938d3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.346668
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JE.h
index a47bd5a00..ecfaee67f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L485JE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.347203
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486JG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486JG.h
index 3353a515a..5cfd00527 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486JG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486JG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.408296
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486QG.h
index d484f6e25..2111fa721 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.409097
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486RG.h
index b6b286634..49288e060 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.409753
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486VG.h
index ee3129436..60c47db7f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.410472
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486ZG.h
index 446b86f82..c1a885239 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L486ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.411286
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AE.h
index a1d94fe88..708b58bea 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.412384
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AG.h
index 0e5477fbc..3f528efe1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.414261
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QE.h
index ce23e139a..e778ed7c5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.415317
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QG.h
index fadffd1b3..77f07aa23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.417889
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RE.h
index 103fc5bcc..69f542026 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.418596
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RG.h
index cc53b08b1..cef99a37a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.419726
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VE.h
index 8f54de8e5..68f1a41e4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.420621
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VG.h
index 059e8de56..4126ea12e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.423676
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496WG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496WG.h
index a1cdc9ba9..93f6258fa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496WG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496WG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.424514
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZE.h
index 1d887f0ec..decbdeee8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.425495
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZG.h
index 044b0807d..7a8520dc3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L496ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.427190
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6AG.h
index b1998ad3c..bd5eb5d43 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.429177
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6QG.h
index abf1cff20..078b7d9d7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.453655
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6RG.h
index a4171cbb5..5a5bdb465 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.455200
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6VG.h
index 008c2f227..6683a9be8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.458182
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6ZG.h
index 3af699568..9c4447eba 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4A6ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.460045
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AE.h
index cbb73a6cf..cd1e6e8eb 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.462068
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AG.h
index 9cdf0e58b..74bad8af2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.463100
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CE.h
index a2660cb55..3c3454cf0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.465052
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CG.h
index d2dc4b072..dccfe0e75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.465920
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QE.h
index 36b79bea0..b50f756d0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.467736
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QG.h
index 24329729e..8db6b625a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.469547
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RE.h
index 51f698bb4..745824f9b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.470847
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RG.h
index 72ecea7ca..e9ea09ed0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.471395
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VE.h
index d832aa943..4d44666f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.474583
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VG.h
index 4a2c06aec..55abd6ae8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.476070
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZE.h
index 1fc199daa..639b5d53c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.478009
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZG.h
index 40a9259ce..2262be1f8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4P5ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.478881
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5AG.h
index 57d0faf7d..d51c43699 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.480943
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5CG.h
index 3a6c7b46e..4b004c988 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.482822
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5QG.h
index 310bbe3d5..bd7522c1d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.484522
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5RG.h
index 321d9a771..97085c6c0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.485780
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5VG.h
index 3c4099ac4..22b8c0ad1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.488835
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5ZG.h
index c41cd3bf1..e1c669fca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4Q5ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.490756
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AG.h
index f72469919..2e9556615 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.491682
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AI.h
index 0681750aa..893519b56 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.519544
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QG.h
index 923362fbb..d5b201d1e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.522486
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QI.h
index f94206fd4..576693e23 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.523261
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VG.h
index 581f2251c..fcd77ec65 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.524080
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VI.h
index 5282b66b2..85c86f6ce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.524883
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZG.h
index 3256582b1..bf4675e3d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.527427
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZI.h
index 57a71339b..85c67bd22 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R5ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.529022
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7AI.h
index 0fe186bae..4e2043f10 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.555511
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7VI.h
index 37b1289cc..57a53f662 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.556327
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7ZI.h
index 23073b4c3..d16756b8c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R7ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.557271
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AG.h
index bfe3a0eda..706128564 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.581722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AI.h
index 781114b81..5604e2866 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.582887
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VG.h
index ff2dfe121..8259dbb25 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.583701
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VI.h
index eb3b2967c..1f0fb5c78 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.584376
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZG.h
index 95d5745ef..356ff6692 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.588722
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZI.h
index 464c023fb..bdb682d19 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4R9ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.590388
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5AI.h
index 319282d0f..e5e38acb0 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.530289
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5QI.h
index 072cee282..90195ba9f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.531152
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5VI.h
index b45499f34..6a82b1c45 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.531893
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5ZI.h
index 8fa2d653b..cce29a298 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S5ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.533588
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7AI.h
index 28d255667..278a0c058 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.558400
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7VI.h
index cc85f6cbe..1e07fe93d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.559143
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7ZI.h
index ddece20e7..c72ea41ed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S7ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.560043
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9AI.h
index 58883d8f3..29fae786b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.591581
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9VI.h
index e7845e5af..941628152 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.592334
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9ZI.h
index 80096f74d..fdd6ae9f7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L4S9ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.594925
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CC.h
index 1f62ee158..bac0a3481 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.623701
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CE.h
index 8271b6d79..fc9ec8860 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.626270
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ME.h
index fdaafc72f..aa9efc5a8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.628406
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QC.h
index f6aac7111..57e436f30 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.629689
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QE.h
index baee62e58..ba57253df 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.633472
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RC.h
index 01682e948..31512ff9d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.634567
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RE.h
index ea7fe602d..bb4c5b601 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.637383
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VC.h
index 50a9f14f9..66a3164b9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.638634
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VE.h
index dadfb222d..283779cce 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.640710
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZC.h
index cc0ad4056..890fd1cb2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.642064
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZE.h
index aa7300e97..e7107cfed 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L552ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.644493
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562CE.h
index 8ee608ec5..6fad2d205 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.647879
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ME.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ME.h
index 10dc40a04..cf884b380 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ME.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ME.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.649871
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562QE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562QE.h
index 8ca937562..b1eecd7c6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562QE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562QE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.677525
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562RE.h
index ad8fcdc01..920f63356 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.680511
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562VE.h
index 6b6123a78..aec2d062c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.682666
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ZE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ZE.h
index 59add2cd3..b76ff7323 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ZE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32L562ZE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.685237
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AG.h
index adc6e1056..c1ac962bf 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.689253
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AI.h
index 957f0e751..9ce4491b5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.692543
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CG.h
index 0a01df77d..75e1c35b7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.696695
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CI.h
index 9eeff0ca0..c182c946d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575CI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.700599
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OG.h
index ff5fd8837..0d11cf743 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.702028
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OI.h
index 492d62730..25097325d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575OI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.703379
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QG.h
index 80ea36dc3..de4bf735a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.731747
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QI.h
index f1210b4f3..9723f7081 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.735153
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RG.h
index 9ae90c1b4..362919355 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.737344
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RI.h
index dd549c86d..e0086895e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575RI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.739592
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VG.h
index 7b82763e9..65385db69 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.742270
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VI.h
index 442959cde..772348fd1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.745099
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZG.h
index 507589b8d..9dc0c7ce6 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.748177
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZI.h
index 07b3dda67..19751d5d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U575ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.751266
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585AI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585AI.h
index 1d125127b..173b99436 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585AI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585AI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.754821
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585CI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585CI.h
index b1a2abccf..531613d6e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585CI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585CI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.778061
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585OI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585OI.h
index d30390c80..935d198a3 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585OI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585OI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.779496
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585QI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585QI.h
index b33dbad19..9e9a7f96d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585QI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585QI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.782729
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585RI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585RI.h
index e84429ac2..584263490 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585RI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585RI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.785133
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585VI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585VI.h
index 89fa0889f..dddcf786e 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585VI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585VI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.787892
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585ZI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585ZI.h
index 1a246d19b..b97c2f867 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585ZI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U585ZI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.791202
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U595ZJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U595ZJ.h
index 9893e12b2..6a77f8a67 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U595ZJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U595ZJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.792624
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599BJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599BJ.h
index 1eb8ef62e..5e812c5a9 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599BJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599BJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.796085
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NI.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NI.h
index dd36e1981..088f25078 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NI.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NI.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.798001
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NJ.h
index d92b09b05..d02a2b082 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U599NJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.799629
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A5ZJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A5ZJ.h
index d1e0e8a82..e5e319860 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A5ZJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A5ZJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.794298
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9BJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9BJ.h
index 71030c6ef..653604014 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9BJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9BJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.801489
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9NJ.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9NJ.h
index d803f6f3e..8918bc60b 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9NJ.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32U5A9NJ.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.823653
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB10CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB10CC.h
index b1e551c77..a2eb4ba6f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB10CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB10CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.824323
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB15CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB15CC.h
index 88c0cc591..f02f29a39 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB15CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB15CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.825883
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB1MMC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB1MMC.h
index cc33acee7..9d0a5cee8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB1MMC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB1MMC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.853929
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB30CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB30CE.h
index 1103dfee0..5f637586c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB30CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB30CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.824686
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CC.h
index cdf139569..4a3b453ca 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.826239
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CE.h
index 914674872..4f57f5258 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB35CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.826546
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB50CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB50CG.h
index dea7a443e..8a5aaab55 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB50CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB50CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.825013
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CC.h
index 27d286da1..55b20682a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.826893
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CE.h
index 677ba7347..80c2d3325 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.827233
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CG.h
index b257a107f..995000772 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55CG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.827579
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RC.h
index 444def815..c8e131e37 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.828039
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RE.h
index 46e096272..b888baacc 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.828473
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RG.h
index e62fe1d6e..4e4fecac1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55RG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.828907
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VC.h
index 96740e369..e02244b98 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.829962
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VE.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VE.h
index 1d5150a4f..5e44c08a5 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VE.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VE.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.831066
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VG.h
index c82230101..db43fa3d7 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.832211
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VY.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VY.h
index 47b7f131c..e79812967 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VY.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB55VY.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.832780
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB5MMG.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB5MMG.h
index 5450af1e9..565355146 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB5MMG.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WB5MMG.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.854898
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54CC.h
index 9af44beb1..05d2c74e2 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.855452
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54JC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54JC.h
index 8086efb44..bb4b3349a 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54JC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL54JC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.855997
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55CC.h
index c549d123b..586746bfa 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.856473
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55JC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55JC.h
index 8e2033d5b..c6e0b6e75 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55JC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL55JC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.857080
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL5MOC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL5MOC.h
index 7238dc32d..5b633eb68 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL5MOC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WL5MOC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.857650
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4C8.h
index fc42b76e2..461d9f01f 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.858042
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CB.h
index 169fa59dc..04b29a9d8 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.858414
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CC.h
index 1f2db891d..4077242de 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.858770
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4J8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4J8.h
index 67ac4be44..0e1c3e5ff 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4J8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4J8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.859175
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JB.h
index 702c5d7d1..0a3214e2c 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.859587
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JC.h
index 20563343c..d387bb294 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE4JC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.860031
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5C8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5C8.h
index 92dd5a0d4..74a564d35 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5C8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5C8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.860405
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CB.h
index 3eaef3649..0c23e9327 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.860761
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CC.h
index e57e44777..d53f6e5be 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5CC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.861114
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5J8.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5J8.h
index b55d0865a..4d8a205db 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5J8.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5J8.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.861536
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JB.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JB.h
index c4844ab7d..a2ca08a38 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JB.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JB.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.861954
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JC.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JC.h
index 18dc65919..1e416870d 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JC.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/Setup/STM32WLE5JC.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T22:39:08.862376
+ */
#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP
#define LOWLEVEL_INCLUDE_DEVICE_SETUP
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/switchingFile.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/deviceSelector.h
similarity index 99%
rename from receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/switchingFile.h
rename to receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/deviceSelector.h
index 80ae3bc94..5f582c0f1 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/switchingFile.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/deviceSelector.h
@@ -1,6 +1,7 @@
/*
- * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
-*/
+ * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T19:40:01.951040
+ */
#ifndef DEVICE_DEFINITION_FILE_H
#define DEVICE_DEFINITION_FILE_H
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/peripheralPinCheck.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/peripheralPinCheck.h
new file mode 100644
index 000000000..e5fb85a96
--- /dev/null
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/peripheralPinCheck.h
@@ -0,0 +1,90 @@
+/*
+ * This file is automatically generated by afTable.py from the xml descriptions provided as part of the STM32Cube IDE
+ * Timestamp: 2022-12-19T23:54:21.676419
+ */
+
+#include "PeripheralChecks/peripheralPinCheck_adf.h"
+#include "PeripheralChecks/peripheralPinCheck_audioclk.h"
+#include "PeripheralChecks/peripheralPinCheck_can.h"
+#include "PeripheralChecks/peripheralPinCheck_cec.h"
+#include "PeripheralChecks/peripheralPinCheck_cm.h"
+#include "PeripheralChecks/peripheralPinCheck_comp.h"
+#include "PeripheralChecks/peripheralPinCheck_comp_tim.h"
+#include "PeripheralChecks/peripheralPinCheck_crs.h"
+#include "PeripheralChecks/peripheralPinCheck_dcmi.h"
+#include "PeripheralChecks/peripheralPinCheck_dcmipp.h"
+#include "PeripheralChecks/peripheralPinCheck_debug.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_jtck.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_jtdo.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_jtms.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_pwr.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_rf.h"
+#include "PeripheralChecks/peripheralPinCheck_debug_subghzspi.h"
+#include "PeripheralChecks/peripheralPinCheck_dfsdm.h"
+#include "PeripheralChecks/peripheralPinCheck_dsihost.h"
+#include "PeripheralChecks/peripheralPinCheck_eth.h"
+#include "PeripheralChecks/peripheralPinCheck_eventout.h"
+#include "PeripheralChecks/peripheralPinCheck_ext_pa.h"
+#include "PeripheralChecks/peripheralPinCheck_fdcan.h"
+#include "PeripheralChecks/peripheralPinCheck_fmc.h"
+#include "PeripheralChecks/peripheralPinCheck_fmc_nce.h"
+#include "PeripheralChecks/peripheralPinCheck_fmpi2c.h"
+#include "PeripheralChecks/peripheralPinCheck_fsmc.h"
+#include "PeripheralChecks/peripheralPinCheck_fsmc_nce.h"
+#include "PeripheralChecks/peripheralPinCheck_hdmi_cec.h"
+#include "PeripheralChecks/peripheralPinCheck_hdp.h"
+#include "PeripheralChecks/peripheralPinCheck_hrtim.h"
+#include "PeripheralChecks/peripheralPinCheck_hspi.h"
+#include "PeripheralChecks/peripheralPinCheck_i2c.h"
+#include "PeripheralChecks/peripheralPinCheck_i2s.h"
+#include "PeripheralChecks/peripheralPinCheck_i2s2ext.h"
+#include "PeripheralChecks/peripheralPinCheck_i2s3ext.h"
+#include "PeripheralChecks/peripheralPinCheck_ir.h"
+#include "PeripheralChecks/peripheralPinCheck_lcd.h"
+#include "PeripheralChecks/peripheralPinCheck_lptim.h"
+#include "PeripheralChecks/peripheralPinCheck_lpuart.h"
+#include "PeripheralChecks/peripheralPinCheck_ltdc.h"
+#include "PeripheralChecks/peripheralPinCheck_mdf.h"
+#include "PeripheralChecks/peripheralPinCheck_mdios.h"
+#include "PeripheralChecks/peripheralPinCheck_octospi.h"
+#include "PeripheralChecks/peripheralPinCheck_octospim_p.h"
+#include "PeripheralChecks/peripheralPinCheck_opamp.h"
+#include "PeripheralChecks/peripheralPinCheck_pssi.h"
+#include "PeripheralChecks/peripheralPinCheck_pwr.h"
+#include "PeripheralChecks/peripheralPinCheck_quadspi.h"
+#include "PeripheralChecks/peripheralPinCheck_quadspi_bk.h"
+#include "PeripheralChecks/peripheralPinCheck_rcc.h"
+#include "PeripheralChecks/peripheralPinCheck_rcc_mco.h"
+#include "PeripheralChecks/peripheralPinCheck_rcc_osc.h"
+#include "PeripheralChecks/peripheralPinCheck_rf.h"
+#include "PeripheralChecks/peripheralPinCheck_rf_tx_mod_ext.h"
+#include "PeripheralChecks/peripheralPinCheck_rtc.h"
+#include "PeripheralChecks/peripheralPinCheck_rtc_out.h"
+#include "PeripheralChecks/peripheralPinCheck_sai.h"
+#include "PeripheralChecks/peripheralPinCheck_sdio.h"
+#include "PeripheralChecks/peripheralPinCheck_sdmmc.h"
+#include "PeripheralChecks/peripheralPinCheck_spdifrx.h"
+#include "PeripheralChecks/peripheralPinCheck_spi.h"
+#include "PeripheralChecks/peripheralPinCheck_swpmi.h"
+#include "PeripheralChecks/peripheralPinCheck_sys.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_ir.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_jtck.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_jtdo.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_jtms.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_pvd.h"
+#include "PeripheralChecks/peripheralPinCheck_sys_v_ref.h"
+#include "PeripheralChecks/peripheralPinCheck_tim.h"
+#include "PeripheralChecks/peripheralPinCheck_timx.h"
+#include "PeripheralChecks/peripheralPinCheck_trig.h"
+#include "PeripheralChecks/peripheralPinCheck_tsc.h"
+#include "PeripheralChecks/peripheralPinCheck_tsc_g.h"
+#include "PeripheralChecks/peripheralPinCheck_ts_g.h"
+#include "PeripheralChecks/peripheralPinCheck_uart.h"
+#include "PeripheralChecks/peripheralPinCheck_ucpd.h"
+#include "PeripheralChecks/peripheralPinCheck_usart.h"
+#include "PeripheralChecks/peripheralPinCheck_usb.h"
+#include "PeripheralChecks/peripheralPinCheck_usb_otg_fs.h"
+#include "PeripheralChecks/peripheralPinCheck_usb_otg_hs.h"
+#include "PeripheralChecks/peripheralPinCheck_usb_otg_hs_ulpi.h"
+#include "PeripheralChecks/peripheralPinCheck_v_ref.h"
+#include "PeripheralChecks/peripheralPinCheck_v_ref_pvd.h"
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/stm32Setup.h b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/stm32Setup.h
index 7da7a60bd..d08acf1c4 100644
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/stm32Setup.h
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/c++/stm32/stm32Setup.h
@@ -1,7 +1,7 @@
-#ifndef DEVICE_DEFINITION_FILE_H
-#define DEVICE_DEFINITION_FILE_H
+#ifndef STM32_SETUP_H
+#define STM32_SETUP_H
-#include "switchingFile.h"
+#include "deviceSelector.h"
#define Pin0 0
#define Pin1 1
@@ -37,8 +37,17 @@
#define GPIO_AF14 14
#define GPIO_AF15 15
+typedef uint8_t DmaIdentifier;
+typedef uint8_t SerialIdentifier;
+typedef uint8_t I2cIdentifier;
+typedef uint8_t PinAlternateFunction;
+
+enum PeripheralOperationMode {
+ DMA, INTERRUPT, SYNCHRONOUS
+};
+
#ifndef ZCODE_IDENTIFY_PLATFORM_HARDWARE_VERSION
#define ZCODE_IDENTIFY_PLATFORM_HARDWARE_VERSION 0x0001
#endif
-#endif /* DEVICE_DEFINITION_FILE_H */
+#endif /* STM32_SETUP_H */
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/pins.py b/receivers/native/arm/implementations/no-os-stm32/src/main/pins.py
index db74abfc6..a92cd54dd 100755
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/pins.py
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/pins.py
@@ -1,6 +1,7 @@
import xml.etree.ElementTree as ElementTree
import sys
import re
+import datetime
@@ -25,7 +26,10 @@
with open(outputName+".h", "w") as out:
- out.write("/*\n * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE\n*/\n\n")
+ out.write("/*\n * This file is automatically generated by pins.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
+
out.write("#ifndef LOWLEVEL_INCLUDE_DEVICE_PINS\n")
out.write("#define LOWLEVEL_INCLUDE_DEVICE_PINS\n\n")
index = 0
diff --git a/receivers/native/arm/implementations/no-os-stm32/src/main/setup.py b/receivers/native/arm/implementations/no-os-stm32/src/main/setup.py
index 278b6cb38..79f8957c4 100755
--- a/receivers/native/arm/implementations/no-os-stm32/src/main/setup.py
+++ b/receivers/native/arm/implementations/no-os-stm32/src/main/setup.py
@@ -2,9 +2,7 @@
import sys
import re
import csv
-
-
-
+import datetime
# in this case we don't care if they share a numbering system - although we somewhat presume the numbers make sense (haha)
peripheralInheritence = {}
@@ -43,6 +41,7 @@ def basicVersionTrim(name, version):
names = set()
+
for mcu in targets.iter("{http://st.com/stm32TargetDefinitions}mcu"):
fullName = mcu.find("{http://st.com/stm32TargetDefinitions}name").text
outputName = re.search('(.*).x.*', fullName).expand('\\1')
@@ -85,25 +84,30 @@ def basicVersionTrim(name, version):
if(gpioSetup != ""):
print("WARNING: two GPIO setups found for "+outputName)
gpioSetup = setup.get("Version").split("_")[0]
- else:
- if(name == "UCPD"):
- name = "USBC_PD"
- systemVersions[name] = basicVersionTrim(name, setup.get("Version"))
- if(not name in systemCounts):
- systemCounts[name] = 0
- systemCounts[name] += 1
- if(name in peripheralInheritence):
- for alt in peripheralInheritence[name]:
- if(not alt in systemCounts):
- systemCounts[alt] = 0
- if(not alt in systemVersions):
- systemVersions[alt] = basicVersionTrim(name, setup.get("Version")) # FIXME: ASSUMES THAT THE VERSIONS FOR e.g. USARTS CORRESPOND TO VERSIONS OF UART
- systemCounts[alt] += 1
+ if(name == "UCPD"):
+ name = "USBC_PD"
+ systemVersions[name] = basicVersionTrim(name, setup.get("Version"))
+ if(not name in systemCounts):
+ systemCounts[name] = 0
+ systemCounts[name] += 1
+ if(name in peripheralInheritence):
+ for alt in peripheralInheritence[name]:
+ if(not alt in systemCounts):
+ systemCounts[alt] = 0
+ if(not alt in systemVersions):
+ systemVersions[alt] = basicVersionTrim(name, setup.get("Version")) # FIXME: ASSUMES THAT THE VERSIONS FOR e.g. USARTS CORRESPOND TO VERSIONS OF UART
+ systemCounts[alt] += 1
+
+
+
if(gpioSetup == ""):
print("WARNING: no GPIO setup found for "+outputName)
with open(outputName+".h", "w") as out:
- out.write("/*\n * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE\n*/\n\n")
+ out.write("/*\n * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
+
out.write("#ifndef LOWLEVEL_INCLUDE_DEVICE_SETUP\n")
out.write("#define LOWLEVEL_INCLUDE_DEVICE_SETUP\n")
out.write("#include \"../Pins/"+pinFileName+".h\"\n")
@@ -124,8 +128,11 @@ def basicVersionTrim(name, version):
-with open("switchingFile.h", "w") as out:
- out.write("/*\n * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE\n*/\n\n")
+with open("deviceSelector.h", "w") as out:
+ out.write("/*\n * This file is automatically generated by setup.py from the xml descriptions provided as part of the STM32Cube IDE\n")
+ out.write(" * Timestamp: "+datetime.datetime.utcnow().isoformat()+"\n")
+ out.write(" */\n\n")
+
out.write("#ifndef DEVICE_DEFINITION_FILE_H\n")
out.write("#define DEVICE_DEFINITION_FILE_H\n\n")
started = False
@@ -141,6 +148,4 @@ def basicVersionTrim(name, version):
out.write("#error No known device selected, please insure that the device is set\n")
out.write("#endif\n")
out.write("#endif /* DEVICE_DEFINITION_FILE_H */")
-
-
-
+
\ No newline at end of file