ENH:Support more SD card states
jira:[for sdcard] Change-Id: Ic09198a0ed357f827768ed2f8d8a9ed6266f749f
This commit is contained in:
parent
e0508a9e51
commit
c877405cab
|
@ -1484,6 +1484,8 @@ void MachineObject::parse_status(int flag)
|
|||
camera_recording = ((flag >> 5) & 0x1) != 0;
|
||||
ams_calibrate_remain_flag = ((flag >> 7) & 0x1) != 0;
|
||||
|
||||
sdcard_state = MachineObject::SdcardState(get_flag_bits(flag, 8, 2));
|
||||
|
||||
if (ams_print_option_count > 0)
|
||||
ams_print_option_count--;
|
||||
else {
|
||||
|
@ -1536,8 +1538,6 @@ void MachineObject::parse_status(int flag)
|
|||
is_support_upgrade_kit = ((flag >> 27) & 0x1) != 0;
|
||||
installed_upgrade_kit = ((flag >> 26) & 0x1) != 0;
|
||||
|
||||
sdcard_state = MachineObject::SdcardState((flag >> 8) & 0x11);
|
||||
|
||||
is_support_agora = ((flag >> 30) & 0x1) != 0;
|
||||
if (is_support_agora)
|
||||
is_support_tunnel_mqtt = false;
|
||||
|
@ -1586,11 +1586,6 @@ bool MachineObject::is_sdcard_printing()
|
|||
return false;
|
||||
}
|
||||
|
||||
bool MachineObject::has_sdcard()
|
||||
{
|
||||
return (sdcard_state == MachineObject::SdcardState::HAS_SDCARD_NORMAL);
|
||||
}
|
||||
|
||||
MachineObject::SdcardState MachineObject::get_sdcard_state()
|
||||
{
|
||||
return sdcard_state;
|
||||
|
@ -3382,6 +3377,16 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
|||
if (jj["print_error"].is_number())
|
||||
print_error = jj["print_error"].get<int>();
|
||||
}
|
||||
|
||||
if (jj.contains("sdcard")) {
|
||||
if (jj["sdcard"].get<bool>())
|
||||
sdcard_state = MachineObject::SdcardState::HAS_SDCARD_NORMAL;
|
||||
else
|
||||
sdcard_state = MachineObject::SdcardState::NO_SDCARD;
|
||||
} else {
|
||||
sdcard_state = MachineObject::SdcardState::NO_SDCARD;
|
||||
}
|
||||
|
||||
if (!key_field_only) {
|
||||
if (jj.contains("home_flag")) {
|
||||
home_flag = jj["home_flag"].get<int>();
|
||||
|
@ -3748,21 +3753,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
|
|||
catch (...) {
|
||||
;
|
||||
}
|
||||
// media
|
||||
try {
|
||||
if (jj.contains("sdcard")) {
|
||||
if (jj["sdcard"].get<bool>())
|
||||
sdcard_state = MachineObject::SdcardState::HAS_SDCARD_NORMAL;
|
||||
else
|
||||
sdcard_state = MachineObject::SdcardState::NO_SDCARD;
|
||||
} else {
|
||||
//do not check sdcard if no sdcard field
|
||||
sdcard_state = MachineObject::SdcardState::NO_SDCARD;
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
}
|
||||
#pragma endregion
|
||||
if (!key_field_only) {
|
||||
|
|
|
@ -523,7 +523,8 @@ public:
|
|||
NO_SDCARD = 0,
|
||||
HAS_SDCARD_NORMAL = 1,
|
||||
HAS_SDCARD_ABNORMAL = 2,
|
||||
SDCARD_STATE_NUM = 3
|
||||
HAS_SDCARD_READONLY = 3,
|
||||
SDCARD_STATE_NUM = 4
|
||||
};
|
||||
|
||||
enum ActiveState {
|
||||
|
@ -980,7 +981,6 @@ public:
|
|||
std::string obj_subtask_id; // subtask_id == 0 for sdcard
|
||||
std::string subtask_name;
|
||||
bool is_sdcard_printing();
|
||||
bool has_sdcard();
|
||||
bool is_timelapse();
|
||||
bool is_recording_enable();
|
||||
bool is_recording();
|
||||
|
|
|
@ -221,7 +221,7 @@ void MediaFilePanel::SetMachineObject(MachineObject* obj)
|
|||
m_lan_passwd = obj->get_access_code();
|
||||
m_dev_ver = obj->get_ota_version();
|
||||
m_device_busy = obj->is_camera_busy_off();
|
||||
m_sdcard_exist = obj->has_sdcard();
|
||||
m_sdcard_exist = obj->sdcard_state == MachineObject::SdcardState::HAS_SDCARD_NORMAL || obj->sdcard_state == MachineObject::SdcardState::HAS_SDCARD_READONLY;
|
||||
m_local_proto = obj->file_local;
|
||||
m_remote_proto = obj->file_remote;
|
||||
m_model_download_support = obj->file_model_download;
|
||||
|
|
|
@ -181,7 +181,7 @@ MonitorPanel::~MonitorPanel()
|
|||
auto page = m_tabpanel->GetCurrentPage();
|
||||
if (page == m_media_file_panel) {
|
||||
auto title = m_tabpanel->GetPageText(m_tabpanel->GetSelection());
|
||||
m_media_file_panel->SwitchStorage(title == _L("SD Card"));
|
||||
m_media_file_panel->SwitchStorage(title == _L("Storage"));
|
||||
}
|
||||
page->SetFocus();
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << __LINE__ << " select :" << get_string_from_tab(PrinterTab(m_tabpanel->GetSelection()))
|
||||
|
@ -212,7 +212,7 @@ MonitorPanel::~MonitorPanel()
|
|||
m_tabpanel->AddPage(m_status_info_panel, _L("Status"), "", true);
|
||||
|
||||
m_media_file_panel = new MediaFilePanel(m_tabpanel);
|
||||
m_tabpanel->AddPage(m_media_file_panel, _L("SD Card"), "", false);
|
||||
m_tabpanel->AddPage(m_media_file_panel, _L("Storage"), "", false);
|
||||
//m_tabpanel->AddPage(m_media_file_panel, _L("Internal Storage"), "", false);
|
||||
|
||||
m_upgrade_panel = new UpgradePanel(m_tabpanel);
|
||||
|
|
|
@ -2354,7 +2354,7 @@ void SelectMachineDialog::on_send_print()
|
|||
m_print_job->task_ams_mapping_info = "";
|
||||
}
|
||||
|
||||
m_print_job->has_sdcard = obj_->has_sdcard();
|
||||
m_print_job->has_sdcard = obj_->get_sdcard_state() == MachineObject::SdcardState::HAS_SDCARD_NORMAL;
|
||||
|
||||
|
||||
bool timelapse_option = m_checkbox_list["timelapse"]->IsShown()?true:false;
|
||||
|
|
|
@ -571,7 +571,7 @@ BBL::PrintParams SendMultiMachinePage::request_params(MachineObject* obj)
|
|||
params.comments = "no_ip";
|
||||
else if (obj->is_support_cloud_print_only)
|
||||
params.comments = "low_version";
|
||||
else if (!obj->has_sdcard())
|
||||
else if (obj->get_sdcard_state() == MachineObject::SdcardState::NO_SDCARD)
|
||||
params.comments = "no_sdcard";
|
||||
else if (params.password.empty())
|
||||
params.comments = "no_password";
|
||||
|
|
|
@ -791,7 +791,7 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event)
|
|||
|
||||
m_send_job->connection_type = obj_->connection_type();
|
||||
m_send_job->cloud_print_only = true;
|
||||
m_send_job->has_sdcard = obj_->has_sdcard();
|
||||
m_send_job->has_sdcard = obj_->get_sdcard_state() == MachineObject::SdcardState::HAS_SDCARD_NORMAL;
|
||||
m_send_job->set_project_name(m_current_project_name.utf8_string());
|
||||
|
||||
enable_prepare_mode = false;
|
||||
|
|
|
@ -1217,7 +1217,7 @@ wxBoxSizer *StatusBasePanel::create_monitoring_page()
|
|||
m_setting_button->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
|
||||
m_setting_button->SetBackgroundColour(STATUS_TITLE_BG);
|
||||
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("SD Card"));
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("Storage"));
|
||||
m_bitmap_timelapse_img->SetToolTip(_L("Timelapse"));
|
||||
m_bitmap_recording_img->SetToolTip(_L("Video"));
|
||||
m_bitmap_vcamera_img->SetToolTip(_L("Go Live"));
|
||||
|
@ -1903,16 +1903,16 @@ void StatusPanel::update_camera_state(MachineObject* obj)
|
|||
if (m_last_sdcard != (int)obj->get_sdcard_state()) {
|
||||
if (obj->get_sdcard_state() == MachineObject::SdcardState::NO_SDCARD) {
|
||||
m_bitmap_sdcard_img->SetBitmap(m_bitmap_sdcard_state_no.bmp());
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("No SD Card"));
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("No Storage"));
|
||||
} else if (obj->get_sdcard_state() == MachineObject::SdcardState::HAS_SDCARD_NORMAL) {
|
||||
m_bitmap_sdcard_img->SetBitmap(m_bitmap_sdcard_state_normal.bmp());
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("SD Card"));
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("Storage"));
|
||||
} else if (obj->get_sdcard_state() == MachineObject::SdcardState::HAS_SDCARD_ABNORMAL) {
|
||||
m_bitmap_sdcard_img->SetBitmap(m_bitmap_sdcard_state_abnormal.bmp());
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("SD Card Abnormal"));
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("Storage Abnormal"));
|
||||
} else {
|
||||
m_bitmap_sdcard_img->SetBitmap(m_bitmap_sdcard_state_normal.bmp());
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("SD Card"));
|
||||
m_bitmap_sdcard_img->SetToolTip(_L("Storage"));
|
||||
}
|
||||
m_last_sdcard = (int)obj->get_sdcard_state();
|
||||
}
|
||||
|
|
|
@ -1318,7 +1318,7 @@ void CalibUtils::send_to_print(const CalibInfo &calib_info, wxString &error_mess
|
|||
print_job->m_project_name = get_calib_mode_name(cali_mode, flow_ratio_mode);
|
||||
print_job->set_calibration_task(true);
|
||||
|
||||
print_job->has_sdcard = obj_->has_sdcard();
|
||||
print_job->has_sdcard = obj_->get_sdcard_state() == MachineObject::SdcardState::HAS_SDCARD_NORMAL;
|
||||
print_job->set_print_config(MachineBedTypeString[bed_type], true, false, false, false, true, 0, 0, 0);
|
||||
print_job->set_print_job_finished_event(wxGetApp().plater()->get_send_calibration_finished_event(), print_job->m_project_name);
|
||||
|
||||
|
|
Loading…
Reference in New Issue