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); } }
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); }); } }
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); } }
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; }