Skip to content

Open-Acidification/TankControllerPython

Repository files navigation

Tank Controller in Python

All Contributors

Project Motivations

Update the TankController code from C++ to Python and run on a Raspberry Pico.

Requirements

To set up and run this project, the system must meet the following requirements:

  • Python: The project requires Python to run. Python provides the runtime for the scripts and the GUI components.
  • pip: Python's package installer is needed to install and manage dependencies.
  • pipenv: Used for managing project dependencies and creating isolated virtual environments.
  • Tkinter: Required for the GUI components of the application. Tkinter comes with Python (as python3-tk) and is used to build and display the UI.

Windows Developer Instructions

Test Python version:

  • python -V
    This command prints the installed Python version.

Upgrade pip:

  • pip install --upgrade pip
  • pip --version
    The first command upgrades pip to the latest version, and the second verifies the installed version.

Install pipenv (tool for dependencies and virtual environments):

  • pip install pipenv
  • pipenv --version
  • pipenv install This installs or updates all dependencies defined in the Pipfile and updates the Pipfile.lock.

Verify Tkinter installation:

  • python -m tkinter
    A small GUI window should appear if Tkinter is installed correctly.

Run in Local Environment

To run in a local environment with mocked devices (with the UI State Machine integrated)

./run_gui.sh

Update Python Virtual Environment

Run pipenv install in the terminal to get the latest dependencies and update the lockfile.

Virtual Environment

python3 -m venv .venv
source .venv/bin/activate
pip3 install --user pipenv

Testing

To perform Pytest tests for the devices and UI states.

./test.sh

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Kaden Sukachevin
Kaden Sukachevin

💻 📖 🐛
Preston Carman
Preston Carman

💻 🐛
Konrad McClure
Konrad McClure

💻
Noah-Griffith
Noah-Griffith

💻
Barun Debnath
Barun Debnath

💻
Kieran Sukachevin
Kieran Sukachevin

⚠️ 💻
Josh Soref
Josh Soref

💻
TaylorSmith28
TaylorSmith28

⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Starting with AlkalinityTitrator base and creating an python based Tank Controller

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10

Languages