-
Notifications
You must be signed in to change notification settings - Fork 2
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
DOC: FRC requires a wait time after calling forceRecalibration() #4
Comments
Thanks for using our sensors! I tried to reproduce the behavior you observed but on my side the FRC value is applied immediately and stays after soft resetting. Are you sure the FRC call does not return an error in the first case (return value should be 0)? And what firmware version is your sensor on? |
Please refer to the attached script: sdc30test.ino.zip. This is using an ESP8266. I do use the non-blocking getDataReady()/readMeasurementData(). Maybe the measurement interval is important. I played around with stopPeriodicMeasurement() before starting calibration but this seems to have no effect. Please do not just add a delay() to the forceRecalibration() ... ;) Output for 1601 ms delay after calling forceRecalibration() - calibration fails
Output for 2601 ms delay - calibration works
|
Very interesting find. I could now reproduce this exact behavior as well. I was testing on a different firmware version before. We will investigate this internally and I will update you if I know something more. Thanks! |
Also please note, the first measurement reported is always 0. |
When using the FRC method to calibrate the sensor, it is important to let it run for some time after calling
forceRecalibration()
. This is contrary to the field calibration application note which states "The effect of FRC takes place immediately."Calling either
softReset()
orstopPeriodicMeasurement()
(or power cycling the device) will null the just set calibration.For calibration to work, one needs to either have a delay() or just keep measuring. The required wait time seems to be related to the measurement cycles - once two cycles are past the calibration curve is saved.
I hope this helps someone.
The text was updated successfully, but these errors were encountered: