NEW: support to display wired network for printer

JIRA: STUDIO-3519

Change-Id: I1c32254e249a3c0010973b17953121f4aa718f76
Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
Stone Li 2023-09-11 10:15:41 +08:00 committed by Lane.Wei
parent 29bdbf891c
commit be53cf4c7a
5 changed files with 22 additions and 1 deletions

View file

@ -1386,6 +1386,8 @@ void MachineObject::parse_status(int flag)
}
sdcard_state = MachineObject::SdcardState((flag >> 8) & 0x11);
network_wired = ((flag >> 18) & 0x1) != 0;
}
PrintingSpeedLevel MachineObject::_parse_printing_speed_lvl(int lvl)
@ -2539,6 +2541,7 @@ void MachineObject::reset()
m_is_support_show_bak = false;
extruder_axis_status = LOAD;
nozzle_diameter = 0.0f;
network_wired = false;
// reset print_json
json empty_j;

View file

@ -573,6 +573,7 @@ public:
std::string wifi_signal;
std::string link_th;
std::string link_ams;
bool network_wired { false };
/* lights */
LIGHT_EFFECT chamber_light;

View file

@ -31,6 +31,7 @@ namespace Slic3r { namespace GUI {
m_wifi_weak_img = ScalableBitmap(this, "monitor_signal_weak", 18);
m_wifi_middle_img = ScalableBitmap(this, "monitor_signal_middle", 18);
m_wifi_strong_img = ScalableBitmap(this, "monitor_signal_strong", 18);
m_network_wired_img = ScalableBitmap(this, "monitor_network_wired", 18);
m_intetval_timer = new wxTimer();
m_intetval_timer->SetOwner(this);
@ -204,6 +205,7 @@ void SideToolsPanel::doRender(wxDC &dc)
if (m_wifi_type == WifiSignal::WEAK) dc.DrawBitmap(m_wifi_weak_img.bmp(), left, (size.y - m_wifi_weak_img.GetBmpSize().y) / 2);
if (m_wifi_type == WifiSignal::MIDDLE) dc.DrawBitmap(m_wifi_middle_img.bmp(), left, (size.y - m_wifi_middle_img.GetBmpSize().y) / 2);
if (m_wifi_type == WifiSignal::STRONG) dc.DrawBitmap(m_wifi_strong_img.bmp(), left, (size.y - m_wifi_strong_img.GetBmpSize().y) / 2);
if (m_wifi_type == WifiSignal::WIRED) dc.DrawBitmap(m_network_wired_img.bmp(), left, (size.y - m_network_wired_img.GetBmpSize().y) / 2);
}
if (m_hover) {
@ -452,7 +454,10 @@ void SideTools::update_status(MachineObject* obj)
m_side_tools->set_current_printer_signal(WifiSignal::NONE);
}
else {
if (!obj->wifi_signal.empty() && boost::ends_with(obj->wifi_signal, "dBm")) {
if (obj->network_wired) {
m_side_tools->set_current_printer_signal(WifiSignal::WIRED);
}
else if (!obj->wifi_signal.empty() && boost::ends_with(obj->wifi_signal, "dBm")) {
try {
wifi_signal_val = std::stoi(obj->wifi_signal.substr(0, obj->wifi_signal.size() - 3));
}

View file

@ -22,6 +22,7 @@ enum WifiSignal {
WEAK,
MIDDLE,
STRONG,
WIRED,
};
enum MonitorStatus {
@ -58,6 +59,7 @@ private:
ScalableBitmap m_wifi_weak_img;
ScalableBitmap m_wifi_middle_img;
ScalableBitmap m_wifi_strong_img;
ScalableBitmap m_network_wired_img;
protected:
wxStaticBitmap *m_bitmap_info;