Giter Site home page Giter Site logo

cstigler / lxstudio-ascensionpod Goto Github PK

View Code? Open in Web Editor NEW

This project forked from heronarts/lxstudio-p4

0.0 0.0 0.0 22.58 MB

LXStudio to run the Ascension Pod

Home Page: http://lx.studio

License: Other

Processing 79.54% Python 3.53% C++ 4.93% Java 9.47% HTML 0.38% JavaScript 1.93% CSS 0.23%

lxstudio-ascensionpod's Introduction

All the Ascension Pod code and instructions are in this repo and the sibling repo here: https://github.com/theicfire/artnet-play. There's a variety of READMEs in various folders.

LXStudio

Getting started with LXStudio was a struggle, but now that I understand how it works, I'm a big fan! Some quick things worth noting:

  • There are two ways to run LXStudio -- via the IDE or via Processing. This uses the Processing direction, because we couldn't figure out how to get the IDE version working. Here are the relevant instructions:
    • LX Studio runs on top of Processing 4. Download and install Processing 4 →
    • Download LXStudio-P4 and then clone this repo.
    • You may need to install Java as well to get Processing to run.
    • Next, open the LXStudio.pde project in Processing 4 and click Run.
  • Some LXStudio references:

Notes and Gotchas

  • I made a walkthrough/getting started video!
  • The LXStudio/ImagePattern.pde pattern is pretty powerful. It allows you to pick some image, and then the LEDs will get mapped onto that image and "move around" over time. They move around in the X and Y direction via a sine wave. The periods of these sine waves are configurable to speed things up/slow them down. The code effectively creates an "infinite canvas" of the image, where the image is mirrored back and forth in all directions. In addition, when an LED is at a certain point in the image, we use bilinear interpolation to figure out what color it should be based on what colors it's near.
  • I don't know where all the LXStudio code is. I.e. I don't know where the UI code is. Maybe it's not open source?
  • Note that this repo simply has some pre-built JARs that are used. The only compilation that's running is the patterns you write.
  • The LXStudio interface is largely about "live" VJing. You could in theory have this run on a Raspberry Pi, and have a sibling application control it. Probably through OSC? See the midi-to-osc folder on how to do that. I'm not sure what the typically recommended way to do it is.

Chroma Tech Controller Initial setup

  • Plug in power, leds, ethernet, and micro usb cable according to the datasheet/wiring diagram

  • Share your macbook internet connection

    • Your macbook will probably need an ethernet dongle
    • Go here:

    image

    • Before turning “internet sharing” on, configure it like this:

    image

  • Plug in micro usb to the controller

  • Now go to https://config.chroma.tech/config

    • connect to the device
    • netstate tab should show ethernet is connected
      • it should give you an ip address. Use that to send data to LX Studio
    • Select the right chipset in the leds tab (Ws2815) .. I picked length 170 but I’m not sure yet if that’s right
    • ethernet needs the following custom config:
      • ip: first: 10.42.0.2, second: 10.42.0.3
      • subnet: 255.255.255.0
      • gateway: 10.42.0.1
    • configure artnet like this:
      image
    • note: The numbers here are off-by-one from the spec. i.e. “out 1” on the spec is channel 0 on the config UI.
    • note: each power supply is only distributed to 4 ports. You need 2 power supplies to handle 8 LED strips.
    • note: to reset the microcontroller (if it’s hanging or when changing settings just in case), you need to unplug both the microusb and both power supplies. Otherwise it’ll stay on.
    • note: I'm not sure if the length is the number of LED pixels, or the number of channels (3* LED pixels for r, g, b). I presume it's the latter, so you'll actually want to set these to 512 instead.
    • Optional: Set up wifi
    • globals tab
      • brightness - 255
      • target_fps - 60 .. I’m not sure what this does though, this is a guess
  • Run LXStudio and you should see the LEDs light up!

Misc Notes

Charlie's computer couldn't get the custom LXStudio UI working for some reason, so there's a branch called charlie/fix-locally that removes these.

How to output > 170 LEDs on a single channel

The maximum channels in a universe is 512. So for RGB, that's floor(512/3) == 170. To handle this with LXStudio and the Chroma Tech Controller, do the following: LXStudio - LXStudio seems to overflow naturally. So just put > 170 points for a fixture. Say you're using universe 10 with 200 points. LXStudio will map that to universe 10 of 170 points, and universe 11 of 30 points. Note that you'll get errors if you try to use universe 11 without that 30 offset, then.

Chroma Tech Controller - Do something like this: image

Note that the offset is referencing the offset of the LEDS in the channel, not the offset of the universe!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.