Easy😆 and fast💨 MODI Python API package.
Project description
Description
Easy😆 and fast💨 MODI Python API package.
- Free software: MIT license
- Documentation: https://pymodi.readthedocs.io.
Features
PyMODI supports a control of modular electronics based on MODI modules developed by LUXROBO
- Easy control of modules through serial connection on Windows, Linux, and MacOS
- Direct CAN communication on raspberry pi and other platforms
- Support on Python version >= 3.6
- Utilities of firmware update and low-level debugging of the modules
UML Diagram
Build Status
master | develop |
---|---|
System Support
System | 3.6 | 3.7 | 3.8 |
---|---|---|---|
Linux | |||
Mac OS | |||
Windows |
Contribution Guidelines
We appreciate all contributions. If you are planning to report bugs, please do so at https://github.com/LUXROBO/pymodi/issues. Feel free to fork our repository to your local environment, and please send us feedback by filing an issue.
If you want to contribute to pymodi, be sure to review the contribution guidelines. This project adheres to pymodi's code of conduct. By participating, you are expected to uphold this code.
Quickstart
Install the latest PyMODI if you haven't installed it yet:
pip install -U pymodi --user
You can also install PyMODI at develop branch with:
pip install git+https://github.com/LUXROBO/pymodi.git@develop --user --upgrade
Import modi package and create MODI instance:
import modi
bundle = modi.MODI()
List connected modules:
bundle.modules
List connected LED modules and pick the first one:
bundle.leds # List.
bundle.leds[0] # Pick.
Let's blink the LED's light 5 times:
import time
led = bundle.leds[0]
for _ in range(5):
led.turn_on()
time.sleep(1)
led.turn_off()
time.sleep(1)
If you are still not sure how to use PyMODI, you can play an interactive PyMODI tutorial by running a command of
$ python -m modi --tutorial
Moreover, we provide some usage and creation examples.
History
0.1.0 (2018-06-28)
- First release on in-house GitLab
0.1.1 (2018-07-20)
- Requirements fix
- Packages' include path fix
0.1.2 (2018-07-23)
- Python 3.4 support
0.2.0 (2018-07-25)
- Speaker module support
- Display module support
0.2.1 (2018-07-27)
- Add speaker module's tune() and off() methods
- Remove duplicated codes
0.3.0 (2018-07-28)
- Support python 2.7
- Speed up the performance
0.3.1 (2018-07-28)
- Requirements fix
0.4.0 (2018-08-20)
- Performance improvement
- The first documentation complete
0.5.0 (2018-08-22)
- Change the project name to pyMODI
0.5.1 (2018-11-07)
- Fix #26 (No MODI network module connected) issue
0.5.2 (2019-10-11)
- Can control a pair of motors of the motor module by torque(), speed(), angle()
0.6.0 (2019-10-18)
- Performance improvement
- Bug fixes
0.7.0 (2020-01-23)
- Implement individual motor control
- Implement set variable method in display
- Implement test cases for each modi modules
- Implement multiprocessing version of pymodi
- Bug fixes
0.7.1 (2020-02-07)
- Refactor file structures
- Bug fixes
0.8.0 (2020-05-07)
- Implement Can Message Handler
- Implement Topology Manager
- Improve connection reliability by separating communication functions
- Bug fixes
0.9.0 (2020-07-07)
- Implement Module Firmware Updater
- Implement wireless connection via SPP
- Implement MODI Priority Queue to increase response speed
- Implement PyMODI tutor for teaching new-comers
- Support multi MODI network modules given appropriate COM ports
- Refactor getter/setter for each MODI module
- Refactor motor module to use set_motor_channel internally
- Update property values when setting properties
- Add usage/creation example to the repository
Project details
Release history Release notifications | RSS feed
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
Hashes for pymodi-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8adbf3362d06b7a5a52ba10867a8e1b4ac920983c8d740a2c864cfcb3394f70 |
|
MD5 | ea46e93292d5a2b18b36b5dba17d41e7 |
|
BLAKE2b-256 | e58411c853b04a19c9e11fa1bf24fc2f7d69d83231a538fdcc203ca39a362e9f |