![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Usb Device Interface, protocol, and programming homework #4 Audio Control device
Dependencies: C12832_lcd USBDevice mbed
USBAudioControl.h@0:69eb9d19fb91, 2013-07-30 (annotated)
- Committer:
- jakowisp
- Date:
- Tue Jul 30 22:35:10 2013 +0000
- Revision:
- 0:69eb9d19fb91
- Child:
- 1:948ffad3284f
AudioControl Finctional
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jakowisp | 0:69eb9d19fb91 | 1 | #ifndef USBaudiocontrol_H |
jakowisp | 0:69eb9d19fb91 | 2 | #define USBaudiocontrol_H |
jakowisp | 0:69eb9d19fb91 | 3 | |
jakowisp | 0:69eb9d19fb91 | 4 | #include "USBHID.h" |
jakowisp | 0:69eb9d19fb91 | 5 | |
jakowisp | 0:69eb9d19fb91 | 6 | |
jakowisp | 0:69eb9d19fb91 | 7 | /* Common usage */ |
jakowisp | 0:69eb9d19fb91 | 8 | |
jakowisp | 0:69eb9d19fb91 | 9 | /** |
jakowisp | 0:69eb9d19fb91 | 10 | * |
jakowisp | 0:69eb9d19fb91 | 11 | * @endcode |
jakowisp | 0:69eb9d19fb91 | 12 | */ |
jakowisp | 0:69eb9d19fb91 | 13 | |
jakowisp | 0:69eb9d19fb91 | 14 | class USBAudioControl: public USBHID |
jakowisp | 0:69eb9d19fb91 | 15 | { |
jakowisp | 0:69eb9d19fb91 | 16 | public: |
jakowisp | 0:69eb9d19fb91 | 17 | |
jakowisp | 0:69eb9d19fb91 | 18 | /** |
jakowisp | 0:69eb9d19fb91 | 19 | * Constructor |
jakowisp | 0:69eb9d19fb91 | 20 | * |
jakowisp | 0:69eb9d19fb91 | 21 | * @param vendor_id Your vendor_id (default: 0x1234) |
jakowisp | 0:69eb9d19fb91 | 22 | * @param product_id Your product_id (default: 0x0001) |
jakowisp | 0:69eb9d19fb91 | 23 | * @param product_release Your preoduct_release (default: 0x0001) |
jakowisp | 0:69eb9d19fb91 | 24 | * |
jakowisp | 0:69eb9d19fb91 | 25 | */ |
jakowisp | 0:69eb9d19fb91 | 26 | USBAudioControl( uint16_t vendor_id = 0x1234, uint16_t product_id = 0x0006, uint16_t product_release = 0x0001): |
jakowisp | 0:69eb9d19fb91 | 27 | USBHID(1, 1, 1, vendor_id, product_id, product_release, false) |
jakowisp | 0:69eb9d19fb91 | 28 | { |
jakowisp | 0:69eb9d19fb91 | 29 | callbackSuspendChange=NULL; |
jakowisp | 0:69eb9d19fb91 | 30 | }; |
jakowisp | 0:69eb9d19fb91 | 31 | |
jakowisp | 0:69eb9d19fb91 | 32 | |
jakowisp | 0:69eb9d19fb91 | 33 | /* |
jakowisp | 0:69eb9d19fb91 | 34 | * To define the report descriptor. Warning: this method has to store the length of the report descriptor in reportLength. |
jakowisp | 0:69eb9d19fb91 | 35 | * |
jakowisp | 0:69eb9d19fb91 | 36 | * @returns pointer to the report descriptor |
jakowisp | 0:69eb9d19fb91 | 37 | */ |
jakowisp | 0:69eb9d19fb91 | 38 | virtual uint8_t * reportDesc(); |
jakowisp | 0:69eb9d19fb91 | 39 | |
jakowisp | 0:69eb9d19fb91 | 40 | unsigned int getConnectState(); |
jakowisp | 0:69eb9d19fb91 | 41 | void (*callbackSuspendChange)(unsigned int connected); |
jakowisp | 0:69eb9d19fb91 | 42 | virtual void suspendStateChanged(unsigned int suspend); |
jakowisp | 0:69eb9d19fb91 | 43 | |
jakowisp | 0:69eb9d19fb91 | 44 | }; |
jakowisp | 0:69eb9d19fb91 | 45 | |
jakowisp | 0:69eb9d19fb91 | 46 | #endif |