Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f606a1e450 | |||
| 2d744245fc | |||
| bd1695b4a7 | |||
| 987e65fd90 | |||
| e567ede3ef |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -1,3 +1,8 @@
|
||||
oot/
|
||||
compile_commands.json
|
||||
.cache/
|
||||
pkg/
|
||||
rel_oot/
|
||||
src/
|
||||
*.pkg.tar.zst
|
||||
*.tar.gz
|
||||
|
||||
2
PKGBUILD
2
PKGBUILD
@@ -1,5 +1,5 @@
|
||||
pkgname=fantasize
|
||||
pkgver=0.1.2
|
||||
pkgver=0.1.4
|
||||
pkgrel=1
|
||||
pkgdesc='C++ fan control for Linux'
|
||||
url='https://github.com/Tabascl/fantasize.git'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(fantasize VERSION 0.1.2)
|
||||
project(fantasize VERSION 0.1.4)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
|
||||
@@ -27,6 +27,8 @@ private:
|
||||
FanGenerator mFanGenerator;
|
||||
|
||||
std::unique_ptr<Controller> mController;
|
||||
|
||||
std::vector<std::shared_ptr<Fan>> mFans;
|
||||
};
|
||||
|
||||
#endif // APP_H_
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
using namespace std;
|
||||
|
||||
void App::Init() {
|
||||
auto fans = mSerializer.DeserializeFans(mSensorManager.RPMSensors());
|
||||
mFans = mSerializer.DeserializeFans(mSensorManager.RPMSensors());
|
||||
|
||||
auto fanCurves = mSerializer.DeserializeFanCurves(
|
||||
mSensorManager.TemperatureSensors(), fans);
|
||||
mSensorManager.TemperatureSensors(), mFans);
|
||||
|
||||
mController = make_unique<Controller>(fanCurves);
|
||||
}
|
||||
@@ -23,6 +23,8 @@ void App::InitialSetup() {
|
||||
mFanLabeler.RunFanLabelInteraction(fans);
|
||||
|
||||
mSerializer.SerializeFans(fans);
|
||||
|
||||
mFans = fans;
|
||||
}
|
||||
|
||||
void App::NormalOperation() {
|
||||
@@ -30,4 +32,8 @@ void App::NormalOperation() {
|
||||
mController->StartFanControlLoop();
|
||||
}
|
||||
|
||||
void App::Shutdown() { mController.reset(); }
|
||||
void App::Shutdown() {
|
||||
mSerializer.SerializeFans(mFans);
|
||||
mFans.clear();
|
||||
mController.reset();
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ FanCurve::FanCurve(std::vector<FanStep> steps,
|
||||
|
||||
void FanCurve::DoFanControl() {
|
||||
BOOST_LOG_FUNCTION();
|
||||
|
||||
int temp = AggregateTemperature();
|
||||
|
||||
int t0, t1, p0, p1;
|
||||
@@ -43,9 +44,13 @@ void FanCurve::DoFanControl() {
|
||||
if (f->RPM() <= 0) {
|
||||
BOOST_LOG_TRIVIAL(warning) << "Fan stopped completely!";
|
||||
f->PWM(f->StartPWM());
|
||||
}
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << "Adjusting minPWM of fan " << f->toString();
|
||||
f->MinPWM(f->MinPWM() + 2);
|
||||
} else {
|
||||
f->PWM(targetFanPower);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dummy Implementation using AVG
|
||||
|
||||
@@ -47,9 +47,7 @@ void HwmonFan::FindPWMLimits() {
|
||||
PWM(curPWM);
|
||||
this_thread::sleep_for(chrono::seconds(TIMEOUT));
|
||||
|
||||
int curRPM = RPM();
|
||||
|
||||
if (curRPM <= 0) {
|
||||
if (RPM() <= 0) {
|
||||
minPWM = curPWM + 5;
|
||||
break;
|
||||
}
|
||||
@@ -68,9 +66,7 @@ void HwmonFan::FindPWMLimits() {
|
||||
PWM(curPWM);
|
||||
this_thread::sleep_for(chrono::seconds(TIMEOUT));
|
||||
|
||||
int curRPM = RPM();
|
||||
|
||||
if (curRPM > 0) {
|
||||
if (RPM() > 0) {
|
||||
cout << "Setting start PWM: " << startPWM << endl;
|
||||
startPWM = curPWM;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user