int main() { configurePin(GPIO_MODE_OUTPUT,PIN_14,PORTG); configurePin(GPIO_MODE_OUTPUT,PIN_13,PORTG); //configurePin(GPIO_MODE_OUTPUT,PIN_5,PORTC); //configurePin(GPIO_MODE_OUTPUT,PIN_13,PORTB); configureIntPin(GPIO_MODE_INPUT,PIN_0,PORTA); int realSignal; int inputSignal; while(1) { realSignal = PORTA->IDR; inputSignal = filterSignal(PORTA->IDR); if( inputSignal != 1 ) { //writeOutHigh(PORTG,14); writeSet(PORTG,14); writeReset(PORTG,13); //writeOutLow(PORTG,13); } else { //writeOutHigh(PORTG,13); //writeOutLow(PORTG,14); writeSet(PORTG,13); writeReset(PORTG,14); } } /* delay(100000); writeOutHigh(PORTG,14); writeOutLow(PORTG,13); writeOutLow(PORTC,5); writeOutLow(PORTB,13); //writeOne(GPIO_PIN_14,GPIOG); //writeZero(GPIO_PIN_13,GPIOG); //writeZero(GPIO_PIN_5,GPIOC); //writeZero(GPIO_PIN_13,GPIOB); delay(100000); writeOutLow(PORTG,14); writeOutHigh(PORTG,13); writeOutHigh(PORTC,5); writeOutHigh(PORTB,13); //writeZero(GPIO_PIN_14,GPIOG); //writeOne(GPIO_PIN_13,GPIOG); //writeOne(GPIO_PIN_5,GPIOC); //writeOne(GPIO_PIN_13,GPIOB); */ }
/* * Wrapper functions for filtering and for ksv f0 analysis * * all other analyses come with a 'computeXYZ' functions with identical * signatures but for various reasons these two do not. These function provide * wrappers. */ DOBJ * computeFilter(DOBJ * inpDOp, AOPTS * anaOpts, DOBJ * outDOp) { int FILE_IN, FILE_OUT, CREATED; DOBJ *filtDOp = NULL; if (inpDOp == NULL || anaOpts == NULL || outDOp != NULL) { setAsspMsg(AEB_BAD_ARGS, "computeFilter"); return (NULL); } FILE_IN = FILE_OUT = CREATED = FALSE; /* * check input object */ if (inpDOp->fp != NULL) { if (inpDOp->numRecords <= 0) { setAsspMsg(AEF_EMPTY, inpDOp->filePath); return (NULL); } FILE_IN = TRUE; } else if (anaOpts == NULL || (anaOpts != NULL && !(anaOpts->options & AOPT_INIT_ONLY))) { if (inpDOp->dataBuffer == NULL || inpDOp->bufNumRecs <= 0) { setAsspMsg(AED_NO_DATA, "(computeFilter)"); return (NULL); } } filtDOp = createFilter(inpDOp, anaOpts); if (filtDOp == NULL) { return (NULL); } if ((outDOp = filterSignal(inpDOp, filtDOp, outDOp)) == NULL) { return (NULL); } filtDOp = destroyFilter(filtDOp); return (outDOp); }
void TestCase1(){ DFT(s3, s3FR, s3FI, 4); filterSignal(s1, s2, f1, 8, 3); TestREstimate(); }
void trimMeanFilt( std::vector<float>& input, std::vector<float>& output, int windowSize) { filterSignal(input, output, windowSize, trimMean); }
void movingAverage( std::vector<float>& input, std::vector<float>& output, int windowSize) { filterSignal(input, output, windowSize, average); }
void medfilt( std::vector<float>& input, std::vector<float>& output, int windowSize) { filterSignal(input, output, windowSize, median); }