fixed firmware bug with sweep ranges that start at high frequencies
This commit is contained in:
@ -78,7 +78,7 @@ usb_request_status_t usb_vendor_request_init_sweep(
|
|||||||
for(i=0; i<(num_ranges*2); i++) {
|
for(i=0; i<(num_ranges*2); i++) {
|
||||||
frequencies[i] = ((uint16_t)(data[10+i*2]) << 8) + data[9+i*2];
|
frequencies[i] = ((uint16_t)(data[10+i*2]) << 8) + data[9+i*2];
|
||||||
}
|
}
|
||||||
sweep_freq = frequencies[0] * FREQ_GRANULARITY;
|
sweep_freq = (uint64_t)frequencies[0] * FREQ_GRANULARITY;
|
||||||
set_freq(sweep_freq + offset);
|
set_freq(sweep_freq + offset);
|
||||||
start_sweep_mode = true;
|
start_sweep_mode = true;
|
||||||
usb_transfer_schedule_ack(endpoint->in);
|
usb_transfer_schedule_ack(endpoint->in);
|
||||||
@ -136,7 +136,7 @@ void sweep_mode(void) {
|
|||||||
if(INTERLEAVED == style) {
|
if(INTERLEAVED == style) {
|
||||||
if(!odd && ((sweep_freq + step_width) >= ((uint64_t)frequencies[1+range*2] * FREQ_GRANULARITY))) {
|
if(!odd && ((sweep_freq + step_width) >= ((uint64_t)frequencies[1+range*2] * FREQ_GRANULARITY))) {
|
||||||
range = (range + 1) % num_ranges;
|
range = (range + 1) % num_ranges;
|
||||||
sweep_freq = frequencies[range*2] * FREQ_GRANULARITY;
|
sweep_freq = (uint64_t)frequencies[range*2] * FREQ_GRANULARITY;
|
||||||
} else {
|
} else {
|
||||||
if(odd) {
|
if(odd) {
|
||||||
sweep_freq += step_width/4;
|
sweep_freq += step_width/4;
|
||||||
@ -148,7 +148,7 @@ void sweep_mode(void) {
|
|||||||
} else {
|
} else {
|
||||||
if((sweep_freq + step_width) >= ((uint64_t)frequencies[1+range*2] * FREQ_GRANULARITY)) {
|
if((sweep_freq + step_width) >= ((uint64_t)frequencies[1+range*2] * FREQ_GRANULARITY)) {
|
||||||
range = (range + 1) % num_ranges;
|
range = (range + 1) % num_ranges;
|
||||||
sweep_freq = frequencies[range*2] * FREQ_GRANULARITY;
|
sweep_freq = (uint64_t)frequencies[range*2] * FREQ_GRANULARITY;
|
||||||
} else {
|
} else {
|
||||||
sweep_freq += step_width;
|
sweep_freq += step_width;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user