- Python 3 (but below 3.10). And the following packages using `pip`. Alternatively, you can just switch the file source of the Command line Prompt by using 'cd <Project_File_Directory>' and after that, run `pip install -r requirements.txt` in to have all packages installed automatically
First open the `.ino` file from `nano_c_mk1` directory using Arduino IDE and download it onto an Arduino board. Alternatively, you can use the arduino extension on VSCode to download it into your boards and run the interface python code. ~~Or if you are using Arduino Mega 2560 you can
use the code in `ReadAnalog` folder by open the folder in VSCode and run with PlatformIO, or just run `flash.py` in a terminal~~
~~(Arduino Mega and Uno boards are no longer supported. Please use [this link](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html) to
use on Arduino IDE or PlatformIO for VSCode)~~ (There's a hardware upgrade so that the firmware has been re-written for the new hardware. You can checkout the 'esp32' branch or the old stuff)
For Windows you can just [download the released executable](https://github.com/Seal-Ammonia/Read-Sensor-Resistances/releases/download/beta1_1_1/SeeDatResistance.exe) from the release section to use. Make sure to disable any virus-scanning software when download as Microsoft incorrectly recognized PyInstaller as virus. For non-Windows systems you can just run `python test.py` and start from the UI. Enter the relevant information and start collect and measuring data. If you do not have a board avaliable, leave the dropdown menu in the UI as "no device" and it will run a simulation.
For windows, assuming you are not using Anaconda's python (cuz pyinstaller will not include some of the DLL's for conda with this method), you may use the pseudo Makefile `make.bat` to build a python environment for the front end codes. Call `make run` to run the program. And `make clean` to delet all local temporary files and environment files before you make any commit. We recomment to use VSCode to do both interface and firmware development.
using `serial_plotter.py`. To make your own executable, simply use the psydo makefile in a terminal with command `make exe` to build one. Alternatively, use `PyInstaller` by using this command in your python environment: `pyinstaller build.spec`.
ATTENTION MAC + LINUX USER: currently the software cannot correctly functional on unix (especially arm-based ones). You might need to consider to use it on a windows VM or using parallel desktop. The school's engineering department has one, you can learn more [here](https://www.engr.washington.edu/mycoe/computing/studentresources/coevdi.html).
- ~~Newer hardware will require 3.3V. Currently can only use 5V as input voltage. May need to change the algorithm in `read_arduino.py`.~~ The new software now allows user to change this
- [X] Inputting value of 0 for window size should have an infinite window size
- [X] Accept any inputs (such as resistor values, plot window size, base voltage etc.) as either command line argument or as input at beginning of program
- [X] Write random values to simulate a sensor if no sensor available (this feature might be removed in the future)
- [X] Advanced option menu in the UI to allow user to make more adjustments