Skip to content

Implementation of virtual MODI modules, written in Python

License

Notifications You must be signed in to change notification settings

LUXROBO/virtual-modi

Repository files navigation

VirtualMODI

Python Versions Release (PyPI) Build Workflow Status (Github Actions) CodeFactor Grade GitHub LICENSE Lines of Code

Description

Implementation of virtual MODI modules, written in Python.

Features

VirtualMODI mimics the operation of MODI HW modules.

  • Performs message generation and destruction for MODI1 and 2 modules
  • Provides MPI through various connections including serial and TCP

Installation

When installing VirtualMODI package, we highly recommend you to use Anaconda to manage the distribution. With Anaconda, you can use an isolated virtual environment, solely for VirtualMODI.

[Optional] Once you install Anaconda, then:

# Install new python environment for VirtualMODI package, choose python version >= 3.6
conda create --name virtual-modi python=3.6

# After you properly install the python environment, activate it
conda activate virtual-modi

# Make sure that your python version is compatible with VirtualMODI
python --version

Install the latest version of VirtualMODI:

python -m pip install virtual-modi --user

Usage

Import virtual-modi package and create then open the VirtualBundle instance.

from virtual_modi import VirtualBundle
vb = VirtualBundle()
vb.open()

When creating the bundle object, you can optionally pass configuration parameters.

vb = VirtualBundle(conn_type='soc', modi_version=1)

Otherwise, you can use docker to run the application.

docker run --name virtual-modi -d --rm -it -p 8765:8765 1uxrobo/virtual-modi:0.3.1