Beispiel #1
0
int bladerf_set_frequency(struct bladerf *dev,
                          bladerf_module module, unsigned int frequency)
{
    int status;
    bladerf_xb attached;

    status = bladerf_expansion_get_attached(dev, &attached);
    if (status)
        return status;
    if (attached == BLADERF_XB_200) {
        if (frequency < BLADERF_FREQUENCY_MIN) {
            status = bladerf_xb200_set_path(dev, module, BLADERF_XB200_MIX);
            if (status)
                return status;
            frequency = 1248000000 - frequency;
        } else {
            status = bladerf_xb200_set_path(dev, module, BLADERF_XB200_BYPASS);
            if (status)
                return status;
        }
    }

    status = lms_set_frequency(dev, module, frequency);
    if (status != 0) {
        return status;
    } else {
        return bladerf_select_band(dev, module, frequency);
    }
}
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
    struct bladerf *dev;
	bladerf_module mod;
	int ret, actual;
    unsigned int freq;
	long long *ip;

	if (nrhs < 3)
		return;

	ip = (long long *)mxGetPr(prhs[0]);

	dev = (struct bladerf *)*ip;
	mod = (bladerf_module)*(double *)mxGetData(prhs[1]);
    freq = (int)*(double *)mxGetData(prhs[2]);

	
	ret = bladerf_select_band(dev, mod, freq);

	if (nlhs >= 1) {
		plhs[0] = mxCreateNumericMatrix(1,1,mxINT64_CLASS,mxREAL);
		ip = (long long *)mxGetData(plhs[0]);
		*ip = ret;
	}
}
Beispiel #3
0
int bladerf_set_frequency(struct bladerf *dev,
                          bladerf_module module, unsigned int frequency)
{
    int status;

    status = lms_set_frequency(dev, module, frequency);
    if (status != 0) {
        return status;
    } else {
        return bladerf_select_band(dev, module, frequency);
    }
}