MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/technological/commissioning/EstimateResistance.hh
2024-06-07 11:12:56 +03:00

54 lines
1.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* EstimateResistance.hh
*
* Created on: 23 июн. 2021 г.
* Author: titov
*/
#ifndef UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_
#define UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_
#include "../../control/Vector.hh"
#include "../../units/PhysicalQuantities.hpp"
#include "../../units/LogicalEntities.hpp"
#include <algorithm>
#include <vector>
#include <memory_resource>
namespace technological { namespace commissioning {
class EstimateResistance {
public:
EstimateResistance( std::pmr::memory_resource * buffer );
void setup( units::ElectricalAngle angle, control::Value current_limit, control::Value voltage_limit,
control::Value voltage_step, units::Quantity hold_quantity,
units::Quantity experiment_quantity );
control::StandingVector execute( control::StandingVector current );
bool done() const;
units::Resistance estimate() const;
private:
units::Quantity experiment_number;
units::Quantity experiment_quantity;
units::Quantity hold_cycle_number;
units::Quantity hold_quantity;
control::Value target_current_on_experiment( units::Quantity experiment_number );
units::ElectricalAngle angle;
control::Value current_limit;
control::Value voltage_limit;
control::Value voltage_demand;
control::Value voltage_step;
typedef std::pair<control::StandingVector, control::StandingVector> Point;
typedef std::vector< Point, std::pmr::polymorphic_allocator<Point> > Points;
Points points;
};
}}
#endif /* UMLIBRARY_TECHNOLOGICAL_COMMISSIONING_ESTIMATERESISTANCE_HH_ */