summaryrefslogtreecommitdiffhomepage
path: root/digital/dev2/src/usb_serial_isp/main.c
diff options
context:
space:
mode:
authorNicolas Schodet2013-01-26 18:34:13 +0100
committerNicolas Schodet2013-01-26 18:34:13 +0100
commit2a06cd6240bfc0222fdac51a2c71cc87e43367d6 (patch)
tree99f29133de6ea3b03211d78eb5ab63bcd7b0ee67 /digital/dev2/src/usb_serial_isp/main.c
parent3953c49f0bb0003f9b1b21bb228f25e4fa45206e (diff)
digital/dev2: set serial speed at runtime
Diffstat (limited to 'digital/dev2/src/usb_serial_isp/main.c')
-rw-r--r--digital/dev2/src/usb_serial_isp/main.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/digital/dev2/src/usb_serial_isp/main.c b/digital/dev2/src/usb_serial_isp/main.c
index 9639fd83..aad4dbe8 100644
--- a/digital/dev2/src/usb_serial_isp/main.c
+++ b/digital/dev2/src/usb_serial_isp/main.c
@@ -135,6 +135,20 @@ EVENT_HANDLER (USB_UnhandledControlPacket)
Endpoint_ClearSetupIN ();
}
break;
+ /* Set serial parameters. */
+ case 0x70:
+ if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_VENDOR |
+ REQREC_DEVICE))
+ {
+ Endpoint_ClearSetupReceived ();
+ /* Set serial parameters. */
+ struct serial_parameters_t params;
+ Endpoint_Read_Control_Stream_LE (&params, sizeof (params));
+ serial_set_params (&params);
+ /* Send acknowledgement. */
+ Endpoint_ClearSetupIN ();
+ }
+ break;
}
}