beautypg.com

Device status, Get status – Rainbow Electronics AT89C5132 User Manual

Page 13

background image

13

AT89C5132

4256A–USB–06/03

Device Status

Get Status

The Host employs the DFU_GETSTATUS request to facilitate synchronization with the
device. This status gives information on the execution of the previous request: in
progress/OK/Fail/...

The device responds to the DFU_GETSTATUS request with a payload packet contain-
ing the following data:

bmRequestType

bRequest

wValue

wIndex

wLength

Data

1010 0001b

DFU_GETSTATUS (3)

Zero

Interface (4)

6

Status

0010 0001b

DFU_CLRSTATUS (4)

Zero

Interface (4)

Zero

none

Table 9. DFU_GETSTATUS Response

Offset

Field

Size

Value

Description

0

bStatus

1

Number

An indication of the status resulting from the execution of the most recent request.

1

bwPollTimeOut

3

Number

Minimum time in milliseconds that the host should wait before sending a subsequent
DFU_GETSTATUS. The purpose of this field is to allow the device to dynamically adjust
the amount of time that the device expects the host to wait between the status phase of
the next DFU_DNLOAD and the subsequent solicitation of the device’s status via
DFU_GETSTATUS.

4

bState

1

Number

An indication of the state that the device is going to enter immediately following
transmission of this response.

5

iString

1

Index

Index of status description in string table.

Table 10. bStatus Values

Status

Value

Description

OK

0x00

No error condition is present

errTARGET

0x01

File is not targeted for use by this device

errFILE

0x02

File is for this device but fails some vendor-specific verification test

errWRITE

0x03

Device id unable to write memory

errERASE

0x04

Memory erase function failed

errCHECK_ERASED

0x05

Memory erase check failed

errPROG

0x06

Program memory function failed

errVERIFY

0x07

Programmed memory failed verification

errADDRESS

0x08

Cannot program memory due to received address that is out of range

errNOTDONE

0x09

Received DFU_DNLOAD with wLength = 0, but device does not think it has all the data yet

errFIRMWARE

0x0A

Device’s firmware is corrupted. It cannot return to run-time operations

errVENDOR

0x0B

iString indicates a vendor-specific error

errUSBR

0x0C

Device detected unexpected USB reset signaling