ESP8266_ArtNetNode_DMX icon indicating copy to clipboard operation
ESP8266_ArtNetNode_DMX copied to clipboard

Introduce fadings

Open Barabba11 opened this issue 6 years ago • 0 comments

Hi, amazing project, thank you! I'll test it soon! You told about recordings scenes and so on.. well, that's a huge topic with some reasonable ways to fulfill, maybe an sd support card can do the trick for serveral minutes/hours of recording, anyway you may think also to introduce fadings as instructions/commands and calculate them by the CPU. It can be something simple, for example go linear from 0 to 255 in about some milliseconds, I guess it may be useful for the most of the needs, then the end level is reached it may start trasmit the next scene for that channel, and so on. It will be up to the user to create a workflow that satisfy him. For example: Fixture 1: has first+second channels 16 bit for X and 3rd+4th for Y movement, 5rd-6th-7th RGB values Fixture 2: RGB stripe, 255 levels each.

-I would declear 1+2 channel together as 16 bit, I would chose a movement X from 20165 to 28899 in 10 seconds, the second sequence will be the opposite, from 28899 to 20165 in 10 seconds. No more sequences, so it should start from the first after it -Let's do the same for Y

  • R should go from 20 to 156 in 5 seconds, stay 5 seconds to 156, then go in 5 seconds to 20 and stay 5 seconds at 20
  • G will be constant to zero
  • B will move from 40 to 80 in 8 secs and from 80 to 40 in next 8 secs.

The web page may compile that in this way: the first 2 bytes is the DMX channel (if first byte is set, the following channel will be affected to, as a 16 bit pair), the third byt the sequence number, the follow 3 bytes are time in milliseconds, if they are zero it means to go back the the first zero sequence. The other 2 bytes the value if 16 bit 80h 01h 00 10000d 20165d 28899d 80h 01h 01 10000d 28899d 20165d 80h 03h 00 10000d 20165d 28899d 80h 03h 01 10000d 28899d 20165d 0h 04h 00 5000d 20d 156d 0h 04h 01 5000d 156d 156d 0h 04h 02 5000d 156d 20d 0h 04h 03 5000d 20d 20d 0h 05h 00 1000d 0d 0d 0h 06h 00 8000d 40d 80d 0h 06h 01 8000d 80d 40d

Do you think ti's to difficult to implement or the CPU may be too busy to calculate that? If we have one timer available it can be easy to compare values. Some CPU/critical staff may be saved considering only one universe output, with the UART. One universe has 512 address and they are almost enough always, I suppose, if the cambe will not be too long.

Barabba11 avatar Jan 21 '20 11:01 Barabba11