The basic DMX reception and PWM generation is done. I have it setup to control 8 servos. The custom endpoint calculations were a little difficult for me to accomplish with an 8bit processor, so I created 4 preconfigured "travel profiles" instead. Each channel having the ability to set it's profile independently of the others. Between these profiles and the ability to alter mechanical ratios, it should provide all the flexibility you would need to control travel limits.
We're going to add some LED output channels to this controller as well, so I'm moving on to that next. Mike suggested an 8 channel LED driver chip, so we'll have 2 complete RGB (2 sets of 3 LEDS) outputs plus two additional LED outputs. For those of you who want to add color-changing eyes to your pirates and skulls.
Oh yeah, all 16 channels (8 servo & 8 LED) can all be assigned individually to their respective DMX channel. That way you can gang servos together on a single channel if you have higher torque requirements than one servo can provide.
I think it's safe to say I'm stretching my assembler skills with this project (only my second attempt at PIC development). I've learned so much, I'll probably go back and re-write the DMX Tester logic eventually to "modernize" it. Very interesting to work out all the timings and math for DMX to PWM conversion. I'm having fun with it.
Cheers,
Dave