예제 #1
0
 internal ushort BatchCommand(PayLoadBuilder payLoadBuilder, int index)
 {
     if (!MonitorEvents || WarningReceived == null)
     {
         return(0);                                           // no need to poll data
     }
     return(UIReadMethods.GetWarning_BatchCommand(payLoadBuilder, index));
 }
 internal override DataType BatchCommand(PayLoadBuilder payLoadBuilder, int index)
 {
     //Documentation is wrong should be reverse getChanges = Bump and Get_bump = Touch
     if (Mode == TouchSensorMode.Bump)
     {
         return(InputMethods.GetChangesValue_BatchCommand(payLoadBuilder, Layer, PortNumber, index));
     }
     return(InputMethods.GetBumpsValue_BatchCommand(payLoadBuilder, Layer, PortNumber, index));
 }
예제 #3
0
        internal ushort BatchCommand(PayLoadBuilder payLoadBuilder, int index)
        {
            ushort byteLength = 0;

            if (!MonitorEvents || ValueChanged == null)
            {
                return(byteLength);                                        // no need to poll data
            }
            switch (Mode)
            {
            case BatteryMode.All: return(UIReadMethods.GetBatteryValue_BatchCommand(payLoadBuilder, index));

            case BatteryMode.Level:
            {
                DataType type = UIReadMethods.GetBatteryLevel_BatchCommand(payLoadBuilder, index);
                return(type.ByteLength());
            }
            }
            return(byteLength);
        }
 internal override DataType BatchCommand(PayLoadBuilder payLoadBuilder, int index)
 {
     return(InputMethods.GetReadyRaw_BatchCommand(payLoadBuilder, Layer, PortNumber, 0, (int)Mode, 1, index));
 }
 /// <summary>
 /// Method to override to the correct batchcommand to get the proper value
 /// </summary>
 /// <param name="payLoadBuilder">CodeBuilder</param>
 /// <param name="index">global index</param>
 /// <returns>Value type on return after executing command</returns>
 internal virtual DataType BatchCommand(PayLoadBuilder payLoadBuilder, int index)
 {
     //TODO switch mode/ valuemode etc.. to allow custom devices here
     InputMethods.GetRawValue_BatchCommand(payLoadBuilder, Layer, PortNumber, index);
     return(DataType.DATA_A4);
 }
예제 #6
0
        /// <summary>
        /// Store subscribed buttons in batch, buttons not always need to be polled
        /// and can be unsubscribed from click at any point in users program.
        /// </summary>
        /// <returns>byte length batchcommand</returns>
        internal ushort BatchCommand(PayLoadBuilder payLoadBuilder, int index)
        {
            ushort byteLength = 0;

            _eventButtons = new List <ButtonType>();
            if (Clicked != null)
            {
                UIButtonMethods.BatchCommand(payLoadBuilder, ButtonType.Any, Mode, index);
                _eventButtons.Add(ButtonType.Any);
                byteLength++;
            }
            else
            {
                if (Up.OnClickSubscribed)
                {
                    Up.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Up.Type);
                }
                if (Ok.OnClickSubscribed)
                {
                    Ok.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Ok.Type);
                }
                if (Down.OnClickSubscribed)
                {
                    Down.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Down.Type);
                }
                if (Left.OnClickSubscribed)
                {
                    Left.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Left.Type);
                }
                if (Right.OnClickSubscribed)
                {
                    Right.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Right.Type);
                }
                if (Back.OnClickSubscribed)
                {
                    Back.BatchCommand(payLoadBuilder, index);
                    index++;
                    byteLength++;
                    _eventButtons.Add(Back.Type);
                }
            }

            if (byteLength == 0)
            {
                _eventButtons = null;
            }
            return(byteLength);
        }
예제 #7
0
 internal void BatchCommand(PayLoadBuilder payLoadBuilder, int index)
 {
     UIButtonMethods.BatchCommand(payLoadBuilder, Type, Mode, index);
 }