Adjust the std_gvar_min_max_step_thresholds() routine which iterates
over a range of threshold voltages that are specified by their lower and
upper bounds and a step (stride). Allow for an epsilon in the loop's end
condition to span the full driver's announced set of values and not stop
prematurely.
The issue was observed with Kingst LA2016 which announces a range from
0.4V to 4.0V in steps of 0.1V, while the config list ends at the 3.9V
value and would have omitted the 4.0V upper bound.
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY);
- for (d = min; d <= max; d += step) {
+ for (d = min; d <= max + step / 2.0; d += step) {
/*
* We will never see exactly 0.0 because of the error we're
* accumulating, so catch the "zero" value and force it to be 0.