예제 #1
0
        private void setValue(ref NVRAM_FIELDS val, ref int indx)
        {
            byte[] bytes = new byte[val.Length];
            Array.Copy(byteArray, indx, bytes, 0, val.Length);

            if (val.Name != null)
            {
                if (val.value.GetType() == typeof(string))
                {
                    val.value = Encoding.UTF8.GetString(bytes);
                    string str = val.value.ToString().Replace("\0", string.Empty).Trim();
                    val.value = str;
                }
                else if (val.value.GetType() == typeof(int))
                {
                    Array.Copy(byteArray, indx, bytes, 0, bytes.Length);
                    val.value = BitConverter.ToInt32(bytes, 0);
                }
                else
                {
                    val.value = (byte)bytes[0];
                }
                Console.WriteLine(val.Name + "  " + val.GetType() + "   " + val.value + "  " + indx);

                indx += val.Length;
            }
        }
예제 #2
0
        private void getValue(object nvramVersionSettings, object nvramDataID)
        {
            Type t = nvramVersionSettings.GetType();

            FieldInfo[] f = t.GetFields();
            foreach (var field in f)
            {
                obj = field.GetValue(nvramVersionSettings);

                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    if (Enum.GetName(nvramDataID.GetType(), nvramDataID) == field.Name)
                    {
                        NVRAM_FIELDS nvF = obj as NVRAM_FIELDS;
                        if (nvF.Length == 1)
                        {
                            obj = Convert.ToByte(nvF.value);
                        }
                        else
                        {
                            obj = nvF.value;
                        }
                        Type typ = obj.GetType();
                        break;
                    }
                }
            }
        }
예제 #3
0
            public void initNvramSettings()
            {
                NvramSetting     = new NVRAM_FIELDS();
                DeviceId         = new NVRAM_FIELDS();
                OptoMechanicalID = new NVRAM_FIELDS();
                BomVersion_Major = new NVRAM_FIELDS();
                BomVersion_Minor = new NVRAM_FIELDS();

                ClassicSettings     = new NVRAM_FIELDS();
                EnableLensArtifact  = new NVRAM_FIELDS();
                LensArtifactTopX    = new NVRAM_FIELDS();
                LensArtifactTopY    = new NVRAM_FIELDS();
                LensArtifactBottomX = new NVRAM_FIELDS();
                LensArtifactBottomY = new NVRAM_FIELDS();

                RoyalSettings      = new NVRAM_FIELDS();
                HeightRefPoint     = new NVRAM_FIELDS();
                AOIRectangleX      = new NVRAM_FIELDS();
                AOIRectangleY      = new NVRAM_FIELDS();
                AOIRectangleWidth  = new NVRAM_FIELDS();
                AOIRectangleHeight = new NVRAM_FIELDS();
                DisplayCentreX     = new NVRAM_FIELDS();
                DisplayCentreY     = new NVRAM_FIELDS();;
                LEDThreshold       = new NVRAM_FIELDS();

                LiquidLensSettings      = new NVRAM_FIELDS();
                LiquidLensResetValue    = new NVRAM_FIELDS();
                LiquidLensSteps         = new NVRAM_FIELDS();
                LiquidLensCurrentValue  = new NVRAM_FIELDS();
                LiquidLensMaxValue      = new NVRAM_FIELDS();
                LiquidLensMinValue      = new NVRAM_FIELDS();
                LiquidLensSweepStepSize = new NVRAM_FIELDS();
                RefractoGain            = new NVRAM_FIELDS();

                StatisticsSettings          = new NVRAM_FIELDS();
                PatientCount                = new NVRAM_FIELDS();
                TotalAnteriorImage_Count    = new NVRAM_FIELDS();
                TotalPosteriorImage_Count   = new NVRAM_FIELDS();
                LeftEyeRefraction_count     = new NVRAM_FIELDS();
                RightEyeRefraction_count    = new NVRAM_FIELDS();
                ReportsGenerated_count      = new NVRAM_FIELDS();
                ReportPrintouts_count       = new NVRAM_FIELDS();
                WhiteLightLED_ON_Duration   = new NVRAM_FIELDS();
                IR_LED_ON_Duration          = new NVRAM_FIELDS();
                RingIR_LED_ON_Duration      = new NVRAM_FIELDS();
                Film_LED_ON_Duration        = new NVRAM_FIELDS();
                CorneaFixtureIR_ON_Duration = new NVRAM_FIELDS();
                CorneaLED_ON_Duration       = new NVRAM_FIELDS();

                LicensingSettings = new NVRAM_FIELDS();

                ActivationCode      = new NVRAM_FIELDS();
                IsPayPerUse         = new NVRAM_FIELDS(); //bool
                IsFirstTime         = new NVRAM_FIELDS(); //bool
                ExpiryDate          = new NVRAM_FIELDS();
                LicenseMode         = new NVRAM_FIELDS(); //string
                NoOfVisits          = new NVRAM_FIELDS();
                NoOfLicensesElapsed = new NVRAM_FIELDS();
            }
