Skip to content

Arduino and web GUI source code for the Open Acidification tank controller (pH-stat unit).

License

Notifications You must be signed in to change notification settings

Open-Acidification/TankController

Repository files navigation

GitHub license OA Box version testing status PRs Welcome

All Contributors

Tank Controller Library

Arduino library for the Open Acidification pH Stat Controller

Use

Development

  • Use extras/scripts/install.sh to do the initial install.
  • After that use extras/scripts/testAndBuild.sh to test.
  • Release Process
    • Update the version files to a new version (e.g., v25.4.1)
    • Create a local tag on the previous commit
    • Commit only the version files to avoid edits to the version files (see extras/scripts/pre-commit)
    • Push and merge the commit
    • Fetch and move the local main to upstream main
    • Move the tag to the merged commit with the version file changes
    • Push the tag to origin and upstream
    • Use Ansible to install on oap.cs.wallawalla.edu.
  • To build the GUI simulator, see GUI/build.sh.
  • Use the extras/scripts/tasks.json file to easily start the development servers in Visual Studio Code.
    • Copy the JSON file to your .vscode directory
    • Open the Command Palette (Ctrl+Shift+P), select "Tasks: Run Task", and choose "Start All Servers". Alternatively, you can set up a keyboard shortcut to run this task.
    • Ensure you choose a device in the Flutter client terminal.
    • Navigate to http://localhost:8080/ to view the app.

Install

To install onto an Arduino Mega2560 use the Arduino IDE.

Menus

To navigate through the menus, press 2, 4, 6, or 8 on the keypad.

The following are "hidden" commands:

  • From the 'SeeDeviceAddress' command:
    • 'B' goes into an infinite loop that should trigger a reset by the watchdog timer in 8 seconds
    • 'C' regenerates a new (random) MAC address that will take effect on the next restart
  • On startup you can avoid the 60-second DHCP attempt by pressing any key

Device Web Server

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Kirt Onthank
Kirt Onthank

💼 💻 🎨 🤔 🧑‍🏫
Preston Carman
Preston Carman

🐛 💻 🤔 🧑‍🏫 👀
James Foster
James Foster

💻 🤔 🧑‍🏫 📆 👀 🐛
Kavikick
Kavikick

💻
eucalvo
eucalvo

💻 🐛
Lizj96
Lizj96

💻
khalilxl
khalilxl

💻
atg7000
atg7000

💻
Caleb Herbel
Caleb Herbel

💻
Lucas Saca
Lucas Saca

💻
EvanKropf
EvanKropf

💻
genevea
genevea

💻
Catherine
Catherine

💻
Dzyre
Dzyre

💻
Paydenb
Paydenb

💻
TaylorSmith28
TaylorSmith28

💻
benwach
benwach

💻
John Foster
John Foster

⚠️ 💻
Trevor Natiuk
Trevor Natiuk

🐛 ⚠️ 💻
Suocesky
Suocesky

💻

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

Other

  • Libraries lists the external libraries and their licenses.
  • For documentation on the Tank Controller Manager, click here
  • For documentation on running the Tank Controller Manager on Android, click here