A Python3 API to interface with Rainforest Automation's EMU-2
Project description
Emu-Api
This library allows communication with a Rainforest Automation EMU-2 device. It is a rewrite of Rainforest's Emu-Serial-API in Python 3, and follows a similar architectural pattern where possible.
Usage
This API can be used in asynchronous mode or synchronous mode. Technically, communication always happens asynchronously with the Emu, but this library allows for a synchronous API to emulated.
As in Rainforest's library, we do not automatically start communication once the main object is instantiated. This
is done because the EMU-2 constantly pushes data to us over the serial connection, so we want to give the consumer
control over when this channel is opened. Before any commands are issued, the start_serial(<serial port>) method
must be called to open the serial port and begin receiving data.
The serial port name is the platform-specific device that
you wish to use. Note that unlike Rainforest's library, we do not attempt to detect the host platform or set
any port prefixes - this means that the full name of the device (prefixed with COM for Windows or /dev for OSX
and Linux, usually) must be used.
Example Usage
Synchronous
from emu_power import Emu
api = Emu(synchronous=True)
api.start_serial("/dev/tty.usbmodem146101")
# This will return an instance of InstantaneousUsage, or None on timeout.
response = api.get_instantaneous_usage()
Asynchronous
from emu_power import Emu
from emu_power.response_entities import InstantaneousUsage
import time
api = Emu()
api.start_serial("/dev/tty.usbmodem146101")
# This will return immediately. The response data will become available
# when the device responds.
api.get_instantaneous_usage()
time.sleep(5)
response = api.get_data(InstantaneousUsage)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file emu-power-1.1.tar.gz.
File metadata
- Download URL: emu-power-1.1.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4487d1ca4bdae8b88d29adbe88be500456d93c3d6b8b596604356e4ae4eeb62
|
|
| MD5 |
5b685bcf638cc2851e698b8909cdb8b0
|
|
| BLAKE2b-256 |
9cfbc1e3f6f23da5d30c8be7bd1dacc1f17cbcdbf9ea47318c36e3704671b5d2
|
File details
Details for the file emu_power-1.1-py3-none-any.whl.
File metadata
- Download URL: emu_power-1.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fe2ebd585a8422ce1b36680eda37087979afabe3ee1461dfa86f682ad7ac298
|
|
| MD5 |
b89428ddd4a98eb0fb23b0892efe9d4d
|
|
| BLAKE2b-256 |
f08c6df42106d57ba3359cc68e775954ae3530418c3e317424224544b5e1f2f8
|