ENH:O1D hot bed temperature no longer checks voltage

jira:[STUDIO-9088]

Change-Id: Ia11154705770919694c58b908b3886fe3feb432a
This commit is contained in:
tao wang 2025-01-15 20:37:48 +08:00 committed by lane.wei
parent 44db9102ae
commit 7e16329d24
4 changed files with 24 additions and 1 deletions

View File

@ -20,6 +20,7 @@
}
},
"nozzle_temp_range": [ 20, 350 ],
"bed_temp_range": [ 20, 120 ],
"support_motor_noise_cali": false,
"support_tunnel_mqtt": true,
"support_mqtt_alive": true,

View File

@ -3288,6 +3288,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

@ -994,6 +994,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

@ -2675,7 +2675,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]);
@ -3805,7 +3810,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;