первый
This commit is contained in:
106
devices/Printers/ESC_POS/Документация/printer.h
Normal file
106
devices/Printers/ESC_POS/Документация/printer.h
Normal file
@ -0,0 +1,106 @@
|
||||
#ifndef ESCPOSPRINTER_PRINTER_H
|
||||
#define ESCPOSPRINTER_PRINTER_H
|
||||
|
||||
typedef struct escpos_config {
|
||||
// See ESCPOS_MAX_DOT_WIDTH in constants.h
|
||||
// Default value: ESCPOS_MAX_DOT_WIDTH
|
||||
int max_width;
|
||||
|
||||
// See ESCPOS_CHUNK_DOT_HEIGHT in constants.h
|
||||
// Default value: ESCPOS_CHUNK_DOT_HEIGHT
|
||||
int chunk_height;
|
||||
|
||||
unsigned int is_network_printer : 1;
|
||||
} escpos_config;
|
||||
|
||||
typedef struct escpos_printer {
|
||||
int sockfd;
|
||||
escpos_config config;
|
||||
} escpos_printer;
|
||||
|
||||
// Connects to an ESC/POS printer via network
|
||||
//
|
||||
// Params:
|
||||
// - addr: the printer's address
|
||||
// - port: the printer's port
|
||||
//
|
||||
// Return value: the printer object if successful, NULL otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern escpos_printer *escpos_printer_network(const char * const addr, const short port);
|
||||
|
||||
// Connects to an ESC/POS printer via serial
|
||||
//
|
||||
// Params:
|
||||
// - portname: the path to the serial file to be used
|
||||
// - baudrate: the baudrate for serial communication
|
||||
//
|
||||
// Return value: the printer object if successful, NULL otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern escpos_printer *escpos_printer_serial(const char * const portname, const int baudrate);
|
||||
|
||||
// Modifies the printer's configuration
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
// - config: the config
|
||||
//
|
||||
// Return value: 0 is successful, non-zero otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern int escpos_printer_config(escpos_printer *printer, const escpos_config * const config);
|
||||
|
||||
// Destroys the printer and deallocates its memory
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
extern void escpos_printer_destroy(escpos_printer *printer);
|
||||
|
||||
// Sends raw data to the printer
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
// - message: the data
|
||||
// - len: the length of the data in bytes
|
||||
//
|
||||
// Return value: 0 is successful, non-zero otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern int escpos_printer_raw(escpos_printer *printer, const char * const message, const int len);
|
||||
|
||||
// Cuts the paper
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
// - lines: no. of lines to feed before cutting
|
||||
//
|
||||
// Return value: 0 is successful, non-zero otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern int escpos_printer_cut(escpos_printer *printer, const int lines);
|
||||
|
||||
// Feeds n lines
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
// - lines: no. of lines
|
||||
//
|
||||
// Return value: 0 is successful, non-zero otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern int escpos_printer_feed(escpos_printer *printer, const int lines);
|
||||
|
||||
// Prints an image
|
||||
//
|
||||
// NOTE: This function will send the image data to the printer's buffer
|
||||
// before sending the print command, instead of printing the image directly.
|
||||
//
|
||||
// Params:
|
||||
// - printer: the printer
|
||||
// - image_data: an array of width * height bytes containing the pixels in grayscale
|
||||
// - width: the image width (must be at most 512)
|
||||
// - height: the image height
|
||||
//
|
||||
// Return value: 0 is successful, non-zero otherwise.
|
||||
// If it fails, use escpos_last_error() to get the error code.
|
||||
extern int escpos_printer_image(escpos_printer *printer,
|
||||
const unsigned char * const image_data,
|
||||
const int width,
|
||||
const int height);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user