From 3720f9693abf4c78e79aabd93e61d56bed3b04df Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Sun, 17 Feb 2013 18:39:19 +0100 Subject: Migrated to newer laks. --- laks | 2 +- main.cpp | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/laks b/laks index 8d68e3d..754ed2f 160000 --- a/laks +++ b/laks @@ -1 +1 @@ -Subproject commit 8d68e3d9823abe8a9ff6f8b0f6f4addee98bb260 +Subproject commit 754ed2f1658a58680abb6fa440ad9f7b8ad8c078 diff --git a/main.cpp b/main.cpp index 9aafa08..a227a39 100644 --- a/main.cpp +++ b/main.cpp @@ -47,6 +47,7 @@ USB_otg usb(OTG_HS, dev_desc_p, conf_desc_p); class USB_I2C : public USB_class_driver { private: + USB_generic& usb; I2C_t& i2c; bool i2c_read(uint16_t wValue, uint16_t wIndex, uint16_t wLength) { @@ -58,7 +59,9 @@ class USB_I2C : public USB_class_driver { } public: - USB_I2C(I2C_t& i2c_bus) : i2c(i2c_bus) {} + USB_I2C(USB_generic& usbd, I2C_t& i2c_bus) : usb(usbd), i2c(i2c_bus) { + usb.register_driver(this); + } protected: virtual SetupStatus handle_setup(uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength) { @@ -70,10 +73,12 @@ class USB_I2C : public USB_class_driver { } }; -USB_I2C usb_i2c(I2C2); +USB_I2C usb_i2c(usb, I2C2); class USB_JTAG : public USB_class_driver { private: + USB_generic& usb; + bool jtag_tick(bool tdi, bool tms) { bool tdo = jtag_tdo.get(); jtag_tdi.set(tdi); @@ -107,7 +112,9 @@ class USB_JTAG : public USB_class_driver { } public: - USB_JTAG() {} + USB_JTAG(USB_generic& usbd) : usb(usbd) { + usb.register_driver(this); + } protected: virtual SetupStatus handle_setup(uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength) { @@ -119,7 +126,7 @@ class USB_JTAG : public USB_class_driver { } }; -USB_JTAG usb_jtag; +USB_JTAG usb_jtag(usb); template<> void interrupt<(Interrupt::IRQ)77>() { @@ -181,9 +188,6 @@ int main() { usb_thread.start(); - usb.register_control_handler(&usb_i2c); - usb.register_control_handler(&usb_jtag); - RCC.enable(RCC.SPI1); PA5.set_mode(Pin::AF); -- cgit v1.2.3