-
Notifications
You must be signed in to change notification settings - Fork 3
/
VERSIONS
268 lines (242 loc) · 14.1 KB
/
VERSIONS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
0.1 2003 April 18 - Kenneth Lavrsen
First release. Could only read data and would not retry any
data collecting. Downloaded 11 times.
0.2 2003 April 20 - Kenneth Lavrsen
Added retries so that the program will not just terminate if
reading fails. It will retry initialisation up to 50 times
and reading up to 5 times. Downloaded twice.
0.3 2003 April 23 - Kenneth Lavrsen
Added writing feature. Program can now write nibbles and set
and unset bits. Downloaded twice.
0.4 2003 April 24 - Kenneth Lavrsen
Released to satisfy the huge audience of previous versions ;-)
Split the sources in two files. One with the library of function
that communicate with the station and one that handles the input
parameters and the output. The idea is that the readwrite.c and
readwrite.h files can easily be used to generate new programs
that use the data or writes data from and to the station.
Additionally the program dump2300 was created. Besides being an
example of how to use readwrite.c as a library it is also a nice
tool to save a larger memory area to disk. The idea is that you can
use a file comparison tool to see changes in the memory when wheather
conditions change or when activating certain features.
The format is ASCII and readable by humans and includes the
address.
0.5 2003 April 30 - Kenneth Lavrsen
Small improvements to existing programs open2300 and dump2300.
readwrite.c has been extended with a new read_safe function which
does the hard work of retrying while reading. It is also renamed to
rw2300.
Three new programs have been added which mainly shows the use of
the rw2300 library. They are however also quite useful when exploring
the station and its data.
dump2300 will write out all the data in a given area to the screen
and to a file.
bin2300 does the same as dump2300 but the fileformat is kind of
binary. Each 4-bit nibble in the station is written as one byte in
the file. If you use start address 0 the file can be viewed in a
binary file viewer and the addresses will match 1:1. Output to screen
is human readable.
history2300 read out a selected range of the history records as raw
data to both screen and file.
log2300 is the most useful new tool. It read all the current data
from the station and add the information to a log file in plain
ASCII and human readable format. The idea is that this file can
be used to pick up data from a perl CGI program or PHP page.
Added a memory map file with all the known data areas inside the
station.
0.6 2003 May 02 - Kenneth Lavrsen
Added fetch2300. This software reads all current values from the
station incl min/max data and dates and output them in a simple
format to standard out. The idea is that you can call this program
from a Perl or PHP page and load the data in an array ready for
display.
0.7 2003 May 08 - Kenneth Lavrsen
The rw2300 library has been made more rubust. Sometimes the WS2300
will be too busy to answer the RS232 for up to 2 minutes.
The retry method is now made so that the retry period increases in steps.
This means that normally the added delay is zero or very short. Only
when the station gets very busy will the delay become very long.
This is to ensure that a program such as log2300 does not time out
causing you to miss a data set. Worst case a delay of 2 minutes has
been seen. Usually round a whole hour during the night. Maybe it is
busy syncing with DCF77 (the longwave 77.5 kHz transmitter in Germany
that the clock is syncronised to) in the European model.
Added a PHP page that shows a nice webpage with current weather
station data. Along with it are some graphics files for tendency and
forecast. No new features to the other programs.
1.0 2004 Jan 11 - Kenneth Lavrsen
Added wu2300. This is a version of fetch2300 which get the data used at
Weather Underground (http://www.wunderground.com) and uploads it to
their servers.
1.1 2004 Feb 24 - Kenneth Lavrsen
Fixed a bug in wu2300.c. A "&" was missing which meant that the rain was
not reported. Thanks to Randy Miller for fixing and reporting this bug.
1.2 2004 Mar 07 - Kenneth Lavrsen
New features summary:
- Options now in a config file which enables distributing binaries also.
- The reading of weather data is made into functions making it much
easier to make your own programs.
- The code is being ported to also work under windows (compiling with
open source compiler - mingw).
- The 1.2 also includes upload to Citizen Weather.
- A new data log program which stores data in a MySQL database.
- Binaries for Windows included in distribution (except for mysql2300).
Details:
All tools can be built to Windows .exe files using the open source
MinGW32 compiler. All tools have been tested on Windows XP only.
The rw2300 library has been extended with many functions that returns
weather data directly. This means that you no longer have to decode the
raw data that you receive from the weather station. In 1.2 all current
data can be read using functions.
Randy Miller contributed with a program cw2300 which can upload
Weather Data to the Citizen Weather Observer Program.
Matt Woodward contributed with xml2300 - a version of fetch2300 which
stores current weather data in an XML file.
Matt Woodward contributed with a windows version of the basic serial bus
communication setup and closure. This was an important contribution in
getting this entire package ported to Windows.
Thomas Grieder contributed with a MySQL version of log2300 which has also
been rewritten for the new rw2300.
I wish to thank Randy Miller, Matt Woodward and Thomas Grieder for the
great work which enabled me to make this 1.2
To-dos for next version
- Make mysql2300 binary
- Add functions to reset min/max values in the weather station
- Make small programs that can be run as cron jobs to reset min/max
- Add a "wind gust" feature which assumes the max wind data to be reset
often.
- Make a version of the weather graphs that uses the MySQL data instead
of the flat file.
1.3 2004 Mar 24 - Kenneth Lavrsen
rw2300 has been extended with even more functions
- abs_pressure for absolute air pressure
- abs_pressure_minmax -
- pressure_correction is the difference between abs. and rel. pressure
- read_history_info returns all the data related to the history data
- read_history_record returns all the data stored in one history record
- light turn background light on or off
- write_safe write data to WS2300 including resets and retries to ensure
data is actually written.
Other rw2300 changes:
- date now returns 4 digit year
- improvements in comment headers of many functions (cosmetic)
- the toolset should now also build and work on FreeBSD.
fetch2300 changes
- Changed returned date format to ISO8601 date format. This will break
some userware but better now than later.
log2300 changes:
- Added resolution of certain data; rain to two decimals and pressure to
3 decimals.
- Changed returned date format to ISO8601 date format.
xml2300 changes:
- Added resolution of certain data; rain to two decimals and pressure to
3 decimals.
- Changed returned date format to ISO8601 date format.
open2300 changes:
- Fixed nasty bug. the strtol function should have a null terminated
string as input but got a single byte char. This went wrong in Windows.
win2300 changes:
- Added some more value settings for the dcb structure. This probably
has no impact as they are most likely default any way.
linux2300 changes:
- Made the serial initialization much more correct and should also now
work on Free/OpenBSD.
- Reset06 now flushes the buffer for garbage that was never read.
light2300 is a new tool in the package. It can turn the LCD backlight on
and off. Turning light off make the unit self heat less.
histlog2300 is a new tool in the package also. It fetch data from the
iternal history data buffer in the weather station and writes it to
the a logfile keeping track of which record was written last and then
adds all the new records.
interval2300 is a new tool which can set and read the time interval at
which the weather station saves the history datasets.
weatherstation.php changes:
- The data parsing has been made compatible with more decimals in the
data. For US units one should modify to allow more decimals displayed
for rain and pressure.
1.4 2004 Apr 06 - Kenneth Lavrsen
rw2300 has been extended again:
- new reset of min/max values for all measurements and reset of rain
counters.
- reporting of errors when write goes wrong.
- the config structure has been extended with new APRS_SERVER settings
(contribution by Randy Miller).
linux2300/windows2300 has been improved:
- the citizen_weather_send() function has been improved so instead of
using hardcoded server addresses the servers addresses are now placed
in the config file (original linux version contributed by Randy
Miller).
minmax2300 is a new tool using the new rw2300 reset functions to reset
min/max for all measurements and resetting rain counters.
Kenneth Lavrsen wishes to thank Randy Miller again for another good
contribution to the project.
1.5 2004 April 14 - Kenneth Lavrsen
Fixed bug in reading and resetting wind minimum (thanks Randy)
Updated memory map accordingly.
1.6 2004 April 22 - Kenneth Lavrsen
Fixed bug in resetting rain 24 hours
(copy/paste error of address)
1.7 2004 November 07 - Kenneth Lavrsen
Fixed a pointer overflow bug in fetch2300 which caused seg faults.
1.8 2004 November 13 - Kenneth Lavrsen
Fixed a missing flag in the serial port setup which would often result
in open2300 failing with a read_safe() error. The problem was related
to the serial driver translating 0D (CR) to 0A (LF). This unwanted
feature is now disabled in the setup of the serial port.
Martin Husemann submitted a patch that further made the serial
communication more robust.
1.9 2005 February 27 - Kenneth Lavrsen
rw2300 (and therefore all binaries)
- Fixed two bugs in the wind_reset() function in rw2300.c (thanks to
Ed Hanway and Bob Atchley for bug reports).
- Reverted back to the original code of completely resetting the adtio
struct to all zeros before setting the values(linux only). This seems
to give less read_safe errors.
- Fixed inaccuracy bug. All formulars where a value was devided by 100
were incorrectly done as integer devision. This cased small errors
on decimal values. (reported by Ed Hanway)
- Report error when serial port is locked by other program - Linux only
(Les Niles)
- Added Ralf Winkler's multilingual version of weatherstation as a zip
file in the htdocs directory.
- Added new tool pgsql2300 (Przemyslaw Sztoch)
1.10 2005 March 05 - Kenneth Lavrsen
rw2300 (and therefore all binaries)
- Fixed an interger division error that had been missed in 1.9
(reported with fix by Andrew Braddick).
- mysql2300.sql definitions for temperatures did not allow space for
negative temperatures below -9.9. Added extra decimal space for all
dimentions that can be negative (reported and fixed by Johan Andersson).
Existing users that already have an mysql table with data can alter the
definitions with:
alter table weather modify temp_out decimal(4,1) not null default 0;
alter table weather modify temp_in decimal(4,1) not null default 0;
alter table weather modify dewpoint decimal(4,1) not null default 0;
alter table weather modify wind_chill decimal(4,1) not null default 0;
1.11 2007 July - Kenneth Lavrsen
- Fixed problem with opening an empty log file (fixed by Lars Hinrichsen)
http://www.lavrsen.dk/twiki/bin/view/Open2300/EmptyFileSupport
- Fixed problem with loading ARPS servers data from config. Also updated
the default servers
- Added wind Gust feature
http://www.lavrsen.dk/twiki/bin/view/Open2300/GustPatch
- Added mysqlhistlog feature (Lars Hinrichsen)
http://www.lavrsen.dk/twiki/bin/view/Open2300/HistLog2MySQL
http://www.lavrsen.dk/twiki/bin/view/Open2300/BugReport2006x04x17x075310
- Enable operation on systems that have a blocking open (Andy Shaw and
PeterTattersall)
http://www.lavrsen.dk/twiki/bin/view/Open2300/NonBlockingOpen
- Skip Data Rubbish (Lars Hinrichsen)
http://www.lavrsen.dk/twiki/bin/view/Open2300/SkipDataRubbish
http://www.lavrsen.dk/twiki/bin/view/Open2300/BugReport2006x04x17x075310
- Changed timestamp to one field (EmilianoParasassi
http://www.lavrsen.dk/twiki/bin/view/Open2300/MysqlPatch
http://www.lavrsen.dk/twiki/bin/view/Open2300/MysqlPatch2
To-dos for future version
- Make mysql2300 binary (help wanted)
- Make a version of the weather graphs that uses the MySQL data instead
of the flat file.
- Change the Windows version so that those compiled for no shell window
will still print messages if shell window already open.
Contribution for this welcome. Just a hint by email.