示例#1
0
        protected ProtocolResult SendRelais(ref byte argMask, byte argRelaisNr, bool argValue)
        {
            // allow only Relais 1-4
            if (argRelaisNr < 1 || argRelaisNr > 4)
            {
                LogError($"SendRelais invalid nr {argRelaisNr}");
                return(ProtocolResult.UnknownError);
            }

            int tempMask = argMask;

            if (argValue)
            {
                // set bit
                tempMask |= 1 << (argRelaisNr - 1);
            }
            else
            {
                // reset bit
                tempMask &= ~(1 << (argRelaisNr - 1));
            }

            argMask = Convert.ToByte(tempMask);

            var cmd = _protocol.CreateRelaisCommand(argMask);

            return(_ProtocolManager.EncryptSendReceiveAck(cmd));
        }
示例#2
0
 private ProtocolResult EncryptSendReceiveAck(byte[] msg)
 {
     return(_protocolManager.EncryptSendReceiveAck(msg));
 }