diff options
Diffstat (limited to 'firmware/src')
-rw-r--r-- | firmware/src/os/usbcmd_generic.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/src/os/usbcmd_generic.c b/firmware/src/os/usbcmd_generic.c index 9dec14e..386692b 100644 --- a/firmware/src/os/usbcmd_generic.c +++ b/firmware/src/os/usbcmd_generic.c @@ -31,6 +31,17 @@ static int gen_usb_rx(struct req_ctx *rctx) DEBUGP("SET LED(%u,%u) ", poh->reg, poh->val); led_switch(poh->reg, poh->val); break; + case OPENPCD_CMD_GET_SERIAL: + DEBUGP("GET SERIAL "); + poh->flags |= OPENPCD_FLAG_RESPOND; +#ifdef PCD + rctx->tot_len += 4; + rc632_get_serial(NULL, (u_int32_t *)poh->data); +#else + /* FIXME: where to get serial in PICC case */ + return USB_ERR(USB_ERR_CMD_NOT_IMPL); +#endif + break; default: DEBUGP("UNKNOWN "); return USB_ERR(USB_ERR_CMD_UNKNOWN); |