Exemplo n.º 1
0
        public void paint(GLCD lcd)
        {
            draw_course(lcd);
            draw_horizon(lcd);

            lcd.DrawString(3, 2, "Spd");
            lcd.DrawString(24, 2, string.Format("{0:f0}", aspd));
            lcd.DrawString(3, 10, "Thr");
            lcd.DrawString(24, 10, string.Format("{0:p0}", thr));
            //lcd.DrawString(3, 10, "GS");
            //lcd.DrawString(24, 10, string.Format("{0:f0}", gspd));

            lcd.DrawString(54, 2, "Dis");
            lcd.DrawString(54, 10, "Alt");
            lcd.DrawString(75, 2, string.Format("{0:f0}", dis));
            lcd.DrawString(75, 10, string.Format("{0:f0}", alt));
            lcd.DrawString(3, 20 /*127 - 8*/, DateTime.Now.ToString("mm:ss"));

            lcd.DrawString(111, 2, "Vol");
            lcd.DrawString(111, 10, "Amp");

            lcd.DrawString(132, 2, string.Format("{0:f1}", vol));
            lcd.DrawString(132, 10, string.Format("{0:f1}", amp));



            lcd.DrawString(3, 127 - 8 * 2, string.Format("{0:f6}", lat));
            lcd.DrawString(3, 127 - 8, string.Format("{0:f6}", lon));

            lcd.DrawChar(81, 127 - 8 * 2, 0xf0);
            lcd.DrawString(96, 127 - 8 * 2, "6");
            lcd.DrawString(96, 127 - 8, "2D");

            lcd.DrawString(120, 127 - 8 * 2, "Auto");
            lcd.DrawString(126, 127 - 8, "360>2");
            lcd.FillRectange(54, 57, 53, 9, Color.Blue);
            lcd.DrawString(57, 58, "Disarmed");
        }
Exemplo n.º 2
0
Arquivo: OSDPage.cs Projeto: cuav/MAAT
        public void paint(GLCD lcd)
        {
            draw_course(lcd);
            draw_horizon(lcd);

            lcd.DrawString(3, 2, "Spd");
            lcd.DrawString(24, 2, string.Format("{0:f0}", aspd));
            lcd.DrawString(3, 10, "Thr");
            lcd.DrawString(24, 10, string.Format("{0:p0}", thr));
            //lcd.DrawString(3, 10, "GS");
            //lcd.DrawString(24, 10, string.Format("{0:f0}", gspd));

            lcd.DrawString(54, 2, "Dis");
            lcd.DrawString(54, 10, "Alt");
            lcd.DrawString(75, 2, string.Format("{0:f0}", dis));
            lcd.DrawString(75, 10, string.Format("{0:f0}", alt));
            lcd.DrawString(3, 20/*127 - 8*/, DateTime.Now.ToString("mm:ss"));

            lcd.DrawString(111, 2, "Vol");
            lcd.DrawString(111, 10, "Amp");

            lcd.DrawString(132, 2, string.Format("{0:f1}", vol));
            lcd.DrawString(132, 10, string.Format("{0:f1}", amp));

            lcd.DrawString(3, 127 - 8 * 2, string.Format("{0:f6}", lat));
            lcd.DrawString(3, 127 - 8, string.Format("{0:f6}", lon));

            lcd.DrawChar(81, 127 - 8 * 2, 0xf0);
            lcd.DrawString(96, 127 - 8 * 2, "6");
            lcd.DrawString(96, 127 - 8, "2D");

            lcd.DrawString(120, 127 - 8 * 2, "Auto");
            lcd.DrawString(126, 127 - 8, "360>2");
            lcd.FillRectange(54, 57, 53, 9, Color.Blue);
            lcd.DrawString(57, 58, "Disarmed");
        }
Exemplo n.º 3
0
        void draw_horizon(GLCD lcd)
        {
            //pitch = 4;
            //roll = -38;
            //lcd.DrawVParallel(
            lcd.DrawHParallel(28, 40, 2, 5, 9);
            lcd.DrawHParallel(27, 40, 3, 10, 5);
            lcd.DrawHParallel(129, 40, 2, 5, 9);
            lcd.DrawHParallel(129, 40, 3, 10, 5);

            lcd.DrawString(72, 30, string.Format("{0:f0}", roll));
            lcd.DrawString(135, 58, string.Format("{0:f0}", pitch));

            // lcd.DrawLine(33, 58, 125, 58);

            int right = 92;
            int top   = 40;

            /*if (roll > 90)
             *  roll -= 180;
             * else*/if (roll == 90)
            {
                roll = 89.99f;
            }
            else if (roll == -90)
            {
                roll = -89.99f;
            }

            /*else if (roll < -90)
             *  roll += 180;
             */


            roll *= (float)(Math.PI / 180);

            int x1 = 0;
            int y1 = (int)(20 - 46 * Math.Tan(roll) - pitch / 2);

            if (y1 < 0)
            {
                y1 = 0;
                x1 = (int)(-(20 - pitch / 2) / Math.Tan(roll) + 46);
            }
            else if (y1 > 40)
            {
                y1 = 40;
                x1 = (int)((20 + pitch / 2) / Math.Tan(roll) + 46);
            }


            int x2 = 92;
            int y2 = (int)(20 - pitch / 2 + 46 * Math.Tan(roll));

            if (y2 < 0)
            {
                y2 = 0;
                x2 = (int)(-(20 - pitch / 2) / Math.Tan(roll) + 46);
            }
            else if (y2 > 40)
            {
                y2 = 40;
                x2 = (int)((20 + pitch / 2) / Math.Tan(roll) + 46);
            }
            lcd.FillRectange(33, 40, 96, 41, Color.Blue);
            lcd.DrawLine(x1 + 33, -y1 + 80, x2 + 33, -y2 + 80);
        }
Exemplo n.º 4
0
 public void draw_processbar(GLCD lcd, int x, int y, int width, int height, int max, int min, int value)
 {
     lcd.DrawRectange(x, y, width, height);
     lcd.FillRectange(x, y, width * (value-min) / (max - min), height, Color.White);
 }
Exemplo n.º 5
0
 public void draw_processbar(GLCD lcd, int x, int y, int width, int height, int max, int min, int value)
 {
     lcd.DrawRectange(x, y, width, height);
     lcd.FillRectange(x, y, width * (value - min) / (max - min), height, Color.White);
 }
Exemplo n.º 6
0
Arquivo: OSDPage.cs Projeto: cuav/MAAT
        void draw_horizon(GLCD lcd)
        {
            //pitch = 4;
            //roll = -38;
            //lcd.DrawVParallel(
            lcd.DrawHParallel(28, 40, 2, 5, 9);
            lcd.DrawHParallel(27, 40, 3, 10, 5);
            lcd.DrawHParallel(129, 40, 2, 5, 9);
            lcd.DrawHParallel(129, 40, 3, 10, 5);

            lcd.DrawString(72, 30, string.Format("{0:f0}", roll));
            lcd.DrawString(135, 58, string.Format("{0:f0}", pitch));

            // lcd.DrawLine(33, 58, 125, 58);

            int right = 92;
            int top = 40;

            /*if (roll > 90)
                roll -= 180;
            else*/ if (roll == 90)
                roll = 89.99f;
            else if (roll == -90)
                roll = -89.99f;
            /*else if (roll < -90)
                roll += 180;
            */

            roll *= (float)(Math.PI / 180);

            int x1 = 0;
            int y1 = (int)(20 - 46 * Math.Tan(roll) - pitch / 2);

            if (y1 < 0)
            {
                y1 = 0;
                x1 = (int)(-(20 - pitch / 2) / Math.Tan(roll) + 46);
            }
            else if (y1 > 40)
            {
                y1 = 40;
                x1 = (int)((20 + pitch / 2) / Math.Tan(roll) + 46);
            }

            int x2 = 92;
            int y2 = (int)(20 - pitch / 2 + 46 * Math.Tan(roll));

            if (y2 < 0)
            {
                y2 = 0;
                x2 = (int)(-(20 - pitch / 2) / Math.Tan(roll) + 46);
            }
            else if (y2 > 40)
            {
                y2 = 40;
                x2 = (int)((20 + pitch / 2) / Math.Tan(roll) + 46);
            }
            lcd.FillRectange(33, 40, 96, 41, Color.Blue);
            lcd.DrawLine(x1 + 33, -y1 + 80, x2 + 33, -y2 + 80);
        }