demo: Cast to double while calculating the pattern frequency.
Without the cast non integer frequencies weren't possible (e.g. with a sampling frequency of 50Hz we would end up with a signal frequency of 2Hz instead of 2.5Hz). The result were signals which had an incorrect number of samples per period. BugLink: http://sigrok.org/bugzilla/show_bug.cgi?id=297
This commit is contained in:
parent
464d49360a
commit
9d156555a5
|
@ -206,7 +206,7 @@ static void generate_analog_pattern(const struct sr_probe_group *probe_group, ui
|
|||
break;
|
||||
|
||||
case PATTERN_SINE:
|
||||
frequency = sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
frequency = (double) sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
|
||||
/* Make sure the number of samples we put out is an integer
|
||||
* multiple of our period size */
|
||||
|
@ -225,7 +225,7 @@ static void generate_analog_pattern(const struct sr_probe_group *probe_group, ui
|
|||
break;
|
||||
|
||||
case PATTERN_TRIANGLE:
|
||||
frequency = sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
frequency = (double) sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
|
||||
while (num_samples % ANALOG_SAMPLES_PER_PERIOD != 0)
|
||||
num_samples--;
|
||||
|
@ -240,7 +240,7 @@ static void generate_analog_pattern(const struct sr_probe_group *probe_group, ui
|
|||
break;
|
||||
|
||||
case PATTERN_SAWTOOTH:
|
||||
frequency = sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
frequency = (double) sample_rate / ANALOG_SAMPLES_PER_PERIOD;
|
||||
|
||||
while (num_samples % ANALOG_SAMPLES_PER_PERIOD != 0)
|
||||
num_samples--;
|
||||
|
|
Loading…
Reference in New Issue