Esempio n. 1
0
 public abstract void SetupInterrupt(Int32 factor, MulticastDelegate EventAddr, object[] EventArg, ref InterruputSetup someinterr);
Esempio n. 2
0
        // void SetupInterrupt( Int32 item, Int32 factor, MulticastDelegate EventAddr, ref InterruputSetup someinterr)
        // Motion Interrupt setup function
        //Parameters:
        // item:       the selected axis.
        // Factor:     type of interrupt(when to interrupt)
        // EventAddr:  Delegate function. It is action after interrupt.
        // EventArg :  Argument for interrupt function: EventAddr
        // someinterr: record setup
        /// <summary>
        /// Setups the interrupt.
        /// </summary>
        /// <param name="factor">Type of interrupt(when to interrupt).</param>
        /// <param name="EventAddr">Delegate function. It is action after interrupt.</param>
        /// <param name="EventArg">Argument for interrupt function: EventAddr.</param>
        /// <param name="someinterr">record setup.</param>
        public override void SetupInterrupt(Int32 factor, MulticastDelegate EventAddr, object[] EventArg, ref InterruputSetup someinterr)
        {
            someinterr.board_id  = this.mCardPara.boardID_InBits;
            someinterr.item      = mCardPara.AxisID;
            someinterr.factor    = factor;
            someinterr.int_no    = APS168.APS_set_int_factor(/*someinterr.board_id*/ 0, someinterr.item, someinterr.factor, 1);
            someinterr.EventAddr = EventAddr;
            int argNum = EventArg.Length;

            someinterr.EventArgs = new object[argNum];

            for (int i = 0; i < argNum; i++)
            {
                someinterr.EventArgs[i] = EventArg[i];
            }


            APS168.APS_int_enable(0, 1);
        }