## UI for IR6500 BGA Rework Station
## 

Dependencies:

```
PyQT5
pyqtgraph
pyserial
```

To run:

```
cd pc410
python3 src/main/python/main.py
```


Each row in the table below is one program.
Click on row to show graph representing temperature curve. 
Drag in graph to edit parameters, table will update automatically.

r-columns are rate in degrees C/second.
l-columns are level ie target temperature for each step
t-columns are dwell time ie how long to stay at the target temperature before continuing.

Each program has 8 steps.
If rate is 0.0 this means STEP which ignores the rate slope and goes straight to dwell time.
If rate is -0.01 this means END which makes the program end at that step.
The PC410 controller can also chain programs together but that is not implemented here yet.

Save will save the current settings to .pc410Settings in the HOME-directory. This file will always be loaded when the program starts.

Add row will add an empty row at the end or after the currently selected row, if any.
Run will start running the program and then also plot the current temperature over time as it runs.
Stop will stop the runnin program.
Start button and stop button on IR6500 will have the same effect.
Read program reads the parameters of the current program into the selected line on the table, or to a new line if none was selected.
Write program will write the parameters from the selected line to the IR6500.

The IR6500 has 9 program slots but since I haven't been able to figure out how to select or know which slot is selected over the serial interface all read/write operations work on the currently selected slot.

The clock shows time passed since run started. 
Bottom right shows all the state paramters from the PC410