====== Decision Matrix ====== The full functionality of the decision matrix is explained [[http://www.vscp.org/docs/vscpspec/doku.php?id=decision_matrix|in the specification]]. Beijing have a decision matrix consisting of eight entries. This matrix can be used to control the I/O channels. Possible actions are listed in the table below. ^ Action ^ Action code ^ Parameter ^Description ^ | **NOOP** | 0 | Not used | No operation. Will do absolutely nothing. | | **SET** | 1 | Channel (0-9) | Set output of I/O channel high.\\ \\ Set the output of the I/O channel given by the argument to its high state. The argument is an integer where 0 is output 0 and so on and can be in the range 0-9. | | **CLR** | 2 | Channel (0-9) | Set output of I/O channel low.\\ \\ Set the output of the I/O channel given by the argument to its low state.\\ The argument is an integer where 0 is output 0 and so on and can be in the range 0-9. | | **PULSEON** | 3 | Channel (0-9) | Turn on pulse on output I/O channel\\ \\ Turn on pulse output on the output I/O channel given by the argument. The argument is an the range 0-9. Does not have any meaning for a channel set as input. | | **PULSEOFF** | 4 | Channel (0-9) | Turn off pulse on output I/O channel\\ \\ Turn off pulse output on the output I/O channel given by the argument. The argument is an integer where 0 is output 0 and so on and can be in the range 0-9. Does not have any meaning for a channel set as input. | | **TOGGLE** | 5 | Channel (0-9) | Toggle output for channel\\ \\ Toggle output four output I/O channel given by argument. The argument is an integer where 0 is output 0 and so on and can be in the range 0-9. Does not have any meaning for a channel set as input. | | **STATUS** | 6 | Channel (0-9) | Send status for I/O channel.\\ \\ Send status for an I/O channel given by the argument. The argument is an integer where 0 is output 0 and so on and can be in the range 0-9.\\ For a channel set as output the status is the output applied and for a channel set as input the actual input state. | | **STATUSALL** | 7 | Not used | Send status for all I/O channels.\\ \\ Send status for all I/O channels starting with channel 0 and then taking each channel up to channel 9. | | **SHORTPULSE** | 8 | Channel (0-9) | Send a short pulse, with a duration set in register 0:47, on the selected output(s). | ===== Example ===== You want to activate output on channel 3 when a [[http://www.vscp.org/docs/vscpspec/doku.php?id=class1.control#type_5_0x05_turnon|CLASS1.CONTROL, TurnOn, Type=5 event]] is received. A matrix row consist of ^ Byte ^ Description ^ | 0 | oaddr | | 1 | flags | | 2 | class-mask | | 3 | class-filter | | 4 | type-mask | | 5 | type-filter | | 6 | Action code | | 7 | Action parameter | So for example if you populate the row with the following values ^ Byte ^ Value ^ Description ^ | 0 | **0x00** | oaddr | | 1 | **0x80** | flags | | 2 | **0xff** | class-mask | | 3 | **0x1e** | class-filter | | 4 | **0xff** | type-mask | | 5 | **0x05** | type-filter | | 6 | **0x01** | Action code | | 7 | **0x02** | Action parameter | * **oaddr** set to zero as i is not used. * **flags** have one bit set. Enable row. We could have set bit 4 Match Zone to test zone also trigger DM. * **class-mask** is set to 0xff as we have just one event we will trigger on. * **class-filter** is set to CLASS1.CONTROL. * **type-mask** is set to 0xff as we have just one event we will trigger on. * **type-filter** is set to 5 which is TurnOn. * **Action code** i set to the SET action. * **Action parameter** 2 is channel 2 so this channel will be set high if configured as an output. If you double click a decision matrix row a dialog comes up which help you to set the values. \\ ---- {{ :grodan_logo.png?100 |}}
Paradise of the Frog AB Brattbergavägen 17, 820 50 LOS, SWEDEN
email: info@paradiseofthefrog.com phone: +46 (0)8 40011835
web: http://www.paradiseofthefrog.com