https://github.com/ucalgary-rover/ssrt-telemetry
Qt Quick-based application designed to display real-time data from multiple sensors operated by the Rover.
https://github.com/ucalgary-rover/ssrt-telemetry
cpp qml qtquick
Last synced: 6 months ago
JSON representation
Qt Quick-based application designed to display real-time data from multiple sensors operated by the Rover.
- Host: GitHub
- URL: https://github.com/ucalgary-rover/ssrt-telemetry
- Owner: ucalgary-rover
- Created: 2025-01-11T03:54:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-22T16:52:51.000Z (about 1 year ago)
- Last Synced: 2025-03-22T17:36:07.133Z (about 1 year ago)
- Topics: cpp, qml, qtquick
- Language: QML
- Homepage:
- Size: 1.1 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SSRTelemetry
Qt application built for sensor visual interface with processing capabilities.
## Running Linux build
### First install essential build tools for Qt Development
#### On Ubuntu
Install make and other build tools like gcc:
```bash
sudo apt install build-essential.
sudo apt install cmake.
```
### Building and Running on Qt Creator
The base application can be run in Qt Creator GUI simply by opening the CMakelists.txt file witin the project folder. Qt Creator may or may not need to be configured to detect build tool executables. For some systems it may auto detect the bin executables (make, cmake etc.) for you.
### Building and running manually with CMake
Will require a version of CMake (A cross platform build system that creates makefiles), make (Compiles and builds C/C++ files) and GNU Build tools.
The typical way to build manually is by first creating a directory in the project folder itself. Run `mkdir build`.
Change directory to the build
```bash
cd build
```
Run CMake
```bash
cmake ...
```
This will create the build in the build folder and use the CMakeLists.txt found in the parent directory.
Then run make to compile:
```bash
make
```
The application can be run with
```bash
./appSSRTelemetry
```
## Before contributing
Precommit runs basic formatters and linters to enforce code formatting standards.
### Setting Up Pre-Commit
To ensure consistent code quality and enforce standards, we use **pre-commit** hooks. Follow the steps below to install and verify it:
### Installation
#### On Windows
Install pre-commit using pip:
```bash
pip install pre-commit
```
#### On Ubuntu Linux
Create and activate a virtual environment and install pre-commit within it.
```bash
# Create a virtual environment
python3 -m venv ~/.venvs/myenv
# Activate the virtual environment
source ~/.venvs/myenv/bin/activate
# Install the package
pip install pre-commit
```
OR
Install pre-commit using pip:
```bash
sudo apt install python3-pip
pip3 install pre-commit
```
#### On Arch Linux
Install pre-commit using pip:
```bash
sudo pacman -S pre-commit
```
### Verification
_You may need to refresh the terminal for precommit install to take effect_
After installation, verify the installation by checking the version:
```bash
pre-commit --version
```
Update if needed:
```bash
pre-commit autoupdate
```
If you see the expected version, pre-commit is successfully installed and ready to use!
To initalize pre-commit hooks on a repository. Change directory into repository directory and run:
```bash
pre-commit install
```
### Linters and Static Analyzers
This repo uses basic language agnostic cleanup tools provided by pre-commit, clang-format to enforce LLVM code standard and cpp check to detect small bugs in C++ code.
You only need to install clang-format and cpp check.
### Installing clang-format
#### Ubuntu
```bash
sudo apt install clang-format
```
### Installing cppcheck
#### Ubuntu
```bash
sudo apt install cppcheck
```
### Testing precommit
To test precommit execution run:
```bash
pre-commit run --all-files
```
If your code passes all tests then it is commit ready.
## Writing documentation the Doxygen way for C++
See resources for guidelines to writing documentation that is doxygen compatible
## Running Doxygen build manually
### Install Doxygen
Doxygen simplifies code documentation process
#### On Windows
Visit doxygen download page https://www.doxygen.nl/download.html
#### On Arch Linux
Install Doxygen using the package manager:
```bash
sudo pacman -S doxygen
```
#### On Ubuntu
Install Doxygen using apt:
```bash
sudo apt update
sudo apt install doxygen
```
### Generate documentation
Generate documentation manually
```bash
doxygen Doxyfile
```