node-dmx / dmx

DMX controller library for node.js
MIT License
295 stars 96 forks source link

Question: Naming Information of moving head Pan/Tilt #124

Open CyberHD1811 opened 2 years ago

CyberHD1811 commented 2 years ago

Hey there,

you might have noticed i'm currently publishing some dmx lights to your package. First a small LED-Pot, then a LED-Bar and currently i'm working on a Moving Head. But the problem is, that the channel 1 and 2 have a middle value of 128. But how do i let the people know this? (The same applies for channels which have sometimes something like: 1...255: Intensity of the red color (0%-100%), if channel 6 [in this example the dimmer] has a value between 1...255 and channel 8 [in this case a overwriting macro-channel] has a value of 0.

I'm personally thinking of something like this:

module.exports = {
  'someDMXDevice': {
    channels: ['dimmer', 'red', 'green', 'blue', 'macros', 'pan', 'tilt'],
    ranges: {
      'red': {
        'type': 'condition',
        'conditions': [
          { 'value': 1, 'statement': 'Intensity Red, if channel "dimmer" is between 1...255 and channel "macros" is 0' },
        ],
      },
      //Same applies for the channel green and blue but not including them in this example
      'pan': {
        'type': 'rotation',
        'values': [
          { 'min': 0, 'degrees': -270 },
          { 'middle': 128, 'degrees': 0 },
          { 'max': 255, 'degrees': 270 },
        ],
      },
      'tilt': {
        'type': 'rotation',
        'values': [
          { 'min': 0, 'degrees': -85 },
          { 'middle': 128, 'degrees': 0 },
          { 'max': 255, 'degrees': 85 },
        ],
      },
    },
  },
};

(Also i'm not too shure when to put the key into quotes. If you have a system for this i would be pleased, if you tell me this.)