diff --git a/selfdrive/ui/qt/offroad/networking.cc b/selfdrive/ui/qt/offroad/networking.cc index a70f58cd73..c10252458e 100644 --- a/selfdrive/ui/qt/offroad/networking.cc +++ b/selfdrive/ui/qt/offroad/networking.cc @@ -144,6 +144,13 @@ AdvancedNetworking::AdvancedNetworking(QWidget* parent, WifiManager* wifi): QWid ipLabel = new LabelControl(tr("IP Address"), wifi->ipv4_address); list->addItem(ipLabel); + // Metered + sm.reset(new SubMaster({"deviceState"})); + auto deviceState = (*sm)["deviceState"].getDeviceState(); + bool metered = deviceState.getNetworkMetered(); + meteredLabel = new LabelControl("Metered", metered ? "Yes" : "No"); + list->addItem(meteredLabel); + // SSH keys list->addItem(new SshToggle()); list->addItem(new SshControl()); @@ -191,6 +198,11 @@ AdvancedNetworking::AdvancedNetworking(QWidget* parent, WifiManager* wifi): QWid void AdvancedNetworking::refresh() { ipLabel->setText(wifi->ipv4_address); + + auto deviceState = (*sm)["deviceState"].getDeviceState(); + bool metered = deviceState.getNetworkMetered(); + meteredLabel->setText(metered ? "Yes" : "No"); + tetheringToggle->setEnabled(true); update(); } diff --git a/selfdrive/ui/qt/offroad/networking.h b/selfdrive/ui/qt/offroad/networking.h index 4fc9a53d93..dbf30c16ed 100644 --- a/selfdrive/ui/qt/offroad/networking.h +++ b/selfdrive/ui/qt/offroad/networking.h @@ -39,9 +39,11 @@ public: private: LabelControl* ipLabel; + LabelControl* meteredLabel; ToggleControl* tetheringToggle; WifiManager* wifi = nullptr; Params params; + std::unique_ptr sm; signals: void backPress();