projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix missing C++ linkage command in ArchitectureSpecific.h.
[pub/USBasp.git]
/
Demos
/
Device
/
LowLevel
/
RNDISEthernet
/
RNDISEthernet.c
diff --git
a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c
b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c
index
a1e55cb
..
9ad26dd
100644
(file)
--- a/
Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c
+++ b/
Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
0
.
+ Copyright (C) Dean Camera, 201
1
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 201
0
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
1
Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-71,8
+71,11
@@
void SetupHardware(void)
/* Hardware Initialization */
LEDs_Init();
/* Hardware Initialization */
LEDs_Init();
- Serial
Stream
_Init(9600, false);
+ Serial_Init(9600, false);
USB_Init();
USB_Init();
+
+ /* Create a stdio stream for the serial port for stdin and stdout */
+ Serial_CreateStream(NULL);
}
/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and
}
/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs and
@@
-182,7
+185,7
@@
void RNDIS_Task(void)
};
/* Indicate that a message response is ready for the host */
};
/* Indicate that a message response is ready for the host */
- Endpoint_Write_Stream_LE(&Notification, sizeof(Notification));
+ Endpoint_Write_Stream_LE(&Notification, sizeof(Notification)
, NULL
);
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
@@
-201,10
+204,10
@@
void RNDIS_Task(void)
Endpoint_SelectEndpoint(CDC_RX_EPNUM);
/* Check if the data OUT endpoint contains data, and that the IN buffer is empty */
Endpoint_SelectEndpoint(CDC_RX_EPNUM);
/* Check if the data OUT endpoint contains data, and that the IN buffer is empty */
- if (Endpoint_IsOUTReceived() && !(FrameIN.Frame
InBuffer
))
+ if (Endpoint_IsOUTReceived() && !(FrameIN.Frame
Length
))
{
/* Read in the packet message header */
{
/* Read in the packet message header */
- Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t));
+ Endpoint_Read_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t)
, NULL
);
/* Stall the request if the data is too large */
if (RNDISPacketHeader.DataLength > ETHERNET_FRAME_SIZE_MAX)
/* Stall the request if the data is too large */
if (RNDISPacketHeader.DataLength > ETHERNET_FRAME_SIZE_MAX)
@@
-214,23
+217,20
@@
void RNDIS_Task(void)
}
/* Read in the Ethernet frame into the buffer */
}
/* Read in the Ethernet frame into the buffer */
- Endpoint_Read_Stream_LE(FrameIN.FrameData, RNDISPacketHeader.DataLength);
+ Endpoint_Read_Stream_LE(FrameIN.FrameData, RNDISPacketHeader.DataLength
, NULL
);
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearOUT();
/* Store the size of the Ethernet frame */
FrameIN.FrameLength = RNDISPacketHeader.DataLength;
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearOUT();
/* Store the size of the Ethernet frame */
FrameIN.FrameLength = RNDISPacketHeader.DataLength;
-
- /* Indicate Ethernet IN buffer full */
- FrameIN.FrameInBuffer = true;
}
/* Select the data IN endpoint */
Endpoint_SelectEndpoint(CDC_TX_EPNUM);
/* Check if the data IN endpoint is ready for more data, and that the IN buffer is full */
}
/* Select the data IN endpoint */
Endpoint_SelectEndpoint(CDC_TX_EPNUM);
/* Check if the data IN endpoint is ready for more data, and that the IN buffer is full */
- if (Endpoint_IsINReady() && FrameOUT.Frame
InBuffer
)
+ if (Endpoint_IsINReady() && FrameOUT.Frame
Length
)
{
/* Clear the packet header with all 0s so that the relevant fields can be filled */
memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));
{
/* Clear the packet header with all 0s so that the relevant fields can be filled */
memset(&RNDISPacketHeader, 0, sizeof(RNDIS_Packet_Message_t));
@@
-242,16
+242,16
@@
void RNDIS_Task(void)
RNDISPacketHeader.DataLength = FrameOUT.FrameLength;
/* Send the packet header to the host */
RNDISPacketHeader.DataLength = FrameOUT.FrameLength;
/* Send the packet header to the host */
- Endpoint_Write_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t));
+ Endpoint_Write_Stream_LE(&RNDISPacketHeader, sizeof(RNDIS_Packet_Message_t)
, NULL
);
/* Send the Ethernet frame data to the host */
/* Send the Ethernet frame data to the host */
- Endpoint_Write_Stream_LE(FrameOUT.FrameData, RNDISPacketHeader.DataLength);
+ Endpoint_Write_Stream_LE(FrameOUT.FrameData, RNDISPacketHeader.DataLength
, NULL
);
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
/* Indicate Ethernet OUT buffer no longer full */
/* Finalize the stream transfer to send the last packet */
Endpoint_ClearIN();
/* Indicate Ethernet OUT buffer no longer full */
- FrameOUT.Frame
InBuffer = false
;
+ FrameOUT.Frame
Length = 0
;
}
}
}
}
}
}
@@
-270,7
+270,7
@@
void Ethernet_Task(void)
return;
/* Check if a frame has been written to the IN frame buffer */
return;
/* Check if a frame has been written to the IN frame buffer */
- if (FrameIN.Frame
InBuffer
)
+ if (FrameIN.Frame
Length
)
{
/* Indicate packet processing started */
LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
{
/* Indicate packet processing started */
LEDs_SetAllLEDs(LEDMASK_USB_BUSY);