Example #1
0
        /// <summary>
        /// Изменить действие для пина
        /// </summary>
        /// <param name="mode"></param>
        /// <param name="level"></param>
        public void ChangeAction(GPIOMode mode, GPIOLevel level)
        {
            IsChanged = mode != _mode || level != _level;

            Mode  = mode;
            Level = level;
        }
Example #2
0
        public ActionGPIO(byte pinNumber, GPIOMode mode, GPIOLevel level)
        {
            PinNumber = pinNumber;
            Mode      = mode;
            Level     = level;

            _mode  = mode;
            _level = level;
        }
Example #3
0
        public void ChangeMode(GPIOMode mode)
        {
            var value = mode == GPIOMode.In
                ? "input"
                : mode == GPIOMode.Out
                    ? "output"
                    : "pwm";

            lock (_lock)
            {
                var p = Process.Start("gpio", $"-g mode {GpioId} {value}");
                p.WaitForExit();
            }
        }
Example #4
0
        public ActionGPIOViewModel(IActionGPIO action)
        {
            _action = action;
            _mode   = action.Mode;
            _level  = action.Level;

            Levels = new List <GPIOLevel>
            {
                GPIOLevel.High,
                GPIOLevel.Low,
                GPIOLevel.NotDefined
            };

            Modes = new List <GPIOMode>
            {
                GPIOMode.Input,
                GPIOMode.Output,
                GPIOMode.NotDefined
            };
        }
Example #5
0
 public void ResetChanged()
 {
     _mode     = Mode;
     _level    = Level;
     IsChanged = false;
 }