root / arduino-1.0 / hardware / arduino / bootloaders / diskloader / src / Platform.h @ 58d82c77
History | View | Annotate | Download (1.38 KB)
1 | 58d82c77 | Tom Mullins | |
---|---|---|---|
2 | #include <inttypes.h> |
||
3 | #include <avr/io.h> |
||
4 | #include <avr/pgmspace.h> |
||
5 | #include <avr/boot.h> |
||
6 | #include <util/delay.h> |
||
7 | #include <avr/interrupt.h> |
||
8 | #include <avr/wdt.h> |
||
9 | |||
10 | #include <stdio.h> |
||
11 | #include <stdlib.h> |
||
12 | #include <string.h> |
||
13 | |||
14 | typedef unsigned char u8; |
||
15 | typedef unsigned short u16; |
||
16 | typedef unsigned long u32; |
||
17 | |||
18 | |||
19 | #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) |
||
20 | #define DISABLE_JTAG() MCUCR = (1 << JTD) | (1 << IVCE) | (0 << PUD); MCUCR = (1 << JTD) | (0 << IVSEL) | (0 << IVCE) | (0 << PUD); |
||
21 | |||
22 | #define USB_PID_LEONARDO 0x0034 |
||
23 | #define USB_PID_MICRO 0x0035 |
||
24 | #define USB_VID 0x2341 // arduino LLC vid |
||
25 | #define USB_PID ARDUINO_MODEL_PID // passed in by Makefile - 0x0034 for Leonardo, 0x0035 for MIcro |
||
26 | |||
27 | #define USB_SERIAL_STRING '0','0','0','0','0','0','0','0','1','7','0','1' |
||
28 | |||
29 | #define OEM_NAME 'l','e','o','n','a','r','d','o' // 8 chars |
||
30 | #define BOARD_INIT() DDRC |= (1<<7); DDRB |= (1<<0); DDRD |= (1<<5); CPU_PRESCALE(0); DISABLE_JTAG(); |
||
31 | #define LED0 PORTC &= ~(1<<7) |
||
32 | #define LED1 PORTC |= (1<<7) |
||
33 | #define TXLED0 PORTD |= (1<<5) |
||
34 | #define TXLED1 PORTD &= ~(1<<5) |
||
35 | #define RXLED0 PORTB |= (1<<0) |
||
36 | #define RXLED1 PORTB &= ~(1<<0) |
||
37 | |||
38 | #define TRANSFER_PGM 0x80 |
||
39 | #define TRANSFER_RELEASE 0x40 |
||
40 | #define TRANSFER_ZERO 0x20 |
||
41 | |||
42 | void Transfer(u8 ep, const u8* data, int len); |
||
43 | void Recv(u8 ep, u8* dst, u8 len);
|
||
44 | void Program(u8 ep, u16 page, u8 count);
|
||
45 | |||
46 | #define CDC_ENABLED
|
||
47 | |||
48 | #include "USBCore.h" |
||
49 | #include "USBDesc.h" |
||
50 |