From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewHistory/include/akCore/akInterpolation.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akCore/akInterpolation.h b/ReviewHistory/include/akCore/akInterpolation.h new file mode 100644 index 0000000..07c2a08 --- /dev/null +++ b/ReviewHistory/include/akCore/akInterpolation.h @@ -0,0 +1,48 @@ +#pragma once + + +#include "akCoreLinker.h" +#include <vector> + +namespace akCore +{ + class AKCORE_DLLSPEC CakInterpolation + { + public: + struct _Data + { + _Data() + { + x = y = 0; + } + double x; + double y; + }; + + public: + CakInterpolation(); + ~CakInterpolation(); + + //폴리노미얼 데이터 생성(rate:데이터 간격) + void CaculationPolinomial(double min, double max, double rate); + //큐빅스플라인 데이터 생성(rate:점과 점사이의 데이터 갯수) + void CaculationCubicSpline(double rate); + //Linear(rate:점과 점사이의 데이터 갯수) + void CaculationLinear(int step); + + void AddPoint(double x, double y); + inline void ClearPoint(){m_vecInterPoint.clear();}; + + inline _Data GetData(int index); + inline int GetDataNum(){return (int)m_vecInterPoint.size();}; + + + + + protected: + std::vector<_Data> m_vecOrgPoint; + std::vector<_Data> m_vecInterPoint; + private: + void solveTridiag(double* khb, double* diag, double* khp, double* b, int n) ; + }; +} \ No newline at end of file -- Gitblit v1.9.3