Hi there, and thanks for this nice utility!
I couldn't easily understand some things from the README.md:
- I see that
points_count refers to the number of points in the [light] section, and that each light_n should be in the range [0..light_steps) but it's not at all obvious how these are connected. I think I figured it out by reading the source code and looking at the example config file illuminance.toml, but please let me know if my understanding is correct:
[0..light_steps] is a more user-friendly re-mapping of the backlight brightness scale from [min_backlight..max_brightness]
- The
illuminance_n values relate to values from the in_illuminance_raw device, which are mapped to the brightness scale via linear interpolation. So with the example values given, if the illuminance device reads a raw value of 400, that is 25% of the way between point 2 (with value 300) and point 3 (with value 700), so it gets mapped to a value of 2.25, i.e. 22.5% of the range between min_backlight and max_brightness.
step_barrier prevents changes of brightness if the mapped illuminance value changes less than the barrier amount, i.e. a change from 2 to 2.05 wouldn't change the backlight, but a change from 2 to 2.25 would, in which case it's effectively a noise reduction technique. But then why is the Kalman filter needed?
- What are the parameters in the
[kalman] section?
- I think the range should be
[0..light_steps] not [0..light_steps) because the example config file has light_5 = 10 implying that the maximum value of 10 is permitted.
<Fn> + A is supposed to switch modes, but I don't see how this is possible on my keyboard where <Fn> + A doesn't register any event? The example config has event_device_name = "Asus WMI hotkeys" which clearly won't work except for some Asus machines. How can the rest of us determine the right value?
Hi there, and thanks for this nice utility!
I couldn't easily understand some things from the README.md:
points_countrefers to the number of points in the[light]section, and that eachlight_nshould be in the range[0..light_steps)but it's not at all obvious how these are connected. I think I figured it out by reading the source code and looking at the example config fileilluminance.toml, but please let me know if my understanding is correct:[0..light_steps]is a more user-friendly re-mapping of the backlight brightness scale from[min_backlight..max_brightness]illuminance_nvalues relate to values from thein_illuminance_rawdevice, which are mapped to the brightness scale via linear interpolation. So with the example values given, if the illuminance device reads a raw value of 400, that is 25% of the way between point 2 (with value 300) and point 3 (with value 700), so it gets mapped to a value of 2.25, i.e. 22.5% of the range betweenmin_backlightandmax_brightness.step_barrierprevents changes of brightness if the mapped illuminance value changes less than the barrier amount, i.e. a change from 2 to 2.05 wouldn't change the backlight, but a change from 2 to 2.25 would, in which case it's effectively a noise reduction technique. But then why is the Kalman filter needed?[kalman]section?[0..light_steps]not[0..light_steps)because the example config file haslight_5 = 10implying that the maximum value of 10 is permitted.<Fn> + Ais supposed to switch modes, but I don't see how this is possible on my keyboard where<Fn> + Adoesn't register any event? The example config hasevent_device_name = "Asus WMI hotkeys"which clearly won't work except for some Asus machines. How can the rest of us determine the right value?