예제 #1
0
 public static void Main()
 {
     using (var display = new LcdDisplay()) {
         display.Init();
         display.Clear(0x00);
         display.Rectangle(10, 10, 470, 310, 0xff);
         display.EmptyRectangle(50, 50, 200, 300, 0xfa, 0xaf);
     }
 }
예제 #2
0
        private static LcdDisplay GetLCDDisplay()
        {
            var timer  = new TimerClass();
            var logger = new ConsoleLogger();

            var display = new LcdDisplay(timer, logger);

            return(display);
        }
예제 #3
0
        private static void DoMessaging(LcdDisplay lcdDisplay)
        {
            var readedLine = string.Empty;

            do
            {
                lcdDisplay.Clear();
                lcdDisplay.DisplayString(readedLine);

                Console.WriteLine("Type any text:");
                readedLine = Console.ReadLine();
            }while (!string.IsNullOrEmpty(readedLine));
        }
예제 #4
0
        public MathBotDevice(IMathBotDevice me, byte brightness = 2)
        {
            this.me = me;

            // LCD
            LcdDisplay = new LcdDisplay(0x20);
            LcdDisplay.SetBacklight(true);

            // LED matrixes
            MouthDisplay    = new LED8x8Matrix(new Ht16K33(new byte[] { 0x73, 0x74 }, new[] { Ht16K33.Rotate.None, Ht16K33.Rotate.D180 }, doubleWide: true));
            LeftEyeDisplay  = new LED8x8Matrix(new Ht16K33(new byte[] { 0x70 }, Ht16K33.Rotate.None));
            RightEyeDisplay = new LED8x8Matrix(new Ht16K33(new byte[] { 0x71 }, Ht16K33.Rotate.None));
            MouthDisplay.SetBrightness(brightness);
            LeftEyeDisplay.SetBrightness(brightness);
            RightEyeDisplay.SetBrightness(brightness);

            // Speaker
            ss.Voice = SpeechSynthesizer.AllVoices[0];
        }
예제 #5
0
        //private readonly int[] DATA_PIN = { 25, 24, 23, 18 };



        public void Run(IBackgroundTaskInstance taskInstance)
        {
            this.Client = QueueClient.CreateFromConnectionString("Endpoint=***REMOVED***;SharedAccessKeyName=RaspberryPiCommandAccess;SharedAccessKey=***REMOVED***", "commandqueue");
            this.Sender =
                QueueClient.CreateFromConnectionString(
                    "Endpoint=***REMOVED***;SharedAccessKeyName=RaspberryPiOutputAccess;SharedAccessKey=***REMOVED***",
                    "outputqueue");

            //
            // TODO: Insert code to perform background work
            //
            // If you start any asynchronous methods here, prevent the task
            // from closing prematurely by using BackgroundTaskDeferral as
            // described in http://aka.ms/backgroundtaskdeferral
            //

            Lcd = new LcdDisplay();
            Lcd.InitGpio(rs: RS, e: E, data: DATA_PIN);


            while (true)
            {
                try
                {
                    var message = Client.Receive();
                    message.Complete();
                    var body         = Encoding.UTF8.GetString(message.GetBytes());
                    var inputMessage = JsonConvert.DeserializeObject <DisplayPiInputMessage>(body);

                    DisplayInputMessage(inputMessage);
                    SendAcknowledgement(inputMessage);

                    // Process message from queue.
                    Debug.WriteLine("Body: " + body);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message + " " + ex.InnerException);
                }
            }
        }
예제 #6
0
        void FillGrid(Grid uiPage, XElement xePageConfig)
        {
            foreach (var xeControl in xePageConfig.Elements())
            {
                switch (xeControl.Name.LocalName)
                {
                case "OnOff":
                    var butOnOff = new OnOffButton();
                    SetPosition(uiPage, butOnOff, xeControl);
                    uiPage.Children.Add(butOnOff);
                    break;

                case "ValueReverser":
                    var butDmxReverse = new BindingReverserButton();
                    SetPosition(uiPage, butDmxReverse, xeControl);
                    uiPage.Children.Add(butDmxReverse);
                    break;

                case "Push":
                    var butPush = new PushButton();
                    SetPosition(uiPage, butPush, xeControl);
                    uiPage.Children.Add(butPush);
                    break;

                case "MainLcd":
                    var mainLcd = new LcdDisplay();
                    SetPosition(uiPage, mainLcd, xeControl);
                    uiPage.Children.Add(mainLcd);
                    break;

                case "VerticalSlider":
                    var sld = new VerticalSlider();
                    SetPosition(uiPage, sld, xeControl);
                    uiPage.Children.Add(sld);
                    break;

                case "Border":
                    var brd = new Border()
                    {
                        BorderThickness = new Thickness(2), BorderBrush = new SolidColorBrush(Colors.White)
                    };
                    SetPosition(uiPage, brd, xeControl);
                    uiPage.Children.Add(brd);
                    break;

                case "Joystick":
                    var jstick = new Joystick();
                    SetPosition(uiPage, jstick, xeControl);
                    uiPage.Children.Add(jstick);
                    break;

                case "ColorSelector":
                    var colselect = new ColorSelector();
                    SetPosition(uiPage, colselect, xeControl);
                    uiPage.Children.Add(colselect);
                    break;

                case "TouchBpm":
                    var tbpmarea = new TouchBpmArea();
                    SetPosition(uiPage, tbpmarea, xeControl);
                    uiPage.Children.Add(tbpmarea);
                    break;
                }
            }
        }
 private void Init()
 {
     _lcdDisplay = new LcdDisplay(DisplayI2CBus, DisplayI2CAddress);
     _lcdDisplay.Init();
 }
예제 #8
0
 public LcdStub(DrawingArea drawingArea)
 {
     display = new LcdDisplay(drawingArea);
 }
예제 #9
0
		public LcdStub (DrawingArea drawingArea)
		{
			display = new LcdDisplay (drawingArea);
		}