Software TCSP. 2 project overview The Purdue Party Platform is a device that utilizes the...

Post on 24-Dec-2015

222 views 0 download

Tags:

Transcript of Software TCSP. 2 project overview The Purdue Party Platform is a device that utilizes the...

Software TCSP

2project overview

The Purdue Party Platform is a device that utilizes the well-established DMX protocol to control entertainment-oriented lighting fixtures.

There are many readily available DMX controllers on the market; however, they often are very complex and have steep learning curves.

We hope to create a device that is simple to use and oriented to the common college student. The PPP will be more aesthetically pleasing and user-friendly than its commercial counterparts.

3PSSCs

— An ability to manually control functions of a DMX lighting fixture, e.g. color, intensity, motor speed, operating mode (lighting fixture specific).

— The timer module will be used to transmit DMX data over GPIO lines at the specified rate of 250 kbaud.

— An ability to display current light settings to the user in a graphical manner.

— The UART module will be used to control the serial LCD.

— The software will also interpret user input through the RPG’s and keypad scanner

4PSSCs

— An ability to play back pre-programmed and user-created lighting sequences.

— The software will have the pre-programmed sequences in flash, and the user programmed sequences in SRAM

— An ability to advance through lighting sequences automatically or manually.

— Periodic interrupts, such as through an RTI module, will be used to advance automatically.

— User generated inputs, read by the keypad scanner, will be used to advance manually.

5PSSCs

— An ability to save/load lighting sequences to/from a removable flash memory device.

— The SPI module will be used to write the user programmed sequences from SRAM to SD or read them from SD into SRAM.

6initializations

— ADC—10 bit—no averaging—1 conversion, no sequences

— UART—115.2 Kbps—No parity—One stop bit

— SPI—Master mode—100 KHz – 400 KHz

7funcs\variables

— Menu-servicing routine

— Array of integers for current DMX settings

— Array of integers for pre-set sequences, as well as user defined sequences

— ~1.5 kB / sequence— 4 “preset” sequences (flash)— 4 user-defined sequences (SRAM,

USB/SD)

8

— Real-time processing is not necessary

— DMX protocol: 250 kbaud

— Minimum frame rate: 1 fps

— State-machine (flag based)

— DMX must be transmitted at minimum frame rate

9dmx packet

10block diagram

11block diagramMain Program (Hierarchy)

ADC( Audio Input Circuit )

UART \ LCD routines(Channel Control)

SD Read(SPI)

SequenceMenu

SD Write(SPI)

Cycle LEDColors

ExecuteSequence

ManuallyAdvance

AutomaticallyAdvance

Send DMX Packets

12

Initializations

DMX on?

Process Input(Modify DMX channel,Advance sequence,Read\Write SD card,

Etc.)

Yes

KeypadInput?

Yes

TimerOver

~1 sec?

Yes

TransmitDMX packet

Reset Timer

ADC on?

Yes

ThresholdCrossed?

Yes

ChangeInternal LED

color