temperatuur instellen met decimalen

lol. Wat is dit toch f*cking awesome 8)

De hele dag lopen proberen en het is gelukt. Ik snap alleen de ballen waarom het op deze manier wél werkt.

Ik probeerde eerst e.e.a. uit te schrijven bij de variabelen boven de void setup () (hoe heet dit stuk in je code?), maar daar kreeg ik het dus maar niet voor elkaar.

Als ik echter ipv tempNew te gebruiken, een nieuwe float tempSet maak, die in de struct zet en vervolgens pas in de void loop() de waarde tempNew toeken, kan ik naar EEPROM schrijven en laat mijn code netjes de huidige temperatuursetting zien en update wanneer ik weer op save druk.

Ik snap alleen gewoon niet waarom deze regel "configuration.tempSet = tempNew;" in de loop() moet en niet bovenin kan staan?

float tempNew = 18;
float tempSet;
int eeAddress = 0;

struct config_t
{
  float tempSet;
  };

struct config_t configuration;


void loop()
{
if ((x >= 170) && (x <= 210) && (y >= 190) && (y <= 230)) //170, 190, 210, 230
    {
      [b]configuration.tempSet = tempNew;[/b]
      EEPROM.put(eeAddress, configuration.tempSet);
      
      drawFrame(170, 190, 210, 230);
    }
}