correct median samples
This commit is contained in:
parent
b513e25329
commit
a712429466
1 changed files with 9 additions and 11 deletions
18
ambientd.c3
18
ambientd.c3
|
|
@ -5,8 +5,6 @@ import std::thread;
|
||||||
// import some functions from the C standard library
|
// import some functions from the C standard library
|
||||||
extern fn long strtol(char *buffer, char **endptr, int base);
|
extern fn long strtol(char *buffer, char **endptr, int base);
|
||||||
|
|
||||||
const int MEDIAN_SAMPLES = 4;
|
|
||||||
|
|
||||||
const String LUMINANCE_DEV = "/sys/bus/iio/devices/iio:device0/in_illuminance_raw";
|
const String LUMINANCE_DEV = "/sys/bus/iio/devices/iio:device0/in_illuminance_raw";
|
||||||
const String MAX_BRIGHTNESS_DEV = "/sys/class/backlight/intel_backlight/max_brightness";
|
const String MAX_BRIGHTNESS_DEV = "/sys/class/backlight/intel_backlight/max_brightness";
|
||||||
const String BRIGHTNESS_DEV = "/sys/class/backlight/intel_backlight/brightness";
|
const String BRIGHTNESS_DEV = "/sys/class/backlight/intel_backlight/brightness";
|
||||||
|
|
@ -119,9 +117,9 @@ fn int main()
|
||||||
thread::exit(1);
|
thread::exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
_x = get_luminance_raw()!!;
|
int x = get_luminance_raw() ?? MAX_LUMINANCE;
|
||||||
int[<*>] luminance_samples = {_x!!, _x!!, _x!!, _x!!};
|
int[<4>] luminance_samples = x;
|
||||||
int idx;
|
usz idx;
|
||||||
int user_offset;
|
int user_offset;
|
||||||
int brightness_target = min_brightness;
|
int brightness_target = min_brightness;
|
||||||
int brightness_old = min_brightness;
|
int brightness_old = min_brightness;
|
||||||
|
|
@ -130,15 +128,15 @@ fn int main()
|
||||||
int luminance_median;
|
int luminance_median;
|
||||||
float luminance_percent;
|
float luminance_percent;
|
||||||
while (1) {
|
while (1) {
|
||||||
_x = get_luminance_raw();
|
int! tmp = get_luminance_raw();
|
||||||
if (catch excuse = _x) {
|
if (catch excuse = tmp) {
|
||||||
io::eprintfn("Error reading luminance: %s", excuse);
|
io::eprintfn("Error reading luminance: %s", excuse);
|
||||||
} else {
|
} else {
|
||||||
luminance_samples[idx] = _x;
|
luminance_samples[idx] = tmp;
|
||||||
idx = (idx + 1) % MEDIAN_SAMPLES;
|
idx = (idx + 1) % luminance_samples.len;
|
||||||
}
|
}
|
||||||
|
|
||||||
luminance_median = luminance_samples.sum() / MEDIAN_SAMPLES;
|
luminance_median = (float)luminance_samples.sum() / luminance_samples.len;
|
||||||
luminance_percent = bezier(clamp(luminance_median/MAX_LUMINANCE, 0.0f, 1.0f));
|
luminance_percent = bezier(clamp(luminance_median/MAX_LUMINANCE, 0.0f, 1.0f));
|
||||||
|
|
||||||
brightness_old = brightness_target;
|
brightness_old = brightness_target;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue