123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- // // ******************************************************************
- // // /\ /| @File export_method.cc
- // // \ V/ @Brief
- // // | "") @Author lijinwen, ghz005@uni-trend.com.cn
- // // / | @Creation 2024-05-20
- // // / \\ @Modified 2024-06-24
- // // *(__\_\
- // // ******************************************************************
- #include "export_method.h"
- #include "ProtocolIIC/iic_decoder.h"
- #include "ProtocolIIC/iic_decode_options.h"
- #include "ProtocolIIC/iic_decode_result.h"
- #include "ProtocolRS232/rs232_decoder.h"
- #include "ProtocolSPI/spi_decoder.h"
- #include "ProtocolUsb/Usb_decoder.h"
- namespace Protocol
- {
- bool ParseUsb(const UsbDecodeOptions& option, const EdgePulseDataTwoLevels& edge_pluses_data1,
- const EdgePulseDataTwoLevels& edge_pluses_data2, UsbDecodeResult& result)
- {
- const auto usb_decode = new UsbDecoder();
- return usb_decode->DecodeUsb(option, edge_pluses_data1, edge_pluses_data2, result);
- }
- void ReleaseUsbHeap(const intptr_t decoder_ptr)
- {
- if (decoder_ptr == 0 || reinterpret_cast<void*>(decoder_ptr) == nullptr)
- {
- return;
- }
- reinterpret_cast<UsbDecoder*>(decoder_ptr)->~UsbDecoder();
- }
- bool ParseRs232(const ProtocolRs232Options& options,
- const EdgePulseDataTwoLevels& edge_pulse_data,
- Rs232DecodeResult& decode_result)
- {
- const auto rs232_decode = new Rs232Decoder();
- return rs232_decode->DecodeRs232(options,
- edge_pulse_data.GetDataAddrPtr(),
- edge_pulse_data.edge_pulses_count,
- edge_pulse_data.waveform_data_count,
- edge_pulse_data.sample_rate,
- decode_result);
- }
- void ReleaseRs232Heap(const intptr_t decoder_ptr)
- {
- if (decoder_ptr == 0 || reinterpret_cast<void*>(decoder_ptr) == nullptr)
- {
- return;
- }
- reinterpret_cast<Rs232Decoder*>(decoder_ptr)->~Rs232Decoder();
- }
- bool ParseIic(const IicDecodeOptions& option, const EdgePulseDataTwoLevels& edge_pulses_clk,
- const EdgePulseDataTwoLevels& edge_pulses_data, IicDecodeResult& result)
- {
- const auto decoder = new IicDecoder();
- return decoder->DecodeIic(option,
- edge_pulses_clk,
- edge_pulses_data,
- result);
- }
- void ReleaseIicHeap(const intptr_t decoder_ptr)
- {
- if (decoder_ptr == 0 || reinterpret_cast<void*>(decoder_ptr) == nullptr)
- {
- return;
- }
- reinterpret_cast<IicDecoder*>(decoder_ptr)->~IicDecoder();
- }
- 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)
- {
- const auto decoder = new SpiDecoder();
- return decoder->DecodeSpi(options,
- edge_pulse_data_clk,
- edge_pulse_data_cs,
- edge_pulse_data_mosi,
- edge_pulse_data_miso,
- decode_result);
- }
- void ReleaseSpiHeap(const intptr_t decoder_ptr)
- {
- if (decoder_ptr == 0 || reinterpret_cast<void*>(decoder_ptr) == nullptr)
- {
- return;
- }
- reinterpret_cast<SpiDecoder*>(decoder_ptr)->~SpiDecoder();
- }
- }
|