Skip to main content

A Python module to control a FreshRoastSR700 coffee roaster.

Project description

https://travis-ci.org/Roastero/freshroastsr700.svg?branch=master https://coveralls.io/repos/Roastero/freshroastsr700/badge.svg?branch=master&service=github Documentation Status

A Python module to control a FreshRoastSR700 coffee roaster.

Usage

import time
import multiprocessing
import freshroastsr700

# freshroastsr700 uses multiprocessing under the hood.
# call multiprocessing.freeze_support() if you intend to
# freeze your app for packaging.
multiprocessing.freeze_support()

# Create a roaster object.
roaster = freshroastsr700.freshroastsr700()

# Conenct to the roaster.
roaster.connect()

# Set roasting variables.
roaster.heat_setting = 3
roaster.fan_speed = 9
roaster.time_remaining = 20

# Begin roasting.
roaster.roast()

# This ensures the example script does not end before the roast.
time.sleep(30)

# Disconnect from the roaster.
roaster.disconnect()

API & Documentation

Complete code documentation and a breakdown of the FreshroastSR700 communication protocol can be found at freshroastsr700.readthedocs.org. The Fresh Roast SR700 can be purchased directly from the manufacturer at homeroastingsupplies.com.

Installation

The latest release of this package can be installed by running:

pip install freshroastsr700

Please note that on OS X and Windows systems, you will need to install te ChiHeng CH341 driver in order for the freshroastsr700 module to talk to hardware. The easiest way to do this is to download the Openroast installer package, which bundles these drivers.

Version History

Version 0.2.4 - Oct 2017

  • Resolves feature request documented in issue #31 freshroastsr700 object can now be instantiated with manual control of the software-based heater algorithm. Tested in Ubuntu 16.04.

Version 0.2.3 - May 2017

  • Resolves issues #22, 23, 24 and 25, and 29 (the latter introduced by 0.2.2). Added logic to handle hardware connects and hardware disconnects properly in all supported OSes. Software now supports multiple connect()-disconnect() cycles using the same freshroastsrs700 object instance. Tested in Windows 10 64-bit and Ubuntu 14.04.

Version 0.2.2 - May 2017

  • [Introduced issue #29. Inoperable in Windows environments - do not use.]

Version 0.2.1 - March 2017

  • Resolves issue #20 by managing hardware discovery logic in the comm process, eliminating the need for the thread heretofore associated with auto_connect. Openroast 1.2 (currently in development) now operates properly in Windows 10 64-bit, with this fix.

Version 0.2.0 - March 2017

  • Completely rewritten PID control for tighter tracking against target temperature (when freshroastsr700 is instantiated with thremostat=True).

  • Callback functions for update_data_func and state_transition_func now called from a thread belonging to the process that instantiated freshroastsr700. This was necessary for Openroast version 1.2 code refactoring.

  • Reduced processor load for PID control as part of code refactoring.

Version 0.1.1 - Dec 28 2017

  • Added support for python 2.7.

Version 0.1.0

  • (no notes)

License

MIT License. Please refer to LICENSE in this package for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freshroastsr700-0.2.4.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

freshroastsr700-0.2.4-py2.py3-none-any.whl (18.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file freshroastsr700-0.2.4.tar.gz.

File metadata

File hashes

Hashes for freshroastsr700-0.2.4.tar.gz
Algorithm Hash digest
SHA256 7e7a07421d423010e181fd834e32cbc2bbaefb0840995692f665e97e477d5a36
MD5 3f341bd4480a42999467e8bc15dfea93
BLAKE2b-256 617bf71b6d5b58df47ab251c79fb336b5e26c0113d2208b3725a3e5115a13044

See more details on using hashes here.

File details

Details for the file freshroastsr700-0.2.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for freshroastsr700-0.2.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5be32b6148a18fe274e17143db7e5eb60a0d8648135bddec447c51e65a928a04
MD5 3a9565c37c778cea826fc70bbd7dcc3e
BLAKE2b-256 dfb24d51e2c7eb70ff5d74a6fc529dc3960577451c4d6f47a320f4178558ed22

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page