![]() |
MCA-1K Software Package V3 Reference |
||||||||||||||||||
MCA-1K PackageComponents |
MCA-1K Software V3The software package consists of a number of independent server and client modules serving different tasks. While there are some requirements for pre-installed software, the package itself requires no installer and the files can be copied to wherever the user wishes. It will be advantageous, although not strictly necessary, to maintain the internal folder hierarchy. RequirementsThe package is mostly written in Python and requires Python 3.7. While some of the package is compatible with Python 2.7, we have performed software testing only under Python 3.6, 64-bit, and higher. Within the package, client-server communication is established via ZMQ (www.zeromq.org). ZMQ is available for over 40 programming languages, and the protocol allows the client programmer to access our server software from many different programming languages. Hence our server software acts as a bridge between the USB-based hardware and the local network, as well as acting as a bridge between programming languages. The graphics user interface is built using matplotlib. Starting with version 3.1 of the software packet, the GUI will also use wxPy with wxWidgets. Using pip installEspecially under Python 3.7, using pip to install new software is quite simple. If the Python 3.7 installation is in your environment path, you can use the pip commands from any terminal or cmd window. Otherwise you'll need to open the terminal or command window in the folder where the pip executable can be found. ZMQ: pip install zmq. matplotlib: pip install matplotlib. USB driverWe use a user-space USB driver called libusb0.1. Most Linux-based OS ship with a working version of libusb0.1, and the user is encouraged to find the local version of the *.so file. In the near future, we will add support for libusb1.0, which is now more commonly supported. On Windows 10 a signed USB-driver is required. Bridgeport's installer provides a signed libusb-win32 driver, which is based on libusb0.1. The MCA Data Server comes with a selection of libusb0.1 shared objects and a dll. It tries to select the appropriate one from the environment information that is accessible to Python, but the user can select a particular driver file if necessary. Software componentsThe components of the software package are listed in the table below.
|