Hola a todos!
Estoy desarrollando un sistema de automatización para tanques de líquidos, y una de las primeras cosas que necesito que haga mi código es verificar que los sensores estés posicionados correctamente y que las medidas no sean discordantes.
Para explicarlo mejor, en cada tanque hay 4 sensores de nivel, uno cada 30 centímetros. Esto es una exigencia del proyecto. Tengo una función que chequea que, por ejemplo, si el sensor que está a 90 cm. detecta líquido, pero el que está a 60cm. no detecta, muestre un error de hardware.
En el loop() llamo a la función que lee el estado de los sensores, y luego a la función que analiza lo anteriormente mencionado.
Ahora bien, toda esta introducción para realizar la consulta, como el loop() no debería continuar si hay un error en las lecturas o en los sensores, quisiera saber si es correcto hacer lo siguiente:
void loop(){
tankLevelStatus(); // Verificamos niveles de líquido en el tanque
detectHardwareError(); // Verificamos si hay errores en las lecturas
if( hardware_tank_error == true ){
setDisplayErrorMessage();
loop(); // <-Esto es lo que quiero saber
}
/*
Resto del código que no debería ejecutarse si hay error de hardware
*/
}
Es correcto llamar a la función loop() para que no ejecute el resto del código? Se puede usar también la sentencia return?
Desde ya muchas gracias por su atención!