Exemplo n.º 1
0
            /// <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);
            }