/* Teensyduino Core Library
* http://www.pjrc.com/teensy/
* Copyright (c) 2013 PJRC.COM, LLC.
- * Modifications by Jacob Alexander (2013-2014)
+ * Modifications by Jacob Alexander (2013-2015)
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
static uint8_t reply_buffer[8];
-volatile uint8_t remote_wakeup_enabled = 0;
// ----- Functions -----
print("CONFIGURE - ");
#endif
usb_configuration = setup.wValue;
+ Output_Available = usb_configuration;
reg = &USB0_ENDPT1;
cfg = usb_endpoint_config_table;
// clear all BDT entries, free any allocated memory...
data = reply_buffer;
break;
case 0x0080: // GET_STATUS (device)
- //I think this is the corrent endianess
- reply_buffer[0] = (remote_wakeup_enabled)<<1;
+ reply_buffer[0] = 0;
reply_buffer[1] = 0;
datalen = 2;
data = reply_buffer;
datalen = 2;
break;
case 0x0100: // CLEAR_FEATURE (device)
- //Disable DEVICE_REMOTE_WAKEUP feature
- if (setup.wValue == 0x01) {
- remote_wakeup_enabled = 0;
- }
- break;
case 0x0101: // CLEAR_FEATURE (interface)
// TODO: Currently ignoring, perhaps useful? -HaaTa
endpoint0_stall();
endpoint0_stall();
return;
case 0x0300: // SET_FEATURE (device)
- //Enable DEVICE_REMOTE_WAKEUP feature
- if (setup.wValue == 0x01) {
- remote_wakeup_enabled = 1;
- }
- break;
case 0x0301: // SET_FEATURE (interface)
// TODO: Currently ignoring, perhaps useful? -HaaTa
endpoint0_stall();
SOFTWARE_RESET();
}
+// Kiibohd mk20dx256vlh7
+#elif defined(_mk20dx256vlh7_)
+ // Copies variable into the VBAT register, must be identical to the variable in the bootloader to jump to the bootloader flash mode
+ for ( int pos = 0; pos < sizeof(sys_reset_to_loader_magic); pos++ )
+ (&VBAT)[ pos ] = sys_reset_to_loader_magic[ pos ];
+ SOFTWARE_RESET();
+
// Teensy 3.0 and 3.1
#else
asm volatile("bkpt");
//serial_print("sleep\n");
USB0_ISTAT = USB_ISTAT_SLEEP;
}
-
- if ( (status & USB_ISTAT_RESUME /* 20 */ ) ) {
- //serial_print("resume\n");
- USB0_ISTAT = USB_ISTAT_RESUME;
- }
}
print("USB INIT"NL);
#endif
- // If no USB cable is attached, do not initialize usb
- // XXX Test -HaaTa
- //if ( USB0_OTGISTAT & USB_OTGSTAT_ID )
- // return 0;
-
// Clear out endpoints table
for ( int i = 0; i <= NUM_ENDPOINTS * 4; i++ )
{