#pragma once #include #include #include #include #include #include #include #include #include #include namespace a8k_opt_algo { using namespace std; /*********************************************************************************************************************** * * ***********************************************************************************************************************/ typedef enum { kOptErr_suc, kOptErr_pointNumError, } ecode_t; class OptAlgoPreProcessResult { public: bool scanAgain; int32_t suggestScanGain; }; ecode_t T_A8kOptAlgoPreProcess(vector ogigin_val, // int32_t now_scan_gain, // int32_t expectResultRangeStart, // int32_t expectResultRangeEnd, // OptAlgoPreProcessResult& result); ecode_t F_A8kOptAlgoPreProcess(vector ogigin_val, // int32_t now_scan_gain, // int32_t expectResultRangeStart, // int32_t expectResultRangeEnd, // OptAlgoPreProcessResult& result); /*********************************************************************************************************************** * * ***********************************************************************************************************************/ class PeakInfo { public: bool find_peak; // float area; // int peak_pos; // int peak_start_pos; // int peak_end_pos; // }; class OptAlgoResult { public: /** * @brief */ vector input; // vector displayData; // /** * @brief */ PeakInfo pin040; // PeakInfo pin080; // PeakInfo pin120; // PeakInfo pin160; // PeakInfo pin200; // }; ecode_t A8kOptAlgoProcess(vector ogigin_val, OptAlgoResult& result); /** * @brief Debug */ class PorcessContext { public: vector raw; // vector avg; // vector diff; // vector diffX2; // float agvline; // }; void A8kOptAlgoGetProcessContext(PorcessContext& context); } // namespace a8k_opt_algo