summaryrefslogtreecommitdiffstats
path: root/lib/lufa/Demos/Host/LowLevel/PrinterHost
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-08-02 14:02:40 -0700
committerskullydazed <skullydazed@users.noreply.github.com>2019-08-30 15:01:52 -0700
commitcf4575b94a3c65e6535a159fc71fc885aebc2620 (patch)
tree2354f2b7a200e02246a564afefedc32357e62b8e /lib/lufa/Demos/Host/LowLevel/PrinterHost
parent75ee8df19e0f14ba466f41ab673dde2fe2fdae9c (diff)
Fix the LUFA lib to use a submodule instead of just files (#6245)
* Remove LUFA files * Update descriptions for newer version of LUFA * Create PR6245.md * Fix CDC(Serial) type errors * Fix missed merge conflict for AUDIO_DTYPE_CSInterface
Diffstat (limited to 'lib/lufa/Demos/Host/LowLevel/PrinterHost')
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/Config/LUFAConfig.h93
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.c177
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.h76
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c162
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h56
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.c226
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.h88
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.txt66
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/asf.xml53
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/doxyfile2395
-rw-r--r--lib/lufa/Demos/Host/LowLevel/PrinterHost/makefile43
11 files changed, 0 insertions, 3435 deletions
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Config/LUFAConfig.h b/lib/lufa/Demos/Host/LowLevel/PrinterHost/Config/LUFAConfig.h
deleted file mode 100644
index 197122fce1..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Config/LUFAConfig.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- * \brief LUFA Library Configuration Header File
- *
- * This header file is used to configure LUFA's compile time options,
- * as an alternative to the compile time constants supplied through
- * a makefile.
- *
- * For information on what each token does, refer to the LUFA
- * manual section "Summary of Compile Tokens".
- */
-
-#ifndef _LUFA_CONFIG_H_
-#define _LUFA_CONFIG_H_
-
- #if (ARCH == ARCH_AVR8)
-
- /* Non-USB Related Configuration Tokens: */
-// #define DISABLE_TERMINAL_CODES
-
- /* USB Class Driver Related Tokens: */
-// #define HID_HOST_BOOT_PROTOCOL_ONLY
-// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
-// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
-// #define HID_MAX_COLLECTIONS {Insert Value Here}
-// #define HID_MAX_REPORTITEMS {Insert Value Here}
-// #define HID_MAX_REPORT_IDS {Insert Value Here}
-// #define NO_CLASS_DRIVER_AUTOFLUSH
-
- /* General USB Driver Related Tokens: */
-// #define ORDERED_EP_CONFIG
- #define USE_STATIC_OPTIONS (USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
-// #define USB_DEVICE_ONLY
- #define USB_HOST_ONLY
-// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
-// #define NO_LIMITED_CONTROLLER_CONNECT
-// #define NO_SOF_EVENTS
-
- /* USB Device Mode Driver Related Tokens: */
-// #define USE_RAM_DESCRIPTORS
-// #define USE_FLASH_DESCRIPTORS
-// #define USE_EEPROM_DESCRIPTORS
-// #define NO_INTERNAL_SERIAL
-// #define FIXED_CONTROL_ENDPOINT_SIZE {Insert Value Here}
-// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
-// #define FIXED_NUM_CONFIGURATIONS {Insert Value Here}
-// #define CONTROL_ONLY_DEVICE
-// #define INTERRUPT_CONTROL_ENDPOINT
-// #define NO_DEVICE_REMOTE_WAKEUP
-// #define NO_DEVICE_SELF_POWER
-
- /* USB Host Mode Driver Related Tokens: */
-// #define HOST_STATE_AS_GPIOR {Insert Value Here}
-// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
-// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
-// #define NO_AUTO_VBUS_MANAGEMENT
-// #define INVERTED_VBUS_ENABLE_LINE
-
- #else
-
- #error Unsupported architecture for this LUFA configuration file.
-
- #endif
-#endif
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.c b/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.c
deleted file mode 100644
index 6e92b1760d..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-#include "ConfigDescriptor.h"
-
-/** Interface number for the bidirectional Printer interface found within the device. */
-uint8_t PrinterInterfaceNumber;
-
-/** Interface Alternate Setting number for the bidirectional Printer interface found within the device. */
-uint8_t PrinterAltSetting;
-
-/** Reads and processes an attached device's descriptors, to determine compatibility and pipe configurations. This
- * routine will read in the entire configuration descriptor, and configure the hosts pipes to correctly communicate
- * with compatible devices.
- *
- * This routine searches for a bidirectional Printer interface descriptor containing bulk IN and OUT data endpoints.
- *
- * \return An error code from the \ref PrinterHost_GetConfigDescriptorDataCodes_t enum.
- */
-uint8_t ProcessConfigurationDescriptor(void)
-{
- uint8_t ConfigDescriptorData[512];
- void* CurrConfigLocation = ConfigDescriptorData;
- uint16_t CurrConfigBytesRem;
-
- USB_Descriptor_Interface_t* PrinterInterface = NULL;
- USB_Descriptor_Endpoint_t* DataINEndpoint = NULL;
- USB_Descriptor_Endpoint_t* DataOUTEndpoint = NULL;
-
- /* Retrieve the entire configuration descriptor into the allocated buffer */
- switch (USB_Host_GetDeviceConfigDescriptor(1, &CurrConfigBytesRem, ConfigDescriptorData, sizeof(ConfigDescriptorData)))
- {
- case HOST_GETCONFIG_Successful:
- break;
- case HOST_GETCONFIG_InvalidData:
- return InvalidConfigDataReturned;
- case HOST_GETCONFIG_BuffOverflow:
- return DescriptorTooLarge;
- default:
- return ControlError;
- }
-
- while (!(DataINEndpoint) || !(DataOUTEndpoint))
- {
- /* See if we've found a likely compatible interface, and if there is an endpoint within that interface */
- if (!(PrinterInterface) ||
- USB_GetNextDescriptorComp(&CurrConfigBytesRem, &CurrConfigLocation,
- DComp_NextPrinterInterfaceBulkDataEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)
- {
- /* Get the next Printer interface from the configuration descriptor */
- if (USB_GetNextDescriptorComp(&CurrConfigBytesRem, &CurrConfigLocation,
- DComp_NextBidirectionalPrinterInterface) != DESCRIPTOR_SEARCH_COMP_Found)
- {
- /* Descriptor not found, error out */
- return NoCompatibleInterfaceFound;
- }
-
- /* Save the interface in case we need to refer back to it later */
- PrinterInterface = DESCRIPTOR_PCAST(CurrConfigLocation, USB_Descriptor_Interface_t);
-
- /* Clear any found endpoints */
- DataINEndpoint = NULL;
- DataOUTEndpoint = NULL;
-
- /* Skip the remainder of the loop as we have not found an endpoint yet */
- continue;
- }
-
- /* Retrieve the endpoint address from the endpoint descriptor */
- USB_Descriptor_Endpoint_t* EndpointData = DESCRIPTOR_PCAST(CurrConfigLocation, USB_Descriptor_Endpoint_t);
-
- /* If the endpoint is a IN type endpoint */
- if ((EndpointData->EndpointAddress & ENDPOINT_DIR_MASK) == ENDPOINT_DIR_IN)
- DataINEndpoint = EndpointData;
- else
- DataOUTEndpoint = EndpointData;
- }
-
- /* Save Printer interface details for later use */
- PrinterInterfaceNumber = PrinterInterface->InterfaceNumber;
- PrinterAltSetting = PrinterInterface->AlternateSetting;
-
- /* Configure the Printer data IN pipe */
- Pipe_ConfigurePipe(PRINTER_DATA_IN_PIPE, EP_TYPE_BULK, DataINEndpoint->EndpointAddress, DataINEndpoint->EndpointSize, 1);
-
- /* Configure the Printer data OUT pipe */
- Pipe_ConfigurePipe(PRINTER_DATA_OUT_PIPE, EP_TYPE_BULK, DataOUTEndpoint->EndpointAddress, DataOUTEndpoint->EndpointSize, 1);
-
- /* Valid data found, return success */
- return SuccessfulConfigRead;
-}
-
-/** Descriptor comparator function. This comparator function is can be called while processing an attached USB device's
- * configuration descriptor, to search for a specific sub descriptor. It can also be used to abort the configuration
- * descriptor processing if an incompatible descriptor configuration is found.
- *
- * This comparator searches for the next Bidirectional Printer Interface descriptor of the current Printer interface,
- * aborting the search if the end of the descriptors is found.
- *
- * \return A value from the DSEARCH_Return_ErrorCodes_t enum
- */
-uint8_t DComp_NextBidirectionalPrinterInterface(void* CurrentDescriptor)
-{
- USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
-
- if (Header->Type == DTYPE_Interface)
- {
- USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
-
- /* Check the descriptor class, subclass and protocol, break out if correct value interface found */
- if ((Interface->Class == PRNT_CSCP_PrinterClass) &&
- (Interface->SubClass == PRNT_CSCP_PrinterSubclass) &&
- (Interface->Protocol == PRNT_CSCP_BidirectionalProtocol))
- {
- return DESCRIPTOR_SEARCH_Found;
- }
- }
-
- return DESCRIPTOR_SEARCH_NotFound;
-}
-
-/** Descriptor comparator function. This comparator function is can be called while processing an attached USB device's
- * configuration descriptor, to search for a specific sub descriptor. It can also be used to abort the configuration
- * descriptor processing if an incompatible descriptor configuration is found.
- *
- * This comparator searches for the next Bulk Endpoint descriptor of the current Printer interface, aborting the
- * search if another interface descriptor is found before the next endpoint.
- *
- * \return A value from the DSEARCH_Return_ErrorCodes_t enum
- */
-uint8_t DComp_NextPrinterInterfaceBulkDataEndpoint(void* CurrentDescriptor)
-{
- USB_Descriptor_Header_t* Header = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Header_t);
-
- if (Header->Type == DTYPE_Endpoint)
- {
- USB_Descriptor_Endpoint_t* Endpoint = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Endpoint_t);
-
- /* Check the endpoint type, break out if correct BULK type endpoint found */
- if ((Endpoint->Attributes & EP_TYPE_MASK) == EP_TYPE_BULK)
- return DESCRIPTOR_SEARCH_Found;
- }
- else if (Header->Type == DTYPE_Interface)
- {
- return DESCRIPTOR_SEARCH_Fail;
- }
-
- return DESCRIPTOR_SEARCH_NotFound;
-}
-
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.h b/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.h
deleted file mode 100644
index 34c7785982..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/ConfigDescriptor.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-#ifndef _CONFIGDESCRIPTOR_H_
-#define _CONFIGDESCRIPTOR_H_
-
- /* Includes: */
- #include <LUFA/Drivers/USB/USB.h>
-
- #include "PrinterHost.h"
- #include "Lib/PrinterCommands.h"
-
- /* Macros: */
- /** Pipe address of the Printer data IN pipe. */
- #define PRINTER_DATA_IN_PIPE (PIPE_DIR_IN | 1)
-
- /** Pipe address of the Printer data OUT pipe. */
- #define PRINTER_DATA_OUT_PIPE (PIPE_DIR_OUT | 2)
-
- /* Enums: */
- /** Enum for the possible return codes of the \ref ProcessConfigurationDescriptor() function. */
- enum PrinterHost_GetConfigDescriptorDataCodes_t
- {
- SuccessfulConfigRead = 0, /**< Configuration Descriptor was processed successfully */
- ControlError = 1, /**< A control request to the device failed to complete successfully */
- DescriptorTooLarge = 2, /**< The device's Configuration Descriptor is too large to process */
- InvalidConfigDataReturned = 3, /**< The device returned an invalid Configuration Descriptor */
- NoCompatibleInterfaceFound = 4, /**< A compatible interface with the required endpoints was not found */
- };
-
- /* External Variables: */
- /** Interface index of the Bidirectional Printer interface within the device, once the Configuration
- * Descriptor has been processed.
- */
- extern uint8_t PrinterInterfaceNumber;
-
- /** Interface Alternate Setting index of the Bidirectional Printer interface within the device, once
- * the Configuration Descriptor has been processed.
- */
- extern uint8_t PrinterAltSetting;
-
- /* Function Prototypes: */
- uint8_t ProcessConfigurationDescriptor(void);
-
- uint8_t DComp_NextBidirectionalPrinterInterface(void* CurrentDescriptor);
- uint8_t DComp_NextPrinterInterfaceBulkDataEndpoint(void* CurrentDescriptor);
-
-#endif
-
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c b/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c
deleted file mode 100644
index 7507891259..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Printer Device commands, to send/receive data to and from an attached USB
- * printer, and to send and receive Printer Class control requests.
- */
-
-#include "PrinterCommands.h"
-
-/** Sends the given data directly to the printer via the data endpoints, for the sending of print commands in printer
- * languages accepted by the attached printer (e.g. PCL).
- *
- * \param[in] PrinterCommands Pointer to the data to send to the attached printer
- * \param[in] CommandSize Size of the data to send to the attached printer
- *
- * \return A value from the Pipe_Stream_RW_ErrorCodes_t enum
- */
-uint8_t Printer_SendData(const void* const PrinterCommands,
- const uint16_t CommandSize)
-{
- uint8_t ErrorCode;
-
- Pipe_SelectPipe(PRINTER_DATA_OUT_PIPE);
- Pipe_Unfreeze();
-
- if ((ErrorCode = Pipe_Write_Stream_LE(PrinterCommands, CommandSize, NULL)) != PIPE_RWSTREAM_NoError)
- return ErrorCode;
-
- Pipe_ClearOUT();
-
- Pipe_WaitUntilReady();
-
- Pipe_Freeze();
-
- return PIPE_RWSTREAM_NoError;
-}
-
-/** Issues a Printer class Get Device ID command to the attached device, to retrieve the device ID string (which indicates
- * the accepted printer languages, the printer's model and other pertinent information).
- *
- * \param[out] DeviceIDString Pointer to the destination where the returned string should be stored
- * \param[in] BufferSize Size in bytes of the allocated buffer for the returned Device ID string
- *
- * \return A value from the USB_Host_SendControlErrorCodes_t enum
- */
-uint8_t Printer_GetDeviceID(char* DeviceIDString,
- const uint16_t BufferSize)
-{
- uint8_t ErrorCode;
- uint16_t DeviceIDStringLength = 0;
-
- USB_ControlRequest = (USB_Request_Header_t)
- {
- .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
- .bRequest = PRNT_REQ_GetDeviceID,
- .wValue = 0,
- .wIndex = PrinterInterfaceNumber,
- .wLength = sizeof(DeviceIDStringLength),
- };
-
- Pipe_SelectPipe(PIPE_CONTROLPIPE);
-
- if ((ErrorCode = USB_Host_SendControlRequest(&DeviceIDStringLength)) != HOST_SENDCONTROL_Successful)
- return ErrorCode;
-
- if (!(DeviceIDStringLength))
- {
- DeviceIDString[0] = 0x00;
- return HOST_SENDCONTROL_Successful;
- }
-
- DeviceIDStringLength = SwapEndian_16(DeviceIDStringLength);
-
- if (DeviceIDStringLength > BufferSize)
- DeviceIDStringLength = BufferSize;
-
- USB_ControlRequest.wLength = DeviceIDStringLength;
-
- if ((ErrorCode = USB_Host_SendControlRequest(DeviceIDString)) != HOST_SENDCONTROL_Successful)
- return ErrorCode;
-
- /* Move string back two characters to remove the string length value from the start of the array */
- memmove(&DeviceIDString[0], &DeviceIDString[2], DeviceIDStringLength - 2);
-
- DeviceIDString[DeviceIDStringLength - 2] = 0x00;
-
- return HOST_SENDCONTROL_Successful;
-}
-
-/** Issues a Printer class Get Port Status command to the attached device, to retrieve the current status flags of the
- * printer.
- *
- * \param[out] PortStatus Pointer to the destination where the printer's status flag values should be stored
- *
- * \return A value from the USB_Host_SendControlErrorCodes_t enum
- */
-uint8_t Printer_GetPortStatus(uint8_t* const PortStatus)
-{
- USB_ControlRequest = (USB_Request_Header_t)
- {
- .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
- .bRequest = PRNT_REQ_GetPortStatus,
- .wValue = 0,
- .wIndex = PrinterInterfaceNumber,
- .wLength = sizeof(uint8_t),
- };
-
- Pipe_SelectPipe(PIPE_CONTROLPIPE);
-
- return USB_Host_SendControlRequest(PortStatus);
-}
-
-/** Issues a Printer class Soft Reset command to the attached device, to reset the printer ready for new input without
- * physically cycling the printer's power.
- *
- * \return A value from the USB_Host_SendControlErrorCodes_t enum
- */
-uint8_t Printer_SoftReset(void)
-{
- USB_ControlRequest = (USB_Request_Header_t)
- {
- .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
- .bRequest = PRNT_REQ_SoftReset,
- .wValue = 0,
- .wIndex = PrinterInterfaceNumber,
- .wLength = 0,
- };
-
- Pipe_SelectPipe(PIPE_CONTROLPIPE);
-
- return USB_Host_SendControlRequest(NULL);
-}
-
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h b/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h
deleted file mode 100644
index f29b18e454..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Header file for PrinterCommands.c.
- */
-
-#ifndef _PRINTER_COMMANDS_H_
-#define _PRINTER_COMMANDS_H_
-
- /* Includes: */
- #include <avr/io.h>
- #include <string.h>
-
- #include <LUFA/Drivers/USB/USB.h>
-
- #include "../PrinterHost.h"
-
- /* Function Prototypes: */
- uint8_t Printer_SendData(const void* const PrinterCommands,
- const uint16_t CommandSize);
- uint8_t Printer_GetDeviceID(char* DeviceIDString,
- const uint16_t BufferSize);
- uint8_t Printer_GetPortStatus(uint8_t* const PortStatus);
- uint8_t Printer_SoftReset(void);
-
-#endif
-
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.c b/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.c
deleted file mode 100644
index 44e8f12743..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Main source file for the PrinterHost demo. This file contains the main tasks of
- * the demo and is responsible for the initial application hardware configuration.
- */
-
-#include "PrinterHost.h"
-
-/** Main program entry point. This routine configures the hardware required by the application, then
- * enters a loop to run the application tasks in sequence.
- */
-int main(void)
-{
- SetupHardware();
-
- puts_P(PSTR(ESC_FG_CYAN "Printer Host Demo running.\r\n" ESC_FG_WHITE));
-
- LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
- GlobalInterruptEnable();
-
- for (;;)
- {
- PrinterHost_Task();
-
- USB_USBTask();
- }
-}
-
-/** Configures the board hardware and chip peripherals for the demo's functionality. */
-void SetupHardware(void)
-{
-#if (ARCH == ARCH_AVR8)
- /* Disable watchdog if enabled by bootloader/fuses */
- MCUSR &= ~(1 << WDRF);
- wdt_disable();
-
- /* Disable clock division */
- clock_prescale_set(clock_div_1);
-#endif
-
- /* Hardware Initialization */
- Serial_Init(9600, false);
- LEDs_Init();
- USB_Init();
-
- /* Create a stdio stream for the serial port for stdin and stdout */
- Serial_CreateStream(NULL);
-}
-
-/** Event handler for the USB_DeviceAttached event. This indicates that a device has been attached to the host, and
- * starts the library USB task to begin the enumeration and USB management process.
- */
-void EVENT_USB_Host_DeviceAttached(void)
-{
- puts_P(PSTR(ESC_FG_GREEN "Device Attached.\r\n" ESC_FG_WHITE));
- LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
-}
-
-/** Event handler for the USB_DeviceUnattached event. This indicates that a device has been removed from the host, and
- * stops the library USB task management process.
- */
-void EVENT_USB_Host_DeviceUnattached(void)
-{
- puts_P(PSTR(ESC_FG_GREEN "\r\nDevice Unattached.\r\n" ESC_FG_WHITE));
- LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-}
-
-/** Event handler for the USB_DeviceEnumerationComplete event. This indicates that a device has been successfully
- * enumerated by the host and is now ready to be used by the application.
- */
-void EVENT_USB_Host_DeviceEnumerationComplete(void)
-{
- puts_P(PSTR("Getting Config Data.\r\n"));
-
- uint8_t ErrorCode;
-
- /* Get and process the configuration descriptor data */
- if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
- {
- if (ErrorCode == ControlError)
- puts_P(PSTR(ESC_FG_RED "Control Error (Get Configuration).\r\n"));
- else
- puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
-
- printf_P(PSTR(" -- Error Code: %d\r\n"), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- return;
- }
-
- /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
- if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
- {
- printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"
- " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- return;
- }
-
- /* Some printers use alternate settings to determine the communication protocol used - if so, send a SetInterface
- * request to switch to the interface alternate setting with the Bidirectional protocol */
- if (PrinterAltSetting)
- {
- if ((ErrorCode = USB_Host_SetInterfaceAltSetting(PrinterInterfaceNumber, PrinterAltSetting)) != HOST_SENDCONTROL_Successful)
- {
- printf_P(PSTR(ESC_FG_RED "Control Error (Set Interface).\r\n"
- " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- USB_Host_SetDeviceConfiguration(0);
- return;
- }
- }
-
- puts_P(PSTR("Retrieving Device ID...\r\n"));
-
- char DeviceIDString[300];
- if ((ErrorCode = Printer_GetDeviceID(DeviceIDString, sizeof(DeviceIDString))) != HOST_SENDCONTROL_Successful)
- {
- printf_P(PSTR(ESC_FG_RED "Control Error (Get Device ID).\r\n"
- " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- USB_Host_SetDeviceConfiguration(0);
- return;
- }
-
- printf_P(PSTR("Printer Device ID: %s\r\n"), DeviceIDString);
-
- puts_P(PSTR("Printer Enumerated.\r\n"));
- LEDs_SetAllLEDs(LEDMASK_USB_READY);
-}
-
-/** Event handler for the USB_HostError event. This indicates that a hardware error occurred while in host mode. */
-void EVENT_USB_Host_HostError(const uint8_t ErrorCode)
-{
- USB_Disable();
-
- printf_P(PSTR(ESC_FG_RED "Host Mode Error\r\n"
- " -- Error Code %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- for(;;);
-}
-
-/** Event handler for the USB_DeviceEnumerationFailed event. This indicates that a problem occurred while
- * enumerating an attached USB device.
- */
-void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
- const uint8_t SubErrorCode)
-{
- printf_P(PSTR(ESC_FG_RED "Dev Enum Error\r\n"
- " -- Error Code %d\r\n"
- " -- Sub Error Code %d\r\n"
- " -- In State %d\r\n" ESC_FG_WHITE), ErrorCode, SubErrorCode, USB_HostState);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-}
-
-/** Task to manage an enumerated USB printer once connected, to display device
- * information and print a test PCL page.
- */
-void PrinterHost_Task(void)
-{
- if (USB_HostState != HOST_STATE_Configured)
- return;
-
- uint8_t ErrorCode;
-
- /* Indicate device busy via the status LEDs */
- LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
-
- char TestPageData[] = "\033%-12345X\033E" "LUFA PCL Test Page" "\033E\033%-12345X";
- uint16_t TestPageLength = strlen(TestPageData);
-
- printf_P(PSTR("Sending Test Page (%d bytes)...\r\n"), TestPageLength);
-
- /* Send the test page to the attached printer */
- if ((ErrorCode = Printer_SendData(&TestPageData, TestPageLength)) != PIPE_RWSTREAM_NoError)
- {
- printf_P(PSTR(ESC_FG_RED "Error Sending Test Page.\r\n"
- " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
- USB_Host_SetDeviceConfiguration(0);
- return;
- }
-
- puts_P(PSTR("Test Page Sent.\r\n"));
-
- /* Indicate device no longer busy */
- LEDs_SetAllLEDs(LEDMASK_USB_READY);
- USB_Host_SetDeviceConfiguration(0);
-}
-
diff --git a/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.h b/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.h
deleted file mode 100644
index c1daa6247e..0000000000
--- a/lib/lufa/Demos/Host/LowLevel/PrinterHost/PrinterHost.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2017.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-/*
- Copyright 2017 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
- without fee, provided that the above copyright notice appear in
- all copies and that both that the copyright notice and this
- permission notice and warranty disclaimer appear in supporting
- documentation, and that the name of the author not be used in
- advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
-
- The author disclaims all warranties with regard to this
- software, including all implied warranties of merchantability
- and fitness. In no event shall the author be liable for any
- special, indirect or consequential damages or any damages
- whatsoever resulting from loss of use, data or profits, whether
- in an action of contract, negligence or other tortious action,
- arising out of or in connection with the use or performance of
- this software.
-*/
-
-/** \file
- *
- * Header file for PrinterHost.c.
- */
-
-#ifndef _MASS_STORE_HOST_H_
-#define _MASS_STORE_HOST_H_
-
- /* Includes: */
- #include <avr/io.h>
- #include <avr/wdt.h>
- #include <avr/pgmspace.h>
- #include <avr/power.h>
- #include <avr/interrupt.h>
- #include <stdio.h>
- #include <string.h>
-
- #include "ConfigDescriptor.h"
- #include "Lib/PrinterCommands.h"
-
- #include <LUFA/Drivers/Misc/TerminalCodes.h>
- #include <LUFA/Drivers/USB/USB.h>
- #include <LUFA/Drivers/Peripheral/Serial.h>
- #include <LUFA/Drivers/Board/LEDs.h>
- #include <LUFA/Platform/Platform.h>
-
- /* Macros: */
- /** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
- #define LEDMASK_USB_NOTREADY LEDS_LED1
-
- /**