Hola.
Estoy desarrollando un proyecto que he modularizado en varias librerías para que esté más ordenado y sea más legible y fácil de continuar desarrollando.
El problema es que hay algo que quiero optimizar y no lo consigo.
Tengo un sensor de temperatura típico DS18B20, cuyo valor quiero leer en varias librerías, pero quiero actualizar el valor sólo en una de ellas o en el bucle loop y que las demás simplemente lean el valor actualizado, porque para algo así veo absurdo leer, por ejemplo, 3 veces por segundo el mismo valor (con lo lento que es el leer el DS18B20), prefiero leerlo cada 20-30seg en un único lugar y que los demás se sirvan de ese valor.
Es decir:
librería auxiliar 1 (librería dedicada a temperatura):
- tiene variable float temp;
- actualiza la variable temp con el valor de DS18B20 por ejemplo cada 20seg
resto de librerías auxiliares:
- crea referencia a la librería dedicada a la temperatura, librería auxiliar 1
- lee el valor de la variable temp mediante un método GET, actualizado o no dependiendo siempre de la librería auxiliar 1, no directamente del sensor
Siento si no me he explicado bien, es que llevo ya un buen rato con esto y empiezo a marearme de no conseguirlo jej.
De momento con variables long sin más tengo que leer el valor del sensor en cada librería para que se actualice la variable "temp" que parece independiente en cada nueva referencia a esa librería auxiliar 1. Es decir, si leo el sensor en la librería 2 y guardo ese valor en la variable "temp", en la librería 3 si leo "temp" no voy a conseguir el valor recién leido, tendría que leer el sensor también ahí.
Estoy tratando de solucionarlo con punteros que imagino que así es como se soluciona, sin embargo, aunque nunca me habían dado problema los punteros, ahora no consigo ninguna solución, supongo que será problema mio.
A ver si me podéis echar una mano antes de que me vuelva loco, sino tendré que leer en cada librería y dejarlo así de poco óptimo.
Un saludo!