Hallo zusammen, der Fehler steckt da drin, aber ich kann ihn nicht finden. Das muss sich jemand mit mehr Erfahrung ansehen. Hier einmal kurz was ich so versucht habe...
Nach dem Einschalten des Debug Mode erstmal eine Fehlermeldung: hardware/onewire/onewire_ecmd.c: In function 'parse_cmd_onewire_get': hardware/onewire/onewire_ecmd.c:442: error: invalid operands to binary >> (have 'ow_temp_t' and 'int') hardware/onewire/onewire_ecmd.c:442: error: aggregate value used where an integer was expected make: *** [hardware/onewire/onewire_ecmd.o] Fehler 1 Also mal die Zeile angesehen... debug_printf("temperature: %d.%d\n", HI8(temp), LO8(temp) > 0 ? 5 : 0); Das ist nicht so schön, daraus habe ich dann mal eine reine Ausgabe gemacht: debug_printf("temperature: %d %d\n", temp.val, temp.twodigits); Nun lässt sich auch alles bauen und der Debug liefert fleissig Werte... Das sieht bei eisiger Kälte dann so aus: D: called onewire_convert with: "" D: OW-ROM: called parse_ow_rom with string '' D: OW-ROM: scanf returned -1 D: converting temperature... D: called onewire_get with: "289dfb0402000072" D: OW-ROM: called parse_ow_rom with string '289dfb0402000072' D: OW-ROM: scanf returned 8 D: OW-ROM: read rom 28 9d fb 04 02 00 00 72 D: reading temperature D: successfully read scratchpad D: temperature: 31806 1 Ich habe dann nochmal einen checkout auf die funktionierende Version 537a902 gemacht: D: converting temperature... D: called onewire_get with: "289dfb0402000072" D: OW-ROM: called parse_ow_rom with string '289dfb0402000072' D: OW-ROM: scanf returned 8 D: OW-ROM: read rom 28 9d fb 04 02 00 00 72 D: reading temperature D: successfully read scratchpad D: temperature: 254.5 D: temperature1: -384 Temperature1 liefert hier das, was oben der erste wert bei temperature ist. Hier negativ, oben völlig falsch. Aber hier weiß ich dann nicht mehr weiter... Gruß Flo -----Ursprüngliche Nachricht----- Von: Ethersex-devel [mailto:ethersex-devel-boun...@list.zerties.org] Im Auftrag von Florian Asche Gesendet: Donnerstag, 4. Dezember 2014 20:41 An: e...@users.sourceforge.net; uhrheber; Ethersex Mailinglist Betreff: Re: [ethersex-devel] problem mit negativen 1wire temperaturen Hallo, ich habe mit git bisect gesucht, und herausgefunden, dass nach dem Commit ce9a803 die negativen Temperaturen weder über den HTTP Webserver noch per ECMD auslesbar sind. Stattdessen bekommt man halt sehr hohe Werte. Ich habe kein Onewire Polling verwendet. Hinter dem Commit steckt der Pull Request https://github.com/ethersex/ethersex/pull/332 Gruß Florian -----Ursprüngliche Nachricht----- Von: e...@users.sourceforge.net [mailto:e...@users.sourceforge.net] Gesendet: Mittwoch, 3. Dezember 2014 18:03 An: Florian Asche Cc: uhrheber; Ethersex Mailinglist Betreff: Re: [ethersex-devel] problem mit negativen 1wire temperaturen Hallo, > Habe hier mal die aenderungen vom letzten Winter und vermutlich den pull > request, der es kaputt gemacht hat... > > https://github.com/ethersex/ethersex/pull/259 > > https://github.com/ethersex/ethersex/pull/332 Vermutungen helfen uns nicht weiter. Bitte git bisect zur Identifizierung des schädlichen Commits benutzen. Außerdem wäre die Konfiguration des Originalposters hilfreich. 1W Polling? Was liefert falsche Werte? ECMD, C6 oder Webserver? _______________________________________________ Ethersex-devel mailing list Ethersex-devel@list.zerties.org http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel _______________________________________________ Ethersex-devel mailing list Ethersex-devel@list.zerties.org http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel