Ok, had a go and it did compile something -there's some problems with
speed but it does work (sort of).
This may be due to my setup -I've really got little idea what I'm
doing when compiling this since the open3600 authors have disappeared,
and I've not done this before.
I'm using the FTDI usb-serial I mentioned before which adds another
potential issue c.f. a real serial port.
Installing mingw32 I've used: http://www.mingw.org/download.shtml
then I installed:
MSYS-1.0.10.exe and installed it
gcc-core-3.4.2-20040916-1.tar
mingw-utils-0.3.tar
w32api-3.6.tar
binutils-2.15.91-20040904-1.tar
mingw-runtime-3.9.tar
-extracting them into the mingw directory of the file structure.
That seemed to cure the missing file problems when doing a make.
I'm thinking about adding mingw32-make-3.80.0-3.tar -but no idea what
that does for the environment.
When doing a make I get:
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o dump8610.o dump8610.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o rw8610.o rw8610.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o linux8610.o linux8610.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o win8610.o win8610.c
win8610.c: In function `open_weatherstation':
win8610.c:63: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c:92: warning: assignment makes integer from pointer without a
cast
win8610.c:93: warning: assignment makes integer from pointer without a
cast
win8610.c:94: warning: assignment makes integer from pointer without a
cast
win8610.c:95: warning: assignment makes integer from pointer without a
cast
win8610.c:96: warning: assignment makes integer from pointer without a
cast
win8610.c:35: warning: unused variable `status'
win8610.c:36: warning: unused variable `EventMask'
win8610.c:37: warning: unused variable `Events'
win8610.c: In function `set_DTR':
win8610.c:192: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c:196: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c: In function `set_RTS':
win8610.c:220: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c:225: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c: In function `get_DSR':
win8610.c:245: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c: In function `get_CTS':
win8610.c:274: warning: passing arg 7 of `DeviceIoControl' from
incompatible pointer type
win8610.c: In function `citizen_weather_send':
win8610.c:542: warning: format argument is not a pointer (arg 4)
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -o dump8610 dump8610.o rw8610.o
linux8610.o win8610.o -lm -lwsock32 -static
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o history8610.o history8610.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -o history8610 history8610.o
rw8610.o linux8610.o win8610.o -lm -lwsock32 -static
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o log8610.o log8610.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -o log8610 log8610.o rw8610.o
linux8610.o win8610.o -lm -lwsock32 -static
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -c -o log8610echo.o log8610echo.c
gcc -Wall -O3 -DVERSION=0.10 -DWIN32=1 -o log8610echo log8610echo.o
rw8610.o linux8610.o win8610.o -lm -lwsock32 -static
So, running 'log8610echo testwin.txt open8610.conf' with full debug I
get 'open_weatherstation' and the testwin.txt is made then about
2-3mins of almost nothing. It appears to wait a long time before doing
the Clear DTR. Then it slowly jumps through the Got DTS etc resulting in:
read_safe - two readings identical
0 additional sensor(s), record length is 10, max record count is 3266
Reading record 6 at 0xa0: 00 12 04 06 07 08 15 50 64 67
- I think there should be a line formatted as per the reading in the
file (which is the 'echo' part of this program - so there must be some
odd happening and its just working like log8610).
And a reading is dumped in the text file:
04/06 12:04:56 | Ti: 20.8 | Hi: 64 | To1: 20.1 | Ho1: 67 | To2: 52.5 |
Ho2: 7 | To3: -30.0 | Ho3: 0 | Mon Jun 04 12:00:00 2007
Which is correct and even adds new entries correctly on the next line.
Running in a DOS prompt (rather than mingW32 shell) it just seizes at
the Clear DTR, probably messing up the timing and corrupting the data
so that it says :
read_safe() error:Invalid argument. This is maybe from the compile errors.
Update: I tested it on a PC with a real COM1 serial port (no mingW32
install) and it works perfectly with no delays using the command
prompt and log8610echo reports correctly.
Checking the usb-serial issue on a fresh PC, using the FTDI usb-serial
it works fully again from DOS prompt -it does pause for a timed 2
minutes 10secs on the Clear DTR (when logging info at level 5).
I'll post my files up to the group and see if you or L can test and/or
make better sense of the compile errors/timings - but it works for me
and its even there for the USB serial too (but needs speed sorting)..
D
>
> --- In Lacrosse_weather_stations@yahoogroups.com, "phdunham2112"
> <phdunham@> wrote:
> >
> > I am using Open8610, trying to compile Log8610.exe for Windows and am
> > getting a lot of errors. I am on WinXP with Visual Studio v8. Does
> > anyone have a version that is already compiled? Or at the very least,
> > have some hints on how to compile this on WinXP?
> > Thx in advance,
> > Paul
> >
>