mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
NEW: add calibration wiki pages
Change-Id: Ib931b187e0e6629fe387a8b25bc8b9adc964de86 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
8c97f1b2b4
commit
c04979495b
5 changed files with 47 additions and 32 deletions
|
@ -15,18 +15,18 @@ namespace Slic3r { namespace GUI {
|
||||||
wxDEFINE_EVENT(EVT_FINISHED_UPDATE_MLIST, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_FINISHED_UPDATE_MLIST, wxCommandEvent);
|
||||||
wxDEFINE_EVENT(EVT_UPDATE_USER_MLIST, wxCommandEvent);
|
wxDEFINE_EVENT(EVT_UPDATE_USER_MLIST, wxCommandEvent);
|
||||||
|
|
||||||
wxString get_calibration_type_name(CalibrationType cali_type)
|
wxString get_calibration_type_name(CalibMode cali_mode)
|
||||||
{
|
{
|
||||||
switch (cali_type) {
|
switch (cali_mode) {
|
||||||
case CalibrationType::CALI_TYPE_PA:
|
case CalibMode::Calib_PA_Line:
|
||||||
return _L("Pressure Adavance");
|
return _L("Pressure Adavance");
|
||||||
case CalibrationType::CALI_TYPE_FLOW:
|
case CalibMode::Calib_Flow_Rate:
|
||||||
return _L("Flow Rate");
|
return _L("Flow Rate");
|
||||||
case CalibrationType::CALI_TYPE_VOLUMETRIC:
|
case CalibMode::Calib_Vol_speed_Tower:
|
||||||
return _L("Max Volumetric Speed");
|
return _L("Max Volumetric Speed");
|
||||||
case CalibrationType::CALI_TYPE_TEMPERATURE:
|
case CalibMode::Calib_Temp_Tower:
|
||||||
return _L("Temperature");
|
return _L("Temperature");
|
||||||
case CalibrationType::CALI_TYPE_RETRACTION:
|
case CalibMode::Calib_Retraction_tower:
|
||||||
return _L("Retraction");
|
return _L("Retraction");
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
|
@ -468,23 +468,23 @@ void CalibrationPanel::init_tabpanel() {
|
||||||
m_tabpanel = new Tabbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, sizer_side_tools, wxNB_LEFT | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME);
|
m_tabpanel = new Tabbook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, sizer_side_tools, wxNB_LEFT | wxTAB_TRAVERSAL | wxNB_NOPAGETHEME);
|
||||||
m_tabpanel->SetBackgroundColour(*wxWHITE);
|
m_tabpanel->SetBackgroundColour(*wxWHITE);
|
||||||
|
|
||||||
m_cali_panels[(int)CalibrationType::CALI_TYPE_PA] = new PressureAdvanceWizard(m_tabpanel);
|
m_cali_panels[0] = new PressureAdvanceWizard(m_tabpanel);
|
||||||
m_cali_panels[(int)CalibrationType::CALI_TYPE_FLOW] = new FlowRateWizard(m_tabpanel);
|
m_cali_panels[1] = new FlowRateWizard(m_tabpanel);
|
||||||
m_cali_panels[(int)CalibrationType::CALI_TYPE_VOLUMETRIC] = new MaxVolumetricSpeedWizard(m_tabpanel);
|
m_cali_panels[2] = new MaxVolumetricSpeedWizard(m_tabpanel);
|
||||||
m_cali_panels[(int)CalibrationType::CALI_TYPE_TEMPERATURE] = new TemperatureWizard(m_tabpanel);
|
m_cali_panels[3] = new TemperatureWizard(m_tabpanel);
|
||||||
m_cali_panels[(int)CalibrationType::CALI_TYPE_RETRACTION] = new RetractionWizard(m_tabpanel);
|
m_cali_panels[4] = new RetractionWizard(m_tabpanel);
|
||||||
|
|
||||||
for (int i = 0; i < (int)CalibrationType::CALI_MAX_COUNT; i++) {
|
for (int i = 0; i < (int)CALI_MODE_COUNT; i++) {
|
||||||
bool selected = false;
|
bool selected = false;
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
selected = true;
|
selected = true;
|
||||||
m_tabpanel->AddPage(m_cali_panels[i],
|
m_tabpanel->AddPage(m_cali_panels[i],
|
||||||
get_calibration_type_name(static_cast<CalibrationType>(i)),
|
get_calibration_type_name(m_cali_panels[i]->get_calibration_mode()),
|
||||||
"",
|
"",
|
||||||
selected);
|
selected);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < (int)CalibrationType::CALI_MAX_COUNT; i++)
|
for (int i = 0; i < (int)CALI_MODE_COUNT; i++)
|
||||||
m_tabpanel->SetPageImage(i, "");
|
m_tabpanel->SetPageImage(i, "");
|
||||||
|
|
||||||
m_tabpanel->Bind(wxEVT_BOOKCTRL_PAGE_CHANGED, [this](wxBookCtrlEvent&) {
|
m_tabpanel->Bind(wxEVT_BOOKCTRL_PAGE_CHANGED, [this](wxBookCtrlEvent&) {
|
||||||
|
@ -514,7 +514,7 @@ void CalibrationPanel::update_print_error_info(int code, std::string msg, std::s
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalibrationPanel::update_all() {
|
void CalibrationPanel::update_all() {
|
||||||
for (int i = 0; i < (int)CalibrationType::CALI_MAX_COUNT; i++) {
|
for (int i = 0; i < (int)CALI_MODE_COUNT; i++) {
|
||||||
m_cali_panels[i]->update_printer();
|
m_cali_panels[i]->update_printer();
|
||||||
if (m_cali_panels[i]->IsShown())
|
if (m_cali_panels[i]->IsShown())
|
||||||
m_cali_panels[i]->update_print_progress();
|
m_cali_panels[i]->update_print_progress();
|
||||||
|
|
|
@ -14,16 +14,10 @@ namespace Slic3r { namespace GUI {
|
||||||
#define SELECT_MACHINE_REMIND wxColour(255,111,0)
|
#define SELECT_MACHINE_REMIND wxColour(255,111,0)
|
||||||
#define SELECT_MACHINE_LIGHT_GREEN wxColour(219, 253, 231)
|
#define SELECT_MACHINE_LIGHT_GREEN wxColour(219, 253, 231)
|
||||||
|
|
||||||
enum class CalibrationType {
|
#define CALI_MODE_COUNT 5
|
||||||
CALI_TYPE_PA = 0,
|
|
||||||
CALI_TYPE_FLOW,
|
|
||||||
CALI_TYPE_VOLUMETRIC,
|
|
||||||
CALI_TYPE_TEMPERATURE,
|
|
||||||
CALI_TYPE_RETRACTION,
|
|
||||||
CALI_MAX_COUNT,
|
|
||||||
};
|
|
||||||
|
|
||||||
wxString get_calibration_type_name(CalibrationType cali_type);
|
|
||||||
|
wxString get_calibration_type_name(CalibMode cali_mode);
|
||||||
|
|
||||||
class MObjectPanel : public wxPanel
|
class MObjectPanel : public wxPanel
|
||||||
{
|
{
|
||||||
|
@ -125,7 +119,7 @@ private:
|
||||||
Tabbook* m_tabpanel{ nullptr };
|
Tabbook* m_tabpanel{ nullptr };
|
||||||
SelectMObjectPopup m_mobjectlist_popup;
|
SelectMObjectPopup m_mobjectlist_popup;
|
||||||
|
|
||||||
CalibrationWizard* m_cali_panels[(int)CalibrationType::CALI_MAX_COUNT];
|
CalibrationWizard* m_cali_panels[CALI_MODE_COUNT];
|
||||||
|
|
||||||
wxTimer* m_refresh_timer = nullptr;
|
wxTimer* m_refresh_timer = nullptr;
|
||||||
};
|
};
|
||||||
|
|
|
@ -34,6 +34,24 @@ static bool is_high_end_type(MachineObject* obj) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxString get_calibration_wiki_page(CalibMode cali_mode)
|
||||||
|
{
|
||||||
|
switch (cali_mode) {
|
||||||
|
case CalibMode::Calib_PA_Line:
|
||||||
|
return wxString("https://wiki.bambulab.com/en/software/bambu-studio/calibration_pa");
|
||||||
|
case CalibMode::Calib_Flow_Rate:
|
||||||
|
return wxString("https://wiki.bambulab.com/en/software/bambu-studio/calibration_flow_rate");
|
||||||
|
case CalibMode::Calib_Vol_speed_Tower:
|
||||||
|
return wxString("https://wiki.bambulab.com/en/software/bambu-studio/calibration_volumetric");
|
||||||
|
case CalibMode::Calib_Temp_Tower:
|
||||||
|
return wxString("https://wiki.bambulab.com/en/software/bambu-studio/calibration_temperature");
|
||||||
|
case CalibMode::Calib_Retraction_tower:
|
||||||
|
return wxString("https://wiki.bambulab.com/en/software/bambu-studio/calibration_retraction");
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
FilamentComboBox::FilamentComboBox(wxWindow* parent, const wxPoint& pos, const wxSize& size)
|
FilamentComboBox::FilamentComboBox(wxWindow* parent, const wxPoint& pos, const wxSize& size)
|
||||||
: wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL)
|
: wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL)
|
||||||
{
|
{
|
||||||
|
@ -133,6 +151,8 @@ CalibrationWizard::CalibrationWizard(wxWindow* parent, CalibMode mode, wxWindowI
|
||||||
: wxPanel(parent, id, pos, size, style)
|
: wxPanel(parent, id, pos, size, style)
|
||||||
, m_mode(mode)
|
, m_mode(mode)
|
||||||
{
|
{
|
||||||
|
m_wiki_url = get_calibration_wiki_page(m_mode);
|
||||||
|
|
||||||
SetBackgroundColour(wxColour(0xEEEEEE));
|
SetBackgroundColour(wxColour(0xEEEEEE));
|
||||||
|
|
||||||
wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
|
@ -21,6 +21,10 @@ enum FilamentSelectMode {
|
||||||
FSMCheckBoxMode,
|
FSMCheckBoxMode,
|
||||||
FSMRadioMode
|
FSMRadioMode
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
wxString get_calibration_wiki_page(CalibMode cali_mode);
|
||||||
|
|
||||||
class FilamentComboBox : public wxPanel
|
class FilamentComboBox : public wxPanel
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -99,6 +103,8 @@ private:
|
||||||
ScalableBitmap m_bitmap_abort_disable;
|
ScalableBitmap m_bitmap_abort_disable;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
wxString m_wiki_url;
|
||||||
|
|
||||||
std::map<std::string, PrinterCaliInfo> m_printer_calib_infos;
|
std::map<std::string, PrinterCaliInfo> m_printer_calib_infos;
|
||||||
bool is_between_start_and_runing = false;
|
bool is_between_start_and_runing = false;
|
||||||
CalibMode m_mode;
|
CalibMode m_mode;
|
||||||
|
@ -243,7 +249,6 @@ private:
|
||||||
|
|
||||||
// start page
|
// start page
|
||||||
CalibrationWizardPage* m_page0{ nullptr };
|
CalibrationWizardPage* m_page0{ nullptr };
|
||||||
std::string m_wiki_url;
|
|
||||||
|
|
||||||
// preset page
|
// preset page
|
||||||
CalibrationWizardPage* m_page1{ nullptr };
|
CalibrationWizardPage* m_page1{ nullptr };
|
||||||
|
@ -292,7 +297,6 @@ protected:
|
||||||
private:
|
private:
|
||||||
// start page
|
// start page
|
||||||
CalibrationWizardPage* m_page0{ nullptr };
|
CalibrationWizardPage* m_page0{ nullptr };
|
||||||
std::string m_wiki_url;
|
|
||||||
|
|
||||||
// preset page
|
// preset page
|
||||||
CalibrationWizardPage* m_page1{ nullptr };
|
CalibrationWizardPage* m_page1{ nullptr };
|
||||||
|
@ -352,7 +356,6 @@ protected:
|
||||||
private:
|
private:
|
||||||
// start page
|
// start page
|
||||||
CalibrationWizardPage* m_page0;
|
CalibrationWizardPage* m_page0;
|
||||||
std::string m_wiki_url;
|
|
||||||
|
|
||||||
// preset page
|
// preset page
|
||||||
CalibrationWizardPage* m_page1;
|
CalibrationWizardPage* m_page1;
|
||||||
|
@ -386,7 +389,6 @@ protected:
|
||||||
private:
|
private:
|
||||||
// start page
|
// start page
|
||||||
CalibrationWizardPage* m_page0;
|
CalibrationWizardPage* m_page0;
|
||||||
std::string m_wiki_url;
|
|
||||||
|
|
||||||
// preset page
|
// preset page
|
||||||
CalibrationWizardPage* m_page1;
|
CalibrationWizardPage* m_page1;
|
||||||
|
@ -418,7 +420,6 @@ protected:
|
||||||
private:
|
private:
|
||||||
// start page
|
// start page
|
||||||
CalibrationWizardPage* m_page0;
|
CalibrationWizardPage* m_page0;
|
||||||
std::string m_wiki_url;
|
|
||||||
|
|
||||||
// preset page
|
// preset page
|
||||||
CalibrationWizardPage* m_page1;
|
CalibrationWizardPage* m_page1;
|
||||||
|
|
|
@ -3988,7 +3988,7 @@ int MachineObject::parse_json(std::string payload)
|
||||||
if (j.contains("upgrade")) {
|
if (j.contains("upgrade")) {
|
||||||
if (j["upgrade"].contains("command")) {
|
if (j["upgrade"].contains("command")) {
|
||||||
if (j["upgrade"]["command"].get<std::string>() == "upgrade_confirm") {
|
if (j["upgrade"]["command"].get<std::string>() == "upgrade_confirm") {
|
||||||
this->upgrade_display_state == UpgradingInProgress;
|
this->upgrade_display_state = UpgradingInProgress;
|
||||||
upgrade_display_hold_count = HOLD_COUNT_MAX;
|
upgrade_display_hold_count = HOLD_COUNT_MAX;
|
||||||
BOOST_LOG_TRIVIAL(info) << "ack of upgrade_confirm";
|
BOOST_LOG_TRIVIAL(info) << "ack of upgrade_confirm";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue