12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /**
- **************************************************************************
- * @file printer_class.h
- * @version v2.0.6
- * @date 2021-12-31
- * @brief usb printer class file
- **************************************************************************
- * Copyright notice & Disclaimer
- *
- * The software Board Support Package (BSP) that is made available to
- * download from Artery official website is the copyrighted work of Artery.
- * Artery authorizes customers to use, copy, and distribute the BSP
- * software and its related documentation for the purpose of design and
- * development in conjunction with Artery microcontrollers. Use of the
- * software is governed by this copyright notice and the following disclaimer.
- *
- * THIS SOFTWARE IS PROVIDED ON "AS IS" BASIS WITHOUT WARRANTIES,
- * GUARANTEES OR REPRESENTATIONS OF ANY KIND. ARTERY EXPRESSLY DISCLAIMS,
- * TO THE FULLEST EXTENT PERMITTED BY LAW, ALL EXPRESS, IMPLIED OR
- * STATUTORY OR OTHER WARRANTIES, GUARANTEES OR REPRESENTATIONS,
- * INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
- *
- **************************************************************************
- */
-
- /* define to prevent recursive inclusion -------------------------------------*/
- #ifndef __PRINTER_CLASS_H
- #define __PRINTER_CLASS_H
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #include "usb_std.h"
- #include "usbd_core.h"
- /** @addtogroup AT32F403A_407_middlewares_usbd_class
- * @{
- */
-
- /** @addtogroup USB_printer_class
- * @{
- */
- /** @defgroup USB_printer_class_definition
- * @{
- */
- #define USBD_PRINTER_BULK_IN_EPT 0x81
- #define USBD_PRINTER_BULK_OUT_EPT 0x01
- #define USBD_IN_MAXPACKET_SIZE 0x40
- #define USBD_OUT_MAXPACKET_SIZE 0x40
- #define PRINTER_DEVICE_ID_LEN 24
- typedef enum
- {
- PRINTER_REQ_GET_DEVICE_ID = 0x00,
- PRINTER_REQ_GET_PORT_STATUS = 0x01,
- PRINTER_REQ_GET_SOFT_RESET = 0x02
- }printer_req_type;
- #define SET_LINE_CODING 0x20
- #define GET_LINE_CODING 0x21
- typedef struct
- {
- uint32_t bitrate;
- uint8_t format;
- uint8_t parity;
- uint8_t data;
- }linecoding_type;
- extern usbd_class_handler printer_class_handler;
- uint16_t usb_printer_get_rxdata(void *udev, uint8_t *recv_data);
- error_status usb_printer_send_data(void *udev, uint8_t *send_data, uint16_t len);
- /**
- * @}
- */
- /**
- * @}
- */
-
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif
|