Ejemplo n.º 1
0
 public void Empty()
 {
     TransducerType   = TransducerType.Unknown;
     MeasurementData  = 0.0D;
     MeasurementUnits = "";
     TransducerName   = "";
 }
Ejemplo n.º 2
0
 public void Parse(int first_field_number, Sentence sentence)
 {
     Empty();
     TransducerType   = sentence.TransducerType(first_field_number);
     MeasurementData  = sentence.Double(first_field_number + 1);
     MeasurementUnits = sentence.Field(first_field_number + 2);
     TransducerName   = sentence.Field(first_field_number + 3);
 }
Ejemplo n.º 3
0
        public void TransducerTypeTest()
        {
            var target       = new Sentence();       // TODO: Initialize to an appropriate value
            int field_number = 0;                    // TODO: Initialize to an appropriate value
            var expected     = new TransducerType(); // TODO: Initialize to an appropriate value
            var actual       = target.TransducerType(field_number);

            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
Ejemplo n.º 4
0
        private bool overAudThresh(ref int currVol, TransducerType transducer, StimulusType stimulus, bool OtherChannelInterrupt)
        {
            #region Speech Stimulus
            if (stimulus == StimulusType.Speech)
            {
                switch (transducer)
                {
                    case TransducerType.Bone:
                        if (currVol > 70)
                        {
                            currVol = 70;
                            return true;
                        }
                        break;
                    case TransducerType.Phone:
                        if (currVol > 110)
                        {
                            currVol = 110;
                            return true;
                        }
                        break;
                    case TransducerType.Insert:
                        if (currVol > 115)
                        {
                            currVol = 115;
                            return true;
                        }
                        break;
                    default:
                        break;
                }
                return false;
            }
            #endregion
            switch (transducer)
            {
            case TransducerType.Bone:
                switch (ameterSettings.frequency)
                {
                    #region case 250:
                    case 250:
                        if (currVol > 55) // Bone @ 250 is always 55
                        {
                            currVol = 55;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 500:
                    case 500:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 70) // Bone @ 500 is 70 with interrupt on other channel
                            {
                                currVol = 70;
                                return true;
                            }
                        }
                        else if (currVol > 65) // Bone @ 500 is 65 without interrupt on other channel
                        {
                            currVol = 65;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 1000:
                    case 1000:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 80) // Bone & 1000 is 80 with interrupt on other channel
                            {
                                currVol = 80;
                                return true;
                            }
                        }
                        else if (currVol > 75) // etc. See Max_Audiometer_Output spreadsheet
                        {
                            currVol = 75;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 2000:
                    case 2000:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 85)
                            {
                                currVol = 85;
                                return true;
                            }
                        }
                        else if (currVol > 80)
                        {
                            currVol = 80;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 4000:
                    case 4000:

                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 90)
                            {
                                currVol = 90;
                                return true;
                            }
                        }
                        else if (currVol > 85)
                        {
                            currVol = 85;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 8000:
                    case 8000:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 50)
                            {
                                currVol = 50;
                                return true;
                            }
                        }
                        else if (currVol > 45)
                        {
                            currVol = 45;
                            return true;
                        }
                        break;
                    #endregion
                    #region default: (should never execute)
                    default:
                        // Default to 90 which is the largest bone volume allowed
                        // although, this code should never execute
                        if (currVol > 90)
                        {
                            currVol = 90;
                            return true;
                        }
                        break;
                    #endregion
                }
                break;
            case TransducerType.Insert:
                switch (ameterSettings.frequency)
                {
                    #region case 250:
                    case 250:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 100)
                            {
                                currVol = 100;
                                break;
                            }
                        }
                        else if (currVol > 90)
                        {
                            currVol = 90;
                            break;
                        }
                        break;
                    #endregion
                    #region case 500:
                    case 500:
                        if (currVol > 110)
                        {
                            currVol = 110;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 1000, 2000, 4000: (same limits)
                    case 1000:
                    case 2000:
                    case 4000:
                        if (currVol > 115)
                        {
                            currVol = 115;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 8000:
                    case 8000:
                        if (OtherChannelInterrupt)
                        {
                            if (currVol > 85) // Check and verify this is correct
                            { // Intuitively, the interrupt should cause the volume
                              // to be greater than the non-interrupt value, so this
                              // may be incorrect...
                                currVol = 85;
                                return true;
                            }
                        }
                        else if (currVol > 90)
                        {
                            currVol = 90;
                            return true;
                        }
                        break;
                    #endregion
                    #region default: (should never execute)
                    default:
                        // Default to 115 which is the largest insert volume allowed
                        // although, this code should never execute
                        if (currVol > 115)
                        {
                            currVol = 115;
                            return true;
                        }
                        break;
                    #endregion
                }
                break;
            case TransducerType.Phone:
                switch (ameterSettings.frequency)
                {
                    #region case 250:
                    case 250:
                        if (currVol > 105)
                        {
                            currVol = 105;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 500, 1000, 2000, 4000: (same limits)
                    case 500:
                    case 1000:
                    case 2000:
                    case 4000:
                        if (currVol > 120)
                        {
                            currVol = 120;
                            return true;
                        }
                        break;
                    #endregion
                    #region case 8000:
                    case 8000:
                        if (currVol > 105)
                        {
                            currVol = 105;
                            return true;
                        }
                        break;
                    #endregion
                    #region default: (should never execute)
                    default:
                        // Default to 120 which is the largest phones volume allowed
                        // although, this code should never execute
                        if (currVol > 120)
                        {
                            currVol = 120;
                            return true;
                        }
                        break;
                    #endregion
                }
                break;
            default:
                if (currVol > 120)
                {
                    currVol = 120;
                    return true;
                }
                break;
            }
            return false;
        }