예제 #4
0
 public void initNvramSettings()
 {
     PropertyInfo[] pinf = this.nvramSettings.GetType().GetProperties();
     foreach (var item in pinf)
     {
         //if(item.GetType()==typeof(NVRAM_FIELDS))
         NVRAM_FIELDS nvf = new NVRAM_FIELDS();
         item.SetValue(this.nvramSettings, nvf, null);
     }
 }
예제 #5
0
 public void initNvramSettings()
 {
     FieldInfo[] finf = this.nvramSettings.GetType().GetFields();
     foreach (FieldInfo item in finf)
     {
         //if(item.GetType()==typeof(NVRAM_FIELDS))
         NVRAM_FIELDS nvf = item.GetValue(this.nvramSettings) as NVRAM_FIELDS;
         //NVRAM_FIELDS nvf = item as NVRAM_FIELDS;
         nvf = new NVRAM_FIELDS();
     }
 }
예제 #6
0
        private void getByteArray(object nvramVersionSettings)
        {
            nvram_buf = new byte[256];
            int byteIndx = 2;

            string[] strArr = newNvramVersion.Split('.');
            byte     temp1  = Convert.ToByte(strArr[0]);
            byte     temp2  = Convert.ToByte(strArr[1]);

            nvram_buf[0] = temp1;
            nvram_buf[1] = temp2;
            Type t = nvramVersionSettings.GetType();

            FieldInfo[] fieldInfoArr = t.GetFields();
            int         intRes       = 0;
            byte        byteRes      = 0;

            foreach (FieldInfo item in fieldInfoArr)
            {
                object obj = item.GetValue(nvramVersionSettings);
                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    NVRAM_FIELDS nvF   = obj as NVRAM_FIELDS;
                    byte[]       bytes = new byte[nvF.Length];
                    if (nvF.Name != null)
                    {
                        Console.WriteLine(nvF.Name + "  " + nvF.value.GetType() + "  " + nvF.value + "  " + byteIndx);

                        if (nvF.value.GetType() == typeof(string))
                        {
                            string val = nvF.value as string;
                            bytes = Encoding.UTF8.GetBytes(val);
                            Array.Copy(bytes, 0, nvram_buf, byteIndx, bytes.Length);
                            byteIndx += nvF.Length;
                        }
                        else if (int.TryParse(nvF.value.ToString(), out intRes) && nvF.Length == sizeof(int))
                        {
                            // int val = Convert.ToInt32(nvF.value);
                            bytes = BitConverter.GetBytes(intRes);
                            Array.Copy(bytes, 0, nvram_buf, byteIndx, bytes.Length);
                            byteIndx += sizeof(int);
                        }
                        else if (byte.TryParse(nvF.value.ToString(), out byteRes) && nvF.Length == sizeof(byte))
                        {
                            bytes[0] = byteRes;
                            Array.Copy(bytes, 0, nvram_buf, byteIndx, bytes.Length);
                            byteIndx += sizeof(byte);
                        }
                    }
                }
            }
        }
예제 #7
0
 private void setValue(ref NVRAM_FIELDS val)
 {
     if (fieldInfoIndx != -1)
     {
         NVRAM_FIELDS tempField = fieldInfo[fieldInfoIndx].GetValue(nvram) as NVRAM_FIELDS;
         val.Length   = tempField.Length;
         val.enable   = tempField.enable;
         val.MaxValue = tempField.MaxValue;
         val.MinValue = tempField.MinValue;
         val.Name     = tempField.Name;
         val.value    = tempField.value;
     }
 }
