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 ], "nozzle_temp_range": [ 20, 350 ],
"bed_temp_range": [ 20, 120 ],
"support_motor_noise_cali": false, "support_motor_noise_cali": false,
"support_tunnel_mqtt": true, "support_tunnel_mqtt": true,
"support_mqtt_alive": 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 //supported function
if (jj.contains("support_chamber_temp_edit")) { if (jj.contains("support_chamber_temp_edit")) {
if (jj["support_chamber_temp_edit"].is_boolean()) { if (jj["support_chamber_temp_edit"].is_boolean()) {

View File

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

View File

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