Ejemplo n.º 1
0
 public TbtException(TbtStatus code)
     : base(ErrorMessage(code) + (SdkStatusMessages.ContainsKey(code) ? (" " + SdkStatusMessages[code]) : ""))
 {
     ErrorCode = code;
     if (SdkStatusMessages.ContainsKey(code))
     {
         TbtMessage = SdkStatusMessages[code];
     }
 }
Ejemplo n.º 2
0
        public virtual uint GetCurrentNvmVersion()
        {
            ManagementBaseObject managementBaseObject = Mo.InvokeMethod("GetCurrentNvmVersion", null, null);
            TbtStatus            tbtStatus            = (TbtStatus)managementBaseObject.GetPropertyValue("ReturnValue");

            if (tbtStatus != 0)
            {
                throw new TbtException(tbtStatus, Resources.GetFirmwareVersionFailed);
            }
            return((uint)managementBaseObject.GetPropertyValue("nvmVersion"));
        }
Ejemplo n.º 3
0
        public void UpdateFirmware(uint bufferSize, byte[] buffer)
        {
            ManagementBaseObject methodParameters = Mo.GetMethodParameters("UpdateFirmware");

            methodParameters["bufferSize"] = bufferSize;
            methodParameters["buffer"]     = buffer;
            TbtStatus tbtStatus = (TbtStatus)Mo.InvokeMethod("UpdateFirmware", methodParameters, null).GetPropertyValue("ReturnValue");

            if (tbtStatus != 0)
            {
                throw new TbtException(tbtStatus, Resources.FWUpdateFailedMessage);
            }
        }
Ejemplo n.º 4
0
 public CheckLocation(uint offset, uint length, byte mask = byte.MaxValue, Sections section = Sections.Digital, TbtStatus errorCode = TbtStatus.SDK_IMAGE_VALIDATION_ERROR, string description = null)
 {
     Section = section;
     Offset  = offset;
     Length  = length;
     if (mask != 255 && length > 1)
     {
         throw new TbtException(TbtStatus.SDK_INTERNAL_ERROR, Resources.MaskIsntSupported);
     }
     Mask        = mask;
     ErrorCode   = errorCode;
     Description = description;
 }
Ejemplo n.º 5
0
        public virtual void I2CWrite(uint port, uint offset, byte[] data)
        {
            ManagementBaseObject methodParameters = Mo.GetMethodParameters("I2CWrite");

            methodParameters["port"]   = port;
            methodParameters["offset"] = offset;
            methodParameters["data"]   = data;
            TbtStatus tbtStatus = (TbtStatus)Mo.InvokeMethod("I2CWrite", methodParameters, null).GetPropertyValue("ReturnValue");

            if (tbtStatus != 0)
            {
                throw new TbtException(tbtStatus, Resources.WriteI2CFailed);
            }
        }
Ejemplo n.º 6
0
        public virtual byte[] I2CRead(uint port, uint offset, uint length)
        {
            ManagementBaseObject methodParameters = Mo.GetMethodParameters("I2CRead");

            methodParameters["port"]   = port;
            methodParameters["offset"] = offset;
            methodParameters["length"] = length;
            ManagementBaseObject managementBaseObject = Mo.InvokeMethod("I2CRead", methodParameters, null);
            TbtStatus            tbtStatus            = (TbtStatus)managementBaseObject.GetPropertyValue("ReturnValue");

            if (tbtStatus != 0)
            {
                throw new TbtException(tbtStatus, Resources.ReadI2CFailed);
            }
            return((byte[])managementBaseObject.GetPropertyValue("data"));
        }
Ejemplo n.º 7
0
 public static string SafeGetVersion(Func <string> func)
 {
     try
     {
         return(func());
     }
     catch (TbtException ex)
     {
         TbtStatus errorCode = ex.ErrorCode;
         if (errorCode != TbtStatus.INVALID_OPERATION_IN_SAFE_MODE && errorCode != TbtStatus.SDK_INVALID_OPERATION_IN_SAFE_MODE)
         {
             throw;
         }
         return("N/A");
     }
 }
Ejemplo n.º 8
0
        public virtual string GetCurrentFullNvmVersion()
        {
            ManagementBaseObject managementBaseObject = Mo.InvokeMethod("GetCurrentFullNvmVersion", null, null);
            TbtStatus            tbtStatus            = (TbtStatus)managementBaseObject.GetPropertyValue("ReturnValue");

            switch (tbtStatus)
            {
            case TbtStatus.DEVICE_NOT_SUPPORTED:
                return("N/A");

            default:
                throw new TbtException(tbtStatus, Resources.GetFirmwareVersionFailed);

            case TbtStatus.SUCCESS_RESPONSE_CODE:
                return((string)managementBaseObject.GetPropertyValue("nvmVersion"));
            }
        }
Ejemplo n.º 9
0
        public virtual byte[] ReadFirmware(uint offset, uint length)
        {
            ManagementBaseObject methodParameters = Mo.GetMethodParameters("ReadFirmware");

            methodParameters["length"] = 1;
            List <byte> list = new List <byte>();
            uint        num  = offset % 4u;

            for (uint num2 = offset - num; num2 < offset + length; num2 += 4)
            {
                methodParameters["offset"] = num2;
                ManagementBaseObject managementBaseObject = Mo.InvokeMethod("ReadFirmware", methodParameters, null);
                TbtStatus            tbtStatus            = (TbtStatus)managementBaseObject.GetPropertyValue("ReturnValue");
                if (tbtStatus != 0)
                {
                    throw new TbtException(tbtStatus, Resources.ReadFirmwareFailed);
                }
                list.AddRange((byte[])managementBaseObject.GetPropertyValue("data"));
            }
            return(list.Skip((int)num).Take((int)length).ToArray());
        }
Ejemplo n.º 10
0
 public static string ErrorMessage(TbtStatus code)
 {
     return($"Error: 0x{(int)code:X} {code}");
 }
Ejemplo n.º 11
0
 public TbtException(TbtStatus code, string message)
     : base(ErrorMessage(code) + " " + message)
 {
     ErrorCode  = code;
     TbtMessage = message;
 }