Exemple #1
0
        private void OnWriteValueMessage(WriteValueMessage <bool> msg)
        {
            if (_linkBitMap.TryGetValue(msg.LinkId, out int bitIndex))
            {
                lock (_lockValue)
                {
                    int  value  = Value;
                    int  mask   = 1 << bitIndex;
                    bool bitVal = (value & mask) != 0;

                    if (bitVal != msg.Value)
                    {
                        if (msg.Value)
                        {
                            value |= mask;
                        }
                        else
                        {
                            value &= ~mask;
                        }

                        Write(value);
                    }
                }
            }
        }
        private void OnWriteValueMessage(WriteValueMessage <double> msg)
        {
            if (LinkId == msg.LinkId)
            {
                var v = (int)(msg.Value * 1000);

                Value = v;
                Write();
            }
        }