void nRF24L01p::channel(byte _RFCh){
	testLow();
	if(_RFCh>127){
		_RFCh=127;
	}
	writeReg(RF_CH, _RFCh);
	testHigh();
}
void nRF24L01p::dataRate(byte _RFdr){
	testLow();
	byte buf_RF=readReg(RF_SETUP);
	switch (_RFdr){
		case 1		: _RFdr=0x00; break;
		case 2		: _RFdr=0x08; break;
		case 250	: _RFdr=0x20; break;
		default		: _RFdr=buf_RF; break;
	}
	writeReg(RF_SETUP, _RFdr | (buf_RF & 0x07));
	testHigh();
}
void chooseTest(int input){
	if (input==1){
		testLow();
	}
	else if (input == 2){
		testHigh();
	}
	else if (input == 3){
		testDerivative();
	}
	else if (input == 4){
		testSquaring();
	}
	else if (input == 5){
		testMWI();
	}

	printf("Please enter your choice of test.\n Press 1 for Low test, 2 for hightest, 3 for Deri, 4 for Square, 5 for MWI\n");
	scanf("%d", &input);
	chooseTest(input);
}
void nRF24L01p::RXaddress(char* _address){
	testLow();
	address(RX_ADDR_P1,_address);
	testHigh();
	_prim_rx=true;
}
std::vector<double> testHighBlack(SignalData::Samples& data, unsigned int order, double cutoff)
{
    SignalData::Ptr sig = SignalData::create(data, TEST_SAMPLING_FREQ);
    testHigh(sig, order, cutoff, BlackmanWindow(order*2+1));
    return sig->data();
}