Skip to main content

Library to control XY Screens projector screens and projector lifts.

Project description

Python library to control XY Screens projector screens and lifts

Python GitHub Release Licence Maintainer
Github Sponsors PayPal BuyMeCoffee Patreon

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-.

image

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:

Github Sponsors PayPal BuyMeCoffee Patreon

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xyscreens-0.1.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

xyscreens-0.1.1-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

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

Hashes for xyscreens-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b67fa49f07d004f87f152040af3f7608fc4edbd7b8e3499d701c021a9f41bbc8
MD5 d4d1391ded9c1214142313c298aa8628
BLAKE2b-256 09050caea1533e2a375d84f94c3e93213c2081b11769c48c67a650d62b2a8bfe

See more details on using hashes here.

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

Hashes for xyscreens-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 67637e5680b8fba3308e76d25de1c314530a4c61cd7a5613f4ce1a0810fb395d
MD5 0f5984bd29dfc69979d7a2741fd49b1c
BLAKE2b-256 f30d8ca8aed0c6f18834a72a4b86e5be7db71bcccb4a8f45b134b0770e2c1fbf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page