public ApdTimer(Scheduler sched, Calculator.InterruptId interruptId, Calculator master, double period) { NextIncrement = new Scheduler.WallTimeEvent(); NextIncrement.Tag = "HW Timer tick " + interruptId.ToString(); NextIncrement.Handler = new EventHandler <Scheduler.WallTimeEvent>(DoTick); Scheduler = sched; InterruptId = interruptId; Master = master; this.period = period; Scheduler.EnqueueRelativeEvent(NextIncrement, Period); }
public void RefreshData() { double oldFreq = Calculator.Cpu.Clock.Frequency; if (oldFreq != OldFreq) { OldFreq = oldFreq; frequencyLabel.Text = Math.Round(OldFreq / 1000000, 3).ToString() + " MHz"; } execTimeLabel.Text = Math.Round(Master.AverageDeltaT * 1000, 3) + " ms (relative to " + Math.Round(Master.ExecutionQuantum * 1000, 0) + " ms nominal)" + ((int)(Master.ExecutionSpeed * 100) != 100 ? " (scaled with speed)" : ""); Calculator.InterruptId oldInts = Calculator.Interrupts; if (oldInts != OldInts) { OldInts = oldInts; intsLabel.Text = OldInts.ToString(); } }