summaryrefslogtreecommitdiff
path: root/firmware/src/pcd/main_usb.c
diff options
context:
space:
mode:
authorlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-22 21:41:22 +0000
committerlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-22 21:41:22 +0000
commit706ffa9f3b986eff193377142459fbfde2362036 (patch)
treefbdb2d853265bf783db3a9eceebdded08efd297e /firmware/src/pcd/main_usb.c
parent1c2b1d22016957bebe0a49c9069b85815f7cf936 (diff)
- move large rctx definitions to req_ctx.h
- add more fine-grained debugging macros in pcd_enumarate.c - resolve race conditions between main-loop ep_refill and irq-triggered ep_refill by adding one irq-[b]locking variant - consolidate endpoint reset code into reset_ep() - add code to handle correct transmission and reception of usb transfers larger than endpoint size - use new jump address (0x104000) in DFU Cstartup.S - move main_usb to pcd subdirectory - fix include/compile.h make dependencies - make usb benchmark code use new large req_ctx git-svn-id: https://svn.openpcd.org:2342/trunk@219 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
Diffstat (limited to 'firmware/src/pcd/main_usb.c')
-rw-r--r--firmware/src/pcd/main_usb.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/firmware/src/pcd/main_usb.c b/firmware/src/pcd/main_usb.c
new file mode 100644
index 0000000..fcd3306
--- /dev/null
+++ b/firmware/src/pcd/main_usb.c
@@ -0,0 +1,44 @@
+/* main_usb - OpenPCD test firmware for benchmarking USB performance
+ * (C) 2006 by Harald Welte <laforge@gnumonks.org>
+ */
+
+#include <errno.h>
+#include <string.h>
+#include <lib_AT91SAM7.h>
+#include <openpcd.h>
+#include <os/dbgu.h>
+#include <os/led.h>
+#include <os/pcd_enumerate.h>
+#include <os/usb_handler.h>
+
+static void help(void)
+{
+}
+
+int _main_dbgu(char key)
+{
+ switch (key) {
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+void _init_func(void)
+{
+ usbtest_init();
+}
+
+void _main_func(void)
+{
+ /* first we try to get rid of pending to-be-sent stuff */
+ usb_out_process();
+
+ /* next we deal with incoming reqyests from USB EP1 (OUT) */
+ usb_in_process();
+
+ /* try unthrottling sources since we now are [more] likely to
+ * have empty request contexts */
+ udp_unthrottle();
+}
personal git repositories of Harald Welte. Your mileage may vary