Abhishek’s Status Report for Apr 29

Abhishek, Weekly Status Reports
Personal Accomplishments This week I was working mainly on finishing up part of the logic for the signal processing. The function that I was writing essentially creates a set of function calls for each time step. The function call choices are to hold, setColor, rotate, fade, colorCycle, strobe, or blackout. It can decide which function to call and which lights to call which function as well. This in turn means that it is implicitly controlling the effect duration as well since it is able to hold, in which case it lets the current functionality continue running until an overriding command takes its place. I also spent a decent amount of time working and practicing for the presentation that I had to give earlier this week. On Track? Now what is…
Read More

Abhishek’s Status Report for Apr 22

Abhishek, Weekly Status Reports
Personal Accomplishments I spent the majority of this week helping with the lighting logic, working on testing functionality, and integrating components of the project together. In terms of the lighting logic, I was able to create the functionality for two main functions: the select_lights and the select_function functions. The select_lights function determines which lights in the gigbar2 will be activated for the upcoming lighting command. The logic behind this decision was based purely on the normalized energy values. It sets different thresholds of energy and depending on the energy threshold it determines how many lights and which lights should be activated. Ranking from lowest energy to highest energy we have. Lasers, laser+derbys, pars, pars and derbys, pars derbys and lasers, and finally all lights together. For the select_function function, I…
Read More

Abhishek’s Status Report for April 8

Abhishek, Weekly Status Reports
Personal Accomplishments This past week, I worked extensively on the lighting engine and implemented almost all the functionality to the point where that subsystem is complete. Each of the lights can be controlled individually and in groups. The lighting calls can be made sequentially or can be made concurrently as well. There was a lot of work that went into implementing the multithreaded nature of these lighting calls. They can now perform a certain function indefinitely until the lighting logic issues a light a new command.    I also started working on attempting to use real time audio input and perform the signal processing live. This is a reach goal for us at the moment, but it is still something that I wanted to attempt. Using pyaudio, and a Focusrite…
Read More

Abhishek’s Status Report for April 1

Abhishek, Weekly Status Reports
Personal Accomplishments This week, I was working on the Expressive Lighting Engine and I was able to get the lights tested with a lot of different functionality. I designed the lighting system to function like a tree. They have functions such as Select Color, Fade, Rotate, and Color Change. All of these functions have respective implementations for different lights. Right now we are using pars, derbys, strobes, and lasers. Each of these lights can only do some of the functionality but they can not all perform the same function. However I have programmed them to use the best approximation of each function. For example derbys cannot use all colors but they will approximate with the color range that they have. This means that we can control the Gigbar as a…
Read More

Abhishek’s Status Report for March 25th

Abhishek, Weekly Status Reports
Personal Accomplishments This week we spent working on integration and advancing my individual part in the Expressive Lighting Engine. The work on the lighting engine involved taking care of bugs and building out certain functionality. I implemented strobe, fade, blackout, and color cycle and color hold ended up working after some significant bug fixes. The fade is especially hard because an input to the fade function was how long the fade should take to reach from one color to the next. The way that I have been writing these fades is to increment and decrement the light color intensities until the desired color is reached. This is tough if the fade is over a long period of time because then the change in color will be very granular and less…
Read More

Abhishek’s Status Report for March 25th

Abhishek, Weekly Status Reports
Personal Accomplishments This week we spent working on integration and advancing my individual part in the Expressive Lighting Engine. The work on the lighting engine involved taking care of bugs and building out certain functionality. The implemented strobe, fade, blackout, and color cycle and color hold ended up working after some significant bug fixes. The fade is especially hard because an input to the fade function was how long the fade should take to reach from one color to the next. The way that I have been writing these fades is to increment and decrement the light color intensities until the desired color is reached. This is tough if the fade is over a long period of time because then the change in color will be very granular and less…
Read More

Abhishek’s Status Report for March 18th

Abhishek, Weekly Status Reports
Personal Accomplishments This week, the Gigbar 2 light that we ordered came, and I was able to begin properly testing my functionality. I spent the majority of this week figuring out how the lights worked, playing with the inbuilt programming of the lights, and using the DMX input to control the lights. The light set has two pars, two derbys, a laser and a strobe bar. The DMX input allows me to control each individual fixture independently. This is promising because the inbuilt programs are pretty random in their selection of what lights are on at any given moment, so with this fine degree of control we should be able to do much better than any preconfigured program. An example of this lack of inbuilt control is the fact that…
Read More

Abhishek’s Status Report (3/18)

Abhishek, Weekly Status Reports
Personal Accomplishments This week, the Gigbar 2 light that we ordered came, and I was able to begin properly testing my functionality. I spent the majority of this week figuring out how the lights worked, playing with the inbuilt programming of the lights, and using the DMX input to control the lights. The light set has two pars, two derbys, a laser and a strobe bar. The DMX input allows me to control each individual fixture independently. This is promising because the inbuilt programs are pretty random in their selection of what lights are on at any given moment, so with this fine degree of control we should be able to do much better than any preconfigured program. An example of this lack of inbuilt control is the fact that…
Read More

Abhishek’s Status Report (3/11 & 3/4)

Abhishek, Weekly Status Reports
Personal Accomplishments For this status report period, I spent the majority of the time testing and debugging the code for the lighting engine classes that I had already written. The week was also cut short by spring break, so I was not able to make that much additional progress. In terms of the testing, I was able to test the Par light functions given that the Gigbar 2 has not arrived yet. I was able to test the fade function, the strobe function, the blackout function, and the color hold function. These all had small bugs in the testing interface and software which needed to be ironed out in order to get the desired functionality. Now it should be able to mimic those changes for the other light types (derby,…
Read More

Abhishek’s Status Report (2/25)

Abhishek, Weekly Status Reports
Personal Accomplishments I spent this week working on building up the LE python code. I specifically worked on two main classes. The first is the Light class. The light class contains information about the what channels are associated with a light as well as the implementation of using DMXPi to actually change pin values. There are a few different types of Lights such as Laser, Derby, Par, and Strobe. These classes all extend the Light Class and have specific implementations for controlling them individually. The second class that I worked on is the LightSet class. The LightSet class contains a group of lights of the same kind. Different functions will be called on LightSets. Examples of these functions are flash, fade, blackout and more. These classes allow the lights to…
Read More