Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
8bc3a91c
Commit
8bc3a91c
authored
Jun 18, 2009
by
Dean Camera
Browse files
Fix broken MagStripe project.
parent
d475ea43
Changes
2
Hide whitespace changes
Inline
Side-by-side
Projects/Magstripe/Magstripe.c
View file @
8bc3a91c
...
...
@@ -48,12 +48,20 @@ BitBuffer_t TrackDataBuffers[3];
*/
USB_ClassInfo_HID_Device_t
Keyboard_HID_Interface
=
{
.
InterfaceNumber
=
0
,
.
ReportINEndpointNumber
=
KEYBOARD_EPNUM
,
.
ReportINEndpointSize
=
KEYBOARD_EPSIZE
,
.
Config
=
{
.
InterfaceNumber
=
0
,
.
ReportINEndpointNumber
=
KEYBOARD_EPNUM
,
.
ReportINEndpointSize
=
KEYBOARD_EPSIZE
,
.
ReportINBufferSize
=
sizeof
(
USB_KeyboardReport_Data_t
),
},
.
ReportINBufferSize
=
sizeof
(
USB_KeyboardReport_Data_t
),
.
State
=
{
// Leave all state values to their defaults
}
};
/** Main program entry point. This routine contains the overall program flow, including initial
...
...
@@ -71,7 +79,7 @@ int main(void)
if
(
Magstripe_GetStatus
()
&
MAG_CARDPRESENT
)
ReadMagstripeData
();
USB_HID
_USBTask
(
&
Keyboard_HID_Interface
);
HID_Device
_USBTask
(
&
Keyboard_HID_Interface
);
USB_USBTask
();
}
}
...
...
@@ -134,20 +142,20 @@ void ReadMagstripeData(void)
/** Event handler for the library USB Configuration Changed event. */
void
EVENT_USB_ConfigurationChanged
(
void
)
{
USB_HID
_ConfigureEndpoints
(
&
Keyboard_HID_Interface
);
HID_Device
_ConfigureEndpoints
(
&
Keyboard_HID_Interface
);
}
/** Event handler for the library USB Unhandled Control Packet event. */
void
EVENT_USB_UnhandledControlPacket
(
void
)
{
USB_HID
_ProcessControlPacket
(
&
Keyboard_HID_Interface
);
HID_Device
_ProcessControlPacket
(
&
Keyboard_HID_Interface
);
}
/** Timer 0 CTC ISR, firing once each millisecond to keep track of elapsed idle time in the HID interface. */
ISR
(
TIMER0_COMPA_vect
,
ISR_BLOCK
)
{
if
(
Keyboard_HID_Interface
.
IdleMSRemaining
)
Keyboard_HID_Interface
.
IdleMSRemaining
--
;
if
(
Keyboard_HID_Interface
.
State
.
IdleMSRemaining
)
Keyboard_HID_Interface
.
State
.
IdleMSRemaining
--
;
}
/** HID Class driver callback function for the creation of a HID report for the host.
...
...
@@ -158,7 +166,7 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
*
* \return Number of bytes in the created report
*/
uint16_t
CALLBACK_
USB_HID
_Create
Next
HIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
void
*
ReportData
)
uint16_t
CALLBACK_
HID_Device
_CreateHIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
void
*
ReportData
)
{
static
bool
IsKeyReleaseReport
;
static
bool
IsNewlineReport
;
...
...
@@ -206,8 +214,8 @@ uint16_t CALLBACK_USB_HID_CreateNextHIDReport(USB_ClassInfo_HID_Device_t* HIDInt
* \param ReportData Pointer to the report buffer where the received report is stored
* \param ReportSize Size in bytes of the report received from the host
*/
void
CALLBACK_
USB_HID_ProcessReceived
HIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
)
void
CALLBACK_
HID_Device_Process
HIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
)
{
// Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports
}
Projects/Magstripe/Magstripe.h
View file @
8bc3a91c
...
...
@@ -79,9 +79,9 @@
void
EVENT_USB_ConfigurationChanged
(
void
);
void
EVENT_USB_UnhandledControlPacket
(
void
);
uint16_t
CALLBACK_
USB_HID
_Create
Next
HIDReport
(
USB_ClassInfo_HID_t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
void
*
ReportData
);
void
CALLBACK_
USB_HID_ProcessReceived
HIDReport
(
USB_ClassInfo_HID_t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
);
uint16_t
CALLBACK_
HID_Device
_CreateHIDReport
(
USB_ClassInfo_HID_
Device_
t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
void
*
ReportData
);
void
CALLBACK_
HID_Device_Process
HIDReport
(
USB_ClassInfo_HID_
Device_
t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
);
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment