cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX Version 6.16 HRTIM problems Nucleo G474RE

raulatkinson
Associate II

After updating CubeMX to version 6.16.2, we are seeing HRtimer E and F problems which cause our product to fail.  Reverting back to 6.15 and regenerating the code allows our device to work.  I believe the issue is due to the change in the code database version: MxDb.Version=DB.6.0.161 but I can't be sure as the new version of cubeMX forces values into the HRtimer E and F configurations.

Hoping for commiseration and resolution!

Thanks

Rauk

7 REPLIES 7
TDK
Super User

Do a diff of your codebase before/after the change to find the actual code differences. There are release notes as well but comparing the code would be more precise.

If you feel a post has answered your question, please click "Accept as Solution".
Yes, Thank you!

I did that. There are over 40 files that changed. Many of these are line
ends or other whitespace modifications, but some are more suspicious
looking:


--- a/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_hrtim.c
+++ b/Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_hrtim.c
@@ -5087,9 +5087,6 @@ HAL_StatusTypeDef
HAL_HRTIM_WaveformTimerControl(HRTIM_HandleTypeDef *hhrtim,
/* Configure timing unit */
HRTIM_TimingUnitWaveform_Control(hhrtim, TimerIdx, pTimerCtl);

- /* Force a software update */
- HRTIM_ForceRegistersUpdate(hhrtim, TimerIdx);
-
hhrtim->State = HAL_HRTIM_STATE_READY;

/* Process Unlocked */
@@ -9309,9 +9306,13 @@ static void
HRTIM_TimingUnitWaveform_Config(HRTIM_HandleTypeDef *hhrtim,
hrtim_timfltr &= ~(HRTIM_FLTR_FLTLCK);
hrtim_timfltr |= pTimerCfg->FaultLock;

- /* Enable/Disable dead time insertion at timer level */
- hrtim_timoutr &= ~(HRTIM_OUTR_DTEN);
- hrtim_timoutr |= pTimerCfg->DeadTimeInsertion;
+ /* The deadtime cannot be used simultaneously with the push-pull mode */
+ if (pTimerCfg->PushPull == HRTIM_TIMPUSHPULLMODE_DISABLED)
+ {
+ /* Enable/Disable dead time insertion at timer level */
+ hrtim_timoutr &= ~(HRTIM_OUTR_DTEN);
+ hrtim_timoutr |= pTimerCfg->DeadTimeInsertion;
+ }
I've not had time yet to go through all the possible places for errors


Hello @raulatkinson 

Could you provide your ioc in order to investigate the issue?

BR, Souhaib

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Sorry it took so long to get back to you. I had to let my boss know I'm
sending the ioc files.

I am attaching 2 versions. One is version 6.15.0 which works, the other is
version 6.17.0 which does not work. I'm pretty sure the failure is due to
differences in the generated code as 45 files were different. I'm also
open to any other opinions...

Thank you for your time and attention.

-Raul Atkinson
Fluke Corp.

raulatkinson
Associate II

Looks like I have to put the files here, not as attachments:

Hello @raulatkinson 

After checking your IOC, it seems that you are facing the same issue posted in this thread: Solved: HRTIM configuration when updated to 6.16.1 CubeMX - STMicroelectronics Community.
this behavior is under investigation by the dedicated team, and a fix will be implemented in the upcoming releases.

BR, Souhaib

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thank you very much for your response.
Will the fix for this be announced?  I'd like to be notified.
-Raul Atkinson