Compare commits

..

11 Commits

Author SHA1 Message Date
1eba7d8556 README: Introduce Thermostat GUI
Co-authored-by: topquark12 <aw@m-labs.hk>
2024-11-25 13:10:26 +08:00
a0bc119ffb PyThermostat: Use pyproject 2024-11-25 13:10:26 +08:00
bfbe8b79a7 PyThermostat GUI: Set up packaging
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:31:44 +08:00
f14e67de82 PyThermostat GUI: Implement Control Panel
Co-authored-by: linuswck <linuswck@m-labs.hk>
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:24:05 +08:00
0a99e29d4d PyThermostat GUI: Implement PlotSettingsMenu
Co-authored-by: linuswck <linuswck@m-labs.hk>
2024-11-25 12:24:05 +08:00
675ce9f0c7 PyThermostat GUI: Implement plotting
Co-authored-by: linuswck <linuswck@m-labs.hk>
2024-11-25 12:24:05 +08:00
e7d9126967 PyThermostat GUI: Incorporate autotuning
Co-authored-by: topquark12 <aw@m-labs.hk>
Co-authored-by: linuswck <linuswck@m-labs.hk>
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:24:05 +08:00
8589ebdf0f PyThermostat GUI: Implement ThermostatSettingsMenu
Co-authored-by: linuswck <linuswck@m-labs.hk>
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:24:05 +08:00
6e9b1cfe21 PyThermostat GUI: Implement status line
Co-authored-by: linuswck <linuswck@m-labs.hk>
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:24:05 +08:00
ca4e43b0d9 PyThermostat: Create GUI to Thermostat
- Add connection menu

- Add basic GUI layout skeleton

Co-authored-by: linuswck <linuswck@m-labs.hk>
Co-authored-by: Egor Savkin <es@m-labs.hk>
2024-11-25 12:24:02 +08:00
72c1aab682 PyThermostat: Create asyncio clients 2024-11-25 11:26:44 +08:00
4 changed files with 6 additions and 13 deletions

View File

@ -78,7 +78,7 @@
dontWrapQtApps = true; dontWrapQtApps = true;
postFixup = '' postFixup = ''
wrapQtApp "$out/bin/thermostat_qt" wrapQtApp "$out/bin/tec_qt"
''; '';
}; };
@ -105,7 +105,7 @@
apps.x86_64-linux.thermostat_gui = { apps.x86_64-linux.thermostat_gui = {
type = "app"; type = "app";
program = "${self.packages.x86_64-linux.pythermostat}/bin/thermostat_qt"; program = "${self.packages.x86_64-linux.pythermostat}/bin/tec_qt";
}; };
hydraJobs = { hydraJobs = {
@ -130,11 +130,7 @@
pyqt6 pyqt6
qasync qasync
pglive pglive
pythermostat
]); ]);
shellHook = ''
export PYTHONPATH=`git rev-parse --show-toplevel`/pythermostat:$PYTHONPATH
'';
}; };
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;

View File

@ -10,13 +10,10 @@ description = "Control TEC"
urls.Repository = "https://git.m-labs.hk/M-Labs/thermostat" urls.Repository = "https://git.m-labs.hk/M-Labs/thermostat"
license = {text = "GPLv3"} license = {text = "GPLv3"}
[project.gui-scripts]
thermostat_plot = "pythermostat.plot:main"
thermostat_qt = "pythermostat.thermostat_qt:main"
[project.scripts] [project.scripts]
thermostat_autotune = "pythermostat.autotune:main" thermostat_autotune = "pythermostat.autotune:main"
thermostat_test = "pythermostat.test:main" thermostat_test = "pythermostat.test:main"
[tool.setuptools] [project.gui-scripts]
packages.find = {} thermostat_plot = "pythermostat.plot:main"
thermostat_qt = "pythermostat.thermostat_qt:main"

View File

@ -55,7 +55,7 @@ class MainWindow(QtWidgets.QMainWindow):
def __init__(self, args): def __init__(self, args):
super().__init__() super().__init__()
ui_file_path = importlib.resources.files("pythermostat.gui.view").joinpath("MainWindow.ui") ui_file_path = importlib.resources.files("pythermostat.gui.view").joinpath("tec_qt.ui")
uic.loadUi(ui_file_path, self) uic.loadUi(ui_file_path, self)
self._info_box = InfoBox() self._info_box = InfoBox()