model3501api

API for MCCI Type C Super MUTT Model 3501.


Licenses
Zlib/Libpng
Install
pip install model3501api==1.0.6

Documentation

model3501lib

MCCI Model 3501 SuperMUTT Python based library for control and operation

Install Python3.7 (32-bit) package

install python package from python.org

Install Python3.7 (64-bit) package

install python package from python.org

Install pip package

pip --version
python -m pip install --upgrade pip

Prerequisites for running or building

On Windows:

Development environment

  • OS - Windows 10 and 11 64 bit
  • Python - 3.7.8
  • pyusb - 1.2.1
pip install pyusb

Installing model3501lib Packages

  1. Clone the repository from github

  2. Open a cmd terminal and change directory to {path_to_repository}/model3501lib. using cd into the root directory where setup.py is located

  3. To install the library in your local Python setup, enter the command in Windows OS

python setup.py sdist bdist_wheel

python install .

Please navigate to dist/ directory and you will find the files .egg file. Example: model3501api-1.0.0-py3.7.egg

package usage

Create a Python file named Simpletest.py and open in text editor and import the model3501lib modules.

from model3501lib import DeviceController, set_speed
from model3501lib import getrdoController, get_rdo_status
from model3501lib import getpowerRoleController, get_power_role_status
from model3501lib import ChargeController, set_charge
from model3501lib import CDstressONController, onset_cdstress
from model3501lib import CDstressOFFController, offset_cdstress
from model3501lib import PDCaptiveCablesController
from model3501lib import PDChargerPortController, pd_charger_port_status
from model3501lib import FindDeviceController, find_device_status
from model3501lib import ReconnectController, reconnect_status
#import the time for using delay between each commnds
import time

Sending a cmd for find device details

find_device_status()

Sending a cmd for Set Speed

#Set to speed: s is super speed , h is high speed, l is low speed
set_speed('s')
set_speed('h')
set_speed('l')

Sending a cmd for Emulate Charge

#Emulate a PD charger with max watts 'W'.
 #15W (5V 3.0A)
 #27W (9V 3.0A)
 #45W (15V 3.0A)
 #set_charge(w)
 set_charge(15)

Sending a cmd for CDStressOn

#Enable connect disconnect stress
onset_cdstress()

Sending a cmd for CDStressOff

# Disable connect disconnect stress
offset_cdstress()

Sending a cmd for Reconnect X Y

# Disconnect and reconnect the Type-C MUTT one time with
#optional wait times (in ms), X before disconnect,and Y beforereconnect.
# Test reconnect functionality with specified delays
delay_disconnect_ms = 5000  # 1 second
delay_reconnect_ms = 10000  # 1 second
reconnect_status(delay_disconnect_ms, delay_reconnect_ms)

Sending a cmd for PdChargerPort

# Switch PD to charger receptacle
pd_charger_port_status()

Sending a cmd for PdCaptiveCable

#  Switch PD to captive cable
pd_captive_cables_status()

Sending a cmd for GetRdo

#  Read the RDO for the current power contract
get_rdo_status()

Sending a cmd for GetPowerRole

#  Read the current power role
get_power_role_status()

Installing package via pip cmd

pip install model3501api

Development

  • It is a fully independent package. All necessary things are installed during the normal installation process.
  • currently works and tested only for Windows.

Demo

Demo Video

Release History

  • Initial release