예제 #8
0
        public string GetNvram()
        {
            string retStr = "";

            foreach (KeyValuePair <string, object> keyVal in nvramDic)
            {
                // if (keyVal.Value != null)
                NVRAM_FIELDS nvf = keyVal.Value as NVRAM_FIELDS;
                if (nvf.value != null)
                {
                    retStr += nvf.Name + " = " + nvf.value.ToString() + NewLine;
                }
            }
            return(retStr);
        }
예제 #9
0
        private void SetNvramToDic(object VersionSettings)
        {
            nvramDic.Clear();
            nvramDic = new Dictionary <string, object>();

            foreach (var field in VersionSettings.GetType().GetFields(BindingFlags.Instance |
                                                                      BindingFlags.NonPublic |
                                                                      BindingFlags.Public))
            {
                object obj = field.GetValue(VersionSettings);
                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    NVRAM_FIELDS nvF = obj as NVRAM_FIELDS;
                    nvramDic.Add(field.Name, nvF);
                }
            }
        }
예제 #10
0
        private void initializeNvram(object NvramStructure)
        {
            Type t = NvramStructure.GetType();

            FieldInfo[] f = t.GetFields();
            foreach (var field in f)
            {
                obj = field.GetValue(NvramStructure);

                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    string str = field.Name;
                    GetFieldInfoIndx(str);
                    NVRAM_FIELDS nvF = obj as NVRAM_FIELDS;
                    setValue(ref nvF);
                }
            }
        }
예제 #11
0
        private void setValue(object nvramVersionSettings, object nvramDataID, object value)
        {
            Type t = nvramVersionSettings.GetType();

            FieldInfo[] f = t.GetFields();
            foreach (var field in f)
            {
                obj = field.GetValue(nvramVersionSettings);

                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    if (Enum.GetName(nvramDataID.GetType(), nvramDataID) == field.Name)
                    {
                        NVRAM_FIELDS nvF = obj as NVRAM_FIELDS;
                        nvF.value = value;
                        break;
                    }
                }
            }
        }
예제 #12
0
        private void SetNvramByteArray2Struct(byte[] nvramValues, object nvramSettingVersion)
        {
            int indx  = 0;
            int count = 0;

            byteArray = new byte[nvramValues.Length];
            Array.Copy(nvramValues, byteArray, nvramValues.Length);


            foreach (var field in (nvramSettingVersion).GetType().GetFields(BindingFlags.Instance |
                                                                            BindingFlags.NonPublic |
                                                                            BindingFlags.Public))
            {
                object obj = field.GetValue(nvramSettingVersion);
                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    NVRAM_FIELDS nvF = obj as NVRAM_FIELDS;
                    setValue(ref nvF, ref indx);
                }
            }
        }
예제 #13
0
        private void GetNvramFromDic(Dictionary <string, object> nvramDic, object nvramSettings)
        {
            Type t = nvramSettings.GetType();

            FieldInfo[] fields = t.GetFields();
            foreach (FieldInfo fieldVal in fields)
            {
                obj = fieldVal.GetValue(nvramSettings);

                if (obj.GetType() == typeof(NVRAM_FIELDS))
                {
                    NVRAM_FIELDS nvF     = obj as NVRAM_FIELDS;
                    object       tempObj = new object();
                    nvramDic.TryGetValue(fieldVal.Name, out tempObj);
                    if (tempObj != null)
                    {
                        NVRAM_FIELDS tempFields = tempObj as NVRAM_FIELDS;
                        nvF.value = tempFields.value;
                    }
                }
            }
        }
예제 #14
0
        public static void SetValue(String node, String val)
        {
            string[] parts = node.Split('.');
            Dictionary <String, Object> tmp = dic;

            foreach (KeyValuePair <string, object> item in dic)
            {
                NVRAM_FIELDS nvF = item.Value as NVRAM_FIELDS;

                if (nvF.Name != null)
                {
                    if (nvF.Name == parts[1])
                    {
                        objectConvert(val, ref nvF.value);
                        break;
                    }
                }
                else
                {
                    continue;
                }
            }
        }
