Skip to content

SiwatINC/espmega-lightshow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESPMega Light Show

This is a program made for the ESPMega PLCs for easily programming light show and running light show script

Features

  • User Interface for configuring controller
  • Light Grid Generator
  • Easy Clickable Light Programming
  • Dynamic Physical Light Configuration
  • Custom Script using Python
  • BPM Counter
  • Quick Load Preset

Installation

  • For Windows, run the following command in a powershell windows with admin rights
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/SiwatINC/espmega-lightshow/main/installer_win.ps1'))
  • Ubuntu Linux
    bash <(curl -s https://raw.githubusercontent.com/SiwatINC/espmega-lightshow/main/installer_ubuntu.sh)
  • macOS
    bash <(curl -s https://raw.githubusercontent.com/SiwatINC/espmega-lightshow/main/installer_macos.sh)

Running

  • The program can be run from the CLI using the command:
python -m espmega_lightshow
  • The program can also be run from the desktop/startmenu shortcut after installation.

Scripting

This template script can be used to program custom lightshow

from espmega_lightshow.scripting import UserScript
class CustomUserScript (UserScript):
    def draw_frame(self, current_time: float):
        # This function is called every frame
        # You can use self.rows and self.columns to get the number of rows and columns
        # You can use self.set_tile_state(row, column, state) to set the state of a light at row, column
        # You can use self.get_tile_state(row, column) to get the state of a light at row, column
        # You can use current_time to get the current time elapsed in seconds
        # You can use self.frame_count to get the number of frames that have passed
        pass

The script can be run by going to FileRun Script

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors