Loading ...
Sorry, an error occurred while loading the content.

questions to WS8610-CS.zip

Expand Messages
  • toshikoshi
    I was playing with files in WS8610-CS.zip(C# version) after failing to use FTDI USB to serial adapter with Lacrosse provided Data Recorder software.C# version
    Message 1 of 3 , Sep 14, 2011
    • 0 Attachment
      I was playing with files in WS8610-CS.zip(C# version) after failing to use FTDI USB to serial adapter with Lacrosse provided Data Recorder software.C# version in zip file seems to work if I change dcb.BaudRate in WS8610SerialWrapper.cs to 9600 instead of 300.It is very useful to do some experiments in Windows7.Thanks for providing this C# version.

      0.Do I have to explicitly set this BaudRate inside C# source code?
      1.GetStoredHistoryCount() in WS8610Com.cs seems to be incorrect.(should be (b[1] >> 4) * 1000 instead of (b[0] >> 4) * 1000)
      2.GetFirstHistoryRecord() shows earlier time stamp than what is expected from number obtained by GetStoredHistoryCount().Does this mean WS8610 actually stores more data than history count obtained by GetStoredHistoryCount()?
      3.How do you obtain records of stored history count? WS8610Com.cs provides either GetFirstHistoryRecord() or GetLastHistoryRecord() public methods, but not by index number like GetHistoryRecordAtIndex(i) .Is there a reason for this?Is it possible for last record to be updated by WS8610 while software is reading ?
      Is it better to use DumpMemory() instead and parse record data one by one for each time stamp?


      Thanks,
      Toshi.
    • sgnuf
      ... 300 was the baudrate of the original c source code and for me is working (I m using a real seial port). Maybe with usb you need adifferent baudrate. ...
      Message 2 of 3 , Oct 7, 2011
      • 0 Attachment
        --- In Lacrosse_weather_stations@yahoogroups.com, "toshikoshi" <toshikoshi@...> wrote:
        >

        > 0.Do I have to explicitly set this BaudRate inside C# source code?
        300 was the baudrate of the original c source code and for me is working (I'm using a real seial port). Maybe with usb you need adifferent baudrate.

        > 1.GetStoredHistoryCount() in WS8610Com.cs seems to be incorrect.(should be (b[1] >> 4) * 1000 instead of (b[0] >> 4) * 1000)
        Yes you're right. I fixed it too, but forgot to upload new version.


        > 2.GetFirstHistoryRecord() shows earlier time stamp than what is expected from number obtained by GetStoredHistoryCount().Does this mean WS8610 actually stores more data than history count obtained by GetStoredHistoryCount()?
        Yes. The mem counter is not accurate and does not always indicate correct number of stored records. You have to find it manually.


        > 3.How do you obtain records of stored history count? WS8610Com.cs provides either GetFirstHistoryRecord() or GetLastHistoryRecord() public methods, but not by index number like GetHistoryRecordAtIndex(i) .Is there a reason for this?
        I have a new version of WS8610Com.cs, with that method, plus other interesting improvements, i.e:
        GetHistoryRecord(int record_no)
        GetHistoryRecords(int starting_rec, int records_to_extract)
        GetLastHistoryRecords(int num_rec)
        GetAllHistoryRecords(bool report = false)
        GetHistoryRecords(DateTime from_date, bool report = false)
        Some methods are now asynchronous, so you can have a progress bar with percent completed ad current operation.
        If you are interested I will send to you the new version.



        >4. Is it possible for last record to be updated by WS8610 while software is reading ?
        I found that if you try to read memory while the station is updating, it may stop working and you need to reset it removing batteries and reinserting them to start updating again. So I read memory only when not updating, i.e. not "at the fifth minute".


        >5. Is it better to use DumpMemory() instead and parse record data one by one for each time stamp?
        Use DumpMemory, when you want to read raw data. In my new code there are some methods that do what you want, like GetHistoryRecords(int starting_rec, int records_to_extract), GetHistoryRecords(DateTime from_date) and GetAllHistoryRecords(bool report = false).

        Greets
        Emanuele
      • majnerp
        Can you compile and upload memreset8610 for win XP 32bit? I can not do it myself.
        Message 3 of 3 , Oct 15, 2011
        • 0 Attachment
          Can you compile and upload memreset8610 for win XP 32bit? I can not do it myself.

          --- In Lacrosse_weather_stations@yahoogroups.com, "sgnuf" <sgnuf@...> wrote:
          >
          > --- In Lacrosse_weather_stations@yahoogroups.com, "toshikoshi" <toshikoshi@> wrote:
          > >
          >
          > > 0.Do I have to explicitly set this BaudRate inside C# source code?
          > 300 was the baudrate of the original c source code and for me is working (I'm using a real seial port). Maybe with usb you need adifferent baudrate.
          >
          > > 1.GetStoredHistoryCount() in WS8610Com.cs seems to be incorrect.(should be (b[1] >> 4) * 1000 instead of (b[0] >> 4) * 1000)
          > Yes you're right. I fixed it too, but forgot to upload new version.
          >
          >
          > > 2.GetFirstHistoryRecord() shows earlier time stamp than what is expected from number obtained by GetStoredHistoryCount().Does this mean WS8610 actually stores more data than history count obtained by GetStoredHistoryCount()?
          > Yes. The mem counter is not accurate and does not always indicate correct number of stored records. You have to find it manually.
          >
          >
          > > 3.How do you obtain records of stored history count? WS8610Com.cs provides either GetFirstHistoryRecord() or GetLastHistoryRecord() public methods, but not by index number like GetHistoryRecordAtIndex(i) .Is there a reason for this?
          > I have a new version of WS8610Com.cs, with that method, plus other interesting improvements, i.e:
          > GetHistoryRecord(int record_no)
          > GetHistoryRecords(int starting_rec, int records_to_extract)
          > GetLastHistoryRecords(int num_rec)
          > GetAllHistoryRecords(bool report = false)
          > GetHistoryRecords(DateTime from_date, bool report = false)
          > Some methods are now asynchronous, so you can have a progress bar with percent completed ad current operation.
          > If you are interested I will send to you the new version.
          >
          >
          >
          > >4. Is it possible for last record to be updated by WS8610 while software is reading ?
          > I found that if you try to read memory while the station is updating, it may stop working and you need to reset it removing batteries and reinserting them to start updating again. So I read memory only when not updating, i.e. not "at the fifth minute".
          >
          >
          > >5. Is it better to use DumpMemory() instead and parse record data one by one for each time stamp?
          > Use DumpMemory, when you want to read raw data. In my new code there are some methods that do what you want, like GetHistoryRecords(int starting_rec, int records_to_extract), GetHistoryRecords(DateTime from_date) and GetAllHistoryRecords(bool report = false).
          >
          > Greets
          > Emanuele
          >
        Your message has been successfully submitted and would be delivered to recipients shortly.