pymodi-plus 0.3.0

Creator: railscoder56

Last updated:

0 purchases

pymodi-plus 0.3.0 Image
pymodi-plus 0.3.0 Images
Add to Cart

Description:

pymodiplus 0.3.0

Description

Python API for controlling modular electronics, MODI+.

Features
PyMODI+ provides a control of modular electronics.

Platform agnostic control of modules through serial connection
Utilities of wireless connection with BLE (Bluetooth Low Engery)

Build Status



master
develop









System Support



System
3.7
3.8
3.9
3.10
3.11




Linux







Mac OS







Windows








Contribution Guidelines
We appreciate all contributions. If you are planning to report bugs, please do so here. 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.

Installation

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

[Optional] Once you install Anaconda, then:
# Install new python environment for PyMODI+ package, choose python version >= 3.7
conda create --name pymodi_plus python=3.7

# After you properly install the python environment, activate it
conda activate pymodi_plus

# Ensure that your python version is compatible with PyMODI+
python --version

Install the latest PyMODI+ if you haven't installed it yet:
python -m pip install pymodi-plus --user --upgrade

Usage
Import modi_plus package and create MODIPlus object (we call it "bundle", a bundle of MODI+ modules).
# Import modi_plus package
import modi_plus

"""
Create MODIPlus object, make sure that you have connected your network module
to your machine while other modules are attached to the network module
"""
bundle = modi_plus.MODIPlus()

[Optional] Specify how you would like to establish the connection between your machine and the network module.
# 1. Serial connection (via USB), it's the default connection method
bundle = modi_plus.MODIPlus(connection_type="serialport")

# 2. BLE (Bluetooth Low Energy) connection, it's wireless! But it can be slow :(
bundle = modi_plus.MODIPlus(conn_type="ble", network_uuid="YOUR_NETWORK_MODULE_UUID")

List and create connected modules' object.
# List connected modules
print(bundle.modules)

# List connected leds
print(bundle.leds)

# Pick the first led object from the bundle
led = bundle.leds[0]

Let's blink the LED 5 times.
import time

for _ in range(5):
# turn on for 0.5 second
led.turn_on()
time.sleep(0.5)

# turn off for 0.5 second
led.turn_off()
time.sleep(0.5)

If you are still not sure how to use PyMODI, you can play PyMODI tutorial over REPL:
$ python -m modi_plus --tutorial

As well as an interactive usage examples:
$ python -m modi_plus --usage

Additional Usage
To diagnose MODI+ modules (helpful to find existing malfunctioning modules),
$ python -m modi_plus --inspect

To initialize MODI+ modules implicitly (set i flag to enable REPL mode),
$ python -im modi_plus --initialize

To see what other commands are available,
$ python -m modi_plus --help

History
0.3.0 (2023-01-19)

Feature


Add draw_dot function on display module


Patch


Fix write_text function error on display module if text length is 23
Change module constructor argument from uuid to id

0.2.1 (2022-12-02)

Patch


Refactor write_text input type on display module

0.2.0 (2022-12-02)

Feature


Refactor getter/setter for each MODI+ module

0.1.1 (2022-11-23)

Feature


Change python minimum version to 3.7

0.1.0 (2022-11-22)

Feature


Add creation examples (brush, dodge)
Add network, battery module functions
Fix play_music function on speaker module
Add preset resource on speaker and display module
Add search module time and timeout exception

0.0.2 (2022-11-18)

Feature


Change python minimum version to 3.9

0.0.1 (2022-11-15)

Release initial version of the package on in-house GitHub

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.