mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-14 10:17:55 -06:00
ENH: support recover after close Studio
fix flow_ratio not change according preset Change-Id: I048d1183ffcfc2d4470725528aa62f12b32c6216
This commit is contained in:
parent
d4e7cc926f
commit
e5e66cb3dd
5 changed files with 154 additions and 101 deletions
|
@ -27,15 +27,6 @@ enum class CalibState {
|
|||
Finish
|
||||
};
|
||||
|
||||
struct PrinterCaliInfo
|
||||
{
|
||||
std::string dev_id;
|
||||
CalibMode mode;
|
||||
CalibState state;
|
||||
/* tray index -> filament preset name */
|
||||
std::map<int, std::string> filament_presets;
|
||||
};
|
||||
|
||||
struct Calib_Params
|
||||
{
|
||||
Calib_Params() : mode(CalibMode::Calib_None){}
|
||||
|
@ -44,6 +35,89 @@ struct Calib_Params
|
|||
CalibMode mode;
|
||||
};
|
||||
|
||||
class X1CCalibInfos
|
||||
{
|
||||
public:
|
||||
struct X1CCalibInfo
|
||||
{
|
||||
int tray_id;
|
||||
int bed_temp;
|
||||
int nozzle_temp;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
std::string setting_id;
|
||||
float max_volumetric_speed;
|
||||
float flow_rate = 0.98f; // for flow ratio
|
||||
};
|
||||
|
||||
std::vector<X1CCalibInfo> calib_datas;
|
||||
};
|
||||
|
||||
class CaliPresetInfo
|
||||
{
|
||||
public:
|
||||
int tray_id;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
std::string setting_id;
|
||||
std::string name;
|
||||
|
||||
CaliPresetInfo &operator=(const CaliPresetInfo &other)
|
||||
{
|
||||
this->tray_id = other.tray_id;
|
||||
this->nozzle_diameter = other.nozzle_diameter;
|
||||
this->filament_id = other.filament_id;
|
||||
this->setting_id = other.setting_id;
|
||||
this->name = other.name;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
struct PrinterCaliInfo
|
||||
{
|
||||
std::string dev_id;
|
||||
float cache_flow_ratio;
|
||||
std::vector<CaliPresetInfo> selected_presets;
|
||||
};
|
||||
|
||||
class PACalibResult
|
||||
{
|
||||
public:
|
||||
enum CalibResult {
|
||||
CALI_RESULT_SUCCESS = 0,
|
||||
CALI_RESULT_PROBLEM = 1,
|
||||
CALI_RESULT_FAILED = 2,
|
||||
};
|
||||
int tray_id;
|
||||
int cali_idx = -1;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
std::string setting_id;
|
||||
std::string name;
|
||||
float k_value;
|
||||
float n_coef;
|
||||
int confidence = -1; // 0: success 1: uncertain 2: failed
|
||||
};
|
||||
|
||||
struct PACalibIndexInfo
|
||||
{
|
||||
int tray_id;
|
||||
int cali_idx;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
};
|
||||
|
||||
class FlowRatioCalibResult
|
||||
{
|
||||
public:
|
||||
int tray_id;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
std::string setting_id;
|
||||
float flow_ratio;
|
||||
int confidence; // 0: success 1: uncertain 2: failed
|
||||
};
|
||||
|
||||
class calib_pressure_advance
|
||||
{
|
||||
public:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue