aboutsummaryrefslogtreecommitdiffstats
path: root/libmaple/usb/usb_cdcacm.c
Commit message (Collapse)AuthorAgeFilesLines
* usb: Rename descriptors.h -> usb_descriptors.h.Marti Bolivar2011-10-211-1/+1
| | | | | | Modify its include guard, and the files that include it, appropriately. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* USB: API cleanups.Marti Bolivar2011-10-211-1/+1
| | | | | | | | | | Modify usb.h functions (changing their names in some cases) to also take a usblib_dev* argument, to fit in better with the rest of libmaple. Store an rcc_clk_id in struct usblib_dev for the same reason. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* USB: API cleanups.Marti Bolivar2011-10-211-1/+10
| | | | | | | | | | | | | | Remove usbSuspend(), usbResumeInit(), usbResume(), the USB low-priority IRQ, and usbWaitReset() from usb.h. Also remove RESUME_STATE since it was only there for usbResume(). These functions don't need to be seen by anybody except for usb.c and usb_cdcacm.c, so move them there (altering their names to fit with libmaple style guidelines) and mark them static. Clean up includes in usb.c while we're there. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* usb_cdcacm.c: CleanupsMarti Bolivar2011-10-181-200/+202
| | | | | | | | | Move the callbacks to the bottom of the file, and mark them static. Replace empty callbacks with NOP_Process in the callback tables. Remove prototype for nonexistent prep_and_reset(). Other miscellaneous fixups. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* usb: Clean up some globals with new struct usblib_dev.Marti Bolivar2011-10-181-29/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add struct usblib_dev (and USBLIB, a pointer to the singleton) to usb.h. USBLIB contains the global state which is used by functionality imported from usb_lib/. Consolidating global state into USBLIB will make it easier to remove later. Initial fields in struct usblib_dev are endpoint interrupt callbacks, a mask for what to handle in the low-priority USB interrupt, and device state. These replace pEpInt_IN, pEpInt_OUT; wInterrupt_Mask; and bDeviceState, respectively from usb_lib/, so remove their declarations from usb_lib_globals.h accordingly. Also remove unused SaveState declaration from usblib_globals.h. Move bDeviceState into 'state' field in usblib_dev. Device state type changes from DEVICE_STATE to usb_dev_state, volatile gets dropped, and enumerators get a 'USB_' prefix, but it's otherwise the same. usb_lib/ expects pInformation to point to Device_Info, pUser_Standard_Requests -> User_Standard_Requests, and pProperty -> Device_Property. Alter usb_init_usblib() to reflect these assumptions. Reorganize usb_lib_globals.h to make these assumptions more apparent to the reader. Modify usb_init_usblib() to take endpoint callbacks as arguments; update its caller in usb_cdcacm.c. usb_lib/ defines pInformation, pProperty, and pUser_Standard_Requests itself (in usb_init.c), but we have our own definitions (in usb.c). Remove the duplicates from usb.c. Also remove EPindex and Device_Info definitions from usb.c. Unused, and anyways already defined in usb_lib/usb_init.c. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* Remove usb_config.h.Marti Bolivar2011-10-181-5/+9
| | | | | | Move its defines into usb_cdcacm.c and usb.[hc] as appropriate. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>
* usb: Disentangle CDC ACM functionality.Marti Bolivar2011-10-181-0/+742
Add new usb_cdcacm.h, which provides the virtual serial port API. This file (and new usb_cdcacm.c) consolidate the VCOM support, which was previously distributed through descriptors.[hc], usb.[hc], usb_callbacks.[hc], and usb_config.h. Add usb_init_usblib() to usb.h, as a way of initializing the USB peripheral in terms of the data structures required by usb_lib. This is used by the new usb_cdcacm_enable(). Create new usb_lib_globals.h, with declarations for the usb_lib global state which is most used throughout the rest of the libmaple USB stack. Remove descriptors.c and usb_callbacks.[hc]; they are no longer necessary. Update the USB README accordingly. Signed-off-by: Marti Bolivar <mbolivar@leaflabs.com>