Implement remaining stuff
Basic functionality milestone reached!!
This commit is contained in:
32
app/include/App.h
Normal file
32
app/include/App.h
Normal file
@@ -0,0 +1,32 @@
|
||||
#ifndef APP_H_
|
||||
#define APP_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include <Controller.h>
|
||||
#include <FanGenerator.h>
|
||||
#include <Serializer.h>
|
||||
#include <fan/FanLabeler.h>
|
||||
#include <pwm/PWMControlFacade.h>
|
||||
#include <sensor/SensorManager.h>
|
||||
|
||||
class App {
|
||||
public:
|
||||
void Init();
|
||||
|
||||
void InitialSetup();
|
||||
void NormalOperation();
|
||||
|
||||
void Shutdown();
|
||||
|
||||
private:
|
||||
SensorManager mSensorManager;
|
||||
Serializer mSerializer;
|
||||
PWMControlFacade mPWMControlFacade;
|
||||
FanLabeler mFanLabeler;
|
||||
FanGenerator mFanGenerator;
|
||||
|
||||
std::unique_ptr<Controller> mController;
|
||||
};
|
||||
|
||||
#endif // APP_H_
|
||||
27
app/include/Controller.h
Normal file
27
app/include/Controller.h
Normal file
@@ -0,0 +1,27 @@
|
||||
#ifndef CONTROLLER_H_
|
||||
#define CONTROLLER_H_
|
||||
|
||||
#include <memory>
|
||||
#include <thread>
|
||||
#include <vector>
|
||||
|
||||
#include <fan/FanCurve.h>
|
||||
|
||||
class Controller {
|
||||
public:
|
||||
Controller(std::vector<std::shared_ptr<FanCurve>> curves);
|
||||
~Controller();
|
||||
|
||||
void StartFanControlLoop();
|
||||
void StopFanControlLoop();
|
||||
|
||||
private:
|
||||
void Loop();
|
||||
|
||||
std::vector<std::shared_ptr<FanCurve>> mFanCurves;
|
||||
std::atomic<bool> mRun;
|
||||
|
||||
std::unique_ptr<std::thread> mWorker;
|
||||
};
|
||||
|
||||
#endif // CONTROLLER_H_
|
||||
@@ -22,6 +22,7 @@ public:
|
||||
|
||||
private:
|
||||
int AggregateTemperature();
|
||||
void PrintInfo();
|
||||
|
||||
std::vector<FanStep> mSteps;
|
||||
std::vector<std::shared_ptr<Sensor>> mTempSensors;
|
||||
|
||||
Reference in New Issue
Block a user