zcmdclass.cs

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

CS
1,827
字号
        /// </summary>
        /// <param name="lib"></param>
        /// <param name="pver"></param>
        /// <param name="psver"></param>
        /// <param name="appver"></param>
        /// <param name="appsubver"></param>
        /// <returns></returns>
        public static byte[] ZW_VersionReportFrame(byte lib, byte pver, byte psver, byte appver, byte appsubver)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_VERSION, (byte)cmdVersion.VERSION_COMMAND_CLASS_REPORT,
              lib, pver, psver, appver, appsubver);
        }

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

        /// <summary>
        /// VERSION_COMMAND_CLASS_REPORT
        /// </summary>
        /// <param name="reqclass"></param>
        /// <param name="version"></param>
        /// <returns></returns>
        public static byte[] ZW_VersionCommandClassReportFrame(byte reqclass, byte version)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_VERSION, (byte)cmdVersion.VERSION_COMMAND_CLASS_REPORT,
              reqclass, version);
        }


        /// <summary>
        /// CONFIGURATION_SET
        /// </summary>
        /// <param name="parmValue"></param>
        /// <param name="setValue"></param>
        /// <returns></returns>
        public static byte[] ZW_ConfigurationSetFrame(uint parmValue, uint setValue)
        {
            byte parm1 = (byte)parmValue;
            if (setValue > 4967296)  //2^32  
            {
                byte parm2 = 4;
                byte parm3 = (byte)((setValue >> 24) & 0xFF);
                byte parm4 = (byte)((setValue >> 16) & 0xFF);
                byte parm5 = (byte)((setValue >> 8) & 0xFF);
                byte parm6 = (byte)(setValue & 0xFF);
                return FillCmd((byte)cmdClass.COMMAND_CLASS_CONFIGURATION, (byte)cmdConfiguration.CONFIGURATION_SET, parm1, parm2, parm3, parm4, parm5, parm6);
            }
            else
                if (setValue > 65536) //2^16
                {
                    byte parm2 = 2;
                    byte parm3 = (byte)((setValue >> 8) & 0xFF);
                    byte parm4 = (byte)(setValue & 0xFF);
                    return FillCmd((byte)cmdClass.COMMAND_CLASS_CONFIGURATION, (byte)cmdConfiguration.CONFIGURATION_SET, parm1, parm2, parm3, parm4);
                }
                else
                {
                    byte parm2 = 1;
                    byte parm3 = (byte)(setValue & 0xFF);
                    return FillCmd((byte)cmdClass.COMMAND_CLASS_CONFIGURATION, (byte)cmdConfiguration.CONFIGURATION_SET, parm1, parm2, parm3);
                }
        }

        /// <summary>
        /// CONFIGURATION_GET
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_ConfigurationGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CONFIGURATION, (byte)cmdConfiguration.CONFIGURATION_GET);
        }

        /// <summary>
        /// CONFIGURATION_REPORT
        /// </summary>
        /// <param name="parmNumber"></param>
        /// <param name="size"></param>
        /// <param name="cValue1"></param>
        /// <param name="cValue2"></param>
        /// <returns></returns>
        public static byte[] ZW_ConfigurationReportFrame(byte parmNumber, byte size, byte cValue1, byte cValue2)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CONFIGURATION, (byte)cmdConfiguration.CONFIGURATION_REPORT, parmNumber, size, cValue1, cValue2);
        }

        /// <summary>
        /// Get Group that is Associated
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_AssociationGetGroupingsFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_GROUPINGS_GET);
        }
        /// <summary>
        /// Requests Association for the group number specified
        /// </summary>
        /// <param name="groupNo">Group number to request</param>
        /// <returns></returns>
        public static byte[] ZW_AssociationGetFrame(byte groupNo)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_GET, groupNo);
        }

        /// <summary>
        /// ASSOCIATION_SET
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_AssociationSetFrame(byte groupID, byte[] nodeIDs)
        {
            return FillCmd(nodeIDs, (byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_SET, groupID);
        }

        /// <summary>
        /// ASSOCIATION_REPORT
        /// </summary>
        /// <param name="groupId"></param>
        /// <param name="maxNodesSupported"></param>
        /// <param name="reportsToFollow"></param>
        /// <param name="nodeId"></param>
        /// <returns></returns>
        public static byte[] ZW_AssociationReportFrame(byte groupId, byte maxNodesSupported, byte reportsToFollow, byte nodeId)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_REPORT, groupId, maxNodesSupported, reportsToFollow, nodeId);
        }

        /// <summary>
        /// ASSOCIATION_REMOVE
        /// </summary>
        /// <param name="groupId">Group to remove nodeId or all group</param>
        /// <param name="nodeId">if 0 all group is removed</param>
        /// <returns></returns>
        public static byte[] ZW_AssociationRemoveFrame(byte groupId, byte nodeId)
        {
            if (nodeId != 0)
            {
                return FillCmd((byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_REMOVE, groupId, nodeId);
            }
            else
            {
                return FillCmd((byte)cmdClass.COMMAND_CLASS_ASSOCIATION, (byte)cmdAssociation.ASSOCIATION_REMOVE, groupId);
            }
        }

        /// <summary>
        /// ZW_POWERLEVEL_SET_FRAME
        /// </summary>
        /// <param name="nodeId"></param>
        /// <param name="powerLevel"></param>
        /// <param name="testFrameCountMsb"></param>
        /// <param name="testFrameCountLsb"></param>
        /// <returns></returns>
        public static byte[] ZW_PowerLevelTestNodeSetFrame(byte nodeId, byte powerLevel, byte testFrameCountMsb, byte testFrameCountLsb)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_TEST_NODE_SET, nodeId, powerLevel, testFrameCountMsb, testFrameCountLsb);
        }

        /// <summary>
        /// ZW_POWERLEVEL_TEST_NODE_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_PowerLevelTestNodeGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_TEST_NODE_GET);
        }

        /// <summary>
        /// ZW_POWERLEVEL_TEST_NODE_REPORT_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_PowerLevelTestNodeReportFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_POWERLEVEL, (byte)cmdPowerlevel.POWERLEVEL_TEST_NODE_REPORT);
        }

        /// <summary>
        /// ZW_TRANSFER_GROUP_FRAME
        /// </summary>
        /// <param name="sequenceNo"></param>
        /// <param name="groupId"></param>
        /// <param name="nodeId"></param>
        /// <returns></returns>
        public static byte[] ZW_TransferGroupFrame(byte sequenceNo, byte groupId, byte nodeId)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CONTROLLER_REPLICATION, (byte)cmdCtrlReplicationTransfer.CTRL_REPLICATION_TRANSFER_GROUP, sequenceNo, groupId, nodeId);
        }

        /// <summary>
        /// ZW_TRANSFER_SCENE_FRAME
        /// </summary>
        /// <param name="sequenceNo"></param>
        /// <param name="sceneId"></param>
        /// <param name="nodeId"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        public static byte[] ZW_TransferSceneFrame(byte sequenceNo, byte sceneId, byte nodeId, byte level)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CONTROLLER_REPLICATION, (byte)cmdCtrlReplicationTransfer.CTRL_REPLICATION_TRANSFER_SCENE, sequenceNo, sceneId, nodeId, level);

        }

        /// <summary>
        /// ZW_PROTECTION_SET_FRAME
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public static byte[] ZW_ProtectionSetFrame(byte state)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROTECTION, (byte)cmdProtection.PROTECTION_SET, state);
        }

        /// <summary>
        /// ZW_PROTECTION_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_ProtectionGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROTECTION, (byte)cmdProtection.PROTECTION_GET);
        }

        /// <summary>
        /// ZW_PROTECTION_REPORT_FRAME
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public static byte[] ZW_ProtectionReportFrame(byte state)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_PROTECTION, (byte)cmdProtection.PROTECTION_REPORT, state);
        }

        /// <summary>
        /// ZW_WAKE_UP_SET_FRAME
        /// </summary>
        /// <param name="sec1"></param>
        /// <param name="sec2"></param>
        /// <param name="sec3"></param>
        /// <param name="nid"></param>
        /// <returns></returns>
        public static byte[] ZW_WakeUpSetFrame(byte sec1, byte sec2, byte sec3, byte nid)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_WAKE_UP, (byte)cmdWakeUp.WAKE_UP_INTERVAL_SET, sec1, sec2, sec3, nid);
        }

        /// <summary>
        /// ZW_WAKE_UP_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_WakeUpGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_WAKE_UP, (byte)cmdWakeUp.WAKE_UP_INTERVAL_GET);
        }

        /// <summary>
        /// ZW_WAKE_UP_INTERVAL_REPORT_FRAME
        /// </summary>
        /// <param name="sec1"></param>
        /// <param name="sec2"></param>
        /// <param name="sec3"></param>
        /// <param name="nodeId"></param>
        /// <returns></returns>
        public static byte[] ZW_WakeUpIntervalReportFrame(byte sec1, byte sec2, byte sec3, byte nodeId)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_WAKE_UP, (byte)cmdWakeUp.WAKE_UP_INTERVAL_REPORT, sec1, sec2, sec3, nodeId);
        }

        /// <summary>
        /// ZW_WAKE_UP_NOTIFICATION_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_WakeUpNotificationFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_WAKE_UP, (byte)cmdWakeUp.WAKE_UP_NOTIFICATION);
        }

        /// <summary>
        /// WAKE_UP_NO_MORE_INFORMATION
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_WakeUpNoMoreFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_WAKE_UP, (byte)cmdWakeUp.WAKE_UP_NO_MORE_INFORMATION);
        }

        /// <summary>
        /// ZW_LOCK_SET_FRAME
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public static byte[] ZW_LockSetFrame(byte state)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_LOCK, (byte)cmdLock.LOCK_SET, state);
        }

        /// <summary>
        /// ZW_LOCK_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_LockGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_LOCK, (byte)cmdLock.LOCK_GET);
        }

        /// <summary>
        /// ZW_LOCK_REPORT_FRAME
        /// </summary>
        /// <param name="state"></param>
        /// <returns></returns>
        public static byte[] ZW_LockReportFrame(byte state)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_LOCK, (byte)cmdLock.LOCK_REPORT, state);
        }

        /// <summary>
        /// ZW_BATTERY_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_BatteryGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_BATTERY, (byte)cmdBattery.BATTERY_GET);
        }

        /// <summary>
        /// ZW_BATTERY_REPORT_FRAME
        /// </summary>
        /// <param name="level"></param>
        /// <returns></returns>
        public static byte[] ZW_BatteryReportFrame(byte level)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_BATTERY, (byte)cmdBattery.BATTERY_REPORT, level);
        }

        /// <summary>
        /// ZW_CLOCK_SET_FRAME
        /// </summary>
        /// <param name="ww_hh"></param>
        /// <param name="minute"></param>
        /// <returns></returns>
        public static byte[] ZW_ClockSetFrame(byte ww_hh, byte minute)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CLOCK, (byte)cmdClock.CLOCK_SET, ww_hh, minute);
        }

        /// <summary>
        /// ZW_CLOCK_GET_FRAME
        /// </summary>
        /// <returns></returns>
        public static byte[] ZW_ClockGetFrame()
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CLOCK, (byte)cmdClock.CLOCK_GET);
        }

        /// <summary>
        /// ZW_CLOCK_REPORT_FRAME
        /// </summary>
        /// <param name="ww_hh"></param>
        /// <param name="minute"></param>
        /// <returns></returns>
        public static byte[] ZW_ClockReportFrame(byte ww_hh, byte minute)
        {
            return FillCmd((byte)cmdClass.COMMAND_CLASS_CLOCK, (byte)cmdClock.CLOCK_REPORT, ww_hh, minute);
        }

⌨️ 快捷键说明

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