projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed PDI programming mode in the AVRISP programmer project not exiting programming...
[pub/USBasp.git]
/
Demos
/
Device
/
ClassDriver
/
MassStorageKeyboard
/
MassStorageKeyboard.c
diff --git
a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
index
295dbfc
..
4816b7e
100644
(file)
--- a/
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
+++ b/
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.c
@@
-1,14
+1,14
@@
/*
\r
LUFA Library
\r
/*
\r
LUFA Library
\r
- Copyright (C) Dean Camera, 20
09
.
\r
+ Copyright (C) Dean Camera, 20
10
.
\r
\r
dean [at] fourwalledcubicle [dot] com
\r
www.fourwalledcubicle.com
\r
*/
\r
\r
/*
\r
\r
dean [at] fourwalledcubicle [dot] com
\r
www.fourwalledcubicle.com
\r
*/
\r
\r
/*
\r
- Copyright 20
09
Dean Camera (dean [at] fourwalledcubicle [dot] com)
\r
- Copyright 20
09
Matthias Hullin (lufa [at] matthias [dot] hullin [dot] net)
\r
+ Copyright 20
10
Dean Camera (dean [at] fourwalledcubicle [dot] com)
\r
+ Copyright 20
10
Matthias Hullin (lufa [at] matthias [dot] hullin [dot] net)
\r
\r
Permission to use, copy, modify, distribute, and sell this
\r
software and its documentation for any purpose is hereby granted
\r
\r
Permission to use, copy, modify, distribute, and sell this
\r
software and its documentation for any purpose is hereby granted
\r
@@
-118,12
+118,6
@@
void SetupHardware(void)
\r
/* Clear Dataflash sector protections, if enabled */
\r
DataflashManager_ResetDataflashProtections();
\r
\r
/* Clear Dataflash sector protections, if enabled */
\r
DataflashManager_ResetDataflashProtections();
\r
-
\r
- /* Millisecond timer initialization, with output compare interrupt enabled for the HID idle timing */
\r
- OCR0A = ((F_CPU / 64) / 1000);
\r
- TCCR0A = (1 << WGM01);
\r
- TCCR0B = ((1 << CS01) | (1 << CS00));
\r
- TIMSK0 = (1 << OCIE0A);
\r
}
\r
\r
/** Event handler for the library USB Connection event. */
\r
}
\r
\r
/** Event handler for the library USB Connection event. */
\r
@@
-145,8
+139,11
@@
void EVENT_USB_Device_ConfigurationChanged(void)
\r
if (!(MS_Device_ConfigureEndpoints(&Disk_MS_Interface)))
\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
\r
\r
if (!(MS_Device_ConfigureEndpoints(&Disk_MS_Interface)))
\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
\r
+
\r
if (!(HID_Device_ConfigureEndpoints(&Keyboard_HID_Interface)))
\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
\r
if (!(HID_Device_ConfigureEndpoints(&Keyboard_HID_Interface)))
\r
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
\r
+
\r
+ USB_Device_EnableSOFEvents();
\r
}
\r
\r
/** Event handler for the library USB Unhandled Control Request event. */
\r
}
\r
\r
/** Event handler for the library USB Unhandled Control Request event. */
\r
@@
-171,10
+168,10
@@
bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* MSInterfa
return CommandSuccess;
\r
}
\r
\r
return CommandSuccess;
\r
}
\r
\r
-/**
ISR to keep track of each millisecond interrupt, for determining the HID class idle period remaining when se
t. */
\r
-
ISR(TIMER0_COMPA_vect, ISR_BLOCK
)
\r
+/**
Event handler for the USB device Start Of Frame even
t. */
\r
+
void EVENT_USB_Device_StartOfFrame(void
)
\r
{
\r
{
\r
-
HID_Device_MillisecondElapsed(&Keyboard_HID_Interface);
\r
+ HID_Device_MillisecondElapsed(&Keyboard_HID_Interface);
\r
}
\r
\r
/** HID class driver callback function for the creation of HID reports to the host.
\r
}
\r
\r
/** HID class driver callback function for the creation of HID reports to the host.
\r
@@
-195,6
+192,8
@@
bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn
uint8_t JoyStatus_LCL = Joystick_GetStatus();
\r
uint8_t ButtonStatus_LCL = Buttons_GetStatus();
\r
\r
uint8_t JoyStatus_LCL = Joystick_GetStatus();
\r
uint8_t ButtonStatus_LCL = Buttons_GetStatus();
\r
\r
+ KeyboardReport->Modifier = HID_KEYBOARD_MODIFER_LEFTSHIFT;
\r
+
\r
if (JoyStatus_LCL & JOY_UP)
\r
KeyboardReport->KeyCode[0] = 0x04; // A
\r
else if (JoyStatus_LCL & JOY_DOWN)
\r
if (JoyStatus_LCL & JOY_UP)
\r
KeyboardReport->KeyCode[0] = 0x04; // A
\r
else if (JoyStatus_LCL & JOY_DOWN)
\r
@@
-228,13
+227,13
@@
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDI
uint8_t LEDMask = LEDS_NO_LEDS;
\r
uint8_t* LEDReport = (uint8_t*)ReportData;
\r
\r
uint8_t LEDMask = LEDS_NO_LEDS;
\r
uint8_t* LEDReport = (uint8_t*)ReportData;
\r
\r
- if (*LEDReport &
0x01) // NUM Lock
\r
+ if (*LEDReport &
HID_KEYBOARD_LED_NUMLOCK)
\r
LEDMask |= LEDS_LED1;
\r
\r
LEDMask |= LEDS_LED1;
\r
\r
- if (*LEDReport &
0x02) // CAPS Lock
\r
+ if (*LEDReport &
HID_KEYBOARD_LED_CAPSLOCK)
\r
LEDMask |= LEDS_LED3;
\r
\r
LEDMask |= LEDS_LED3;
\r
\r
- if (*LEDReport &
0x04) // SCROLL Lock
\r
+ if (*LEDReport &
HID_KEYBOARD_LED_SCROLLLOCK)
\r
LEDMask |= LEDS_LED4;
\r
\r
LEDs_SetAllLEDs(LEDMask);
\r
LEDMask |= LEDS_LED4;
\r
\r
LEDs_SetAllLEDs(LEDMask);
\r