notaz.gp2x.de
/
megadrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update teensy3 lib to latest, use new vector change mechanism
[megadrive.git]
/
teensy3
/
usb_dev.c
diff --git
a/teensy3/usb_dev.c
b/teensy3/usb_dev.c
index
92dbd32
..
e87f158
100644
(file)
--- a/
teensy3/usb_dev.c
+++ b/
teensy3/usb_dev.c
@@
-10,10
+10,10
@@
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
- * 1. The above copyright notice and this permission notice shall be
+ * 1. The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* included in all copies or substantial portions of the Software.
*
- * 2. If the Software is incorporated into a build system that allows
+ * 2. If the Software is incorporated into a build system that allows
* selection among a list of target devices, then similar target
* devices manufactured by PJRC.COM must be included in the list of
* target devices and selectable in the same manner.
* selection among a list of target devices, then similar target
* devices manufactured by PJRC.COM must be included in the list of
* target devices and selectable in the same manner.
@@
-28,9
+28,11
@@
* SOFTWARE.
*/
* SOFTWARE.
*/
-#include "mk20dx128.h"
-//#include "HardwareSerial.h"
#include "usb_dev.h"
#include "usb_dev.h"
+#if F_CPU >= 20000000 && defined(NUM_ENDPOINTS)
+
+#include "kinetis.h"
+//#include "HardwareSerial.h"
#include "usb_mem.h"
// buffer descriptor table
#include "usb_mem.h"
// buffer descriptor table
@@
-286,7
+288,7
@@
static void usb_setup(void)
//serial_print("\n");
for (list = usb_descriptor_list; 1; list++) {
if (list->addr == NULL) break;
//serial_print("\n");
for (list = usb_descriptor_list; 1; list++) {
if (list->addr == NULL) break;
- //if (setup.wValue == list->wValue &&
+ //if (setup.wValue == list->wValue &&
//(setup.wIndex == list->wIndex) || ((setup.wValue >> 8) == 3)) {
if (setup.wValue == list->wValue && setup.wIndex == list->wIndex) {
data = list->addr;
//(setup.wIndex == list->wIndex) || ((setup.wValue >> 8) == 3)) {
if (setup.wValue == list->wValue && setup.wIndex == list->wIndex) {
data = list->addr;
@@
-629,7
+631,7
@@
void usb_rx_memory(usb_packet_t *packet)
__enable_irq();
// we should never reach this point. If we get here, it means
// usb_rx_memory_needed was set greater than zero, but no memory
__enable_irq();
// we should never reach this point. If we get here, it means
// usb_rx_memory_needed was set greater than zero, but no memory
- // was actually needed.
+ // was actually needed.
usb_rx_memory_needed = 0;
usb_free(packet);
return;
usb_rx_memory_needed = 0;
usb_free(packet);
return;
@@
-688,7
+690,7
@@
void usb_tx(uint32_t endpoint, usb_packet_t *packet)
void _reboot_Teensyduino_(void)
{
// TODO: initialize R0 with a code....
void _reboot_Teensyduino_(void)
{
// TODO: initialize R0 with a code....
-
asm
volatile("bkpt");
+
__asm__
volatile("bkpt");
}
}
@@
-867,7
+869,7
@@
void usb_isr(void)
table[index(0, RX, ODD)].addr = ep0_rx1_buf;
table[index(0, TX, EVEN)].desc = 0;
table[index(0, TX, ODD)].desc = 0;
table[index(0, RX, ODD)].addr = ep0_rx1_buf;
table[index(0, TX, EVEN)].desc = 0;
table[index(0, TX, ODD)].desc = 0;
-
+
// activate endpoint 0
USB0_ENDPT0 = USB_ENDPT_EPRXEN | USB_ENDPT_EPTXEN | USB_ENDPT_EPHSHK;
// activate endpoint 0
USB0_ENDPT0 = USB_ENDPT_EPRXEN | USB_ENDPT_EPTXEN | USB_ENDPT_EPHSHK;
@@
-969,4
+971,10
@@
void usb_init(void)
}
}
+#else // F_CPU < 20 MHz && defined(NUM_ENDPOINTS)
+
+void usb_init(void)
+{
+}
+#endif // F_CPU >= 20 MHz && defined(NUM_ENDPOINTS)