zcmdclass.cs

来自「zwave 无线通讯协议 PC controller 控制器源码」· CS 代码 · 共 1,827 行 · 第 1/5 页

CS
1,827
字号
//Generated on: 10:55:24, 11. maj 2006
////////////////////////////////////////////////////////////////////////////////////////////////
//
//          #######
//          #   ##    ####   #####    #####  ##  ##   #####
//             ##    ##  ##  ##  ##  ##      ##  ##  ##
//            ##  #  ######  ##  ##   ####   ##  ##   ####
//           ##  ##  ##      ##  ##      ##   #####      ##
//          #######   ####   ##  ##  #####       ##  #####
//                                           #####
//          Z-Wave, the wireless language.
//
//          Copyright Zensys A/S, 2003
//
//          All Rights Reserved
//
//          Description:   Device and Command Class types and definitions.
//
//
//          Author:   Auto Generated
//
//          Last Changed By:  $Author: jrm $
//          Revision:         $Revision: 1.2 $
//          Last Changed:     $Date: 2006/07/25 09:47:31 $
//
//////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Data;
using System.Reflection;
namespace Zensys.ZCmdClass
{
    /// <summary>
    /// DeviceClass is specified by the following enums
    /// </summary>
    public enum DeviceClass
    {
        /// <summary>
        ///
        /// </summary>
        BASIC_TYPE_CONTROLLER = 0x01,
        /// <summary>
        ///
        /// </summary>
        BASIC_TYPE_STATIC_CONTROLLER = 0x02,
        /// <summary>
        ///
        /// </summary>
        BASIC_TYPE_SLAVE = 0x03,
        /// <summary>
        ///
        /// </summary>
        BASIC_TYPE_ROUTING_SLAVE = 0x04
    }
    /// <summary>
    /// Class that can be used to generate Z-Wave frames
    /// </summary>
    public static class ZW_class
    {
        /// <summary>
        /// Fill buffer with Basic, Generic and Specific Device Class
        /// </summary>
        public static byte[] FillCmd(params byte[] values)
        {
            int i = 0; //Points to next value
            byte[] command = new byte[values.Length];
            command[0] = values[i++];
            command[1] = values[i++];
            for (; i < values.Length; i++)
                command[i] = values[i];
            return command;
        }
        /// <summary>
        /// Fills a buffer with the data specified
        /// </summary>
        /// <param name="array">custom array which is added to the end of the buffer</param>
        /// <param name="values">the standard values</param>
        /// <returns></returns>
        public static byte[] FillCmd(byte[] array, params byte[] values)
        {
            int i = 0; //Points to next value
            byte[] command;
            if (array != null)
            {
                command = new byte[values.Length + array.Length];
            }
            else
            {
                command = new byte[values.Length];
            }
            command[0] = values[i++];
            command[1] = values[i++];
            for (; i < values.Length; i++)
            {
                command[i] = values[i];
            }
            for (int n = 0; n < array.Length; n++)
            {
                command[i++] = array[n];
            }
            return command;
        }

        /// <summary>
        /// ZW_BASIC_SET_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_BasicSetFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_BASIC, (byte)cmdBasic.BASIC_SET, (byte)val);
        }

