Complexity of the cc measurement function reduced by using an early return.

This commit is contained in:
klaute 2016-10-14 10:08:56 +02:00
parent 075c570cae
commit d12c75fa00

View file

@ -188,13 +188,22 @@ void cc_startMeasurement()
// MSG_TYPE_CONFIG
cc_getConfig();
// 2. start a for loop from the frequence to start to the end frequence
if (start_freq > 0 && start_freq <= 150000000 &&
end_freq > 0 && end_freq <= 150000000 &&
start_freq < end_freq &&
intervall > 0 &&
step_freq > 0)
if (start_freq == 0 || start_freq > 150000000 ||
end_freq == 0 || end_freq > 150000000 ||
step_freq == 0 || step_freq > 150000000 ||
start_freq >= end_freq ||
intervall == 0)
{
// on error
sendSOM();
Serial.write(MSG_TYPE_ANSWER_NOK);
sendEOM();
return;
}
// 2. start a for loop from the frequence to start to the end frequence
si5351.drive_strength(SI5351_CLK0, drive_str); // 2 4 6 8ma
uint8_t t = 0;
@ -264,20 +273,9 @@ void cc_startMeasurement()
// 5. send a measurement end message to the host
// MSG_TYPE_MEAS_END_INFO
char* tmp = " ";
sprintf(tmp, "%c%c%c%c%c", MSG_SOM1, MSG_SOM2,
MSG_TYPE_MEAS_END_INFO,
MSG_EOM1, MSG_EOM2);
Serial.write(tmp);
} else {
// on error
char* tmp = " ";
sprintf(tmp, "%c%c%c%c%c", MSG_SOM1, MSG_SOM2,
MSG_TYPE_ANSWER_NOK,
MSG_EOM1, MSG_EOM2);
Serial.write(tmp);
}
sendSOM();
Serial.write(MSG_TYPE_MEAS_END_INFO);
sendEOM();
si5351.output_enable(SI5351_CLK0, 0); // disable clock output 0