Exemplo n.º 1
0
        public bool SetAll(bool show)
        {
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("LCD.Icons.SetAll(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            if (LogDisplayingDiscIcons)
            {
                this.wrapper.OnLog("IMON_Display_SetLcdAllIcons(" + show + ")");
            }
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetLcdAllIcons(show);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                iMonLcdIcons[] iconArray = new iMonLcdIcons[this.icons.Count];
                this.icons.Keys.CopyTo(iconArray, 0);
                foreach (iMonLcdIcons icon in iconArray)
                {
                    this.icons[icon] = show;
                }
                return(true);

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("IMON_Display_SetLcdAllIcons() => not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }
Exemplo n.º 2
0
        public bool Set(iMonLcdIcons icon, bool show)
        {
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("LCD.Icons.Set(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }
            if (this.icons[icon] == show)
            {
                return(true);
            }

            iMonNativeApi.iMonDisplayResult result = this.set(icon, show);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                this.icons[icon] = show;
                return(true);

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("Cannot set icon when the display has not been initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }
Exemplo n.º 3
0
        /*
         * Sending strings Line1 and Line2 to the iMon API
         */
        private String sendToVfdApi(String Line1, String Line2)
        {
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetVfdText(Line1, Line2);
            String strResult = result.ToString();

            return(strResult);
        }
Exemplo n.º 4
0
        public bool SetText(string firstLine, string secondLine)
        {
            if (firstLine == null)
            {
                throw new ArgumentNullException("firstLine");
            }
            if (secondLine == null)
            {
                throw new ArgumentNullException("secondLine");
            }
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("VFD.SetText(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            this.wrapper.OnLog("IMON_Display_SetVfdText(" + firstLine + ", " + secondLine + ")");
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetVfdText(firstLine, secondLine);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                return(true);

            case iMonNativeApi.iMonDisplayResult.InvalidPointer:
                this.wrapper.OnLogError("IMON_Display_SetVfdText() => Invalid pointer");
                throw new NullReferenceException();

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("IMON_Display_SetVfdText() => Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }
Exemplo n.º 5
0
        private String initialiseVFD()
        {
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_Init(this.Handle, (WM_COMMAND));
            String strResult = result.ToString();

            return(strResult);
        }
Exemplo n.º 6
0
        private String deInitialiseVFD()
        {
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_Uninit();
            String strResult = result.ToString();

            return(strResult);
        }
Exemplo n.º 7
0
        public bool SetText(string text)
        {
            if (text == null)
            {
                throw new ArgumentNullException("text");
            }
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("LCD.SetText(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            this.wrapper.OnLog("IMON_Display_SetLcdText(" + text + ")");
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetLcdText(text);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                return(true);

            case iMonNativeApi.iMonDisplayResult.InvalidPointer:
                this.wrapper.OnLogError("IMON_Display_SetLcdText() => Invalid pointer");
                throw new NullReferenceException();

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("IMON_Display_SetLcdText() => Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }
Exemplo n.º 8
0
        public bool SetProgress(int value, int total)
        {
            if (value < 0)
            {
                throw new ArgumentException("The value of the progress can't be less than 0");
            }
            if (total < 0)
            {
                throw new ArgumentException("The maximum of the progress can't be less than 0");
            }
            if (value > total)
            {
                value = total;
            }
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("LCD.SetProgress(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            this.wrapper.OnLog("IMON_Display_SetLcdProgress(" + value + ", " + total + ")");
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetLcdProgress(value, total);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                return(true);

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("IMON_Display_SetLcdProgress() => Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }
Exemplo n.º 9
0
        private iMonErrorType getErrorType(iMonNativeApi.iMonDisplayResult result)
        {
            this.OnLogError("Interpreting result error type: " + result);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.ApiNotInitialized:
                return(iMonErrorType.ApiNotInitialized);

            case iMonNativeApi.iMonDisplayResult.Failed:
                return(iMonErrorType.Unknown);

            case iMonNativeApi.iMonDisplayResult.InvalidArguments:
                return(iMonErrorType.InvalidArguments);

            case iMonNativeApi.iMonDisplayResult.InvalidPointer:
                return(iMonErrorType.InvalidPointer);

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                return(iMonErrorType.NotInitialized);

            case iMonNativeApi.iMonDisplayResult.NotInPluginMode:
                return(iMonErrorType.NotInPluginMode);

            case iMonNativeApi.iMonDisplayResult.OutOfMemory:
                return(iMonErrorType.OutOfMemory);
            }

            return(iMonErrorType.Unknown);
        }
Exemplo n.º 10
0
        public void Initialize()
        {
            if (this.IsInitialized)
            {
                return;
            }

            this.OnLog("IMON_Display_Init(" + this.Handle + ", " + WM_IMON_NOTIFICATION + ")");
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_Init(this.Handle, WM_IMON_NOTIFICATION);
            if (result != iMonNativeApi.iMonDisplayResult.Succeeded)
            {
                this.onError(this.getErrorType(result));
            }
        }
Exemplo n.º 11
0
        public bool SetEqualizer(int[] leftChannelBandData, int[] rightChannelBandData)
        {
            if (leftChannelBandData == null)
            {
                throw new ArgumentNullException("leftChannelBandData");
            }
            if (rightChannelBandData == null)
            {
                throw new ArgumentNullException("rightChannelBandData");
            }
            if (leftChannelBandData.Length != 16)
            {
                throw new ArgumentException("The equalizer's left channel band data must consist of 16 values between 0 and 100");
            }
            if (rightChannelBandData.Length != 16)
            {
                throw new ArgumentException("The equalizer's right channel band data must consist of 16 values between 0 and 100");
            }
            if (!this.wrapper.IsInitialized)
            {
                this.wrapper.OnLogError("LCD.SetEqualizer(): Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            iMonNativeApi.iMonDisplayEqualizerData eqLeftData = new iMonNativeApi.iMonDisplayEqualizerData();
            eqLeftData.BandData = leftChannelBandData;
            iMonNativeApi.iMonDisplayEqualizerData eqRightData = new iMonNativeApi.iMonDisplayEqualizerData();
            eqRightData.BandData = rightChannelBandData;

            this.wrapper.OnLog("IMON_Display_SetLcdEqData()");
            iMonNativeApi.iMonDisplayResult result = iMonNativeApi.IMON_Display_SetLcdEqData(ref eqLeftData, ref eqRightData);

            switch (result)
            {
            case iMonNativeApi.iMonDisplayResult.Succeeded:
                return(true);

            case iMonNativeApi.iMonDisplayResult.InvalidPointer:
                this.wrapper.OnLogError("IMON_Display_SetLcdEqData() => Invalid pointer");
                throw new NullReferenceException();

            case iMonNativeApi.iMonDisplayResult.NotInitialized:
                this.wrapper.OnLogError("IMON_Display_SetLcdEqData() => Not initialized");
                throw new InvalidOperationException("The display is not initialized");
            }

            return(false);
        }