1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // // ******************************************************************
- // // /\ /| @File export_method.h
- // // \ V/ @Brief
- // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
- // // / | @Creation 2024-05-20
- // // / \\ @Modified 2024-06-24
- // // *(__\_\
- // // ******************************************************************
- #pragma once
- #include <future>
- #include "protocol_decode_base.h"
- #include "edge_pulse_data.h"
- #include "quantize_params.h"
- #include "ProtocolIIC/iic_decode_options.h"
- #include "ProtocolIIC/iic_decode_result.h"
- #include "ProtocolRS232/protocol_rs232_options.h"
- #include "ProtocolRS232/rs232_decode_result.h"
- #include "ProtocolSPI/spi_decode_options.h"
- #include "ProtocolSPI/spi_decode_result.h"
- #include "ProtocolUsb/Usb_decode_options.h"
- #include "ProtocolUsb/Usb_decode_result.h"
- #ifdef LIBMATH_EXPORTS
- #define LIBMATH_API __declspec(dllexport)
- #else
- #define LIBMATH_API __declspec(dllimport)
- #endif
- namespace Protocol
- {
- extern "C" {
- LIBMATH_API bool ParseUsb(const UsbDecodeOptions& option, const EdgePulseDataTwoLevels& edge_pluses_data1,
- const EdgePulseDataTwoLevels& edge_pluses_data2, UsbDecodeResult& result);
- LIBMATH_API void ReleaseUsbHeap(intptr_t decoder_ptr);
- // LIBMATH_API bool quantizeParamsDecodeRS232(const QuantizeParams& quantizeParams,
- // const ProtocolRS232Options& options,
- // rs232_decode_result& decodeResult);
-
- LIBMATH_API bool ParseRs232(const ProtocolRs232Options& options,
- const EdgePulseDataTwoLevels& edge_pulse_data,
- Rs232DecodeResult& decode_result);
- LIBMATH_API void ReleaseRs232Heap(intptr_t decoder_ptr);
- LIBMATH_API bool ParseSpi(const SpiDecodeOptions& options,
- const EdgePulseDataTwoLevels& edge_pulse_data_clk,
- const EdgePulseDataTwoLevels& edge_pulse_data_cs,
- const EdgePulseDataTwoLevels& edge_pulse_data_mosi,
- const EdgePulseDataTwoLevels& edge_pulse_data_miso,
- SpiDecodeResult& decode_result);
- LIBMATH_API void ReleaseSpiHeap(intptr_t decoder_ptr);
- LIBMATH_API bool ParseIic(const IicDecodeOptions& option, const EdgePulseDataTwoLevels& edge_pulses_clk,
- const EdgePulseDataTwoLevels& edge_pulses_data, IicDecodeResult& result);
- LIBMATH_API void ReleaseIicHeap(intptr_t decoder_ptr);
-
- inline LIBMATH_API void GetVersionExport(uint8_t* version)
- {
- // 遍历字符串,将其转换为字节数组
- for (size_t i = 0; i < DLL_VERSION.size(); ++i)
- {
- version[i] = static_cast<unsigned char>(DLL_VERSION.c_str()[i]);
- }
- }
- }
- }
|