Releases: VentionCo/mm-python-api
v4.2
Python API Version 4.2
Date: September 8th 2021
Python API supports Python 3.7.3 and older. Python-API v4.2 has been updated to support the following:
-
For Linux and Mac machines, it is now possible to install the Python api system-wide. To update or install a Python API version, navigate to the folder with the new Python API and run:
make install
-
Simplified declaration of a new MachineMotion object. Creation of a MachineMotionv2 can be done as follows:
mm = MachineMotionV2()
mm = MachineMotionV2OneDrive()
-
Push Button and Power Switch modules are now supported.
-
Axes containing multiple drives can be configured and controlled as one.
-
Combined moves with the 4th drive are now allowed.
-
Enclosed ball screw is now supported.
-
Some function names have been changed to reflect MachineLogic naming. The old names are deprecated, but will still work. These functions are:
- emitSpeed -> setSpeed
- emitAcceleration -> setAcceleration
- emitRelativeMove -> moveRelative
- emitAbsoluteMove -> moveToPosition
- emitCombinedAxesRelativeMove -> moveRelativeCombined
- emitCombinedAxesAbsoluteMove -> moveToPositionCombined
- emitContinuousMove -> moveContinuous
- emitHome -> moveToHome
- emitHomeAll -> moveToHomeAll
-
There is no directions field in moveRelative, moveRelativeCombined. Simply put a positive or negative distance to set the direction of movement.
-
moveToHome is not a blocking function. To block a script while homing, simply add a waitForMotionCompletion when desired.
Known Issues
- If using the python API to control motors, you must first configure your actuators with the python API. Failure to do so can result in unexpected behaviour.
v1.6.8
Release Note: Version 1.6.8
- Date: September 27th, 2019
- Released by: Francois Giguere
Compatibility
Interface Changes
- New interfaces added
Obsoleted Interfaces
- none
New Interfaces
- setPosition
- setAxisDirection
- emitCombinedAxisRelativeMove
- emitCombinedAxesAbsoluteMove
Improvements:
- Added the multi-axis move commands
- Revised the entire API document
- Revised all examples and updated them to reflect all new changes
Bug Fixes:
- Fixed bug that was present in the writeControlDevice function that was using the v2.1 Python version nomenclature in the MQTT topics.
MachineMotion Python API - v2.1
Version 2.1
Date: 2019-09-12
The MachineMotion Python API V2.0 aims at simplifying the interfaces to the digital input / outputs and the encoder position.
Compatibility
The Python API V2 requires MachineMotion version V1.12 or newer. Please use mm-python-api V1.6.7 for prior version of MachineMotion software.
Interface changes
Obsoleted interfaces
- attachControlDevice
- detachControlDevice
- readControlDevice
- writeControlDevice
New interfaces:
- isIoExpanderAvailable(device)
- digitalRead(device, pin)
- digitalWrite(device, pin, value)
- readEncoderRealtimePosition(device)
MachineMotion Python API - v1.6.7
Version 1.6.7
Date: July 16th, 2019
Improvements:
- Added support for Python3 and Python2.
- Updated the REAMDME to include the new MQTT library dependency.
MachineMotion Python API - v1.6.5
Version: 1.6.5
Date: July 3 2019
Bug Fixes:
- Fix Line Number mismatch with the help of the 'resend' message
- Fix application hang on termination
New Features:
- Support for the rotatory indexer with constants for mechanical gain.
Improvements:
- Added more examples for each sensor port for the different control devices functions.
- Auto reconnect on connection loss
- Instead of starting a new thread each 0.1 seconds, we now start one thread at the beginning and keep it alive forever to receive messages from the server