Files
fantasize/app/src/main.cxx

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;
}