STM32CubeIDE/MX restricts timer period/arr to 12-bit values when using dithering
I am using STM32CubeIDE (v1.15.1) to develop firmware for an STM32G431 MCU and attempting to configure
TIM8 to use dithering. I have defined the following constants:
TIM8_KHZ = 20
TIM8_PRESCALER = (1-1) = 0
TIM8_PERIOD = (((16*170000/TIM8_KHZ)/2)/(TIM8_PRESCALER+1)) = 68000
TIM8_INT_PERIOD = (TIM8_PERIOD >> 4) = 4250
TIM8_FRAC_PERIOD = (TIM8_PERIOD & 0xF) = 0
The first sign of trouble is that the period/ARR parameter gets marked as invalid with a red X:

Evidently, the software believes that this register is supposed to be limited to 12 bits, but this is not correct, as shown by the reference manual RM0440:

If I proceed to generate code anyway, it produces
htim8.Init.Period = TIM8_INT_PERIOD; // somewhat misleading
...
__HAL_TIM_SET_AUTORELOAD(&htim8, 68000); // same as TIM8_PERIODEverything appears to work OK except that STM32CubeIDE shows that error/warning about the period being larger than 0x0FFF. Why does the configuration software limit this value to 12 bits? Shouldn't it still be 16?
STM32CubeIDE 1.15.1
STM32CubeMX 6.11.1
STM32CubeFW_G4 V1.5.2
