[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