X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fcommon%2Fusb_serial.rs;h=c9de0d4b69dc06fff78f3b65889612138b1e2c39;hb=cec0c36c6bade2106fba5e4bb1ea0180b1aef6a6;hp=f08f679ed78c928e81acb20edffdeba461129767;hpb=7204b4504475d3b1d26e26ad4b608127946d34fd;p=gps-watch.git diff --git a/src/common/usb_serial.rs b/src/common/usb_serial.rs index f08f679..c9de0d4 100644 --- a/src/common/usb_serial.rs +++ b/src/common/usb_serial.rs @@ -21,6 +21,9 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +use nvic; +use clock; + extern { fn USB_VcomInit(); } @@ -28,3 +31,21 @@ extern { pub unsafe fn init() { USB_VcomInit(); } + +#[no_mangle] +#[allow(non_snake_case)] +pub unsafe extern fn USB_DeviceIsrEnable() +{ + let irq_number = 24; // USB0 + let irq_prio = 3; // Stolen from NXP example. + + nvic::set_priority(irq_number, irq_prio); + nvic::enable_irq(irq_number); +} + +#[no_mangle] +#[allow(non_snake_case)] +pub unsafe extern fn USB_DeviceClockInit() +{ + clock::configure_usb(); +}