Ejemplo n.º 1
0
        public InteruptController(IARMHost ihost, InterruptControllerDisplay interruptControllerDisplay)
        {
            mIhost = ihost;
            mInterruptControllerDisplay = interruptControllerDisplay;

            //request to be notified when our area of the memory map is written or read
            mIhost.RequestMemoryBlock(0x01e00000, 0xffffffc0, onMemoryAccessRead, onMemoryAccessWrite);
            this.Restart();
        }
        }//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