-
Notifications
You must be signed in to change notification settings - Fork 381
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
Timing errors seem to accumulate #255
Comments
This is surely a weird behavior, but the oscillator is typically recalibrated every time you invoke micronucleus. The main purpose of saving the osccal calibration is to have a more accurate osccal setting for the user program. (unless @ArminJo changed this?) There could be other issues with your set up. Are you using an USB hub or similar? Otherwise: Can you try to recompile Micronucleus with changed settings and see whether the issue disappears? There is also the precompiled "T85_aggressive" hexfile that does not save the calibration at all. |
Ok, I'll try different settings. But now I need to use ISP for that, I think, because I cant' reach micronucleus through USB any more. |
until today I do not really understand the side effects of this code and therefore I NEVER changed it. But under extreme conditions (unstable oscillator, great drift, etc.) It eventually might lead to the error described by starting with a value where synchronisation is not possible.
@wolneykien Please report if the error has gone without this option. |
I have a device similar to shown in #144 . With the first 4-5 user code upload attempts it was all okay, the board was successfully enumerated by the USB subsystem:
Then, however, it suddenly failed the enumeration:
And then it constantly fails to be enumerated on that particular computer. I've thought it was some accident and moved to another workstation where the device had no enumeration problems… until now! Currently, the board constantly fails to be enumerated on that second computer (and on the first too).
So I wonder, could it be some sort of an error, possibly, a timing or a clock error, that constantly increases over time? For that to be true, there should be some non-volatile memory where the clock reference is saved and then restored on each power-on…
And then, examining the firmware configuration, I've found this:
That is on by default in
configuration/t85_default/bootloaderconfig.h
.Is it possible that this option leads to progressive degradation of clock/timings?
The text was updated successfully, but these errors were encountered: