/// <summary> /// Uploads new firmware to a reader. Takes a string containing the path to the .shf file /// </summary> /// <param name="file">Path to .shf file. String.</param> /// <returns></returns> public bool UploadFirmware(string file) { STPv3Request request = new STPv3Request(); request.RID = this.m_RID; request.Command = STPv3Commands.ENTER_BOOTLOAD; issue: request.Issue(this.m_device); STPv3Response response = request.GetResponse(); if (response == null) { return(false); } if (response.ResponseCode == STPv3ResponseCode.SELECT_TAG_LOOP_OFF) { goto issue; } if (!response.Success) { return(false); } STPv3Request.UploadFirmware(this.m_device, file); return(true); }