Python Tool Troubleshooting

Install ANELLO Python Program

PIP is Python’s package manager and it is usually installed by default in Python installations. You can check its installation by running the following in your command prompt or terminal:

Terminal
pip --version

If you receive an error that pip cannot be found, we recommend uninstalling and re-installing Python.

Terminal
cd user_tool
pip install -r requirements.txt

If the above command fails, you may need to replace “pip” with “pip3”, “python -m pip” or “python3 -m pip”.

On some Linux systems, matplotlib and numpy dependencies must be installed with apt instead of pip. You can get around this by manually running:

Terminal
sudo apt install matplotlib
sudo apt install numpy

Or if you already installed requirements.txt and ran the program, but received a matplotlib error:

Terminal
pip uninstall matplotlib
sudo apt install matplotlib

Starting Feb 2024, PySimpleGUI started requiring a license for their new version 5 release. If you have any issues with license requests, please run:

Terminal
pip uninstall PySimpleGUI
pip install -r requirements.txt

If you still have issues installing packages after trying the above steps, you may need to re-install python to ensure pip is installed correctly. Note that as of Nov 2023, we noticed some issues with Python 3.12 and the corresponding pip supporting the necessary dependencies. If you are using Python 3.12 and experience issues with specific packages, please revert to Python 3.11 and try again.

If you experience errors or warnings which may be related to access, please be sure to run your command window as administrator. Other access issues may be related to internal firewall or other security features, so please check with your IT team if you are unable to install any Python packages.

Run Python Program

After installing dependencies and running x3_tool.py, you should now see the System Status and Main Menu, as shown below.

_images/full_status_labeled.png

Figure 4: ANELLO Python Program Home Screen

The main menu actions are:

  • Refresh: Refresh the display to see new system status

  • Connect: Connect to the unit over COM or UDP

  • Restart Unit: Restart the unit

  • Unit Configuration: Edit unit configurations such as output data rate

  • Log: Collect IMU data and convert to CSV

  • Monitor: Opens a display showing the real-time IMU message contents

  • Upgrade: Change the unit’s firmware version

  • Exit: Exit the python program

Connect to ANELLO Unit

For information on the interfaces, ports, and baud rates for the ANELLO X3, see Communication & Messaging.

If the auto detection fails, you can try manual connection. First check that the ports associated with your ANELLO unit are recognized by your computer. On Windows, use the device manager to find the COM ports. On Mac and Ubuntu, use the terminal and change directory to /dev, and check for ports associated with the ANELLO unit, typically named something like tty.usbserial-xxx.

Increasing User Permissions

On Ubuntu or other operating systems, the program may not have permission to access serial ports causing the connect step to fail. This can be fixed by increasing user permissions or running as root.

The user may need to be added to groups “tty” or “dialout” to access the serial port.

Terminal
sudo usermod -a -G tty <your user name>
sudo usermod -a -G dialout <your user name>

Then log out and back in for the permissions to apply.

Running as Root

Running as root may also help with user permisions issues, but note that root may have a different default python. Check your python location with:

Terminal
which python

then run as root using that path to python:

Terminal
sudo <path to python> user_program.py

If you have multiple Python versions installed, ensure firewall lists the version you use to run user_program.

  • in cmd: check the Python location and version with:

Terminal
where python

and

Terminal
python --version
  • Use that path while adding Python in the firewall settings.

  • Or select Python in the firewall list, click “details” and verify the path matches.