Skip to content
GitLab
Menu
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
b462f2d4
Commit
b462f2d4
authored
Jun 29, 2009
by
Dean Camera
Browse files
Minor correction to MagStripe demo to fix build problems.
parent
86e6ed7f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Demos/Device/ClassDriver/MassStorage/Lib/DataflashManager.c
View file @
b462f2d4
...
...
@@ -53,16 +53,17 @@ void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, co
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
bool
UsingSecondBuffer
=
false
;
/*
Copy selected dataflash's
c
u
rre
n
t
page contents to the dataflash buffer
*/
/*
Select the
c
o
rre
c
t
starting Dataflash IC for the block requested
*/
Dataflash_SelectChipFromPage
(
CurrDFPage
);
#if (DATAFLASH_PAGE_SIZE > VIRTUAL_MEMORY_BLOCK_SIZE)
/* Copy selected dataflash's current page contents to the dataflash buffer */
Dataflash_SendByte
(
DF_CMD_MAINMEMTOBUFF1
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
0
);
#endif
Dataflash_WaitWhileBusy
();
#endif
/* Send the dataflash buffer write command */
Dataflash_ToggleSelectedChipCS
();
Dataflash_SendByte
(
DF_CMD_BUFF1WRITE
);
Dataflash_SendAddressBytes
(
0
,
CurrDFPageByte
);
...
...
@@ -182,8 +183,10 @@ void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, con
uint16_t
CurrDFPageByte
=
((
BlockAddress
*
VIRTUAL_MEMORY_BLOCK_SIZE
)
%
DATAFLASH_PAGE_SIZE
);
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
/* Se
nd
the
dataflash main memory page read comman
d */
/* Se
lect
the
correct starting Dataflash IC for the block requeste
d */
Dataflash_SelectChipFromPage
(
CurrDFPage
);
/* Send the dataflash main memory page read command */
Dataflash_SendByte
(
DF_CMD_MAINMEMPAGEREAD
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
CurrDFPageByte
);
Dataflash_SendByte
(
0x00
);
...
...
@@ -287,19 +290,20 @@ void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t Tota
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
bool
UsingSecondBuffer
=
false
;
/*
Copy selected dataflash's
c
u
rre
n
t
page contents to the dataflash buffer
*/
/*
Select the
c
o
rre
c
t
starting Dataflash IC for the block requested
*/
Dataflash_SelectChipFromPage
(
CurrDFPage
);
#if (DATAFLASH_PAGE_SIZE > VIRTUAL_MEMORY_BLOCK_SIZE)
/* Copy selected dataflash's current page contents to the dataflash buffer */
Dataflash_SendByte
(
DF_CMD_MAINMEMTOBUFF1
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
0
);
#endif
Dataflash_WaitWhileBusy
();
#endif
/* Send the dataflash buffer write command */
Dataflash_ToggleSelectedChipCS
();
Dataflash_SendByte
(
DF_CMD_BUFF1WRITE
);
Dataflash_SendAddressBytes
(
0
,
CurrDFPageByte
);
while
(
TotalBlocks
)
{
uint8_t
BytesInBlockDiv16
=
0
;
...
...
@@ -384,8 +388,10 @@ void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t Total
uint16_t
CurrDFPageByte
=
((
BlockAddress
*
VIRTUAL_MEMORY_BLOCK_SIZE
)
%
DATAFLASH_PAGE_SIZE
);
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
/* Se
nd
the
dataflash main memory page read comman
d */
/* Se
lect
the
correct starting Dataflash IC for the block requeste
d */
Dataflash_SelectChipFromPage
(
CurrDFPage
);
/* Send the dataflash main memory page read command */
Dataflash_SendByte
(
DF_CMD_MAINMEMPAGEREAD
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
CurrDFPageByte
);
Dataflash_SendByte
(
0x00
);
...
...
Demos/Device/LowLevel/MassStorage/Lib/DataflashManager.c
View file @
b462f2d4
...
...
@@ -53,16 +53,17 @@ void DataflashManager_WriteBlocks(const uint32_t BlockAddress, uint16_t TotalBlo
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
bool
UsingSecondBuffer
=
false
;
/*
Copy selected dataflash's
c
u
rre
n
t
page contents to the dataflash buffer
*/
/*
Select the
c
o
rre
c
t
starting Dataflash IC for the block requested
*/
Dataflash_SelectChipFromPage
(
CurrDFPage
);
#if (DATAFLASH_PAGE_SIZE > VIRTUAL_MEMORY_BLOCK_SIZE)
/* Copy selected dataflash's current page contents to the dataflash buffer */
Dataflash_SendByte
(
DF_CMD_MAINMEMTOBUFF1
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
0
);
#endif
Dataflash_WaitWhileBusy
();
#endif
/* Send the dataflash buffer write command */
Dataflash_ToggleSelectedChipCS
();
Dataflash_SendByte
(
DF_CMD_BUFF1WRITE
);
Dataflash_SendAddressBytes
(
0
,
CurrDFPageByte
);
...
...
@@ -182,8 +183,10 @@ void DataflashManager_ReadBlocks(const uint32_t BlockAddress, uint16_t TotalBloc
uint16_t
CurrDFPageByte
=
((
BlockAddress
*
VIRTUAL_MEMORY_BLOCK_SIZE
)
%
DATAFLASH_PAGE_SIZE
);
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
/* Se
nd
the
dataflash main memory page read comman
d */
/* Se
lect
the
correct starting Dataflash IC for the block requeste
d */
Dataflash_SelectChipFromPage
(
CurrDFPage
);
/* Send the dataflash main memory page read command */
Dataflash_SendByte
(
DF_CMD_MAINMEMPAGEREAD
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
CurrDFPageByte
);
Dataflash_SendByte
(
0x00
);
...
...
@@ -287,16 +290,17 @@ void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t Tota
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
bool
UsingSecondBuffer
=
false
;
/*
Copy selected dataflash's
c
u
rre
n
t
page contents to the dataflash buffer
*/
/*
Select the
c
o
rre
c
t
starting Dataflash IC for the block requested
*/
Dataflash_SelectChipFromPage
(
CurrDFPage
);
#if (DATAFLASH_PAGE_SIZE > VIRTUAL_MEMORY_BLOCK_SIZE)
/* Copy selected dataflash's current page contents to the dataflash buffer */
Dataflash_SendByte
(
DF_CMD_MAINMEMTOBUFF1
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
0
);
#endif
Dataflash_WaitWhileBusy
();
#endif
/* Send the dataflash buffer write command */
Dataflash_ToggleSelectedChipCS
();
Dataflash_SendByte
(
DF_CMD_BUFF1WRITE
);
Dataflash_SendAddressBytes
(
0
,
CurrDFPageByte
);
...
...
@@ -384,8 +388,10 @@ void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t Total
uint16_t
CurrDFPageByte
=
((
BlockAddress
*
VIRTUAL_MEMORY_BLOCK_SIZE
)
%
DATAFLASH_PAGE_SIZE
);
uint8_t
CurrDFPageByteDiv16
=
(
CurrDFPageByte
>>
4
);
/* Se
nd
the
dataflash main memory page read comman
d */
/* Se
lect
the
correct starting Dataflash IC for the block requeste
d */
Dataflash_SelectChipFromPage
(
CurrDFPage
);
/* Send the dataflash main memory page read command */
Dataflash_SendByte
(
DF_CMD_MAINMEMPAGEREAD
);
Dataflash_SendAddressBytes
(
CurrDFPage
,
CurrDFPageByte
);
Dataflash_SendByte
(
0x00
);
...
...
Projects/Magstripe/Magstripe.c
View file @
b462f2d4
...
...
@@ -166,14 +166,14 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
*
* \return Number of bytes in the created report
*/
uint16_t
CALLBACK_HID_Device_CreateHIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
void
*
ReportData
)
uint16_t
CALLBACK_HID_Device_CreateHIDReport
(
USB_ClassInfo_HID_Device_t
*
const
HIDInterfaceInfo
,
uint8_t
*
const
ReportID
,
void
*
ReportData
)
{
static
bool
IsKeyReleaseReport
;
static
bool
IsNewlineReport
;
BitBuffer_t
*
Buffer
=
NULL
;
USB_KeyboardReport_Data_t
*
KeyboardReport
=
(
USB_KeyboardReport_Data_t
*
)
ReportData
;
/* Key reports must be interleaved with 0 Key Code reports to release the keys, or repeated keys will be ignored */
IsKeyReleaseReport
=
!
IsKeyReleaseReport
;
...
...
@@ -214,8 +214,8 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
* \param[in] ReportData Pointer to the report buffer where the received report is stored
* \param[in] ReportSize Size in bytes of the report received from the host
*/
void
CALLBACK_HID_Device_ProcessHIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
)
void
CALLBACK_HID_Device_ProcessHIDReport
(
USB_ClassInfo_HID_Device_t
*
const
HIDInterfaceInfo
,
const
uint8_t
ReportID
,
const
void
*
ReportData
,
const
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 @
b462f2d4
...
...
@@ -79,9 +79,9 @@
void
EVENT_USB_ConfigurationChanged
(
void
);
void
EVENT_USB_UnhandledControlPacket
(
void
);
uint16_t
CALLBACK_HID_Device_CreateHIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
*
ReportID
,
uint16_t
CALLBACK_HID_Device_CreateHIDReport
(
USB_ClassInfo_HID_Device_t
*
const
HIDInterfaceInfo
,
uint8_t
*
const
ReportID
,
void
*
ReportData
);
void
CALLBACK_HID_Device_ProcessHIDReport
(
USB_ClassInfo_HID_Device_t
*
HIDInterfaceInfo
,
uint8_t
ReportID
,
void
*
ReportData
,
uint16_t
ReportSize
);
void
CALLBACK_HID_Device_ProcessHIDReport
(
USB_ClassInfo_HID_Device_t
*
const
HIDInterfaceInfo
,
const
uint8_t
ReportID
,
const
void
*
ReportData
,
const
uint16_t
ReportSize
);
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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