{"id":42452079,"url":"https://github.com/crapp/labpowerqt","last_synced_at":"2026-01-28T08:49:49.512Z","repository":{"id":36148841,"uuid":"40452864","full_name":"crapp/labpowerqt","owner":"crapp","description":"LabPowerQt is an application to control laboratory power supplies","archived":false,"fork":false,"pushed_at":"2022-07-22T07:57:00.000Z","size":1319,"stargazers_count":67,"open_issues_count":10,"forks_count":8,"subscribers_count":10,"default_branch":"master","last_synced_at":"2023-10-20T19:04:42.097Z","etag":null,"topics":["charts","cmake","cpp11","ka3005p","korad","linux","osx","qt5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-09T22:34:44.000Z","updated_at":"2023-10-02T03:02:52.000Z","dependencies_parsed_at":"2022-08-28T06:40:18.820Z","dependency_job_id":null,"html_url":"https://github.com/crapp/labpowerqt","commit_stats":null,"previous_names":[],"tags_count":4,"template":null,"template_full_name":null,"purl":"pkg:github/crapp/labpowerqt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crapp%2Flabpowerqt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crapp%2Flabpowerqt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crapp%2Flabpowerqt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crapp%2Flabpowerqt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crapp","download_url":"https://codeload.github.com/crapp/labpowerqt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crapp%2Flabpowerqt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28842909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charts","cmake","cpp11","ka3005p","korad","linux","osx","qt5"],"created_at":"2026-01-28T08:49:49.420Z","updated_at":"2026-01-28T08:49:49.502Z","avatar_url":"https://github.com/crapp.png","language":"C++","readme":"# LabPowerQt\n\n[![Build Status](https://travis-ci.org/crapp/labpowerqt.svg?branch=master)](https://travis-ci.org/crapp/labpowerqt)\n[![LabPowerQt license GPL](https://img.shields.io/github/license/crapp/labpowerqt.svg)](#license)\n[![Latest release](https://img.shields.io/github/release/crapp/labpowerqt.svg)](https://github.com/crapp/labpowerqt/releases/latest)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Features](#features)\n- [Getting LabPowerQt](#getting-labpowerqt)\n- [Compiling from source](#compiling-from-source)\n- [Using the Application](#using-the-application)\n- [Screenshots](#screenshots)\n- [Development](#development)\n- [ToDo](#todo)\n- [Bugs, feature requests, ideas](#bugs-feature-requests-ideas)\n- [Known issues](#known-issues)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\nLabPowerQt is an application to control laboratory power supplies and to record\nand visualize the data.\n\nThe software is written using the Qt Framework and therefor works on Linux,\nWindows and macOS. Although it works cross platform the main target platforms for\nthis project are Linux and macOS.\n\nThe application is in an early stage of development make sure to read the [known\nissues](#known-issues) section.\n\n![LabPowerQt main screen](https://crapp.github.io/labpowerqt/labpowerqt.png)\n*LabPowerQt running on archlinux and Gnome 3.20*\n\n## Features\n\n* Cross platform written in Qt\n* Support for polling frequencies higher than 1Hz\n* Full support of the Korad SCPI Interface\n* Device Wizard for simple device setup\n* Visualize Data in a fully customizable plot with image export functionality\n* Store data in a SQLite Database\n* Manage recorded sessions\n* Export data to csv files\n\n## Getting LabPowerQt\n\n### Linux\n\nLinux users have two different options to run the application. Either install a\npackage provided by your distribution or use the\n[AppImage](https://github.com/probonopd/AppImageKit) to run the LabPowerQt without\nthe need to compile the source code or install any dependencies. You can download\nthe AppImage from the github [releases tab](https://github.com/crapp/labpowerqt/releases) for this project.\n\nThe AppImage was tested on these distributions:\n\n* ArchLinux (2017-04-19)\n* Fedora Workstation 25\n* Ubuntu trusty (AppImage is build on this distribution)\n\nIf you have used the AppImage on other distributions please let me know if it \nworked for you.\n\nLabPowerQt packages are available on these Linux distributions:\n\n* Archlinux [![Archlinux AUR Version](https://img.shields.io/aur/version/labpowerqt.svg)](https://aur.archlinux.org/packages/labpowerqt)\n\n### Windows\n\nI am providing an [InnoSetup](http://www.jrsoftware.org/isinfo.php) based installer\nfor x86 and amd64 containing all dependencies. It is downloadable from [github.com](https://github.com/crapp/labpowerqt/releases)\n\n## Compiling from source\n\n### Dependencies\n\nThe following dependencies are required to run this software:\n* cmake \u003e= 3.1.3 (If you want to compile ealogger as well you need version 3.4 or higher)\n* One of these Compilers:\n    * gcc \u003e= 4.9\n    * clang \u003e= 3.4\n    * MSVC \u003e= 14 (Visual Studio 2015)\n    * MinGW \u003e= 4.9\n* Qt \u003e= 5.4 (Qt5Widgets, Qt5Gui, Qt5Core, Qt5SerialPort, Qt5Sql, Qt5PrintSupport, Qt5Quick)\n* [ealogger](https://github.com/crapp/ealogger) \u003e= 0.8.1 (Included as external project)\n\n### Compilation \n\nYou can obtain the source code from [github](https://github.com/crapp/labpowerqt). \n\nIf you want to compile LabPowerQt yourself you will find these cmake options useful:\n\n* EALOGGER_EXTERNAL - Settings this to on will automatically download and build ealogger.\n  (Default ON)\n\n#### Linux and macOS\n\nCompiling LabPowerQt on Linux and macOS using unix make files.\n\n```shell\n# download the source code and change to the directory\n# create a build directory\nmkdir build\ncd build\n# run cmake to create makefiles. Use -DCMAKE_PREFIX_PATH if cmake doesn't find\n# your installation of Qt5\ncmake -DCMAKE_BUILD_TYPE=Release ../\n# now compile the source code and create the application. You can speed up\n# compilation with make's j option.\nmake\n# install the application\nsudo make install\n```\n\n#### Windows\n\nYou can compile LabPowerQt on Windows using cmake's [Visual Studio Generator](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html#visual-studio-generators).\n\n```shell\n# create build directory inside labpowerqt source directory\nmkdir build\ncd build\n# Assuming you are using Visual Studio 2015 on a 64bit windows installation and\n# Qt 5.6 installed to C:\\\\Qt\n# Please change these options so they suit your build evironment.\ncmake -G\"Visual Studio 14 2015 Win64\" -DCMAKE_PREFIX_PATH=\"C:\\\\Qt\\\\5.6\\\\msvc2015_64\" ../\n```\n\nYou may now open the solution file with visual studio and compile the application.\n\nOther possibilities are cmake's NMake Generator or mingw.\n\n\n### Supported Hardware\n\nCurrently the application only supports Devices using the [Korad SCPI Protocol](https://sigrok.org/wiki/Korad_KAxxxxP_series)\n\n* Korad KA3003P; KA3005P; KA3010P\n* Korad KA6002P; KA6003P; KA6005P\n* Vellemann PS3005D (rebranded KA3005P)\n* Tenma 72-2535; 72-2540 (rebranded KA30XXP)\n* Tenma 72-2545; 72-2550 (rebranded KA60XXP)\n\n## Using the Application\n\nThe Application is easy to use and most things should be self explanatory. Many\ncontrols offer tooltips about what they do.\n\nTo control the device connected to your computer you have to use the Control\nArea in the main window. It consists of green and orange elements and serves for\ntwo purposes at the same time. The current state of the device is displayed there\nand you can use the orange elements to control the device (by double-clicking them).\n\nThe data of the device is stored in memory. You can also persist the data in a SQLite\ndatabase by turning on a Recording.\n\nThe data is not only displayed in the control area but can also be visualized in a Plot on\nthe right side of the main window. Have a look at the buttons above the Plot to\ndiscover all the possibilities you have (e.g. change graph colors or line style,\nexport plot as image, discard data and many more).\n\nThe settings dialog is important as you have to use the build in device wizard to\nadd a device. Other things can be set there as well.\n\n## Screenshots\n\n![LabPowerQt running on Windows 8.1](https://crapp.github.io/labpowerqt/labpowerqt_about_win_border.png)\n*LabPowerQt running on Windows 8.1 32bit*\n\n![LabPowerQt recordings history](https://crapp.github.io/labpowerqt/labpowerqt_history.png)\n*Recordings listed in a table*\n\n![LabPowerQt example Plot export image](https://crapp.github.io/labpowerqt/labpowerqt_plot_example_export.jpg)\n*Exported image of the Plot in LabPowerQt*\n\n## Development\n\nBrief overview over the development process.\n\n### Repositories\nThe [github repository](https://github.com/crapp/labpowerqt) of labpowerqt has\nseveral different branches.\n\n* master      : Main development branch. Everything in here is guaranteed to\ncompile and is tested. This is the place for new features and bugfixes. Pull requests welcome.\n* development : Test branch and wild west area. May not compile.\n* release-x.x : Branch for a release. Only bugfixes are allowed here. Pull requests welcome.\n* gh-pages    : Special branch for static HTML content and images hosted by github.io.\n\n### Coding standards\n\nThe source code is formatted with clang-format using the following configuration\n\n```\nLanguage                            : Cpp,\nBasedOnStyle                        : LLVM,\nAccessModifierOffset                : -4,\nAllowShortIfStatementsOnASingleLine : false,\nAlwaysBreakTemplateDeclarations     : true,\nColumnLimit                         : 81,\nIndentCaseLabels                    : false,\nStandard                            : Cpp11,\nIndentWidth                         : 4,\nTabWidth                            : 4,\nBreakBeforeBraces                   : Linux,\nCommentPragmas                      : '(^ IWYU pragma:)|(^.*\\[.*\\]\\(.*\\).*$)|(^.*@brief|@param|@return|@throw.*$)|(/\\*\\*\u003c.*\\*/)'\n```\n\n### Versioning\n\nI decided to use [semantic versioning](http://semver.org/)\n\n### Continuous Integration\n\n[![Build Status](https://travis-ci.org/crapp/labpowerqt.svg?branch=master)](https://travis-ci.org/crapp/labpowerqt)\n\n\n[Travis CI](https://travis-ci.org/) is used as continuous integration service.\nThe [labpowerqt github](https://github.com/crapp/labpowerqt) repository is linked\nto Travis CI. You can see the build history for the master branch and all release\nbranches on the [travis project page](https://travis-ci.org/crapp/labpowerqt).\n\n## ToDo\n\nHave a look in the todo folder. I am using the [todo.txt](http://todotxt.com/)\nformat for my todo lists.\n\n## Bugs, feature requests, ideas\n\nPlease use the [github bugtracker](https://github.com/crapp/labpowerqt/issues)\nto submit bugs or feature requests\n\n## Known issues\n\n* The application does store the visibility for each graph (current, wattage ...)\n  and this state is reapplied from the settings file whenever you start labpowerqt.\n  Currently this is not working correctly with QCustomPlot and there is nothing I\n  can do about it as I believe it is because of a bug in their code.\n\n* Polling frequencies higher than 1Hz seem to work unreliable on macOS and Windows.\n\tI have no idea if this is a problem with QSerialPort, the underlying driver\n\timplementation or system layer.\n\n## License\n```\nCopyright (C) 2015, 2016, 2017 Christian Rapp\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrapp%2Flabpowerqt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrapp%2Flabpowerqt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrapp%2Flabpowerqt/lists"}