diff options
author | Stefan Hellermann <stefan@the2masters.de> | 2015-02-28 12:05:41 +0100 |
---|---|---|
committer | Stefan Hellermann <stefan@the2masters.de> | 2015-02-28 12:30:04 +0100 |
commit | 64ef5396a5eb502d326e173ac6e6de9b284ec1ec (patch) | |
tree | f86bd5e9321236d2db057059986cb044b5a6cf22 /LUFA/Drivers/USB/Class/Device/CDCClassDevice.c | |
parent | 4185d21fcd9efe597b135cc0b4e75053981cdaae (diff) | |
download | lufa-64ef5396a5eb502d326e173ac6e6de9b284ec1ec.tar.gz lufa-64ef5396a5eb502d326e173ac6e6de9b284ec1ec.tar.bz2 lufa-64ef5396a5eb502d326e173ac6e6de9b284ec1ec.zip |
Add Progmem Variant to CDC_Device_Send
Diffstat (limited to 'LUFA/Drivers/USB/Class/Device/CDCClassDevice.c')
-rw-r--r-- | LUFA/Drivers/USB/Class/Device/CDCClassDevice.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c b/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c index f4e74cf90..62536f9ef 100644 --- a/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c +++ b/LUFA/Drivers/USB/Class/Device/CDCClassDevice.c @@ -155,6 +155,16 @@ uint8_t CDC_Device_SendString(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo return Endpoint_Write_Stream_LE(String, strlen(String), NULL); } +uint8_t CDC_Device_SendString_P(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, + const char* const String) +{ + if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS)) + return ENDPOINT_RWSTREAM_DeviceDisconnected; + + Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address); + return Endpoint_Write_PStream_LE(String, strlen_P(String), NULL); +} + uint8_t CDC_Device_SendData(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, const void* const Buffer, const uint16_t Length) @@ -166,6 +176,17 @@ uint8_t CDC_Device_SendData(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, return Endpoint_Write_Stream_LE(Buffer, Length, NULL); } +uint8_t CDC_Device_SendData_P(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, + const void* const Buffer, + const uint16_t Length) +{ + if ((USB_DeviceState != DEVICE_STATE_Configured) || !(CDCInterfaceInfo->State.LineEncoding.BaudRateBPS)) + return ENDPOINT_RWSTREAM_DeviceDisconnected; + + Endpoint_SelectEndpoint(CDCInterfaceInfo->Config.DataINEndpoint.Address); + return Endpoint_Write_PStream_LE(Buffer, Length, NULL); +} + uint8_t CDC_Device_SendByte(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo, const uint8_t Data) { |