public TbtException(TbtStatus code) : base(ErrorMessage(code) + (SdkStatusMessages.ContainsKey(code) ? (" " + SdkStatusMessages[code]) : "")) { ErrorCode = code; if (SdkStatusMessages.ContainsKey(code)) { TbtMessage = SdkStatusMessages[code]; } }
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")); }
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); } }
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; }
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); } }
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")); }
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"); } }
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")); } }
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()); }
public static string ErrorMessage(TbtStatus code) { return($"Error: 0x{(int)code:X} {code}"); }
public TbtException(TbtStatus code, string message) : base(ErrorMessage(code) + " " + message) { ErrorCode = code; TbtMessage = message; }