Parth’s Status Report (2/11)

Personal Accomplishments

The most important update for this week was understanding how to manipulate the lights with the DMX protocol and establishing a chain of communication. I started off by getting the required hardware components that include the ADJ Mega Par Profile Plus Lights, 1 DMX cable per light, 1 power cable per light, DMX 5 to 3 pin converter, USB A to USB 2 convert, Enttec DMX USB pro (and maybe a terminator). I tried the in-built sound active modes, daisy chained the lights, and tested the light behavior on multiple channel controls (4, 5, 6, 9, and 10 channels per light). I then established that we can recreate any desired behavior on the lights using only the first 4 channels, which is what we are going to do in the lighting engine going forward. 

The next important accomplishment for this week was establishing the requirements for the different subsystems. I, along with Abhishek, developed a project pipeline to produce consistent deliverables. We further sketched out the object-oriented architecture for the lighting engine. Within this, I established the input and output parameters for each subsystem and finalized how and when they will communicate with each other. I further looked into the stage and scene setups within QLC+ and the associated API. I determined the conditions in which we can directly bypass it, creating more headroom for latency.

On Track?

I had two goals to stay on track this week – establishing the design of the subsystems and understanding the DMX protocol and light setup. I managed to accomplish both of these goals, and also made some progress on the next week’s goals (I/O and channel communication). I will ensure to maintain this pace going forward so that the team does not face any bottlenecks. 

Here is a snippet of me controlling the lights using the in-built sound active modes:

 

https://drive.google.com/file/d/1K1v1Tc_UGgV0TRmXLiFpB3PPhWhhn1N5/view?usp=share_link

Goals for the Next Week?

My primary goal for next week is to do some basic UI setup and look into how the program can communicate with the lights directly. My instinct is that we might need to use a Raspberry Pi to establish this communication, but I will concentrate on making sure that the protocol I adopt for the back-and-forth data transfer is consistent with the other subsystems. Overall, it will be nice if, over the next few weeks, we are able to communicate with the lights using the UI. The UI might temporarily allow users to bypass the meta-characteristics to directly control the lights. While this is not what we want the overall functionality to be like, I believe that this will be a crucial component in testing the lights. I may update the design and functionality of the UI depending on how these temporary features turn out.

Leave a Reply

Your email address will not be published. Required fields are marked *