Exemplo n.º 1
0
        public static object GetDeviceValue(this DigitalPortDeviceBase digitalDevice)
        {
            switch (digitalDevice)
            {
            case Buzzer buzzer:
                return(buzzer.IsOn ? 1 : 0);

            case Led led:
                return(led.IsOn ? 1 : 0);

            case Button button:
                return(button.IsPressed ? 1 : 0);

            case UltrasonicSensor ultrasonicSensor:
                return(ultrasonicSensor.Distance);

            default:
                throw new ArgumentOutOfRangeException(nameof(digitalDevice));
            }
        }
Exemplo n.º 2
0
        internal static PocketView GetSvg(this DigitalPortDeviceBase digitalDevice)
        {
            switch (digitalDevice)
            {
            case Buzzer buzzer:
                return(buzzer.GetSvg());

            case Led led:
                return(led.GetSvg());

            case Button button:
                return(button.GetSvg());

            case UltrasonicSensor ultrasonicSensor:
                return(ultrasonicSensor.GetSvg());

            default:
                throw new ArgumentOutOfRangeException(nameof(digitalDevice));
            }
        }
Exemplo n.º 3
0
        internal static IHtmlContent DrawSvg(this DigitalPortDeviceBase digitalDevice)
        {
            var id = "PiTopMakerArchitecture.Foundation.InteractiveExtension" + Guid.NewGuid().ToString("N");

            return(div[id : id](svg(digitalDevice.GetSvg())));
        }