示例#1
0
 public BlackButtons(IOPorts ioPorts, InteruptController interuptController, ARMSim.Plugins.UIControls.BlackButtons blackButtons)
 {
     mIOPorts              = ioPorts;
     mInteruptController   = interuptController;
     mBlackButtons         = blackButtons;
     mBlackButtons.Notify += ButtonPressPortNotify;
 }
示例#2
0
        public Leds(IARMHost ihost, IOPorts ioPorts, ARMSim.Plugins.UIControls.Leds ledsControl)
        {
            mIhost       = ihost;
            mIOPorts     = ioPorts;
            mLedsControl = ledsControl;

            mIOPorts.RequestPortNotify(IOPorts.PortNumbers.PDATB, ioPortNotify);
            this.Restart();
        }
示例#3
0
        public BlueButtons(IARMHost ihost, IOPorts ioPorts, InteruptController interuptController, ARMSim.Plugins.UIControls.BlueButtons blueButtons)
        {
            mIhost               = ihost;
            mIOPorts             = ioPorts;
            mInteruptController  = interuptController;
            mBlueButtons         = blueButtons;
            mBlueButtons.Notify += ButtonPressPortNotify;

            //request to be notified when our area of the memory map is written or read
            mIhost.RequestMemoryBlock(keyboard_base, 0xffffff00, onMemoryAccessRead, onMemoryAccessWrite);
        }
        }//init

        /// <summary>
        /// The onLoad function is called after all the plugins have been loaded and their
        /// init methods called.
        /// </summary>
        private void onLoad(object sender, EventArgs e)
        {
            ARMSim.Plugins.UIControls.EmbestBoard embestBoardControl         = new ARMSim.Plugins.UIControls.EmbestBoard();
            InterruptControllerDisplay            interruptControllerDisplay = new InterruptControllerDisplay(mInteruptController);

            mInteruptController = new InteruptController(mIHost, interruptControllerDisplay);
            mWatchDogTimer      = new WatchDogTimer(mIHost, mInteruptController);
            mPWMTimer           = new PWMTimer(mIHost, mInteruptController);
            mIOPorts            = new IOPorts(mIHost);
            mLeds                = new Leds(mIHost, mIOPorts, embestBoardControl.Leds);
            mBlackButtons        = new BlackButtons(mIOPorts, mInteruptController, embestBoardControl.BlackButtons);
            mBlueButtons         = new BlueButtons(mIHost, mIOPorts, mInteruptController, embestBoardControl.BlueButtons);
            mLcdDisplay          = new LcdDisplay(mIHost, embestBoardControl.Lcd);
            mEightSegmentDisplay = new EightSegmentDisplay(mIHost, embestBoardControl.EightSegmentDisplay);
            mUarts               = new Uarts(mIHost, mInteruptController);

            mIHost.RequestPanel(this.PluginName).Controls.Add(embestBoardControl);
            mIHost.RequestPanel("InterruptControllerDisplay").Controls.Add(interruptControllerDisplay);

            mIHost.Restart += onRestart;
        }//onLoad