Author Topic: Alex's TI-84+SE --> DMX512 control program  (Read 5307 times)

0 Members and 1 Guest are viewing this topic.

Offline alex10819

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 100
  • Rating: +1/-0
    • View Profile
Alex's TI-84+SE --> DMX512 control program
« on: March 03, 2011, 01:31:28 am »
Just wanted to show you guys the demo of this program I've been working on for a while. It allows you to control 64 channels of DMX512 through a TI84 (Needs the USB to output fast enough).

In case you don't know what DMX512 is, it's the protocol used to control stage lighting. This is completely written in TI-BASIC, with a small ASM lib to utilize the USB port efficiently.

« Last Edit: March 03, 2011, 01:34:35 am by alex10819 »

SirCmpwn

  • Guest
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #1 on: March 03, 2011, 01:33:39 am »
Wow, that's actually quite cool!  Is it in assembly?
Also, may I suggest wrapping the video in [youtube] tags so that we don't have to leave to watch it?

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #2 on: March 03, 2011, 01:34:14 am »
Looks nice. Also welcome [back] to Omnimaga, Alex.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline alex10819

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 100
  • Rating: +1/-0
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #3 on: March 03, 2011, 01:35:33 am »
Wow, that's actually quite cool!  Is it in assembly?
Also, may I suggest wrapping the video in [youtube] tags so that we don't have to leave to watch it?

Done, and as it says in the first post, it's TI-BASIC with a small ASM lib. TI-BASIC can't send frames to the USB fast enough, and the lights interpret it as data corruption and ignore it.

SirCmpwn

  • Guest
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #4 on: March 03, 2011, 01:38:30 am »
Done, and as it says in the first post, it's TI-BASIC with a small ASM lib. TI-BASIC can't send frames to the USB fast enough, and the lights interpret it as data corruption and ignore it.
I should learn to read posts entirely :P very cool, will you be posting source at some point?

Offline alex10819

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 100
  • Rating: +1/-0
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #5 on: March 03, 2011, 01:40:21 am »
Possibly, it's not quite done yet. I'm still having issues with the frame rate being a little too slow, it causes a flicker in RGB enabled lights, and it occasionally goes insane and sets all the channels to full (YAY EPILEPSY)

I've actually used it in small shows at a local venue, but it doesn't quite replace a dedicated lighting console or PC.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #6 on: March 03, 2011, 01:41:40 am »
That's impressive. It's also nice to see some BASIC was used in this. We would expect the entire program to be in ASM. I also like to see calculators used for non-conventional purposes  instead of games and math. It proves what they are capable of.

SirCmpwn

  • Guest
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #7 on: March 03, 2011, 01:42:47 am »
I'm amazed it was done mostly in Basic.

Spoiler For Did someone say epilepsy?:
:hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper:
:hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper:
:hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper:
:hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper:
:hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper::hyper:

Offline alex10819

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 100
  • Rating: +1/-0
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #8 on: March 03, 2011, 01:46:04 am »
Well, DMX is a fairly simple packet to generate. You have 512 channels, and each one is just one byte. So you're just broadcasting 512 bytes per frame, at a minimum of 100 frames per second. TI-BASIC can't quite push this out, but I hacked it into working by making the ASM lib loop what it broadcasted at 100FPS, and only changing one channel at a time. Since the program can only affect one channel at a time anyway, this means I'm generating maybe 5 FPS, and the ASM lib is broadcasting a loop for the rest without too much of a problem.

Offline z80man

  • Casio Traitor
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 977
  • Rating: +85/-3
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #9 on: March 03, 2011, 01:49:17 am »
How are you connecting the usb to the light control. It seems like that would take the most effort to set up. Also did you ever think of porting this to axe. With a similar syntax to basic but insanely higher speeds you could get a better framerate.
« Last Edit: March 03, 2011, 01:49:35 am by z80man »

List of stuff I need to do before September:
1. Finish the Emulator of the Casio Prizm (in active development)
2. Finish the the SH3 asm IDE/assembler/linker program (in active development)
3. Create a partial Java virtual machine  for the Prizm (not started)
4. Create Axe for the Prizm with an Axe legacy mode (in planning phase)
5. Develop a large set of C and asm libraries for the Prizm (some progress)
6. Create an emulator of the 83+ for the Prizm (not started)
7. Create a well polished game that showcases the ability of the Casio Prizm (not started)

Offline alex10819

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 100
  • Rating: +1/-0
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #10 on: March 03, 2011, 01:53:28 am »
It's just a miniUSB male to USB male cable connected to a USB female to USB male cable that I spliced together. My soldering skills are crap though :-/

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #11 on: March 07, 2011, 05:11:29 pm »
Cool! :D
I have no use for this, but that's amazing and unconventional, like DJ said ;D
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #12 on: March 07, 2011, 06:11:33 pm »
What asm lib are you using? USB8x?

Offline willrandship

  • Omnimagus of the Multi-Base.
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2953
  • Rating: +98/-13
  • Insert sugar to begin programming subroutine.
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #13 on: March 07, 2011, 06:26:26 pm »
Sweet, if I get stage tech next year I might try it!

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: Alex's TI-84+SE --> DMX512 control program
« Reply #14 on: March 07, 2011, 07:14:38 pm »
Sweet, if I get stage tech next year I might try it!
I have stage tech now, and want to try it.  Alas, our light board is a bit more complicated than what a calc can drive.