Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animation stuttering every ~500ms #134

Open
TheRealKasumi opened this issue Jan 27, 2023 · 2 comments · Fixed by #141
Open

Animation stuttering every ~500ms #134

TheRealKasumi opened this issue Jan 27, 2023 · 2 comments · Fixed by #141
Assignees
Labels
bug Something isn't working mcu Issues related to the main controll unit

Comments

@TheRealKasumi
Copy link
Owner

I assume this happens when reading the temperature sensors since they are quite slow and blocking the controller. To be checked.

@TheRealKasumi TheRealKasumi added bug Something isn't working mcu Issues related to the main controll unit labels Jan 27, 2023
@TheRealKasumi TheRealKasumi added this to the 1.1.0 Release milestone Jan 27, 2023
@TheRealKasumi TheRealKasumi self-assigned this Jan 27, 2023
@TheRealKasumi TheRealKasumi reopened this Feb 5, 2023
@TheRealKasumi
Copy link
Owner Author

This is indeed a problem with the temperature sensor. There are two options.

  1. We introduce multithreading to "fix" this issue
  2. We use a load based approach for the fan control

In the long term I would like to combine both. So have a load based fan control and multithreading with a low sample rate of the temperature sensor. This gives us more safety.

The second point is already in progress. For multithreading I need more time than I currently have to do it properly.

@TheRealKasumi TheRealKasumi removed this from the 1.1.0 Release milestone Mar 11, 2023
@TheRealKasumi
Copy link
Owner Author

I can say by now that this issue is kind of unfixable. Reading out the temperature sensors will always block the LED thread or the sensor thread since it is necessary to disable interrupts on one CPU core for this time. This would also prevent the task scheduler to run a different task on the same CPU. Because of that, I have no solution to fix the issue.

However, there will be a workaround in the next firmware release. The DS18B20 temperature sensors will be disabled (but can still be used if the user expliciltly wants to do that) and a new algorithm will be used for the fan control. It will be based on the load of the regulators.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working mcu Issues related to the main controll unit
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant