Beispiel #1
0
        private void buttonK3_Click(object sender, EventArgs e)
        {
            buttonK3.Enabled    = false;
            buttonTS590.Enabled = false;
            m_keepGoing         = true;
            if (fpe != null)
            {
                fpe.DoOnFp(new FrontPanelExerciser.CallFp(
                               (RadioPanelUsb.FrontPanel fp) => {
                    fp.ResetDisplayDefaults();     // the RC1101 goes deaf for a while after this command
                    System.Threading.Thread.Sleep(6500);

                    RadioPanelUsb.DisplayObject[] toDisplay = new RadioPanelUsb.DisplayObject[1];
                    toDisplay[0]          = new RadioPanelUsb.DisplayObject();
                    toDisplay[0].objIndex = 2;
                    toDisplay[0].value    = 1;
                    toDisplay[0].objType  = (ushort)GenieObject_t.GENIE_OBJ_FORM;
                    fp.SetDisplayObjects(toDisplay);

                    fp.SetEncoderMap(0, (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 8,
                                     (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 9, 1, 0, 9999999);
                    fp.SetEncoderMap(1, (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 10,
                                     (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 11, 1, 0, 9999999);
                }
                               ));

                DoDisplay(fpe);
            }
        }
Beispiel #2
0
 private void DoDisplay(FrontPanelExerciser fpe)
 {
     for (int g = 0; g < 100; g++)
     {
         int v = g;
         fpe.DoOnFp(new FrontPanelExerciser.CallFp(
                        (RadioPanelUsb.FrontPanel fp) =>
         {
             RadioPanelUsb.DisplayObject[] toDisplay = new RadioPanelUsb.DisplayObject[3];
             for (int i = 0; i < toDisplay.Count(); i++)
             {
                 toDisplay[i] = new RadioPanelUsb.DisplayObject();
             }
             toDisplay[0].objType  = (ushort)GenieObject_t.GENIE_OBJ_STRINGS;
             toDisplay[0].objIndex = 29;
             toDisplay[0].value    = 1;
             toDisplay[1].objType  = (ushort)GenieObject_t.GENIE_OBJ_GAUGE;
             toDisplay[1].objIndex = 3;
             toDisplay[1].value    = (ushort)v;
             toDisplay[2].objType  = (ushort)GenieObject_t.GENIE_OBJ_GAUGE;
             toDisplay[2].objIndex = 2;
             toDisplay[2].value    = (ushort)v;
             fp.SetDisplayObjects(toDisplay);
         }
                        ));
     }
     for (int g = 99; g >= 0; g--)
     {
         int v = g;
         fpe.DoOnFp(new FrontPanelExerciser.CallFp(
                        (RadioPanelUsb.FrontPanel fp) =>
         {
             RadioPanelUsb.DisplayObject[] toDisplay = new RadioPanelUsb.DisplayObject[3];
             for (int i = 0; i < toDisplay.Count(); i++)
             {
                 toDisplay[i] = new RadioPanelUsb.DisplayObject();
             }
             toDisplay[0].objType  = (ushort)GenieObject_t.GENIE_OBJ_STRINGS;
             toDisplay[0].objIndex = 29;
             toDisplay[0].value    = 1;
             toDisplay[1].objType  = (ushort)GenieObject_t.GENIE_OBJ_GAUGE;
             toDisplay[1].objIndex = 3;
             toDisplay[1].value    = (ushort)v;
             toDisplay[2].objType  = (ushort)GenieObject_t.GENIE_OBJ_GAUGE;
             toDisplay[2].objIndex = 2;
             toDisplay[2].value    = (ushort)v;
             fp.SetDisplayObjects(toDisplay);
         }
                        ));
     }
     if (m_keepGoing)
     {
         fpe.DoOnFp((RadioPanelUsb.FrontPanel fp) =>
         {
             DoDisplay(fpe);
         });
     }
 }
Beispiel #3
0
        private void buttonTS590_Click(object sender, EventArgs e)
        {
            buttonTS590.Enabled = false;
            buttonK3.Enabled    = false;
            m_keepGoing         = true;
            if (fpe != null)
            {
                fpe.DoOnFp(new FrontPanelExerciser.CallFp(
                               (RadioPanelUsb.FrontPanel fp) => {
                    string rr = "";
                    fp.SetLcdImageFileName("TS590.4XE", ref rr);
                    if (rr != "ok")
                    {
                        MessageBox.Show("Older RC1101 firmware does not support LCD file selection");
                    }
                    else
                    {
                        fp.ResetDisplayDefaults();
                        System.Threading.Thread.Sleep(6500);

                        RadioPanelUsb.DisplayObject[] toDisplay = new RadioPanelUsb.DisplayObject[1];
                        toDisplay[0]          = new RadioPanelUsb.DisplayObject();
                        toDisplay[0].objIndex = 3;
                        toDisplay[0].value    = 1;
                        toDisplay[0].objType  = (ushort)GenieObject_t.GENIE_OBJ_FORM;
                        fp.SetDisplayObjects(toDisplay);

                        fp.SetEncoderMap(0, (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 12,
                                         (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 13, 1, 0, 9999999);
                        fp.SetEncoderMap(1, (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 14,
                                         (ushort)GenieObject_t.GENIE_OBJ_LED_DIGITS, 15, 1, 0, 9999999);
                    }
                }
                               ));

                DoDisplay(fpe);
            }
        }
Beispiel #4
0
        private void head()
        {
            m_running = true;
            m_frontPanel.ResetDisplayDefaults();
#if false
            m_frontPanel.SetEncoderMap(1, 15, 2, 15, 3, 10);
            m_frontPanel.SetEncoderCenter(1, 700000);
            RadioPanelUsb.DisplayObject [] toDisplay = new RadioPanelUsb.DisplayObject[1];
            toDisplay[0]          = new RadioPanelUsb.DisplayObject();
            toDisplay[0].objType  = 10;
            toDisplay[0].objIndex = 2;
            toDisplay[0].value    = 1;
            m_frontPanel.SetDisplayObjects(toDisplay);
#endif
            short[] enow = new short[NUMBER_OF_ENCODERS];
            short[] eprev = new short[NUMBER_OF_ENCODERS];
            ushort  switches = 0; ushort switchesprev = 0;
            byte    encswitches = 0; byte encswitchesprev = 0;
            var     startTime = DateTime.UtcNow;
            uint    okCount   = 0;
            while (!m_stop)
            {
                CallFp doIt = null;
                lock (m_queue)
                {
                    if (m_queue.Any())
                    {
                        doIt = m_queue.First();
                        m_queue.RemoveAt(0);
                    }
                }
                if (doIt != null)
                {
                    doIt(m_frontPanel);
                }
                ushort          numenc = 0;
                bool            ok     = m_frontPanel.GetInputState(enow, ref numenc, ref switches, ref encswitches);
                System.DateTime now    = System.DateTime.Now;
                if (ok)
                {
                    int i = NUMBER_OF_ENCODERS - 1;
                    for (; i >= 0; i--)
                    {   // scan backwards
                        if (eprev[i] != enow[i])
                        {
                            break;
                        }
                    }
                    if (encswitches != encswitchesprev)
                    {
                        encswitchesprev += 0;
                    }
                    if ((i >= 0) ||
                        (switches != switchesprev))
                    {
                        uint[] update = new uint[i + 1];
                        for (int j = 0; j <= i; j++)
                        {
                            update[j] = (uint)(m_encCenters[j] + enow[j]);
                        }
                        ushort sw = switches;
                    }
                    switchesprev    = switches;
                    encswitchesprev = encswitches;
                    okCount        += 1;
                }
            }
#if DEBUG
            var    stopTime    = DateTime.UtcNow;
            var    elapsed     = stopTime - startTime;
            double msec        = elapsed.TotalMilliseconds;
            double msecPerCall = msec / okCount;
#endif
            m_running = false;
        }