Skip to content

Commit

Permalink
#3 move READMEs into docs path
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack Davis committed Mar 3, 2020
1 parent 8fd073c commit 8365a1c
Show file tree
Hide file tree
Showing 6 changed files with 161 additions and 5 deletions.
131 changes: 130 additions & 1 deletion doc/Build Instructions/UI.md
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'
```
16 changes: 16 additions & 0 deletions doc/Hardware/Hardware.md
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

7 changes: 7 additions & 0 deletions doc/README.md
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]).


4 changes: 2 additions & 2 deletions doc/TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
* [Teensy Fan Controller](README.md)


## Hardware
## [Hardware](Hardware/Hardware.md)

* [Prototype](Hardware/Prototype.md)
* [Breadboard](Hardware/Breadboard.md)
* [Simple PCB](Hardware/Simple PCB.md)


## Management UI
## [Management UI](UI/UI.md)

* [TODO](UI/Home.md)

Expand Down
2 changes: 0 additions & 2 deletions doc/UI/Home.md

This file was deleted.

6 changes: 6 additions & 0 deletions doc/UI/UI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Management UI

TODO



0 comments on commit 8365a1c

Please sign in to comment.