ENH:O1D hot bed temperature no longer checks voltage

jira:[STUDIO-9088]

Change-Id: Ia11154705770919694c58b908b3886fe3feb432a
(cherry picked from commit 7e16329d24c9e31ff5fc99eb74ab4b4b9a5e2b13)
This commit is contained in:
tao wang
2025-01-15 20:37:48 +08:00
committed by Noisyfox
parent d6e86ad7bf
commit 8e78915cd2
3 changed files with 23 additions and 1 deletions

View File

@@ -3256,6 +3256,15 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
// bed temp range
if (jj.contains("bed_temp_range")) {
if (jj["bed_temp_range"].is_array()) {
for (auto it = jj["bed_temp_range"].begin(); it != jj["bed_temp_range"].end(); it++) {
bed_temp_range.push_back(it.value().get<int>());
}
}
}
//supported function
if (jj.contains("support_chamber_temp_edit")) {
if (jj["support_chamber_temp_edit"].is_boolean()) {

View File

@@ -1001,6 +1001,9 @@ public:
/*nozzle temp range*/
std::vector<int> nozzle_temp_range;
/*temp temp range*/
std::vector<int> bed_temp_range;
/* sdcard */
MachineObject::SdcardState sdcard_state { NO_SDCARD };
MachineObject::SdcardState get_sdcard_state();

View File

@@ -2702,7 +2702,12 @@ void StatusPanel::update_temp_ctrl(MachineObject *obj)
if (!obj) return;
m_tempCtrl_bed->SetCurrTemp((int) obj->bed_temp);
m_tempCtrl_bed->SetMaxTemp(obj->get_bed_temperature_limit());
auto limit = obj->get_bed_temperature_limit();
if (obj->bed_temp_range.size() > 1) {
limit = obj->bed_temp_range[1];
}
m_tempCtrl_bed->SetMaxTemp(limit);
if (obj->nozzle_temp_range.size() >= 2) {
m_tempCtrl_nozzle->SetMinTemp(obj->nozzle_temp_range[0]);
@@ -3816,7 +3821,12 @@ void StatusPanel::on_set_bed_temp()
long bed_temp;
if (str.ToLong(&bed_temp) && obj) {
set_hold_count(m_temp_bed_timeout);
int limit = obj->get_bed_temperature_limit();
if (obj->bed_temp_range.size() > 1) {
limit = obj->bed_temp_range[1];
}
if (bed_temp >= limit) {
BOOST_LOG_TRIVIAL(info) << "can not set over limit = " << limit << ", set temp = " << bed_temp;
bed_temp = limit;