예제 #1
0
        protected virtual void updateDisplay(string value)
        {
            LCD_Manager lm = _parent.getLCD();

            lm.updateCalcRegister(0, toString());
            lm.requestUpdate();
        }
예제 #2
0
        public override byte tick(byte scancode)
        {
            RPN_Functions _rpnf = _parent.getFunctions();

            if (!_parent._m_backgroundWorker.IsBusy)
            {
                return(_rpnf.requestNextReceiver("AUTO_N"));
            }
            if (scancode == 8)
            {
                _parent._m_backgroundWorker.CancelAsync();
                return(0);
            }
            TimeSpan ts = DateTime.Now.Subtract(_lastUIUpdate);
            bool     update_required = ts.TotalMilliseconds > KBD_RUNNING_DELAY;

            if (!update_required)
            {
                return(0);
            }
            LCD_Manager lm = _parent.getLCD();

            lm.updateStatusPC(_rpnf.progMem.getCounter());
            lm.updateStatusMC(_rpnf.extMem.getCounter());
            lm.updateCalcRegister(0, _rpnf.rpnStack.X.toString());
            lm.requestUpdate();
            _lastUIUpdate = DateTime.Now;
            return(0);
        }
예제 #3
0
        public override byte tick(byte scancode)
        {
            LCD_Manager lm = _parent.getLCD();
            RPN_Stack   st = _parent._m_RPN_Stack;

            lm.updateStatusPC(_parent._m_Program_Memory.getCounter());
            lm.updateStatusMC(_parent._m_Extended_Memory.getCounter());
            lm.updateStatusDMODE(st.getDModeName());
            lm.updateCalcRegister(0, st.X.toString());
            lm.updateCalcLabel(0, st.X_Label);
            lm.updateCalcRegister(1, st.Y.toString());
            lm.updateCalcLabel(1, st.Y_Label);
            lm.updateCalcRegister(2, st.Z.toString());
            lm.updateCalcLabel(2, st.Z_Label);
            lm.updateCalcRegister(3, st.T.toString());
            lm.updateCalcLabel(3, st.T_Label);
            lm.requestUpdate();
            return(0);
        }