X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fcommon%2Fusb_serial.rs;h=6a7cd173b0fc09e51e04021e7a32604170914bbe;hb=ae08cb7946610699238315e78bb739380001ec23;hp=f08f679ed78c928e81acb20edffdeba461129767;hpb=b239309dcadd809fd5ed4874064aced8f71557d0;p=gps-watch.git diff --git a/src/common/usb_serial.rs b/src/common/usb_serial.rs index f08f679..6a7cd17 100644 --- a/src/common/usb_serial.rs +++ b/src/common/usb_serial.rs @@ -21,10 +21,31 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +use nvic; +use clock; + extern { - fn USB_VcomInit(); + fn USB_VcomInit(vid: u16, pid: u16); +} + +pub unsafe fn init(vid: u16, pid: u16) { + USB_VcomInit(vid, pid); +} + +#[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); } -pub unsafe fn init() { - USB_VcomInit(); +#[no_mangle] +#[allow(non_snake_case)] +pub unsafe extern fn USB_DeviceClockInit() +{ + clock::configure_usb(); }