Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Compiling software from source with qt errors - TIC825 (Ubuntu 16.04.4 LTS)



I recently got a Tic825 controller and stepper motor, and I was able to connect to it and use both the ticcgui and ticcmd. I had originally used the ticcmd to control the motor, however it lacked easy ways (other than string parsing) to identify features such as the current position of the motor. So, I’ve resorted to compiling the code from source. However, I currently run into the following error on line current_spin_box.cpp:32:17:

error: ‘QOverload’ was not declared in this scope
   connect(this, QOverload<int>::of(&QSpinBox::valueChanged),

In my searching, it looks like I have an earlier version of qt. Is there a way this can be updated to be used for an earlier version of qt and/or can I modify something to get it to compile?

qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu



Hello, Sarah.

The output of ticcmd -s was designed to be compatible with YAML, which makes it relatively easy to parse in a computer program. YAML parsers are available in many languages. For example, if you have Ruby installed on your machine, you can run this command in a shell to get the value of the “Current position” variable:

ruby -ryaml -e 'puts YAML.load(%x{ticcmd -s})["Current position"]'

Inside a Ruby program, the code would look more like this:

require 'yaml'
status = YAML.load(%x{ticcmd -s})
position = status["Current position"]
puts position

Thank you for reporting the issue with building the Tic software in Ubuntu 16.04. I have fixed the issue so if you get the latest version from the repository, it should build now. Please let me know if you have any further questions.