Skip to content

Commit

Permalink
Add README + BUILD description
Browse files Browse the repository at this point in the history
  • Loading branch information
kleo-53 committed Sep 22, 2023
1 parent 429a49e commit 2af7f67
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 0 deletions.
21 changes: 21 additions & 0 deletions BUILD.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Technical Description of the Project: TRIK Studio Pioneer Tool

## Project Architecture:

**TRIK Studio Pioneer Tool** is a tool for uploading software to quadcopters using the TRIK Studio program. Here is the main architecture of the project:
* **Module "pioneer_uploader"**: This module contains the core logic of the application. It interacts with quadcopters and facilitates the upload of programs in accordance with TRIK Studio requirements.
* **Module "test_uploader"**`: This module contains unit tests to verify the functionality of the TRIK Studio Pioneer Tool.

## Technical Specifications:
* **Programming Language**: The project is developed in Python.
* **Unit Testing**: The project includes unit tests written using the `pytest` library to validate its functionality.
* **License**: TRIK Studio Pioneer Tool is distributed under the MIT License, allowing for free use, modification, and distribution of the tool.
* **Supported Operating Systems**: The project is compatible with Linux and Windows, ensuring accessibility for most users.

## System Requirements:
* Operating System: Linux or Windows.
* Python version 3.8 and above.
* Installed dependencies listed in the "requirements.txt" file.

## Additional Information:
TRIK Studio Pioneer Tool is designed to simplify the process of uploading software to quadcopters using TRIK Studio. The project is actively developed, and any suggestions for improvement or bug reports are welcome. You can contribute by creating issues and pull requests in the project's GitHub repository: https://github.com/trikset/trik-studio-pioneer-tool.
112 changes: 112 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
[![build status](https://github.com/kleo-53/trik-studio-pioneer-tool/actions/workflows/tox-testing.yml/badge.svg)](https://github.com/kleo-53/trik-studio-pioneer-tool/actions/workflows/tox-testing.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub Release (latest by date)](https://img.shields.io/badge/release-v1.0.0--alpha-blue)](https://github.com/kleo-53/trik-studio-pioneer-tool/releases/latest)

# TRIK Studio Pioneer Tool
Companion tool for [TRIK Studio](https://dl.trikset.com/ts/fresh) to simplify the process of uploading programs to Pioneer quadcopter.

This tool provides an executable file ("pioneer-uploader.exe") that integrates with TRIK Studio.

# For users
These simple steps will guide you through setting up and using the TRIK Studio Pioneer Tool.

## Installation
*Before you begin, make sure you have [TRIK Studio](https://dl.trikset.com/ts/fresh) installed on your machine.*
1. Go to the [Releases section](https://github.com/kleo-53/trik-studio-pioneer-tool/releases) of this repository.
2. Download the "pioneer-uploader.exe" file from the latest release.
3. Place the downloaded "pioneer-uploader.exe" file **in the directory where you have TRIK Studio installed**.

## How to use
1. Open TRIK Studio.
2. Create or open your project.
3. When you're ready to upload your program to the quadcopter, simply click the "Upload" button.
The TRIK Studio Pioneer Tool will automatically launch and load the program.

## Alternative
If errors continue to occur while using this tool, please try an **alternative way to upload the program** to the quadcopter: install and use the [Pioneer station](https://docs.geoscan.aero/ru/master/programming/pioneer_station/pioneer_station_main.html) program.

# For developers
You can build the executable file by yourself or run tests locally.

## Prerequisites
To build the project on your system you will need the following tools:
1. **Python**: Make sure you have Python version 3.8 or higher installed on your system. You can download Python from the [official website](https://www.python.org/).
2. **Git**: If you don't have Git, you can install it:
* On Windows - from the [official site](https://gitforwindows.org/);
* On linux - with the following command:
```
sudo apt-get install git
```

## Installation
0. Open Command Prompt.
1. Clone repository:
```
git clone https://github.com/kleo-53/trik-studio-pioneer-tool.git
```
2. Go to the project directory:
```
cd trik-studio-pioneer-tool
```
3. Create virtual environment:
```bash
python -m venv venv
```
4. Activate virtual environment:
* Windows
```bash
venv\Scripts\activate
```
* Linux
```bash
. venv/bin/activate
```
5. Update `pip` and install the necessary packages
```bash
python.exe -m pip install --upgrade pip
pip install -r requirements.txt
```

Now you can edit the project, build the executable file or run tests locally!

## Build executable
1. Install PyInstaller using `pip`:
```
pip install pyinstaller
```
2. Build the project using PyInstaller:
```
pyinstaller --onefile --name=pioneer-uploader pioneer_uploader.py
```
3. You will find the "pioneer-uploader.exe" file in the **dist** directory.

## Running Tests
You can run tests to ensure the tool's functionality. Tests are available in the "test_uploader.py" file.
### Manual Testing
Run tests with pytest module.
1. Install pytest via `pip`:
```
pip install pytest
```
2. Run the tests using the following command:
```
pytest test_uploader.py
```
### Using Tox
Alternatively, you can use Tox for testing.
1. Install Tox via `pip`:
```
pip install tox
```
2. Run Tox:
```
tox
```
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/git/git-scm.com/blob/main/MIT-LICENSE.txt) site for more details.
## Contributing
Have suggestions or improvements for the TRIK Studio Pioneer Tool? Open an [issue](https://github.com/trikset/trik-studio-pioneer-tool/issues) in our repository. We appreciate your feedback and contributions!

0 comments on commit 2af7f67

Please sign in to comment.