diff --git a/stm32f103t8u6/build_number.txt b/stm32f103t8u6/build_number.txt index 55bd0ac..f59a90f 100644 --- a/stm32f103t8u6/build_number.txt +++ b/stm32f103t8u6/build_number.txt @@ -1 +1 @@ -333 +337 diff --git a/stm32f103t8u6/src/pwm_output.c b/stm32f103t8u6/src/pwm_output.c index 985bc69..6aa5898 100644 --- a/stm32f103t8u6/src/pwm_output.c +++ b/stm32f103t8u6/src/pwm_output.c @@ -197,11 +197,15 @@ void Output_Tick(void) Output_CurrentLinePosition += step_length; unsigned int remaining = Output_CurrentLineLength - Output_CurrentLinePosition; - position.x = (Output_CurrentLineEnd.x * Output_CurrentLinePosition - + Output_CurrentLineStart.x * remaining) + position.x = ((long long)Output_CurrentLineEnd.x + * Output_CurrentLinePosition + + (long long)Output_CurrentLineStart.x + * remaining) / Output_CurrentLineLength; - position.y = (Output_CurrentLineEnd.y * Output_CurrentLinePosition - + Output_CurrentLineStart.y * remaining) + position.y = ((long long)Output_CurrentLineEnd.y + * Output_CurrentLinePosition + + (long long)Output_CurrentLineStart.y + * remaining) / Output_CurrentLineLength; break; }