예제 #15
0
            public void initNvramSettings()
            {
                DeviceId                = new NVRAM_FIELDS();;
                DeviceId.Length         = 16;
                OptoMechanicalID        = new NVRAM_FIELDS();;
                OptoMechanicalID.Length = 7;
                ClassicSettings         = new NVRAM_FIELDS();;
                EnableLensArtifact      = new NVRAM_FIELDS();;
                LensArtifactTopX        = new NVRAM_FIELDS();;
                LensArtifactTopY        = new NVRAM_FIELDS();;
                LensArtifactBottomX     = new NVRAM_FIELDS();;
                LensArtifactBottomY     = new NVRAM_FIELDS();;

                RoyalSettings      = new NVRAM_FIELDS();;
                HeightRefPoint     = new NVRAM_FIELDS();;
                AOIRectangleX      = new NVRAM_FIELDS();;
                AOIRectangleY      = new NVRAM_FIELDS();;
                AOIRectangleWidth  = new NVRAM_FIELDS();;
                AOIRectangleHeight = new NVRAM_FIELDS();;
                DisplayCentreX     = new NVRAM_FIELDS();;
                DisplayCentreY     = new NVRAM_FIELDS();;
                LEDThreshold       = new NVRAM_FIELDS();;
            }
예제 #16
0
 private void addLeaf(KeyValuePair <String, Object> leaf, int lvl, String parentName, int minVal, int maxVal)
 {
     NVRAM_FIELDS nvF = leaf.Value as NVRAM_FIELDS;
     XmlLeaf_UC   node;
     {
         if (nvF.Name != null)
         {
             if (nvF.enable == 1)
             {
                 node      = new XmlLeaf_UC(nvF.Name, nvF.value.ToString(), parentName, lvl, nvF.MinValue, nvF.MaxValue);
                 node.Left = hIndent + 5 * lvl;
                 node.Top  = vIndent;
                 this.panel1.Controls.Add(node);
                 vIndent += 30;
             }
         }
         else
         {
             if (nvF.enable == 1)
             {
                 if (leaf.Key.ToLower().Contains("nvram"))
                 {
                     node = new XmlLeaf_UC(leaf.Key, nvF.value.ToString(), parentName, 3, 0, 0);
                 }
                 else
                 {
                     node = new XmlLeaf_UC(leaf.Key, null, parentName, 2, 0, 0);
                 }
                 node.Left = hIndent + 5 * lvl;
                 node.Top  = vIndent;
                 this.panel1.Controls.Add(node);
                 vIndent += 30;
             }
         }
     }
 }
