Installing the FlexSEA GUI Development Tools

The FlexSEA GUI is written in C/C++, with the Qt framework. Qt is cross platform; we use it in Linux. All the instructions below are assuming that you use Ubuntu 14, the latest Long Term Support (LTS) release available to this day. I’m using 32-bits, but it seems to be OK on 64-bits too. I’ve been using VMWare Workstation for my development. If you prefer to use VirtualBox, please read this post: Qt and VirtualBox.
Note: All the commands that are in italic are to be typed in a terminal.
Step 1) Install g++ & some dependencies
If you don’t already have it, get g++ (compiler): sudo apt-get install g++
Graphic libraries dependencies: sudo apt-get install mesa-common-devsudo apt-get install libgl1-mesa-dev
Step 2) Download and install QT
We use the Open Source version available at https://www.qt.io/download-open-source/. On my dev machine I downloaded the open source 32-bits Linux version (offline, v5.5.1.) and then I followed this tutorial. Beware: do not do the wget part, it uses an old version. Go straight to the Install portion of the tutorial.
Step 3) Install Git and get source files
Install git: sudo apt-get install git
All the source files are available on GitHug: https://github.com/JFDuval/FlexSEA. I’m currently working out of the Experimental branch: https://github.com/JFDuval/FlexSEA/tree/experimental
Navigate to where you want to put your working directory (/Documents/ is a good choice) and create an empty directory named FlexSEA-Git-Exp (name doesn’t matter). In a terminal, navigate to this directory and type git clone -b experimental https://github.com/JFDuval/FlexSEA/. It will download a copy of the experimental branch (that’s what -b experimental does) of the sources to your computer. Open that directory, and you should see FlexSEA, containing all the sub-projects.

Step 4) Restart your computer or VM
Step 5) Compile the GUI
Open Qt Creator. File > Open project > open execute-gui-1.
Under Projects, you can change your Build directory. I use the same path as for my project: /home/jfduval/Documents/FlexSEA-Git-Exp/FlexSEA/execute-gui-1. I modified the defaults paths to get my executable in ../FlexSEA-Git-Exp/FlexSEA/execute-gui-1/build/execute-gui-1.
On the lower left part of your screen you should see the compile button (hammer icon). Click it, and make sure that it does its job. You should now see an executable in …/execute-gui-1/build/release/..
Step 6) Launch the GUI
Connect FlexSEA-Execute to your computer with the USB cable. Make sure that its driver installs properly and that it’s connected to your VM. You can use dmesg -T to get all the details. Here’s an example of my log:
[Thu Apr 21 14:31:02 2016] usb 2-2.1: new full-speed USB device number 6 using uhci_hcd
[Thu Apr 21 14:31:02 2016] usb 2-2.1: New USB device found, idVendor=04b4, idProduct=f232
[Thu Apr 21 14:31:02 2016] usb 2-2.1: New USB device strings: Mfr=1, Product=4, SerialNumber=128
[Thu Apr 21 14:31:02 2016] usb 2-2.1: Product: FlexSEA-Execute 0.1
[Thu Apr 21 14:31:02 2016] usb 2-2.1: Manufacturer: MIT Biomechatronics
[Thu Apr 21 14:31:02 2016] usb 2-2.1: SerialNumber: 0F0F14E901145400
[Thu Apr 21 14:31:02 2016] cdc_acm 2-2.1:1.0: This device cannot do calls on its own. It is not a modem.
[Thu Apr 21 14:31:02 2016] cdc_acm 2-2.1:1.0: ttyACM0: USB ACM device
jfduval@ubuntu:~/Documents/FlexSEA-Git-Exp/FlexSEA/execute-gui-1/build/release$
In a terminal, navigate to your release folder (…/execute-gui-1/build/release/). We need to set permissions. We do that with sudo usermod -a -G dialout root. You can then launch the GUI with sudo ./execute-gui-1. You should see:
gui_042116_1