/// <summary>
        /// Get Battery Extended Operation Mode
        /// </summary>
        /// <param name="psuId"></param>
        /// <param name="toEnable"></param>
        /// <returns></returns>
        internal virtual BatteryExtendedOperationStatusPacket GetBatteryExtendedOperationStatus()
        {
            BatteryExtendedOperationStatusPacket responsePacket = new BatteryExtendedOperationStatusPacket();

            responsePacket.CompletionCode = CompletionCode.UnspecifiedError;
            responsePacket.isEnabled      = false;
            return(responsePacket);
        }
 /// <summary>
 /// Get Battery Extended Operation Mode
 /// </summary>
 /// <param name="psuId"></param>
 /// <param name="toEnable"></param>
 /// <returns></returns>
 internal virtual BatteryExtendedOperationStatusPacket GetBatteryExtendedOperationStatus()
 {
     BatteryExtendedOperationStatusPacket responsePacket = new BatteryExtendedOperationStatusPacket();
     responsePacket.CompletionCode = CompletionCode.UnspecifiedError;
     responsePacket.isEnabled = false;
     return responsePacket;
 }
        /// <summary>
        /// Retrieve the Battery Extended Operation Status. 
        /// </summary>
        private BatteryExtendedOperationStatusPacket GetBatteryExtendedOperationStatus(byte psuId)
        {
            // Initialize return packet
            BatteryExtendedOperationStatusPacket returnPacket = new BatteryExtendedOperationStatusPacket();
            returnPacket.CompletionCode = CompletionCode.UnspecifiedError;
            returnPacket.isEnabled = false;

            try
            {
                BatteryExtendedOperationStatusResponse myResponse = new BatteryExtendedOperationStatusResponse();
                myResponse = (BatteryExtendedOperationStatusResponse)this.SendReceive(this.PsuDeviceType, this.PsuId,
                    new PsuRequest((byte)PmBusCommand.EXTENDED_BATTERY, (byte)PmBusResponseLength.EXTENDED_BATTERY), typeof(BatteryExtendedOperationStatusResponse));

                if (myResponse.CompletionCode != 0)
                {
                    returnPacket.CompletionCode = (CompletionCode)myResponse.CompletionCode;
                    Tracer.WriteWarning("GetBatteryExtendedOperationStatus Failure: Completion Code: {0}", returnPacket.CompletionCode);
                }
                else
                {
                    returnPacket.CompletionCode = CompletionCode.Success;
                    returnPacket.isEnabled = (myResponse.ExtendedOperationStatus == 0xAA) ? true : false;
                }
            }
            catch (System.Exception ex)
            {
                returnPacket.CompletionCode = CompletionCode.UnspecifiedError;
                returnPacket.isEnabled= false;
                Tracer.WriteError("GetBatteryExtendedOperationStatus Exception: " + ex);
            }
            return returnPacket;
        }