        /// <summary>
        /// ZW_BASIC_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_BasicGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_BASIC, (byte)cmdBasic.BASIC_GET);
        }

        /// <summary>
        /// ZW_BASIC_REPORT_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_BasicReportFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_BASIC, (byte)cmdBasic.BASIC_REPORT, val);
        }

        /// <summary>
        /// PROPRIETARY_SET
        /// </summary>
        /// <param name="data1"></param>
        /// <returns></returns>
        public static byte[] ZW_PropietarySetFrame(byte data1)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROPRIETARY, (byte)cmdProprietary.PROPRIETARY_SET);
        }

        /// <summary>
        /// PROPRIETARY_GET
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_PropietaryGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROPRIETARY, (byte)cmdProprietary.PROPRIETARY_GET);
        }


        /// <summary>
        /// PROPRIETARY_REPORT
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static byte[] ZW_PropetaryReportFrame(byte data)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROPRIETARY, (byte)cmdProprietary.PROPRIETARY_REPORT, data);
        }

        /// <summary>
        /// ZW_BINARY_SWITCH_SET_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_BinarySwitchSetFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_BINARY, (byte)cmdSwitchBinary.SWITCH_BINARY_SET, val);
        }

        /// <summary>
        /// ZW_BINARY_SWITCH_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_BinarySwitchGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_BINARY, (byte)cmdSwitchBinary.SWITCH_BINARY_GET);
        }

        /// <summary>
        /// ZW_BINARY_SWITCH_REPORT_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_BinarySwitchReportFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_BINARY, (byte)cmdSwitchBinary.SWITCH_BINARY_REPORT, val);
        }

        /// <summary>
        /// ZW_MULTILEVEL_SWITCH_SET_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSwitchSetFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_MULTILEVEL, (byte)cmdSwitchMultilevel.SWITCH_MULTILEVEL_SET, val);
        }

        /// <summary>
        /// ZW_MULTILEVEL_SWITCH_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSwitchGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_MULTILEVEL, (byte)cmdSwitchMultilevel.SWITCH_MULTILEVEL_GET);
        }

        /// <summary>
        /// ZW_MULTILEVEL_SWITCH_REPORT_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSwitchReportFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_MULTILEVEL, (byte)cmdSwitchMultilevel.SWITCH_MULTILEVEL_REPORT, val);
        }

        /// <summary>
        /// ZW_MULTILEVEL_SWITCH_START_CHANGE_FRAME
        /// </summary>
        /// <param name="dir"></param>
        /// <param name="startValue"></param>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSwitchStartChangeFrame(byte dir, byte startValue)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_MULTILEVEL,
              (byte)cmdSwitchMultilevel.SWITCH_MULTILEVEL_START_LEVEL_CHANGE,
              dir, startValue);
        }

        /// <summary>
        /// ZW_MULTILEVEL_SWITCH_STOP_CHANGE_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSwitchStopChangeFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_MULTILEVEL, (byte)cmdSwitchMultilevel.SWITCH_MULTILEVEL_STOP_LEVEL_CHANGE);
        }

        /// <summary>
        /// ZW_ALL_SWITCH_SET_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_AllSwitchSetFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_ALL, (byte)cmdSwitchAll.SWITCH_ALL_SET, val);
        }

        /// <summary>
        /// ZW_ALL_SWITCH_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_AllSwitchGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_ALL, (byte)cmdSwitchAll.SWITCH_ALL_GET);
        }

        /// <summary>
        /// ZW_ALL_SWITCH_REPORT_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_AllSwitchReportFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_ALL, (byte)cmdSwitchAll.SWITCH_ALL_REPORT, val);
        }

        /// <summary>
        /// ZW_ALL_SWITCH_ON_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_AllSwitchOnFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_ALL, (byte)cmdSwitchAll.SWITCH_ALL_ON);
        }

        /// <summary>
        /// ZW_ALL_SWITCH_OFF_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_AllSwitchOffFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SWITCH_ALL, (byte)cmdSwitchAll.SWITCH_ALL_OFF);
        }

        /// <summary>
        /// ZW_BINARY_SENSOR_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_BinarySensorGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SENSOR_BINARY, (byte)cmdSensorBinary.SENSOR_BINARY_GET);
        }

        /// <summary>
        /// ZW_BINARY_SENSOR_REPORT_FRAME
        /// </summary>
        /// <param name="val"></param>
        /// <returns></returns>
        public static byte[] ZW_BinarySensorReportFrame(byte val)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SENSOR_BINARY, (byte)cmdSensorBinary.SENSOR_BINARY_REPORT, val);
        }

        /// <summary>
        /// ZW_BINARY_SENSOR_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSensorGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SENSOR_MULTILEVEL, (byte)cmdSensorMultilevel.SENSOR_MULTILEVEL_GET);
        }


        /// <summary>
        /// ZW_BINARY_SENSOR_REPORT_FRAME
        /// </summary>
        /// <param name="sType"></param>
        /// <param name="sValueFormat"></param>
        /// <param name="sValue1"></param>
        /// <param name="sValue2"></param>
        /// <param name="sValue3"></param>
        /// <param name="sValue4"></param>
        /// <returns></returns>
        public static byte[] ZW_MultilevelSensorReportFrame(byte sType, byte sValueFormat, byte sValue1, byte sValue2, byte sValue3, byte sValue4)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_SENSOR_MULTILEVEL, (byte)cmdSensorMultilevel.SENSOR_MULTILEVEL_REPORT, sType, sValueFormat, sValue1, sValue2, sValue3, sValue4);
        }

        /// <summary>
        /// METER_PULSE_GET
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_PulseMeterGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_METER_PULSE, (byte)cmdMeterPulse.METER_PULSE_GET);
        }

        /// <summary>
        /// METER_PULSE_REPORT
        /// </summary>
        /// <param name="pulseCount1"></param>
        /// <param name="pulseCount2"></param>
        /// <param name="pulseCount3"></param>
        /// <param name="pulseCount4"></param>
        /// <returns></returns>
        public static byte[] ZW_PulseMeterReportFrame(byte pulseCount1, byte pulseCount2, byte pulseCount3, byte pulseCount4)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_METER_PULSE, (byte)cmdMeterPulse.METER_PULSE_REPORT,
              pulseCount1, pulseCount2, pulseCount3, pulseCount4);
        }

        /// <summary>
        /// METER_PULSE_GET
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_VersionGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_VERSION, (byte)cmdVersion.VERSION_GET);
        }

        /// <summary>
        /// VERSION_COMMAND_CLASS_REPORT

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?