예제 #17
0
        public NVRAM(bool isRoyal)
        {
            ClassicSettings.enable      = 1;
            RoyalSettings.enable        = 1;
            LensArtifactSettings.enable = 1;
            LiquidLensSettings.enable   = 1;
            LicensingSettings.enable    = 1;
            NvramSettings.enable        = 1;
            DeviceId        = new NVRAM_FIELDS();
            DeviceId.enable = 1;
            DeviceId.Length = 12;
            DeviceId.Name   = "Device-ID";
            if (isRoyal)
            {
                DeviceId.value = "3RXXXXXXXXXX";
            }
            else
            {
                DeviceId.value = "3CXXXXXXXXXX";
            }


            OptoMechanicalID.enable = 1;
            OptoMechanicalID.Length = 6;
            OptoMechanicalID.Name   = "Opto-Mechanical ID";
            if (isRoyal)
            {
                OptoMechanicalID.value = "TRXXXX";
            }
            else
            {
                OptoMechanicalID.value = "TCXXXX";
            }

            EnableLensArtifact.enable   = 1;
            EnableLensArtifact.Length   = 1;
            EnableLensArtifact.Name     = "Enable-Lens-Artifact Removal";
            EnableLensArtifact.value    = (byte)0;
            EnableLensArtifact.MaxValue = (int)1;
            EnableLensArtifact.MinValue = (int)0;

            LensArtifactTopX.enable   = 1;
            LensArtifactTopX.Length   = 4;
            LensArtifactTopX.Name     = "Lens-Artifact Top X";
            LensArtifactTopX.value    = 1024;
            LensArtifactTopX.MaxValue = 2048;
            LensArtifactTopX.MinValue = 0;

            LensArtifactTopY.enable   = 1;
            LensArtifactTopY.Length   = 4;
            LensArtifactTopY.Name     = "Lens-Artifact Top Y";
            LensArtifactTopY.value    = 768;
            LensArtifactTopY.MaxValue = 2048;
            LensArtifactTopY.MinValue = 0;


            LensArtifactBottomX.enable   = 1;
            LensArtifactBottomX.Length   = 4;
            LensArtifactBottomX.Name     = "Lens-Artifact Bottom X";
            LensArtifactBottomX.value    = 1024;
            LensArtifactBottomX.MaxValue = 2048;;
            LensArtifactBottomX.MinValue = 0;

            LensArtifactBottomY.enable   = 1;
            LensArtifactBottomY.Length   = 4;
            LensArtifactBottomY.Name     = "Lens-Artifact Bottom Y";
            LensArtifactBottomY.value    = 768;
            LensArtifactBottomY.MaxValue = 2048;
            LensArtifactBottomY.MinValue = 0;

            HeightRefPoint.enable   = 1;
            HeightRefPoint.Length   = 4;
            HeightRefPoint.Name     = "Height Referece Point";
            HeightRefPoint.value    = 285;
            HeightRefPoint.MaxValue = (int)HeightRefPoint.value + 100;
            HeightRefPoint.MinValue = (int)HeightRefPoint.value - 100;

            AOIRectangleX.enable   = 1;
            AOIRectangleX.Length   = 4;
            AOIRectangleX.Name     = "AOI Rectangle X";
            AOIRectangleX.value    = 544;
            AOIRectangleX.MaxValue = 2048;
            AOIRectangleX.MinValue = 0;

            AOIRectangleY.enable   = 1;
            AOIRectangleY.Length   = 4;
            AOIRectangleY.Name     = "AOI Rectangle Y";
            AOIRectangleY.value    = 288;
            AOIRectangleY.MaxValue = 2048;
            AOIRectangleY.MinValue = 0;

            AOIRectangleWidth.enable   = 1;
            AOIRectangleWidth.Length   = 4;
            AOIRectangleWidth.Name     = "AOI Rectangle Width";
            AOIRectangleWidth.value    = 960;
            AOIRectangleWidth.MaxValue = 2048;
            AOIRectangleWidth.MinValue = 0;

            AOIRectangleHeight.enable   = 1;
            AOIRectangleHeight.Length   = 4;
            AOIRectangleHeight.Name     = "AOI Rectangle Height";
            AOIRectangleHeight.value    = 960;
            AOIRectangleHeight.MaxValue = 2048;
            AOIRectangleHeight.MinValue = 0;

            DisplayCentreX.enable   = 1;
            DisplayCentreX.Length   = 4;
            DisplayCentreX.Name     = "Display Centre X";
            DisplayCentreX.value    = 512;
            DisplayCentreX.MaxValue = 2048;
            DisplayCentreX.MinValue = 0;

            DisplayCentreY.enable   = 1;
            DisplayCentreY.Length   = 4;
            DisplayCentreY.Name     = "Display Centre Y";
            DisplayCentreY.value    = 384;
            DisplayCentreY.MaxValue = 2048;
            DisplayCentreY.MinValue = 0;

            LEDThreshold.enable   = 1;
            LEDThreshold.Length   = 4;
            LEDThreshold.Name     = "LED Threshold";
            LEDThreshold.value    = 200;
            LEDThreshold.MaxValue = (int)LEDThreshold.value + 100;
            LEDThreshold.MinValue = (int)LEDThreshold.value - 100;

            LiquidLensResetValue.enable   = 1;
            LiquidLensResetValue.Length   = 1;
            LiquidLensResetValue.Name     = "Liquid Lens Reset Value";
            LiquidLensResetValue.value    = (byte)170;
            LiquidLensResetValue.MaxValue = byte.MaxValue;
            LiquidLensResetValue.MinValue = byte.MinValue;

            LiquidLensSteps.enable   = 1;
            LiquidLensSteps.Length   = 1;
            LiquidLensSteps.Name     = "Liquid Lens Steps";
            LiquidLensSteps.value    = (byte)10;
            LiquidLensSteps.MaxValue = byte.MaxValue;
            LiquidLensSteps.MinValue = byte.MinValue;

            LiquidLensCurrentValue.enable   = 1;
            LiquidLensCurrentValue.Length   = 1;
            LiquidLensCurrentValue.Name     = "Liquid Lens current Value";
            LiquidLensCurrentValue.value    = (byte)170;
            LiquidLensCurrentValue.MaxValue = byte.MaxValue;
            LiquidLensCurrentValue.MinValue = byte.MinValue;

            LiquidLensMinValue.enable   = 1;
            LiquidLensMinValue.Length   = 1;
            LiquidLensMinValue.Name     = "Liquid Lens Max Value";
            LiquidLensMinValue.value    = (byte)190;
            LiquidLensMinValue.MaxValue = byte.MaxValue;
            LiquidLensMinValue.MinValue = byte.MinValue;

            LiquidLensMaxValue.enable   = 1;
            LiquidLensMaxValue.Length   = 1;
            LiquidLensMaxValue.Name     = "Liquid Lens Min Value";
            LiquidLensMaxValue.value    = (byte)170;
            LiquidLensMaxValue.MaxValue = byte.MaxValue;
            LiquidLensMaxValue.MinValue = byte.MinValue;

            LiquidLensSweepStepSize.enable   = 1;
            LiquidLensSweepStepSize.Length   = 1;
            LiquidLensSweepStepSize.Name     = "Liquid Lens Sweep Step Size";
            LiquidLensSweepStepSize.value    = (byte)2;
            LiquidLensSweepStepSize.MaxValue = byte.MaxValue;
            LiquidLensSweepStepSize.MinValue = byte.MinValue;

            BomVersion_Major.enable   = 1;
            BomVersion_Major.Length   = 1;
            BomVersion_Major.Name     = "BOM Version_Major";
            BomVersion_Major.MaxValue = byte.MaxValue;
            BomVersion_Major.MinValue = byte.MinValue;
            if (isRoyal)
            {
                BomVersion_Major.value = (byte)1;
            }
            else
            {
                BomVersion_Major.value = (byte)2;
            }
            BomVersion_Minor.enable   = 1;
            BomVersion_Minor.Length   = 1;
            BomVersion_Minor.Name     = "BOM Version_Minor";
            BomVersion_Minor.MaxValue = byte.MaxValue;
            BomVersion_Minor.MinValue = byte.MinValue;
            if (isRoyal)
            {
                BomVersion_Minor.value = (byte)1;
            }
            else
            {
                BomVersion_Minor.value = (byte)0;
            }
            RefractoGain.enable   = 1;
            RefractoGain.Length   = 1;
            RefractoGain.Name     = "Refracto Gain";
            RefractoGain.value    = (byte)5;
            RefractoGain.MaxValue = byte.MaxValue;
            RefractoGain.MinValue = byte.MinValue;

            PatientCount_NV.enable   = 0;
            PatientCount_NV.Length   = sizeof(int);
            PatientCount_NV.Name     = "Patient Count";
            PatientCount_NV.value    = 0;
            PatientCount_NV.MaxValue = int.MaxValue;
            PatientCount_NV.MinValue = int.MinValue;

            LeftEyeRefraction_count_NV.enable   = 0;
            LeftEyeRefraction_count_NV.Length   = sizeof(int);
            LeftEyeRefraction_count_NV.Name     = "Left Eye Refraction Count";
            LeftEyeRefraction_count_NV.value    = 0;
            LeftEyeRefraction_count_NV.MaxValue = int.MaxValue;
            LeftEyeRefraction_count_NV.MinValue = int.MinValue;

            RightEyeRefraction_count_NV.enable   = 0;
            RightEyeRefraction_count_NV.Length   = sizeof(int);
            RightEyeRefraction_count_NV.Name     = "Right Eye Refraction Count";
            RightEyeRefraction_count_NV.value    = 0;
            RightEyeRefraction_count_NV.MaxValue = int.MaxValue;
            RightEyeRefraction_count_NV.MinValue = int.MinValue;

            ReportsGenerated_count_NV.enable   = 0;
            ReportsGenerated_count_NV.Length   = sizeof(int);
            ReportsGenerated_count_NV.Name     = "Reports Generated Count";
            ReportsGenerated_count_NV.value    = 0;
            ReportsGenerated_count_NV.MaxValue = int.MaxValue;
            ReportsGenerated_count_NV.MinValue = int.MinValue;

            ReportPrintouts_count_NV.enable   = 0;
            ReportPrintouts_count_NV.Length   = sizeof(int);
            ReportPrintouts_count_NV.Name     = "Report Printouts Count";
            ReportPrintouts_count_NV.value    = 0;
            ReportPrintouts_count_NV.MaxValue = int.MaxValue;
            ReportPrintouts_count_NV.MinValue = int.MinValue;

            WhiteLightLED_ON_Duration_NV.enable   = 0;
            WhiteLightLED_ON_Duration_NV.Length   = sizeof(int);
            WhiteLightLED_ON_Duration_NV.Name     = "White Light LED ON Duration";
            WhiteLightLED_ON_Duration_NV.value    = 0;
            WhiteLightLED_ON_Duration_NV.MaxValue = int.MaxValue;
            WhiteLightLED_ON_Duration_NV.MinValue = int.MinValue;

            IR_LED_ON_Duration_NV.enable   = 0;
            IR_LED_ON_Duration_NV.Length   = sizeof(int);
            IR_LED_ON_Duration_NV.Name     = "IR Light LED ON Duration";
            IR_LED_ON_Duration_NV.value    = 0;
            IR_LED_ON_Duration_NV.MaxValue = int.MaxValue;
            IR_LED_ON_Duration_NV.MinValue = int.MinValue;

            RingIR_LED_ON_Duration_NV.enable   = 0;
            RingIR_LED_ON_Duration_NV.Length   = sizeof(int);
            RingIR_LED_ON_Duration_NV.Name     = "Ring IR Light LED ON Duration";
            RingIR_LED_ON_Duration_NV.value    = 0;
            RingIR_LED_ON_Duration_NV.MaxValue = int.MaxValue;
            RingIR_LED_ON_Duration_NV.MinValue = int.MinValue;

            Film_LED_ON_Duration_NV.enable   = 0;
            Film_LED_ON_Duration_NV.Length   = sizeof(int);
            Film_LED_ON_Duration_NV.Name     = "Film LED Light LED ON Duration";
            Film_LED_ON_Duration_NV.value    = 0;
            Film_LED_ON_Duration_NV.MaxValue = int.MaxValue;
            Film_LED_ON_Duration_NV.MinValue = int.MinValue;

            CorneaFixtureIR_ON_Duration_NV.enable   = 0;
            CorneaFixtureIR_ON_Duration_NV.Length   = sizeof(int);
            CorneaFixtureIR_ON_Duration_NV.Name     = "Cornea Fixture IR ON Duration";
            CorneaFixtureIR_ON_Duration_NV.value    = 0;
            CorneaFixtureIR_ON_Duration_NV.MaxValue = int.MaxValue;
            CorneaFixtureIR_ON_Duration_NV.MinValue = int.MinValue;

            CorneaLED_ON_Duration_NV.enable   = 0;
            CorneaLED_ON_Duration_NV.Length   = sizeof(int);
            CorneaLED_ON_Duration_NV.Name     = "Cornea LED ON Duration";
            CorneaLED_ON_Duration_NV.value    = 0;
            CorneaLED_ON_Duration_NV.MaxValue = int.MaxValue;
            CorneaLED_ON_Duration_NV.MinValue = int.MinValue;

            NewVisit_count_NV.enable   = 0;
            NewVisit_count_NV.Length   = sizeof(int);
            NewVisit_count_NV.Name     = "New visit count";
            NewVisit_count_NV.value    = 0;
            NewVisit_count_NV.MaxValue = int.MaxValue;
            NewVisit_count_NV.MinValue = int.MinValue;

            LeftAnteriorImage_count_NV.enable   = 0;
            LeftAnteriorImage_count_NV.Length   = sizeof(int);
            LeftAnteriorImage_count_NV.Name     = "Left anterior image count";
            LeftAnteriorImage_count_NV.value    = 0;
            LeftAnteriorImage_count_NV.MaxValue = int.MaxValue;
            LeftAnteriorImage_count_NV.MinValue = int.MinValue;

            RightAnteriorImage_count_NV.enable   = 0;
            RightAnteriorImage_count_NV.Length   = sizeof(int);
            RightAnteriorImage_count_NV.Name     = "Right anterior image count";
            RightAnteriorImage_count_NV.value    = 0;
            RightAnteriorImage_count_NV.MaxValue = int.MaxValue;
            RightAnteriorImage_count_NV.MinValue = int.MinValue;

            LeftPosteriorImage_count_NV.enable   = 0;
            LeftPosteriorImage_count_NV.Length   = sizeof(int);
            LeftPosteriorImage_count_NV.Name     = "Left posterior image count";
            LeftPosteriorImage_count_NV.value    = 0;
            LeftPosteriorImage_count_NV.MaxValue = int.MaxValue;
            LeftPosteriorImage_count_NV.MinValue = int.MinValue;

            RightPosteriorImage_count_NV.enable   = 0;
            RightPosteriorImage_count_NV.Length   = sizeof(int);
            RightPosteriorImage_count_NV.Name     = "Right posterior image count";
            RightPosteriorImage_count_NV.value    = 0;
            RightPosteriorImage_count_NV.MaxValue = int.MaxValue;
            RightPosteriorImage_count_NV.MinValue = int.MinValue;

            DeletedImages_count_NV.enable   = 0;
            DeletedImages_count_NV.Length   = sizeof(int);
            DeletedImages_count_NV.Name     = "Deleted images count";
            DeletedImages_count_NV.value    = 0;
            DeletedImages_count_NV.MaxValue = int.MaxValue;
            DeletedImages_count_NV.MinValue = int.MinValue;

            ReportsMailed_counts_NV.enable   = 0;
            ReportsMailed_counts_NV.Length   = sizeof(int);
            ReportsMailed_counts_NV.Name     = "Reports mailed count";
            ReportsMailed_counts_NV.value    = 0;
            ReportsMailed_counts_NV.MaxValue = int.MaxValue;
            ReportsMailed_counts_NV.MinValue = int.MinValue;

            MacAddress_NV.enable = 0;
            MacAddress_NV.Length = 12;
            MacAddress_NV.Name   = "MAC address";
            MacAddress_NV.value  = "";

            latestdatetime_NV.enable = 0;
            latestdatetime_NV.Length = 14;
            latestdatetime_NV.Name   = "Latest datetime";
            latestdatetime_NV.value  = "";

            ActivationCode.enable   = 0;
            ActivationCode.Length   = sizeof(int);
            ActivationCode.Name     = "Activation Code";
            ActivationCode.value    = 0;
            ActivationCode.MaxValue = int.MaxValue;
            ActivationCode.MinValue = int.MinValue;

            IsPayPerUse.enable   = 1;
            IsPayPerUse.Length   = sizeof(byte);
            IsPayPerUse.Name     = "Is Pay Per Use";
            IsPayPerUse.value    = (byte)0;
            IsPayPerUse.MaxValue = (int)1;
            IsPayPerUse.MinValue = (int)0;

            IsFirstTime.enable   = 0;
            IsFirstTime.Length   = sizeof(byte);
            IsFirstTime.Name     = "Is First Time";
            IsFirstTime.value    = (byte)1;
            IsFirstTime.MaxValue = (int)1;
            IsFirstTime.MinValue = (int)0;

            ExpiryDate.enable = 0;
            ExpiryDate.Length = 8;
            ExpiryDate.Name   = "Expiry Date";
            ExpiryDate.value  = "";

            LicenseMode.enable   = 0;
            LicenseMode.Length   = sizeof(byte);
            LicenseMode.Name     = "License Mode";
            LicenseMode.value    = (byte)0;
            LicenseMode.MaxValue = (int)1;
            LicenseMode.MinValue = (int)0;

            NoOfVisits.enable   = 0;
            NoOfVisits.Length   = sizeof(int);
            NoOfVisits.Name     = "No Of Visits";
            NoOfVisits.value    = 0;
            NoOfVisits.MaxValue = int.MaxValue;
            NoOfVisits.MinValue = int.MinValue;

            NoOfLicensesElapsed.enable   = 0;
            NoOfLicensesElapsed.Length   = sizeof(int);
            NoOfLicensesElapsed.Name     = "NoOfLicensesElapsed";
            NoOfLicensesElapsed.value    = 0;
            NoOfLicensesElapsed.MaxValue = int.MaxValue;
            NoOfLicensesElapsed.MinValue = int.MinValue;
        }