-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Jack Davis
committed
Mar 3, 2020
1 parent
8fd073c
commit 8365a1c
Showing
6 changed files
with
161 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,131 @@ | ||
# Build Instructions - UI | ||
# Teensy Fan Controller UI (Qt5) | ||
|
||
A (Qt5) user interface to configure and monitor the [Teensy Fan Controller](https://github.com/mstrthealias/TeensyFanController/). | ||
|
||
|
||
## Build Instructions | ||
|
||
### Windows | ||
|
||
Prerequisites: | ||
|
||
1. Qt Installer | ||
1. MSVC 2017 64-bit | ||
1. Recent Qt release (Qt 5.13.2 at time of writing) for MSVC 2017 64-bit | ||
1. Qt Charts component | ||
|
||
Note: the application is NOT compatible with MinGW builds due to the use of [hidapi](https://github.com/libusb/hidapi). HIDAPI will compile with mingw32 (NOT mingw64-32bit), however Qt must be built from source to use this stack. | ||
|
||
|
||
First, build the static [HIDAPI](https://github.com/mstrthealias/HIDAPI-Qt5) library: | ||
|
||
Note: HIDAPI should be cloned into this project's parent directory (or clone the [parent project](https://github.com/mstrthealias/TeensyFanController/) with all submodules). | ||
|
||
1. Launch **x64 Native Tools Command Prompt for VS 2017** | ||
1. Add Qt5 to PATH, fe.: | ||
|
||
``` | ||
SET PATH=%PATH%;c:\share\Qt\5.13.2\msvc2017_64\bin | ||
``` | ||
|
||
1. Change directory to HIDAPI | ||
1. Run qmake: | ||
|
||
``` | ||
qmake | ||
``` | ||
|
||
1. Run nmake: | ||
|
||
``` | ||
nmake | ||
``` | ||
|
||
1. Verify HIDAPI.lib was created: | ||
|
||
``` | ||
dir windows\HIDAPI.lib | ||
... | ||
12/30/2019 11:03 AM 27,960 HIDAPI.lib | ||
``` | ||
|
||
Building the Fan Controller UI: | ||
|
||
Until the Fan Controller UI's installer is published, it is easiest to run the application using Qt Creator. You may build using the CLI with qmake and nmake, but will have to copy all Qt runtime dependencies (qml, plugins, dlls) into the release directory to start the application. | ||
|
||
|
||
|
||
### Linux (Ubuntu 18.04) | ||
|
||
Prerequisites: | ||
|
||
1. Qt Installer | ||
1. Recent Qt release (Qt 5.13.2 at time of writing) for GCC 64-bit | ||
1. Qt Charts component | ||
1. `apt install build-essential libxkbcommon-x11-0 libhidapi-dev libhidapi-hidraw0 libgl1 libgl1-mesa-dev libx11-xcb1` | ||
|
||
|
||
Note: I experienced issues launching the application using X11 forwarding and ended up installing and launching xfce (`apt install xfce4`) to run Qt Creator. | ||
|
||
|
||
First, build the static [HIDAPI](https://github.com/mstrthealias/HIDAPI-Qt5) library: | ||
|
||
Note: HIDAPI should be cloned into this project's parent directory (or clone the [parent project](https://github.com/mstrthealias/TeensyFanController/) with all submodules). | ||
|
||
In non-root Shell, add Qt5 to PATH, fe.: | ||
|
||
``` | ||
PATH=$PATH:~/Qt/5.13.2/gcc_64/bin | ||
QT_QPA_PLATFORM_PLUGIN_PATH=~/Qt/5.13.2/gcc_64/plugins | ||
``` | ||
|
||
Change directory to HIDAPI, fe.: | ||
|
||
``` | ||
cd ~/TeensyFanController/HIDAPI | ||
``` | ||
|
||
Run qmake: | ||
|
||
``` | ||
qmake | ||
``` | ||
|
||
Run make: | ||
|
||
``` | ||
make | ||
``` | ||
|
||
Verify libHIDAPI.a was created: | ||
|
||
``` | ||
ls linux/libHIDAPI.a | ||
``` | ||
|
||
Building the Fan Controller UI: | ||
|
||
Change directory to HIDAPI, fe.: | ||
|
||
``` | ||
cd ~/TeensyFanController/teensy_fan_controller | ||
``` | ||
|
||
Run qmake: | ||
|
||
``` | ||
qmake | ||
``` | ||
|
||
Run make: | ||
|
||
``` | ||
make | ||
``` | ||
|
||
Launch using `sudo` (note: replace /home/username/Qt/5.13.2 with path to Qt release): | ||
|
||
``` | ||
sudo bash -c 'QT_BASE=/home/username/Qt/5.13.2 QML2_IMPORT_PATH="$QT_BASE/gcc_64/qml" QML_IMPORT_PATH="$QT_BASE/gcc_64/qml" QT_QPA_PLATFORM_PLUGIN_PATH="$QT_BASE/gcc_64/plugins" ./tfctrl' | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Hardware | ||
|
||
Hardware related files are available in the [TeensyFanController/Hardware][1] folder. | ||
|
||
The following hardware has been used with Teensy Fan Controller: | ||
|
||
- [Breadboard][2]: breadboard example with a single fan/single sensor | ||
- [Prototype - Hand-made (Schmart Board based)][3]: uses over-the-shelf components | ||
- [Prototype - Simple PCB][4]: requires PCB fabrication (gerber files provided) and through-hole soldering | ||
|
||
|
||
[1]: https://github.com/mstrthealias/TeensyFanController/tree/master/Hardware | ||
[2]: breadboard | ||
[3]: prototype | ||
[4]: simple-pcb | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,9 @@ | ||
# Teensy Fan Controller | ||
|
||
A PC fan controller with temperature sensor input, for **Teensy 3.x** USB Development Board(s). | ||
|
||
Supports up to 6 fans (4pin/PWM), and up to 5 temperature sensors (thermistors). Each fan may individually operate in PID, temperature-percent table, or fixed-percent control modes. | ||
|
||
Designed to control radiator fans on a PC water cooling loop (to maintain supply water temperature), but may be configured for other purposes (for example, see [Hardware/Router cooling demo][2]). | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Management UI | ||
|
||
TODO | ||
|
||
|
||
|