暫無描述
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas B f0b932ef2f add retries for kwin query 2 月之前
client add retries for kwin query 2 月之前
sensor fix lux sensor address and range 2 月之前
.gitignore add proof of concept client 2 月之前
.gitmodules prepare for actual work 2 月之前
COPYING prepare for actual work 2 月之前
README.md use KWin to find fullscreen window and pause adjustments if found 2 月之前

README.md

AutoBrightness

Simple solution to measure ambient room lighting conditions with an AtTiny85 based USB lux sensor and set external display backlight intensity accordingly via DDC/CI.

See this blog post for details.

Sensor

Uses a Digispark Rev. 3 clone with a GY-302 BH1750 breakout board connected to the I2C bus.

Front of PCB Back of PCB

Quick Start

Check out the repo and required submodules.

git clone https://git.xythobuz.de/thomas/AutoBrightness.git
cd AutoBrightness
git submodule update --init

Build the firmware and upload it.

make -C sensor upload

Prepare udev rules for our new device.

sudo cp sensor/49-autobrightness.rules /etc/udev/rules.d/49-autobrightness.rules
sudo udevadm control --reload-rules
sudo udevadm trigger

Client

Uses KWin scripting to get the active window from the KDE window manager. This is used to pause adjustments while a fullscreen window is focused (eg. while gaming). Also sends status updates to a local InfluxDB.

Quick Start

Install dependency and run the client.

yay -S python-pyusb
./client/brightness.py

License

The firmware of this project is licensed as GPLv3. A copy of the license can be found in COPYING.

It uses V-USB and is based on their example code.

Also includes the I2C Master implementation from the Atmel AVR310 AppNote.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

See <http://www.gnu.org/licenses/>.