Skip to content

Commit

Permalink
Merge pull request #12 from maclariz/refactor-requirementsAndReadme
Browse files Browse the repository at this point in the history
- `zeroconf` & `PyVISA-py` added as dependencies
- Added getting started & usage guide to `README.md`
- Added package update pipeline guide to `README.md`
  • Loading branch information
ShreyanshJF authored Sep 22, 2023
2 parents 11e1811 + d3867f7 commit 8a2f87b
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 5 deletions.
48 changes: 44 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,53 @@
![GitHub release (with filter)](https://img.shields.io/github/v/release/maclariz/HallPy_Teach)
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/maclariz/HallPy_Teach/.github%2Fworkflows%2Fpackage-build-and-publish.yml) ![PyPI - Version](https://img.shields.io/pypi/v/HallPy_Teach)


### Get Started
> pip install hallpy_teach
## Description
This package uses PyVISA to control and read instruments (power supplies, multimeters etc.) to run experiments in the Physics Honours Laboratory, initially for Hall Effect, although control of Curie Weiss law is also envisaged. This automates the data acquisition and allows easy recording of many data points in patterns or intervals defined by the user, and produces data files containing the results in numpy arrays, suitable for plotting and data analysis.

## Get Started
Install the package
```python
pip install HallPy_Teach
```
Import it in a Jupyter notebook or anyother notebook like python environment
```python
import HallPy_Teach as hp
```
Doing an experiment
There are two methods to doing experiments.
***Method 1*** requires less hassel and allows you to setup your instruments to run the experiments via a GUI. The GUI will guide you through connecting and trouble shooting the required experiment and subsiquently the intsruments required for the selected experiemnt.
***Method 2*** is a more manual approach, this is the less prefered option but we've stated the second method here anyway because it is the method one would follow if they design their own experiment file. The guide to setting up your own experiments can be found on the [HallPy_Teach Website](https://hallpy.fofandi.dev/guides/)

### Method 1
#### Step 1: Experiemnt & Instrument Setup
When the following code block is run you will be guided through choosing the experiment and setting up the instruments for said experiment.
```python
import HallPy_Teach as Teach
experiment = Teach.Setup()
```

#### Step 2: Experiment Parameters & Data Collection
***You cannot run Step 2 without compelting step 1*** <br>
When the following code block is run you will start seeing the data being collected.
Only run this codeblock once your you've setup your experiment aparatus and you're ready to collect the data.
If the experiment requires parameters to be set, such as *voltage sweep ranges* and *data collection intervals* you will see a guide to setting the required parameter(s).
Once the data collection has started you should see the data being visualised as it comes in. Once all the data is collected you should see a prompt saying so.
```python
data = experiment.doExperiment(experiment.expInsts)
```

### Method 2
***Read Method 1 before reading Method 2***
As stated before **Method 2** is added so users can run their own designed experiments. As you can see in the example below we are importing `yourExperimentFile.py` from which we will get the custom experiment.
```python
import yourExperimentFile.py as yourExp
import HallPy_Teach as Teach
allInstruments = Teach.initInstruments()
yourExpInstruments = yourExp.setup(allInstruments)
data = yourExp.doExperiment(yourExpInstruments)
```
As stated before **Method 2** exists so that you can run your own experiemnts which means that supporting good error handeling and guides for how to solve said errors is down to the author of the custom experiment. Just for the sake of reference, you can find a code block below which runs the `HallEffect` experiment, a experiment provided by the library, with **Method 2** instead of **Method 1**.

## Guide to push updates to the package
- Make your changes on a different branch
- Create a [New Pull Request](https://github.com/maclariz/HallPy_Teach/compare) which merging your branch to main.
Expand Down
4 changes: 3 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ numpy~=1.20.0
ipywidgets~=7.7.1
ipython~=7.20.0
PyVISA~=1.12.0
constants~=0.6.0
PyVISA-py~=0.7.0
constants~=0.6.0
zeroconf~=0.112.0

0 comments on commit 8a2f87b

Please sign in to comment.