[vz-dev] 1wirevz Sensorentausch

Andreas Brus andreas at brus.name
Thu Sep 19 12:21:51 CEST 2013


Am 18.09.2013 23:32, schrieb W3ll Schmidt:
>
> Hm, die Schleife macht eigentlich nichts besonderes ...
An der Stelle gibts ja auch keine wirkliche Schleife :-)
>
> double ds1820read(char *sensorid) {
> fgets( temp_buffer, sizeof(temp_buffer), fp );
> fgets( temp_buffer, sizeof(temp_buffer), fp );
Warum zweimal?
> 		fclose  (  fp  );
> http_post(temp, vzuuid[i][count]);
Hier sehe ich das Problem.
i und count werden verwendet, müssen ja aber nix mit dem sensor bzw. der 
sensorid zu tun haben, die der Funktion übergeben wurde.
Ich bin bei solchen Konstrukten immer verschwenderisch und würde ein 
assoziatives Array nehmen, in dem der Key die sensorid ist und die Value 
die vzuuid :-)
> Wenn die Schleife kein CRC_OK lesen kann, haut sie einen Syslogeintrag 
> raus, schliesst den FP und macht return(-1).
Ja, und hier endet mein Verständnis.
Springt der vielleicht bei einem return(-1) auch aus der while-schleife?
oder passiert das count++ nicht?
Oder kommt er durcheinander weil sensorid einmal ein array ist und 
einmal ein char?
Irgendwie verliert er hier jedenfalls den Zusammenhang.

Gruß
Andreas


More information about the volkszaehler-dev mailing list