/************************************************************************** * * Copyright (c) 2026-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file BarcodeReader.h * * @author (last) Vijay Pamula * @date (last) 19-August-2026 * * @author (original) Vijay Pamula * @date (original) 19-August-2026 * ***************************************************************************/ #ifndef _BARCODEREADER_H_ #define _BARCODEREADER_H_ #include "TDCommon.h" /** * @defgroup BarcodeReader BarcodeReader * @brief Barcode reader communication driver. * This driver controls barcode scanning through the FPGA interface * and provides scan status and received barcode data. * * @addtogroup BarcodeReader * @{ */ // ********** public definitions ********** /// Barcode scan status typedef enum barcodeScanStatus { BARCODE_SCAN_STATUS_IDLE = 0, ///< No barcode scan is active. BARCODE_SCAN_STATUS_IN_PROGRESS, ///< Barcode scan is currently in progress. BARCODE_SCAN_STATUS_SUCCESS, ///< Barcode scan completed successfully. BARCODE_SCAN_STATUS_TIMEOUT, ///< Barcode scan timed out. BARCODE_SCAN_STATUS_ERROR ///< Barcode scan failed due to an interface or reader error. } BARCODE_SCAN_STATUS_T; // ********** public function prototypes ********** void initBarcodeReaderDriver( void ); void execBarcodeReaderDriver( void ); BOOL requestBarcodeScan( void ); BARCODE_SCAN_STATUS_T getBarcodeScanStatus( void ); U16 getBarcodeDataLength( void ); const U08 *getBarcodeData( void ); BOOL testBarcodeScanRequest( MESSAGE_T *message ); /**@}*/ #endif