Пример #1
0
        public API Init(InitVoltmeter initStructure, INIT_MODE mode = INIT_MODE.INIT)
        {
            if (deviceHandle == IntPtr.Zero)
            {
                return(API.DEVICE_DLLWASNOTLOADED);
            }

            Types.InitVoltmeter iS = new Types.InitVoltmeter(0);

            iS.bufferSize = initStructure.bufferSize;
            iS.control    = initStructure.control;
            iS.filter     = initStructure.filter;
            iS.startType  = initStructure.startType;

            try
            {
                operationStatus = Connector.UniDriverInit(deviceHandle, (uint)mode, ref iS);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.Message.Contains("Unable to load DLL"))
                {
                    return((API)(operationStatus = (uint)API.UNIDRIVER_DLLWASNOTLOADED));
                }
                else
                {
                    return(API.UNDEFINED);
                }
            }
            API st = (API)(operationStatus & MASK_RSH_ERROR);

            if (st == API.SUCCESS)
            {
                initStructure.bufferSize = iS.bufferSize;
                initStructure.control    = iS.control;
                initStructure.filter     = iS.filter;
                initStructure.startType  = iS.startType;
            }

            return(st);
        }
Пример #2
0
        public API Init(InitPort initStructure, INIT_MODE mode = INIT_MODE.INIT)
        {
            if (deviceHandle == IntPtr.Zero)
            {
                return(API.DEVICE_DLLWASNOTLOADED);
            }

            Types.InitPort iS = new Types.InitPort(0);

            iS.operationType = (uint)initStructure.operationType;
            iS.portAddress   = initStructure.portAddress;
            iS.portValue     = initStructure.portValue;

            try
            {
                operationStatus = Connector.UniDriverInit(deviceHandle, (uint)mode, ref iS);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.Message.Contains("Unable to load DLL"))
                {
                    return((API)(operationStatus = (uint)API.UNIDRIVER_DLLWASNOTLOADED));
                }
                else
                {
                    return(API.UNDEFINED);
                }
            }
            API st = (API)(operationStatus & MASK_RSH_ERROR);

            if (st == API.SUCCESS)
            {
                initStructure.operationType = (InitPort.OperationTypeBit)iS.operationType;
                initStructure.portAddress   = iS.portAddress;
                initStructure.portValue     = iS.portValue;
            }

            return(st);
        }
Пример #3
0
        public API Init(InitMemory initStructure, INIT_MODE mode = INIT_MODE.INIT)
        {
            if (deviceHandle == IntPtr.Zero)
            {
                return(API.DEVICE_DLLWASNOTLOADED);
            }

            Types.InitMemory iS = new Types.InitMemory(0);

            iS.bufferSize             = initStructure.bufferSize;
            iS.control                = initStructure.control;
            iS.frequency              = initStructure.frequency;
            iS.startType              = initStructure.startType;
            iS.beforeHistory          = initStructure.beforeHistory;
            iS.controlSynchro         = initStructure.controlSynchro;
            iS.hysteresis             = initStructure.hysteresis;
            iS.packetNumber           = initStructure.packetNumber;
            iS.startDelay             = initStructure.startDelay;
            iS.threshold              = initStructure.threshold;
            iS.channelSynchro.control = initStructure.channelSynchro.control;
            iS.channelSynchro.gain    = initStructure.channelSynchro.gain;


            for (int i = 0; i < initStructure.channels.Length; i++)
            {
                iS.channels[i].control = initStructure.channels[i].control;
                iS.channels[i].gain    = initStructure.channels[i].gain;
                iS.channels[i].delta   = initStructure.channels[i].delta;
            }

            try
            {
                operationStatus = Connector.UniDriverInit(deviceHandle, (uint)mode, ref iS);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.Message.Contains("Unable to load DLL"))
                {
                    return((API)(operationStatus = (uint)API.UNIDRIVER_DLLWASNOTLOADED));
                }
                else
                {
                    return(API.UNDEFINED);
                }
            }
            API st = (API)(operationStatus & MASK_RSH_ERROR);

            if (st == API.SUCCESS)
            {
                initStructure.bufferSize             = iS.bufferSize;
                initStructure.control                = iS.control;
                initStructure.frequency              = iS.frequency;
                initStructure.startType              = iS.startType;
                initStructure.beforeHistory          = iS.beforeHistory;
                initStructure.controlSynchro         = iS.controlSynchro;
                initStructure.hysteresis             = iS.hysteresis;
                initStructure.packetNumber           = iS.packetNumber;
                initStructure.startDelay             = iS.startDelay;
                initStructure.threshold              = iS.threshold;
                initStructure.channelSynchro.control = iS.channelSynchro.control;
                initStructure.channelSynchro.gain    = iS.channelSynchro.gain;

                for (int i = 0; i < initStructure.channels.Length; i++)
                {
                    initStructure.channels[i].control = iS.channels[i].control;
                    initStructure.channels[i].gain    = iS.channels[i].gain;
                    initStructure.channels[i].delta   = iS.channels[i].delta;
                }
            }

            return(st);
        }
Пример #4
0
        public API Init(InitDMA initStructure, INIT_MODE mode = INIT_MODE.INIT)
        {
            if (deviceHandle == IntPtr.Zero)
            {
                return(API.DEVICE_DLLWASNOTLOADED);
            }

            Types.InitDMA iS = new Types.InitDMA(0); // для вызова своего конструктора

            iS.bufferSize     = initStructure.bufferSize;
            iS.control        = initStructure.control;
            iS.dmaMode        = initStructure.dmaMode;
            iS.frequency      = initStructure.frequency;
            iS.frequencyPack  = initStructure.frequencyPack;
            iS.startType      = initStructure.startType;
            iS.threshold      = initStructure.threshold;
            iS.controlSynchro = initStructure.controlSynchro;

            for (int i = 0; i < initStructure.channels.Length; i++)
            {
                iS.channels[i].control = initStructure.channels[i].control;
                iS.channels[i].gain    = initStructure.channels[i].gain;
                iS.channels[i].delta   = initStructure.channels[i].delta;
            }
            try
            {
                operationStatus = Connector.UniDriverInit(deviceHandle, (uint)mode, ref iS);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.Message.Contains("Unable to load DLL"))
                {
                    return((API)(operationStatus = (uint)API.UNIDRIVER_DLLWASNOTLOADED));
                }
                else
                {
                    return(API.UNDEFINED);
                }
            }
            API st = (API)(operationStatus & MASK_RSH_ERROR);

            if (st == API.SUCCESS)
            {
                initStructure.bufferSize     = iS.bufferSize;
                initStructure.control        = iS.control;
                initStructure.dmaMode        = iS.dmaMode;
                initStructure.frequency      = iS.frequency;
                initStructure.frequencyPack  = iS.frequencyPack;
                initStructure.startType      = iS.startType;
                initStructure.threshold      = iS.threshold;
                initStructure.controlSynchro = iS.controlSynchro;

                for (int i = 0; i < initStructure.channels.Length; i++)
                {
                    initStructure.channels[i].control = iS.channels[i].control;
                    initStructure.channels[i].gain    = iS.channels[i].gain;
                    initStructure.channels[i].delta   = iS.channels[i].delta;
                }
            }

            return(st);
        }