This is all the source code used to create and run the IQ Control Center.
If you just want to use the IQ Control Center please follow this link to the latest release where you will find precompiled versions of the IQ Control Center for Windows, Mac, and Linux.
If you are looking to play with the source code or compile from source continue reading!
This repo uses a submodule called 'Schmi' (the flashing portion of Control Center) and will return as an empty folder if you clone this repo without the --recursive
flag. Please run this command when cloning this repo.
Clone the repo and all submodules within it:
git clone --recursive <repo-url>
Run the following:
git submodule update --init
- QT 5.15.2
- MacOS sdk 10.14 (minimum)
- Windows 10
- Linux Ubuntu 20.04 (Built and Compiled on)
With v1.2.0, we've removed QtAutoupdaterGui. We now point directly to the QTInstaller Maintencetool for updating within the App.
Download the Qt installer here QT installer
-
Create an account in the installer
-
In Installation Folder, click on Custom build and select the following:
- Qt 5.15.2
- Qt Installer Framework 4.1 or above
(Windows Specific)
- MinGW 7.3 and above (Both 32 and 64 bit)
- Qt Creator 5.0.3 CDB Debugger Support
- Debugging Tools for Windows
- CMake 3.21.1 64-bit
- Ninja 1.10.2
When you have QT installed, just choose Open Project and select IQControlCenter.pro file !
On Windows, we've noticed issues with updating from 1.1.0 and below. Updating from 1.1.2 is working as intended.
If you are experiencing this issue, please submit an Issue Ticket via Github. If the issue requires immediate action, you can also completely uninstall IQ Control Center by deleting the root application folder and downloading the v1.2.0 installer (*See Note Below)
*Notes:
- The Root Application Folder "IQ Control Center" is more than likely located in Program Files(x86)
- Make sure to save any custom resource files you may have added. If you haven't receieved any resource files from IQ Motion Control Engineers, chances are this doesn't apply to you and you can safely delete the root folder
- Choose a system of preference to build and test on:
- This should be where they heavy code lifting should be done. I personally prefer linux.
- Why?: To keep track of code changes and keep a consistent analysis method. Change one variable at a time (Imagine changing systems mid build! Get it working on one system first then move to the next.)
- Before deploying on the first system, there's a few basics tests that must work (It would be nice to automate these in the future one day):
Test | Details |
---|---|
Connect to each IQ Motor (Public Releases) | -Vertiq 8108 150Kv -Vertiq2306 220Kv -Vertiq2306 2200Kv |
Connects to Installer/Repository | -On startup, shows message about updates in header - Clicking on Installer->"Check for Updates" launches installer window |
Motor is able to be controlled | -In testing tab, be able to move the motor |
Able to flash each motor module | -Flash software onto the motors and go to testing tab to make sure it works |
Deployment of this app can be done on any platform thanks to QT. If you would like more information on how to do this please follow the following link QT deployement
Currently there isn't an option for cross-deployment, so you'll need can only deploy on the same system as your target.
System | Deployment Tool |
---|---|
Windows | windeployqt |
Mac | macdeployqt |
Linux | linuxdeployqt* |
*Note: We are using version 5 of linuxdeployqt due to compatibility issues with newer linux distros. You can read more about the issue here
- Download the .appImage file
- Move the .appImage to the Qt gcc bin directory
Windows Deployment Example:
C:\Qt\5.15.2\mingw81_32\bin> windeployqt \path\to\.exe
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository or the releases on this repository.
- Raphael Van Hoffelen
- Malik B. Parker
See also the list of contributors who participated in this project
The Qt app part of this project is licensed under the GNU GPL-3.0-or-later license - see the LICENSE file for details.
The IQ_API part of this project is licensed under the GNU LGPL-3.0-or-later license - see the LICENSE.LESSER file for details.