Main.Bf3UploadContinue
This command is used to transfer the data of a BEC2/BF3 file
block by block to the reader.
The host transfers the data block of the BEC2/BF3 file which
has been requested by the reader previously. The response
parameter RequiredAction indicates how the host has to
proceed afterwards:
-
Transfer the next data block.
-
Disconnect and reconnect to the reader.
-
Upload completed - no more data to transfer.
For more details about implementation, please refer to the help topic
Implement wired upload via the host.
Properties
-
Command code: 0xF011
-
Command timeout: 1000 ms
-
Possible status codes:
General status codes,
Main.ErrInvalidState,
Main.ErrReadFile,
Main.ErrInvalidFormat,
Main.ErrInvalidCustomerKey,
Main.ErrInvalidConfigSecurityCode,
Main.ErrInvalidConfigVersion,
Main.ErrInvalidCmac,
Main.ErrUpload,
Main.ErrUnsupportedFirmware,
Main.ErrAlreadyUpToDate,
Main.ErrMissingConfigSecurityCode,
Main.ErrInvalidEccKey,
Main.ErrVerify
Parameters (request frame)
|
Name
|
Type/Size
|
Description
|
|
DataAdr
|
Integer (32 bits)
|
Address of data block that is being transferred. Has to correspond to the
ReqDataAdr parameter in the reader's response to the
previous command (i.e. the last Bf3UploadContinue
or the Main.Bf3UploadStart command).
|
|
Length of Data
|
Integer (16 bits)
|
Length of Data in bytes
|
|
Data
|
Raw data
|
Data requested by the reader
|
Returned values (response frame)
|
Name
|
Type/Size
|
Description
|
|
RequiredAction
|
Bit mask (8 bits)
|
Next action required from host
|
|
RFU
|
Integer (bit mask area 0xFC)
|
Zero padding
|
|
Reconnect
|
Boolean (bit 0x02)
|
If true, the host
has to disconnect and reconnect to the reader.
|
|
Continue
|
Boolean (bit 0x01)
|
If true, the host has to continue by
transferring the next data block of the BEC2/BF3 file.
If false, the reader has received all
required data blocks: Upload is completed.
|
|
ReqDataAdr
|
Integer (32 bits)
|
Start byte of next data block requested by the
reader
|
|
ReqDataLen
|
Integer (16 bits)
|
Number of bytes of next data block requested by the
reader. This value may also be 0.
|
|
AdditionalFields
|
Bit mask (8 bits)
|
Bit mask of additional parameter fields that the response
contains
|
|
RFU
|
Integer (bit mask area 0xFC)
|
Zero padding
|
|
ContainsEstimation
|
Boolean (bit 0x02)
|
If true, the response contains estimation
information fields.
|
|
ContainsReconnectRetryTimeout
|
Boolean (bit 0x01)
|
If true, the response contains the
ReconnectRetryTimeout field.
|
Optional field, condition:
ContainsReconnectRetryTimeout
|
ReconnectRetryTimeout
|
Integer (32 bits)
|
If a reconnect is requested, this field specifies
how long the host has to try (time period in ms).
You need to add the ReconnectRetryTimout
to the OS-specific base reconnect timeout.
For Windows, we recommend a base reconnect timeout
of 10000 ms. For all other platforms, please check
how long it takes for a reader to be available again
after a reboot.
|
|
Optional field, condition:
ContainsEstimation
|
EstimatedNumberOfBytes
|
Integer (32 bits)
|
This is an estimation of the total amount of
data bytes that have to be transferred from the
host to the reader to upload the current
BEC2/BF3 file.
This information is only returned once as soon
as the reader has gathered enough data to
perform this estimation.
Note:
In special cases, e.g. if you re-perform a firmware
upload that was aborted before, the reader returns
a worst-case estimation that may be higher than the
actual amount of data bytes to transfer.
|
|
EstimatedTimeOverhead
|
Integer (32 bits)
|
This is an estimation of the total time in ms
the reader requires for additional internal
tasks during the upload, which lead to
occasional communication pauses.
If the reader can maintain communication
during such a task, it keeps responding to
calls of the Bf3UploadContinue command;
the ReqDataLen response parameter will then
be set to 0.
If the reader can't maintain communication, it asks for a
reconnect with an additional retry timeout,
which is indicated by the optional
ReconnectRetryTimeout parameter.
This information is only returned once as soon
as the reader has gathered enough data to
perform this estimation.
|
|