Skip to content
This repository has been archived by the owner on Dec 3, 2024. It is now read-only.

uofmelectricboat/tide-main-display

Repository files navigation

Seabiscuit: TiDE Driver Display

Built with Qt/QML. UI built in Qt Design Studio. Backend built in Qt Creator.

Software Setup Guide

Download both Qt Creator and Qt Design Studio from the Qt main website (Products > Qt Development Tools > Download Qt and Products > Qt Design Studio > Get Qt Design Studio).

Qt can be configured with Git by following the steps in this guide.

Project Overview

The driver display is a Windows application built with Qt (pronounced “cute”). It serves as the main dashboard inside the boat, displaying essential information for the driver to check with a glance. We use the following hardware components:

We designed this display based on those of similar speedboats, simplifying our last shore dashboard (Snowfinkle).

Snowfinkle Shore Dashboard TiDE Main Display
Screenshot 2024-01-25 at 5 06 59 PM Screenshot 2024-01-25 at 5 06 59 PM

About Qt

Qt is open-source cross-platform software for creating graphical user interfaces that run on major desktop platforms and mobile or embedded platforms. It is not a coding language–it is a framework written in C++. See more on the Qt wiki.

Qt provides different IDEs for different use cases:

  • Qt Creator is more programmer-focused, providing tools for coding, debugging, and profiling. It allows users to open/edit an .ui or .qml file and create Qt/C++ applications.
  • Qt Design Studio is a UI design tool that focuses on creating user interfaces.

They should be used together to develop a Qt Quick application with a visual UI designer.

Qt CAN Bus Plugin

Qt’s Serial Bus module allows us to access the CAN bus via the VectorCAN plugin, which works with our CAN adapter. See the official documentation here:

Licensing

Qt is a free tool under GPLv3 and LGPLv3. Software created with Qt can be released under any approved open source license.

Warning System

In the event of any issues, the main display must promptly alert the driver. We use a color-coded system to indicate operational health: yellow denotes warning levels, while red signifies a dangerous state. However, it is not always safe to assume that the driver is continuously monitoring the display. A stretch goal for this project is to incorporate an audible alarm system, which would alert the driver when they need to check the display for potential issues.