Exemple #1
0
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);
    */

}
Exemple #2
0
/*
 * 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);
 }