                           Windows SDK (Epson TSE Library)
                     ===========================================

                                                                   EPSON EUROPE
                                                                       May.2021
1. GENERAL
----------
  + Epson TSE Library for Windows
  
2. IMPORTANT NOTES: CONNECTION VIA PCS
-------------------------------------------
  + The Epson Port Communication Service (PCS) has to be installed and running in the host computer to use the ACCESS_BY_PCS_ESCPOS (0x03) method. 
    To check if the Epson Port Communication Service is running:
     >  sc.exe query "EPSON_PORT_COMMUNICATION_SERVICE"

  + The "ACCESS_BY_PCS_ESCPOS" method can be used to connect to an Epson printer that supports German Fiscal (TSE) and that has been registered 
    in the Epson Advanced Printer Driver (APD). The portId to be specified for the ACCESS_BY_PCS_ESCPOS connection method should 
    be consistent with the port name (e.g. ?ESDPRT001?) specified when the Epson printer is registered in the APD.
    
    The "Ports" tab under the "Printer Properties" of the target printer shows the port name registered in the APD. 
        E.g. ESDPRT001
	
3. FILES
--------
   + BIN/DLL       	- contains the pre-compiled DLL files (32bit and 64bit) and corresponding import library files.
   + BIN/DLL_stdcall    - contains the pre-compiled DLL files (32bit and 64bit) with __stdcall convention and corresponding import library files.
   + BIN/Static_Lib     - contains the pre-compiled static library files (32bit and 64bit).  
   + Include            - contains the header files.
   + SRC                - contains the source code of the library.
   + Epson_Windows_SDK_for_German_Fiscal_en.pdf   - API documentation.

4. CONFIG FILE
----------------
  + Configuration file is optional.
  + Configuration file should be named as EpsonTseLibConf.conf and should be placed in %PROGRAMDATA%\EPSON\TSE\CLIB.
  + These are the parameters that can be added into the config file (Note: Only 1 parameter per line is allowed.)
	+ INIT_CONNECTION_ATTEMPT  - Number of connection attempts. 
		- Default is [5]. To change, INIT_CONNECTION_ATTEMPT=value has to be added into the config file.
                - Valid value: 1-10.
        + LOGFILE_CHECKSIZE  - Log File size check.
 		- Default is [No check]. To change, LOGFILE_CHECKSIZE=value (value is the target size in bytes) has to be added into the config file.
                - Valid value: >= 1000.
		- During TSEDisconnect, if this parameter is specified, the DLL will check if the size of the current log file already reached the value specified in this parameter.
		  If the size is already reached, the current log file is backed-up and a new and empty log file will be created.
	+ EPOS_DEVICE_XML_PORT - Epos Device XML Port.
		- Default is 8009.
		- Note: This parameter is added to support the changes made in the Epson Windows TSE driver that allows configurable ePOS-Device XML port. 
			The ePOS-Device XML port being used in the Epson printers that support TSE and in the EPS TSE Servers is fixed to 8009.
  + Sample EpsonTseLibConf.conf
		INIT_CONNECTION_ATTEMPT=2

		LOGFILE_CHECKSIZE=100000

5. LIMITATIONS
--------------
  + Please see the Windows SDK API documentation (Epson_Windows_SDK_for_German_Fiscal_en.pdf) for the usage limitations.

6. HISTORY
----------
  Version 1.4.0.2 (13.May.2021)
    + Fixed an issue on TSEGetErrorDescription().
  Version 1.4.0.1 (12.March.2021)
    + Improved filtered export processing for WindowsXP (EXPORT_INCOMPLETE_SEARCHING).
    + Added support for null character before the end of the stream in processData and additionalData.
  Version 1.4.0.0 (10.December.2020)
    + Added support for connection via PCS.
  Version 1.3.0.2 (18.November.2020)
    + Adjusted timeout values in ESC/POS.
    + other minor improvements.
  Version 1.3.0.1 (22.September.2020)
    + Fixed issue regarding the wrong "remainingRetries" value returned by UnblockUser().
  Version 1.3.0.0 (02.September.2020)
    + API updated. Added new parameters in GetLastTransactionResponse() to return the signature and serial number associated with the transaction.
    + API updated. Added support for GetRawStorageSmartInfo(), GetStorageSmartInfo() and struct EPSON_TSE_SMART_INFO.
    + Improved the parsing of results. Minimized the usage of std::regex in parsing results.
    + Improved the mechanism that handles unclosed TSE.
  Version 1.2.0.0 (14.July.2020)
    + API updated. Updated the buffer size of vendorType, tseInitializationState, and tseDescription in the EPSON_TSE_INFO struct definition in EpsonTseLibC.h.
    + Added EPOS_DEVICE_XML_PORT as a new parameter in the config file.
    + Fixed issues related to clientIDs returned by GetAuthenticatedUserList() and GetRegisteredClientList().
  Version 1.1.1.0 (26.June.2020)
    + Fixed issue related to getting the list of IDs where elements contain whitespace/s.
    + Improved the handling of error caused by invalid response.
    + Added support for a config file to allow changing of no. of connect attempt and log file size limit.
    + Added precompiled 32-bit and 64-bit DLL files with __stdcall calling convention.
    + Added a configuration to build the DLL with __stdcall calling convention.
  Version 1.1.0.1 (28.May.2020)
    + Fixed issue on Windows directory for TSE config/log files.
    + Added precompiled 64-bit Dynamic library file.
    + Added precompiled 32-bit and 64-bit Static library file.
    + Added a configuration to build static library files.
  Version 1.1.0.0 (11.May.2020)
    + API updated. Added support for FactoryReset() and GetRawStorageInfo()
    + Changed the isDataImportInProgress to isTransactionInProgess in EPSON_TSE_INFO struct.
    + Fixed issue in time conversion.
    + Other fixes.
  Version 1.0.0.0 (24.Apr.2020)
    + Initial release

[EOF]