if(!in_selftest&&MODE_INPUT(setting.mode)&&setting.auto_reflevel){// Auto reflevel
if(!in_selftest&&MODE_INPUT(setting.mode)&&setting.auto_reflevel){// Auto reflevel
if(UNIT_IS_LINEAR(setting.unit)){// Linear scales can not have negative values
if(UNIT_IS_LINEAR(setting.unit)){// Linear scales can not have negative values
if((setting.reflevel>REFLEVEL_MIN&&r<setting.reflevel/2.5)||(setting.reflevel<REFLEVEL_MAX&&r>setting.reflevel)){// ensure minimum and maximum reflevel
staticintlow_count=0;
if(setting.reflevel>REFLEVEL_MIN){
if(r<setting.reflevel/5)
low_count=5;
elseif(r<setting.reflevel/2.5)
low_count++;
else
low_count=0;
}
if((low_count>4)||(setting.reflevel<REFLEVEL_MAX&&r>setting.reflevel)){// ensure minimum and maximum reflevel
// r = setting.scale * (floor(r / setting.scale) + 1);
// r = setting.scale * (floor(r / setting.scale) + 1);