public void SetHeatingElementStatus(OvenChanStatusEnum oven_element)
        {
            bool outer_status = false;
            bool sz_status = false;
            bool inner_status = false;

            switch (oven_element)
            {
                case OvenChanStatusEnum.all_off:
                case OvenChanStatusEnum.oven_off:
                    outer_status = false;
                    sz_status = false;
                    inner_status = false;
                    break;

                case OvenChanStatusEnum.inner:
                    inner_status = true;
                    break;

                case OvenChanStatusEnum.outer:
                    outer_status = true;
                    break;

                case OvenChanStatusEnum.SZ:
                    sz_status = true;
                    break;

                case OvenChanStatusEnum.oven_on:
                    outer_status = true;
                    sz_status = true;
                    inner_status = true;
                    break;

                default:
                    //exit function
                    return;
            }

            if (outer_status)
                SetOuterIndicatorToOn();
            else
                SetOuterIndicatorToOff();

            if (inner_status)
                SetInnerIndicatorToOn();
            else
                SetInnerIndicatorToOff();

            if (sz_status)
                SetSZIndicatorToOn();
            else
                SetSZIndicatorToOff();
        }
        // This function turns on the heater coils according to the string
        // parameter passed to it. Usable string parameters are: "all", "0",
        // "1", "2", and "none"; "all" and "none" turn on/off all the coils,
        // while "0", "1", "2" turns on the coil corresponding to that channel
        // output from the USB-TC device.
        private void oven_channel_out(OvenChanStatusEnum state)
        {
            MccBoard daq = new MccDaq.MccBoard(BoardNum);
            MccDaq.ErrorInfo RetVal;

            for (int i = 0; i < 3; i++)
            {
                RetVal = daq.DConfigBit(DigitalPortType.AuxPort, i,
                    DigitalPortDirection.DigitalOut);
                IsError(this,RetVal,true);
            }

            switch (state)
            {
                case OvenChanStatusEnum.oven_on:
                    for (int i = 0; i < 3; i++)
                    {
                        RetVal = daq.DBitOut(DigitalPortType.AuxPort, i,
                            DigitalLogicState.High);
                        IsError(this,RetVal, true);
                    }
                    break;

                case OvenChanStatusEnum.oven_off:
                    for (int i = 0; i < 3; i++)
                    {
                        RetVal = daq.DBitOut(DigitalPortType.AuxPort, i,
                            DigitalLogicState.Low);
                        IsError(this,RetVal, true);
                    }
                    break;

                case OvenChanStatusEnum.all_off:
                    for (int i = 0; i < 3; i++)
                    {
                        RetVal = daq.DBitOut(DigitalPortType.AuxPort, i,
                            DigitalLogicState.Low);
                        IsError(this,RetVal, true);
                    }
                    break;

                case OvenChanStatusEnum.inner:
                    RetVal = daq.DBitOut(DigitalPortType.AuxPort, 0,
                        DigitalLogicState.High);
                    IsError(this,RetVal, true);
                    break;

                case OvenChanStatusEnum.SZ:
                    RetVal = daq.DBitOut(DigitalPortType.AuxPort, 1,
                        DigitalLogicState.High);
                    IsError(this,RetVal, true);
                    break;

                case OvenChanStatusEnum.outer:
                    RetVal = daq.DBitOut(DigitalPortType.AuxPort, 2,
                        DigitalLogicState.High);
                    IsError(this,RetVal, true);
                    break;

                default:
                    RetVal = new ErrorInfo(1);
                    MessageBox.Show("oven_channel_out() called with invalid parameter!",
                        "   " + "ERROR!");
                    break;
            }

            RetVal = daq.DConfigBit(DigitalPortType.AuxPort, 0,
                DigitalPortDirection.DigitalOut);

            if (IsError(this, RetVal, true) == 0)
            {
                oven_status = state;
                SetHeatingElementStatus(state);
            }
        }