diff --git a/CMakeLists.txt b/CMakeLists.txt index 394af42..4402158 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ project(labpowerqt) #The version number set (labpowerqt_VERSION_MAJOR 0) set (labpowerqt_VERSION_MINOR 1) -set (labpowerqt_VERSION_PATCH 1) +set (labpowerqt_VERSION_PATCH 2) option (EALOGGER_EXTERNAL "Download and build ealogger" ON) option (SANITIZER "Use AddressSanitizer (ASan) compiler flags" OFF) diff --git a/README.md b/README.md index e4241c6..7c05905 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,24 @@ # LabPowerQt [![Build Status](https://travis-ci.org/crapp/labpowerqt.svg?branch=master)](https://travis-ci.org/crapp/labpowerqt) +[![LabPowerQt license GPL](https://img.shields.io/github/license/crapp/labpowerqt.svg)](#license) +[![Latest release](https://img.shields.io/github/release/crapp/labpowerqt.svg)](https://github.com/crapp/labpowerqt/releases/latest) + + + + + +- [Features](#features) +- [Setting up LabPowerQt](#setting-up-labpowerqt) +- [Using the Application](#using-the-application) +- [Screenshots](#screenshots) +- [Development](#development) +- [ToDo](#todo) +- [Bugs, feature requests, ideas](#bugs-feature-requests-ideas) +- [Known issues](#known-issues) +- [License](#license) + + LabPowerQt is an application to control laboratory power supplies and to record and visualize the data. @@ -9,19 +27,19 @@ The software is written using the Qt Framework and therefor works on Linux, Windows and OS X. Although it works cross platform the main target platforms for this project are Linux and osx. -The application is in an early stage of development make sure to read the **known -issues** section. +The application is in an early stage of development make sure to read the [known +issues](#known-issues) section. ![LabPowerQt main screen](https://crapp.github.io/labpowerqt/labpowerqt.png) *LabPowerQt running on archlinux and Gnome 3.20* ## Features -* Cross plattform written in Qt +* Cross platform written in Qt * Support for polling frequencies higher than 1Hz * Full support of the Korad SCPI Interface * Device Wizard for simple device setup -* Visualize Data in a fully customizeable plot with image export functionality +* Visualize Data in a fully customizable plot with image export functionality * Store data in a SQLite Database * Manage recorded sessions * Export data to csv files @@ -36,9 +54,9 @@ The following dependencies are required to run this software: * gcc >= 4.9 * clang >= 3.4 * MSVC >= 14 (Visual Studio 2015) - * MinGW + * MinGW >= 4.9 * Qt >= 5.2 (Qt5Widgets, Qt5Gui, Qt5Core, Qt5SerialPort, Qt5Sql, Qt5PrintSupport, Qt5Quick) -* [ealogger](https://github.com/crapp/ealogger) >= 0.8 (Included as external project) +* [ealogger](https://github.com/crapp/ealogger) >= 0.8.1 (Included as external project) ### Installation @@ -70,7 +88,7 @@ sudo make install There are packages for the following Linux distributions: -* [Archlinux (AUR)](https://aur.archlinux.org/packages/labpowerqt) +* Archlinux [![Archlinux AUR Version](https://img.shields.io/aur/version/labpowerqt.svg)](https://aur.archlinux.org/packages/labpowerqt) #### Windows @@ -90,8 +108,8 @@ You may now open the solution file with visual studio and compile the applicatio Other possibilities are cmake's NMake Generator or mingw. -I am providing an InnoSetup based installer for x86 and amd64 containing all -dependencies. It is downloadable from [github.com](https://github.com/crapp/labpowerqt/releases) +I am providing an [InnoSetup](http://www.jrsoftware.org/isinfo.php) based installer +for x86 and amd64 containing all dependencies. It is downloadable from [github.com](https://github.com/crapp/labpowerqt/releases) ### Supported Hardware @@ -116,7 +134,7 @@ and you can use the orange elements to control the device (by double-clicking th The data of the device is stored in memory. You can also persist the data in a SQLite database by turning on a Recording. -The data is not displayed in the control but can also be visualized in a Plot on +The data is not displayed in the control but can also be visualized in a Plot on the right side of the main window. Have a look at the buttons above the Plot to discover all the possibilities you have (e.g. change graph color or line style, export plot as image, discard data and many more). @@ -200,7 +218,7 @@ to submit bugs or feature requests can do about it as I believe it is because of a bug in their code. * Polling frequencies higher than 1Hz seem to work unreliable on OSX and Windows. - I have no idea if this is a problem with QtSerialport or the underlying driver + I have no idea if this is a problem with QSerialPort, the underlying driver implementation or system layer. ## License diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 999b482..bec8235 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,9 +1,9 @@ # Initialize CXXFLAGS for Linux, OS X and MinGW on Windows if (NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++11") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") # No reorder warnings because these pop up frequently if you are using the Q_OBJECT macro - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wextra -Wno-reorder") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wno-reorder") set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") diff --git a/src/floatingvaluesdialog.cpp b/src/floatingvaluesdialog.cpp index 4f83c3e..2b8ffe5 100644 --- a/src/floatingvaluesdialog.cpp +++ b/src/floatingvaluesdialog.cpp @@ -63,11 +63,11 @@ void FloatingValuesDialog::setCurrentValue(double value) void FloatingValuesDialog::setCurrentValue(ATTR_UNUSED int trackingMode) {} // FIXME: The number of channels was used in a previous version of this Dialog -// and is no longer needed afair. +// and is no longer needed AFAIR void FloatingValuesDialog::updateDeviceSpecs( double voltageMin, double voltageMax, uint voltagePrecision, double currentMin, double currentMax, uint currentPrecision, - uint noOfChannels) + ATTR_UNUSED uint noOfChannels) { voltageSpinBox->setMinimum(voltageMin); voltageSpinBox->setMaximum(voltageMax); diff --git a/src/tabhistory.cpp b/src/tabhistory.cpp index 41ab9f3..c5653c7 100644 --- a/src/tabhistory.cpp +++ b/src/tabhistory.cpp @@ -46,8 +46,8 @@ void TabHistory::updateModel() this->tblView->resizeColumnsToContents(); } -void TabHistory::indexChanged(const QModelIndex ¤t, - const QModelIndex &previous) +void TabHistory::indexChanged(ATTR_UNUSED const QModelIndex ¤t, + ATTR_UNUSED const QModelIndex &previous) { } @@ -71,8 +71,10 @@ void TabHistory::setupUI() this->lay->addWidget(this->tbar, 0, 0); this->actionDelete = this->tbar->addAction("Delete"); this->actionDelete->setIcon(QPixmap(":/icons/trash32.png")); + this->actionDelete->setToolTip("Delete selected recordings"); this->actionExport = this->tbar->addAction("Export"); this->actionExport->setIcon(QPixmap(":/icons/csv32.png")); + this->actionExport->setToolTip("Export selected recordings to CSV"); this->tblModel = std::unique_ptr(new RecordSqlModel()); this->tblModel->setTable(dbcon::TBL_RECORDING);