Metadata-Version: 2.4
Name: tomato-mcc
Version: 2.1.1
Summary: This package is a part of tomato, made for automation of MCC DAQ temperature loggers (ME-Redlab, Digilent).
Author-email: Peter Kraus <peter.kraus@ceramics.tu-berlin.de>
Project-URL: Repository, https://github.com/dgbowl/tomato-mcc
Project-URL: Issues, https://github.com/dgbowl/tomato-mcc/issues
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcculw>=1.0.0; platform_system == "Windows"
Requires-Dist: uldaq>=1.2.3; platform_system == "Linux"
Requires-Dist: tomato>=2.1rc3
Provides-Extra: testing
Requires-Dist: pytest; extra == "testing"
Dynamic: license-file

# tomato-mcc
`tomato` driver for MCC DAQ temperature readers (ME-Redlab, Digilent).

This driver is based on the [`mcculw`](https://github.com/mccdaq/mcculw) library for Windows, and the [`uldaq`](https://github.com/mccdaq/uldaq) library for Linux. This driver is developed by the [ConCat lab at TU Berlin](https://tu.berlin/en/concat).

## Installation
### Windows
1. Install DAQami, make sure you know the `dllpath` where `cbw32.dll` and `cbw64.dll` can be found. Normally, this is `"C:\Program Files (x86)\Measurement Computing\DAQ"`.
2. Install InstaCal, configure your board selecting appropriate thermocouple type. This will generate `CB.CFG`. **Note:** This needs to be done every time a new board is connected and the board numbers may change.
3. Pass the `dllpath` as `settings['dllpath']` to the driver.
4. Optionally, you can set thermocouple type per channel using `settings['tc_type'][<channel>]`.

### Linux
1. Install the `libuldaq` library, either from source or from your package manager.
2. Make sure you have the right permissions for access to the USB device. Usually this can be achieved by adding your user to the `adm` group.
3. Optionally, you can set thermocouple type per channel using `settings['tc_type'][<channel>]`.

## Supported functions

### Capabilities
- `measure_temperature` which measures the temperature on a given board (`address`) and `channel`

### Attributes
- `temperature` which is the current temperature, `pint.Quantity(float, "degC")`

## Contributors

- Peter Kraus
