head 1.3; access; symbols pkgsrc-2026Q1:1.3.0.176 pkgsrc-2026Q1-base:1.3 pkgsrc-2025Q4:1.3.0.174 pkgsrc-2025Q4-base:1.3 pkgsrc-2025Q3:1.3.0.172 pkgsrc-2025Q3-base:1.3 pkgsrc-2025Q2:1.3.0.170 pkgsrc-2025Q2-base:1.3 pkgsrc-2025Q1:1.3.0.168 pkgsrc-2025Q1-base:1.3 pkgsrc-2024Q4:1.3.0.166 pkgsrc-2024Q4-base:1.3 pkgsrc-2024Q3:1.3.0.164 pkgsrc-2024Q3-base:1.3 pkgsrc-2024Q2:1.3.0.162 pkgsrc-2024Q2-base:1.3 pkgsrc-2024Q1:1.3.0.160 pkgsrc-2024Q1-base:1.3 pkgsrc-2023Q4:1.3.0.158 pkgsrc-2023Q4-base:1.3 pkgsrc-2023Q3:1.3.0.156 pkgsrc-2023Q3-base:1.3 pkgsrc-2023Q2:1.3.0.154 pkgsrc-2023Q2-base:1.3 pkgsrc-2023Q1:1.3.0.152 pkgsrc-2023Q1-base:1.3 pkgsrc-2022Q4:1.3.0.150 pkgsrc-2022Q4-base:1.3 pkgsrc-2022Q3:1.3.0.148 pkgsrc-2022Q3-base:1.3 pkgsrc-2022Q2:1.3.0.146 pkgsrc-2022Q2-base:1.3 pkgsrc-2022Q1:1.3.0.144 pkgsrc-2022Q1-base:1.3 pkgsrc-2021Q4:1.3.0.142 pkgsrc-2021Q4-base:1.3 pkgsrc-2021Q3:1.3.0.140 pkgsrc-2021Q3-base:1.3 pkgsrc-2021Q2:1.3.0.138 pkgsrc-2021Q2-base:1.3 pkgsrc-2021Q1:1.3.0.136 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.134 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.132 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.128 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.108 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.130 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.126 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.124 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.122 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.120 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.118 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.116 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.114 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.112 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.110 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.106 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.104 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.102 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.100 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.98 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.96 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.94 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.92 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.90 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.88 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.86 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.84 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.82 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.3.0.80 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.78 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.3.0.76 pkgsrc-2013Q3-base:1.3 pkgsrc-2013Q2:1.3.0.74 pkgsrc-2013Q2-base:1.3 pkgsrc-2013Q1:1.3.0.72 pkgsrc-2013Q1-base:1.3 pkgsrc-2012Q4:1.3.0.70 pkgsrc-2012Q4-base:1.3 pkgsrc-2012Q3:1.3.0.68 pkgsrc-2012Q3-base:1.3 pkgsrc-2012Q2:1.3.0.66 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.64 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.62 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.60 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.58 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.56 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.54 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.52 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.50 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.48 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.46 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.3.0.44 pkgsrc-2009Q3-base:1.3 pkgsrc-2009Q2:1.3.0.42 pkgsrc-2009Q2-base:1.3 pkgsrc-2009Q1:1.3.0.40 pkgsrc-2009Q1-base:1.3 pkgsrc-2008Q4:1.3.0.38 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.36 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.34 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.32 pkgsrc-2008Q2-base:1.3 cwrapper:1.3.0.30 pkgsrc-2008Q1:1.3.0.28 pkgsrc-2008Q1-base:1.3 pkgsrc-2007Q4:1.3.0.26 pkgsrc-2007Q4-base:1.3 pkgsrc-2007Q3:1.3.0.24 pkgsrc-2007Q3-base:1.3 pkgsrc-2007Q2:1.3.0.22 pkgsrc-2007Q2-base:1.3 pkgsrc-2007Q1:1.3.0.20 pkgsrc-2007Q1-base:1.3 pkgsrc-2006Q4:1.3.0.18 pkgsrc-2006Q4-base:1.3 pkgsrc-2006Q3:1.3.0.16 pkgsrc-2006Q3-base:1.3 pkgsrc-2006Q2:1.3.0.14 pkgsrc-2006Q2-base:1.3 pkgsrc-2006Q1:1.3.0.12 pkgsrc-2006Q1-base:1.3 pkgsrc-2005Q4:1.3.0.10 pkgsrc-2005Q4-base:1.3 pkgsrc-2005Q3:1.3.0.8 pkgsrc-2005Q3-base:1.3 pkgsrc-2005Q2:1.3.0.6 pkgsrc-2005Q2-base:1.3 pkgsrc-2005Q1:1.3.0.4 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.2 pkgsrc-2004Q4-base:1.3 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.3 date 2004.11.29.08.22.27; author martin; state Exp; branches; next 1.2; 1.2 date 2004.11.11.10.19.29; author martin; state Exp; branches; next 1.1; 1.1 date 2004.11.10.08.19.46; author martin; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2004.11.10.08.19.46; author martin; state Exp; branches; next ; desc @@ 1.3 log @Update to open2300-1.8. This removes a lot of the previous hacks, replacing them with a fixed setup for the serial port. @ text @$NetBSD$ --- rw2300.c.orig 2004-11-13 13:10:39.000000000 +0100 +++ rw2300.c 2004-11-29 09:15:14.000000000 +0100 @@@@ -9,6 +9,7 @@@@ * This program is published under the GNU General Public license */ +#include #include "rw2300.h" /********************************************************************/ @@@@ -2805,8 +2806,10 @@@@ //Read and verify checksum if (read_device(ws2300, &answer, 1) != 1) return -1; - if (answer != data_checksum(readdata, number)) + if (answer != data_checksum(readdata, number)) { + errno = EIO; // perror is used - so errno needs to be meaningfull return -1; + } return i; @ 1.2 log @Update open2300 to version 1.7 (and implicitly open2300-mysql too): bugfix release to fix a buffer overrun. While there, add a few patches to disable checksum verification on wind direction - this failed for my weather station consistently on some data sets. I'll bring this up with the authors. @ text @d3 2 a4 2 --- rw2300.c.orig 2004-08-01 11:51:08.000000000 +0200 +++ rw2300.c 2004-11-11 10:45:50.000000000 +0100 d13 1 a13 484 @@@@ -30,7 +31,7 @@@@ int address=0x346; int bytes=2; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); if (temperature_conv) @@@@ -70,7 +71,7 @@@@ int address=0x34B; int bytes=15; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *temp_min = ((data[1]>>4)*10 + (data[1]&0xF) + (data[0]>>4)/10.0 + @@@@ -125,7 +126,7 @@@@ address=0x346; number=2; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -137,7 +138,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -208,7 +209,7 @@@@ int address=0x373; int bytes=2; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); if (temperature_conv) @@@@ -248,7 +249,7 @@@@ int address=0x378; int bytes=15; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *temp_min = ((data[1]>>4)*10 + (data[1]&0xF) + (data[0]>>4)/10.0 + @@@@ -304,7 +305,7 @@@@ address=0x373; number=2; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -316,7 +317,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -387,7 +388,7 @@@@ int address=0x3CE; int bytes=2; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); if (temperature_conv) @@@@ -427,7 +428,7 @@@@ int address=0x3D3; int bytes=15; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *dp_min = ((data[1]>>4)*10 + (data[1]&0xF) + (data[0]>>4)/10.0 + @@@@ -483,7 +484,7 @@@@ address=0x3CE; number=2; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -495,7 +496,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -562,7 +563,7 @@@@ int address=0x3FB; int bytes=1; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); return ((data[0] >> 4) * 10 + (data[0] & 0xF)); @@@@ -591,7 +592,7 @@@@ int address=0x3FB; int bytes=13; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *hum_min = (data[1] >> 4) * 10 + (data[1] & 0xF); @@@@ -638,7 +639,7 @@@@ address=0x3FB; number=1; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -648,7 +649,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -715,7 +716,7 @@@@ int address=0x419; int bytes=1; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); return ((data[0] >> 4) * 10 + (data[0] & 0xF)); @@@@ -745,7 +746,7 @@@@ int address=0x419; int bytes=13; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *hum_min = (data[1] >> 4) * 10 + (data[1] & 0xF); @@@@ -792,7 +793,7 @@@@ address=0x419; number=1; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -802,7 +803,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -879,7 +880,7 @@@@ for (i=0; i>4)*10 + (data[1]&0xF) + (data[0]>>4)/10.0 + @@@@ -1255,7 +1261,7 @@@@ address=0x3A0; number=2; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -1267,7 +1273,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -1337,7 +1343,7 @@@@ int address=0x4B4; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); return ( ((data[2] >> 4) * 1000 + (data[2] & 0xF) * 100 + @@@@ -1371,7 +1377,7 @@@@ int address=0x4B4; int bytes=11; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *rain_max = ((data[5] >> 4) * 1000 + (data[5] & 0xF) * 100 + @@@@ -1415,7 +1421,7 @@@@ address=0x4B4; number=3; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -1429,7 +1435,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -1516,7 +1522,7 @@@@ int address=0x497; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); return (((data[2] >> 4) * 1000 + (data[2] & 0xF) * 100 + @@@@ -1551,7 +1557,7 @@@@ int address=0x497; int bytes=11; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *rain_max = ((data[5] >> 4) * 1000 + (data[5] & 0xF) * 100 + @@@@ -1595,7 +1601,7 @@@@ address=0x497; number=3; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value[0] = data_read[0]&0xF; @@@@ -1609,7 +1615,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -1697,7 +1703,7 @@@@ int address=0x4D2; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); return (((data[2] >> 4) * 1000 + (data[2] & 0xF) * 100 + @@@@ -1730,7 +1736,7 @@@@ int address=0x4D2; int bytes=8; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); time_since->minute = ((data[3] >> 4) * 10) + (data[3] & 0xF); @@@@ -1771,7 +1777,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -1822,7 +1828,7 @@@@ int address=0x5E2; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); @@@@ -1860,7 +1866,7 @@@@ int address=0x600; int bytes=13; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *pres_min = ((data[2]&0xF)*1000 + (data[1]>>4)*100 + @@@@ -1874,7 +1880,7 @@@@ address=0x61E; //Relative pressure time and date for min/max bytes=10; - if (read_safe(ws2300, address, bytes, data, command)!=bytes) + if (read_safe(ws2300, address, bytes, data, command, 1)!=bytes) read_error_exit(); time_min->minute = ((data[0] >> 4) * 10) + (data[0] & 0xF); @@@@ -1911,7 +1917,7 @@@@ int address=0x5D8; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); @@@@ -1949,7 +1955,7 @@@@ int address=0x5F6; int bytes=13; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *pres_min = ((data[2]&0xF)*1000 + (data[1]>>4)*100 + @@@@ -1963,7 +1969,7 @@@@ address=0x61E; //Relative pressure time and date for min/max bytes=10; - if (read_safe(ws2300, address, bytes, data, command)!=bytes) + if (read_safe(ws2300, address, bytes, data, command, 1)!=bytes) read_error_exit(); time_min->minute = ((data[0] >> 4) * 10) + (data[0] & 0xF); @@@@ -2009,7 +2015,7 @@@@ address=0x5D8; number=8; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_value_abs[0] = data_read[0]&0xF; @@@@ -2028,7 +2034,7 @@@@ address=0x23B; number=6; - if (read_safe(ws2300, address, number, data_read, command) != number) + if (read_safe(ws2300, address, number, data_read, command, 1) != number) read_error_exit(); data_time[0] = data_read[0]&0xF; @@@@ -2112,7 +2118,7 @@@@ int address=0x5EC; int bytes=3; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); @@@@ -2147,7 +2153,7 @@@@ const char *tendency_values[] = { "Steady", "Rising", "Falling" }; const char *forecast_values[] = { "Rainy", "Cloudy", "Sunny" }; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); strcpy(tendency, tendency_values[data[0] >> 4]); @@@@ -2180,7 +2186,7 @@@@ int address=0x6B2; int bytes=10; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); *interval = (data[1] & 0xF)*256 + data[0] + 1; @@@@ -2244,7 +2250,7 @@@@ address = 0x6C6 + record*19; - if (read_safe(ws2300, address, bytes, data, command) != bytes) + if (read_safe(ws2300, address, bytes, data, command, 1) != bytes) read_error_exit(); tempint = (data[4]<<12) + (data[3]<<4) + (data[2] >> 4); @@@@ -2767,7 +2773,8 @@@@ * ********************************************************************/ int read_data(WEATHERSTATION ws2300, int address, int number, - unsigned char *readdata, unsigned char *commanddata) + unsigned char *readdata, unsigned char *commanddata, + int verify_checksum) { unsigned char answer; @@@@ -2806,8 +2813,10 @@@@ d18 2 a19 2 + if (answer != data_checksum(readdata, number) && verify_checksum) { + errno = EIO; // make perror() output something meaningfull d22 1 a22 1 a24 19 @@@@ -2906,7 +2915,8 @@@@ * ********************************************************************/ int read_safe(WEATHERSTATION ws2300, int address, int number, - unsigned char *readdata, unsigned char *commanddata) + unsigned char *readdata, unsigned char *commanddata, + int verify_checksum) { int j; @@@@ -2915,7 +2925,7 @@@@ reset_06(ws2300); // Read the data. If expected number of bytes read break out of loop. - if (read_data(ws2300, address, number, readdata, commanddata)==number) + if (read_data(ws2300, address, number, readdata, commanddata, verify_checksum)==number) { break; } @ 1.1 log @Initial revision @ text @d3 202 a204 3 --- rw2300.c.orig 2004-04-18 09:51:14.000000000 +0200 +++ rw2300.c 2004-11-09 09:49:09.000000000 +0100 @@@@ -2423,7 +2423,7 @@@@ d206 311 a516 8 if ((fptr = fopen("open2300.conf", "r")) == NULL) { - if ((fptr = fopen("/usr/local/etc/open2300.conf", "r")) == NULL) + if ((fptr = fopen(SYSCONFDIR "/open2300.conf", "r")) == NULL) { if ((fptr = fopen("/etc/open2300.conf", "r")) == NULL) { @@@@ -2912,6 +2912,7 @@@@ d518 1 a518 3 for (j = 0; j < MAXRETRIES; j++) { + if (j) sleep_long(2); d522 5 @ 1.1.1.1 log @Import of open2300, a set of utilities to read data from and controll a weather station WS23xx. @ text @@