41 lines
986 B
C++
41 lines
986 B
C++
#include <execution>
|
|
#include <iostream>
|
|
|
|
#include <FanGenerator.h>
|
|
#include <Serializer.h>
|
|
#include <fan/Fan.h>
|
|
#include <fan/FanLabeler.h>
|
|
#include <memory>
|
|
#include <pstl/glue_execution_defs.h>
|
|
#include <pwm/PWMControlFacade.h>
|
|
#include <sensor/SensorManager.h>
|
|
|
|
int main() {
|
|
SensorManager sensorManager;
|
|
auto pwmSensors = sensorManager.RPMSensors();
|
|
auto tempSensors = sensorManager.TemperatureSensors();
|
|
|
|
PWMControlFacade pwmControlFacade;
|
|
auto controls = pwmControlFacade.PWMControls();
|
|
|
|
FanGenerator m;
|
|
Serializer s;
|
|
|
|
std::vector<std::shared_ptr<Fan>> fans;
|
|
|
|
// fans = m.FindFans(pwmSensors, controls);
|
|
// s.SerializeFans(fans);
|
|
fans = s.DeserializeFans(pwmSensors);
|
|
|
|
std::for_each(std::execution::par, std::begin(fans), std::end(fans),
|
|
[](auto &&f) { f->FindMinPWM(); });
|
|
|
|
// auto curves = s.DeserializeFanCurves(tempSensors, fans);
|
|
FanLabeler labeler;
|
|
labeler.RunFanLabelInteraction(fans);
|
|
|
|
s.SerializeFans(fans);
|
|
|
|
return 0;
|
|
}
|