Library to control XY Screens projector screens and projector lifts.
Project description
Python library to control XY Screens projector screens and lifts
Introduction
This python library lets you control XY Screens projector screens and lifts over the RS-485 interface.
XY Screens is an OEM manufacturer of projector screens and lifts, their devices are sold around the world under various brand names.
Features
- Calculates screen position
- Synchronous and asynchronous methods
- Uses Callbacks for asynchronous methods
Hardware
I use a cheap USB RS-485 controller to talk to the projector screen where position 5 of the RJ25 connector is connected to D+ and position 6 to the D-.
See the documentation of your specific device on how to wire yours correctly.
Protocol
If your devices follows the following protocol it's supported by this Python library:
2400 baud 8N1
Up command : 0xFF 0xAA 0xEE 0xEE 0xDD
Down command: 0xFF 0xAA 0xEE 0xEE 0xEE
Stop command: 0xFF 0xAA 0xEE 0xEE 0xCC
Supported projector screens and lifts
The following projector screens is known to work:
- iVisions Electro M Series
The following projector screens and lifts are not tested but use the same protocol according to the documentation:
- iVisions Electro L/XL/Pro/HD Series
- iVisions PL Series projector lift
- Elite Screens
- KIMEX
- DELUXX
Please let me know if your projector screen or projector lift works with this Python library so I can improve the overview of supported projector screens and lifts.
Installation
You can install the Python XY Screens library using the Python package manager PIP:
pip3 install xyscreens
xyscreens
CLI
You can use the Python XY Screens library directly from the command line to move your screen up or down or to stop the screen using the following syntax:
Move the screen down: python3 -m xyscreens <serial port> <time> down
Stop the screen: python3 -m xyscreens <serial port> <time> stop
Move the screen up: python3 -m xyscreens <serial port> <time> up
Where <time>
is the time in seconds to move the screen down, respectively up. The process will
wait till the screen is down/up and show the progress.
Troubleshooting
You can add the --debug
flag to any CLI command to get a more details on what's going on. Like so:
python3 -m xyscreens <serial port> <time> down --debug
Support my work
Do you enjoy using this Python library? Then consider supporting my work using one of the following platforms, your donation is greatly appreciated and keeps me motivated:
Hire me
If you're in need for a freelance Python developer for your project please contact me, you can find my email address on my GitHub profile.
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
File details
Details for the file xyscreens-0.1.1.tar.gz
.
File metadata
- Download URL: xyscreens-0.1.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b67fa49f07d004f87f152040af3f7608fc4edbd7b8e3499d701c021a9f41bbc8 |
|
MD5 | d4d1391ded9c1214142313c298aa8628 |
|
BLAKE2b-256 | 09050caea1533e2a375d84f94c3e93213c2081b11769c48c67a650d62b2a8bfe |
File details
Details for the file xyscreens-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: xyscreens-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67637e5680b8fba3308e76d25de1c314530a4c61cd7a5613f4ce1a0810fb395d |
|
MD5 | 0f5984bd29dfc69979d7a2741fd49b1c |
|
BLAKE2b-256 | f30d8ca8aed0c6f18834a72a4b86e5be7db71bcccb4a8f45b134b0770e2c1fbf |