00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef TAC_DIGITALTFBLOCK_H
00012 #define TAC_DIGITALTFBLOCK_H
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "tacStdBlock.h"
00031
00032
00033
00034
00035
00036 #define tacDIGITALTF_1ST_ORDER_EXPECTED_PARAM 3
00037 #define tacDIGITALTF_2ND_ORDER_EXPECTED_PARAM 5
00038 #define tacDIGITALTF_3RD_ORDER_EXPECTED_PARAM 7
00039 #define tacDIGITALTF_4TH_ORDER_EXPECTED_PARAM 9
00040
00041 typedef enum {
00042 tacDIGITALTF_1ST_ORDER_GAIN = 0,
00043 tacDIGITALTF_1ST_ORDER_NUMERATOR1,
00044 tacDIGITALTF_1ST_ORDER_DENOMINATOR1,
00045 tacDIGITALTF_1ST_ORDER_PARAMETER_NUMBER,
00046 }tacDIGITALTF_1ST_ORDER_PARAMETER_INDEX;
00047
00048 typedef enum {
00049 tacDIGITALTF_2ND_ORDER_GAIN = 0,
00050 tacDIGITALTF_2ND_ORDER_NUMERATOR1,
00051 tacDIGITALTF_2ND_ORDER_NUMERATOR2,
00052 tacDIGITALTF_2ND_ORDER_DENOMINATOR1,
00053 tacDIGITALTF_2ND_ORDER_DENOMINATOR2,
00054 tacDIGITALTF_2ND_ORDER_PARAMETER_NUMBER,
00055 }tacDIGITALTF_2ND_ORDER_PARAMETER_INDEX;
00056
00057 typedef enum {
00058 tacDIGITALTF_3RD_ORDER_GAIN = 0,
00059 tacDIGITALTF_3RD_ORDER_NUMERATOR1,
00060 tacDIGITALTF_3RD_ORDER_NUMERATOR2,
00061 tacDIGITALTF_3RD_ORDER_NUMERATOR3,
00062 tacDIGITALTF_3RD_ORDER_DENOMINATOR1,
00063 tacDIGITALTF_3RD_ORDER_DENOMINATOR2,
00064 tacDIGITALTF_3RD_ORDER_DENOMINATOR3,
00065 tacDIGITALTF_3RD_ORDER_PARAMETER_NUMBER,
00066 }tacDIGITALTF_3RD_ORDER_PARAMETER_INDEX;
00067
00068 typedef enum {
00069 tacDIGITALTF_4TH_ORDER_GAIN = 0,
00070 tacDIGITALTF_4TH_ORDER_NUMERATOR1,
00071 tacDIGITALTF_4TH_ORDER_NUMERATOR2,
00072 tacDIGITALTF_4TH_ORDER_NUMERATOR3,
00073 tacDIGITALTF_4TH_ORDER_NUMERATOR4,
00074 tacDIGITALTF_4TH_ORDER_DENOMINATOR1,
00075 tacDIGITALTF_4TH_ORDER_DENOMINATOR2,
00076 tacDIGITALTF_4TH_ORDER_DENOMINATOR3,
00077 tacDIGITALTF_4TH_ORDER_DENOMINATOR4,
00078 tacDIGITALTF_4TH_ORDER_PARAMETER_NUMBER,
00079 }tacDIGITALTF_4TH_ORDER_PARAMETER_INDEX;
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097 STATUS tacDigitalTFBlockConstructor(tacSTDBLOCK* pSelf,
00098 tacSTDBLOCK_PARAM* parameter,
00099 tacERROR* error);
00100 STATUS tacDigitalTFBlockSetParameter(tacSTDBLOCK* pSelf,
00101 tacSTDBLOCK_PARAM* parameter,
00102 tacERROR* error);
00103 void tacDigitalTFBlock1stOrderAlgorithm(tacSTDBLOCK* pSelf);
00104 void tacDigitalTFBlock2ndOrderAlgorithm(tacSTDBLOCK* pSelf);
00105 void tacDigitalTFBlock3rdOrderAlgorithm(tacSTDBLOCK* pSelf);
00106 void tacDigitalTFBlock4thOrderAlgorithm(tacSTDBLOCK* pSelf);
00107 void tacDigitalTFBlockReset(tacSTDBLOCK* pSelf);
00108 void tacDigitalTFBlockDestructor(tacSTDBLOCK* pSelf);
00109
00110
00111 #endif