Commit Graph

43 Commits

Author SHA1 Message Date
Jeff Ciesielski db35fbb7ba Merge branch 'master' of git://github.com/libopencm3/libopencm3 into upstream-merge 2012-11-13 13:13:40 -08:00
Andrey Smirnov 720e85f850 Further re-factor USB string handling code
This commit refactors USB string code, making it, hopefully, less
buggy and more easier to understand. It also removes "magic" bit
manipulation and "magic" numbers;
2012-11-07 11:30:44 -08:00
Andrey Smirnov c5c4db0196 Extend control hook framework
This commits adds a new error code that can be return from a
registered control callback: USBD_REQ_NEXT_CALLBACK. This return code
signifies that the callback is done processing the data successfully,
but user would like to have all matching callbacks down the callback
chain to be executed too.

This change allows for example to intercept standard requests like
GET_DESCRIPTOR, do some small action upon receiving of one, but still
have the standard callback executed and do it's job. This way user
doesn't have to re-implement standard GET_DESCRIPTOR functionality if
they want to intercept that request to do some small thing.
2012-11-07 10:33:51 -08:00
Andrey Smirnov 7a5da60e26 Change USB strings handling code
This commit add an extra field to the _usbd_device, that allows to
keep track of the number of USB strings  which allows simplify
boundaries checking code in usb_standard_get_descriptor.

This commit also changes the index base for strings in
usb_standard_get_descriptor which allows to get rid of necessity to
have a dummy one-character string in a strings array.
2012-11-06 16:46:55 -08:00
Jason Kotzin 34beeae925 USB core updated for reentrance based on Christian Cier-Zniewski's branch 2012-09-13 10:43:35 -07:00
Jason Kotzin 4958fae906 fixing usb and alignment issue 2012-09-13 10:43:26 -07:00
Piotr Esden-Tempski 43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
Mike Smith 7da1967056 Add an interface for soft disconnection, and hook it up in the F107 driver. 2012-02-12 15:00:08 -08:00
Gareth McMullin 0731bba610 usb: Added support for Interface Association descriptors. 2011-12-28 21:05:41 +13:00
Gareth McMullin 651917aeb4 Added USB example for stm32f4.
Moved clock enable for OTG_FS back into applications.  This and gpio config
are the only differences between f107 and f2xx/f4xx.
2011-12-17 14:11:39 +13:00
Uwe Hermann 373794ab68 usb: Fix some Doxygen comments. 2011-11-17 00:12:47 +01:00
Uwe Hermann 3e9b9cb345 usb: Coding-style fixes. 2011-11-17 00:12:43 +01:00
Gareth McMullin 30e188cf07 Only allow one packet in TX fifos.
This fixes a problem where packets were written too quickly.
The hardware disabled the endpoint after the fist packet is sent,
and others just waited in the queue.
2011-11-12 21:44:37 +13:00
Gareth McMullin e0fe43357d usb_f107: Fixed lost 4 bytes on control OUT transaction. 2011-10-31 14:09:41 -07:00
Uwe Hermann 788f3870c4 Merge remote-tracking branch 'fnoble/stm32f2' 2011-10-29 22:19:12 +02:00
Gareth McMullin 284be93037 Restored OTG clock enable in RCC in f107 usb init. 2011-10-29 23:57:10 +13:00
Gareth McMullin b05a5dcf2a Fixed some F105/F107 USB issues. Added user callback on SOF.
Made examples depend on lib.
2011-10-29 21:30:26 +13:00
Fergus Noble 14dcda91b0 Fixing some more header references 2011-10-12 22:20:22 -04:00
Fergus Noble 7518bc83c1 Fixing some header references 2011-10-12 22:20:22 -04:00
Uwe Bonnes 32c276a708 Move enabling the USB Clock into stm32f10x_usbd_init 2011-07-13 10:04:03 +02:00
Gareth McMullin 7434d50fda Check index bounds on usb string descriptor request. 2011-04-24 14:28:16 +12:00
Gareth McMullin 3d820c6ed7 Fixed stm32f107 usb driver to allow calling usbd_poll from irq handler. 2011-04-04 17:39:05 +12:00
Gareth McMullin ef0ff192f7 Added usbd_ep_nak_set() to force flow control on OUT endpoints. 2011-03-30 07:17:02 +13:00
Gareth McMullin 6bbc4c2f7c Fixed non-control endpoints for connectivity line USB. 2011-03-15 20:33:02 +13:00
Gareth McMullin bf0d1a7b41 Connectivity line USB driver now enumerating correctly. 2011-03-14 20:31:32 +13:00
Gareth McMullin 554feb7f27 USB driver for Connectivity-line devices partially working. 2011-02-20 12:28:23 +13:00
Gareth McMullin e64a9d2bf9 Minor cleanup of usb. Template driver for STM32F107 added. 2011-02-10 19:58:51 +13:00
Uwe Hermann a0091f18c7 Cosmetics, consistency fixes, fix compiler warnings. 2011-01-30 22:43:33 +01:00
Gareth McMullin aac65d8560 Abstracted USB driver interface to to allow driver selection. 2011-01-30 17:04:56 +13:00
Gareth McMullin 193a1ed3b8 Reset CTR flag for endpoint from usbd_poll if no callback. 2011-01-30 15:42:12 +13:00
Gareth McMullin f87170e06e Clear user control request handlers on set_configuration request. 2011-01-30 15:41:23 +13:00
Uwe Hermann 8f251e8a9d Some more file/path restructuring.
All #includes now explicitly use the "<libopencm3/stm32/rcc.h>" format.
If you want to get rid of the "libopencm3" prefix in your local project you
can add a respective -I entry in your Makefile (not recommended though).

All .ld files and .a libs are installed in $(TOOLCHAIN_DIR)/lib
directly (as before), but are now renamed to avoid potential
conflicts now or in the future. Examples:

  libopencm3_lpc13xx.a
  libopencm3_lpc13xx.ld
  libopencm3_stm32.a
  libopencm3_stm32.ld
2010-12-31 18:18:39 +01:00
Uwe Hermann 18790a2454 More renames for libopenstm32 -> libopencm3. 2010-12-30 13:19:25 +01:00
Uwe Hermann be2ac142d9 Rename include/libopenstm32 to include/stm32. 2010-12-30 02:23:51 +01:00
Uwe Hermann 17b2e87ba3 Factor out cm3/common.h and cm3/memorymap.h. 2010-12-30 00:53:52 +01:00
Uwe Hermann b5727a6c73 USB: Cosmetics and coding-style fixes. 2010-12-29 18:00:32 +01:00
Uwe Hermann c39eb69e4d Replace uint8_t with u8 et al, fix whitespace. 2010-12-29 17:28:06 +01:00
Uwe Hermann 34fd228bf9 Move generic USB stuff to a subdir, dedupe .h files.
Adapt examples and the lib code accordingly.
2010-12-29 17:02:36 +01:00
Uwe Hermann f062777930 More whitespace fixes. 2010-12-29 16:43:26 +01:00
Gareth McMullin 7f002110dc Improved dispatching of user control callbacks.
Only cdc_acm example is updated.
2010-11-06 12:21:46 +13:00
Gareth McMullin 87960830f4 Fixed HALT condition handling and data toggle. 2010-11-04 16:49:03 +13:00
Martin Mueller d6eacce827 add standard request 2010-11-04 00:44:47 +01:00
Uwe Hermann 6e090ccee1 Initial USB device stack for STM32.
Patch provided by Gareth McMullin <gareth@blacksphere.co.nz>,
thanks a lot!
2010-11-02 02:02:21 +01:00