Topics

locked QSO Relay version 1.3


Chris VK2BYI
 
Edited

Please be advised that a new release of QSO Relay (Version 1.3) is now available at http://www.vk2byi.com.au/qsorelay/

QSO Relay (v1.3) addresses the following issues:

 

  • Modified to work with JTAlertX 2.9.7 onwards using its ‘Standard ADIF File’ and ‘Last QSO API’ logging features;
  • Added HRD Logbook duplicate checking and reporting during Database Synchronisation;
  • Added more support for globalization of digit grouping and decimal symbols.

Please ensure you also download and read the latest documentation.

Again we wish to thank all users for their positive feedback and patience in working with us to resolve some of the issues experienced.

We also acknowledge and thank beta testing support from Mikko OH8EJW and Bob K1RI and others who have offered and will no doubt be used in the future.

QSO Relay users, please spread the word via other appropriate Groups and Facebook pages...

 


Rick
 

Chris,

Updated my JTDX (17.9), JTAlert (2.9.7)and QSO Relay (1.3).  Everything seems to work just fine. Syncing worked as it should.  Looks like I can be a happy camper for awhile.

Thanks again for all your work.

Rick WB7BOW 73


Chris VK2BYI
 

You are most welcome, Rick.

Thank you for your feedback.

73 Chris
VK2BYI


Graham G0SCV <graham@...>
 

Great work Chris

Using JTDX 17.9.0.15

QSO Reley 1.3

JTAlertX 2.9.7

HRD 6.4.0.647

and ALL is working !!!

I'll try and not break things

73 de Graham G0SCV


Chris VK2BYI
 

Hi Graham,

Thank you Graham.

73 Chris


Mike Davies <face@...>
 

All is not quite well here but I have some info for you to consider.  The session log shows a fail at the 2nd instance of the callsign 5U5R which I worked 3 times on the same day in different band/mode slots.  QSO Relay doesn't seem to like this.  Any suggestions?
--
Mike, G0KAD


Chris VK2BYI
 

Hi Morris,

Glad to hear you have it working and have de-duped HRD Logbook.

73 Chris
VK2BYI


Morris WA4MIT
 
Edited

Chris I seem to have spoken to soon. Sorry to report that the DB is empty again this is same symptom I had with Version 1.2 I followed the full manual setup and I have again deleted everything including the config file and started from scratch and it all indicates it working the test DB function says OK the sync function does not stop or give any error msgs. When sync finishes delete a contact shows no entries. I discovered the problem when I tried to do a JTAlert log scan and everything came up 0 contacts just like starting out I backed out of this and started over with the install as mentioned but even that did not help. What am I doing wrong?

I think this is the trace file? from the exception log in the Roaming area:

2017-05-17 21:31:26.2532 ERROR System.ArgumentException: Input string was not in a correct format.Couldn't store <> in RxPwrDecimal Column.  Expected type is Decimal. ---> System.FormatException: Input string was not in a correct format.

   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

   at System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)

   at System.Convert.ToDecimal(String value, IFormatProvider provider)

   at System.String.System.IConvertible.ToDecimal(IFormatProvider provider)

   at System.Data.Common.DecimalStorage.Set(Int32 record, Object value)

   at System.Data.DataColumn.set_Item(Int32 record, Object value)

   --- End of inner exception stack trace ---

   at System.Data.DataColumn.set_Item(Int32 record, Object value)

   at System.Data.DataRow.set_Item(DataColumn column, Object value)

   at QSORelay.Entities.SqliteLogbook.CreateNewRow(DataSet sqliteDataSet, DataRow hrdDataSetRow, IEnumerable hrdColumns)

2017-05-17 21:31:26.3052 ERROR Insert Into [Log] ( QsoId, Address, Age, AIndex, AntAz, AntEl, Band, BandRx, Call, Comment, Cont, ContactedOp, ContestId, Country, Cqz, Distance, Dxcc, EqCall, Email, EqslQslRDate, EqslQslSDate, EqslQslRcvd, EqslQslSent, ForceInit, Freq, FreqRx, GridSquare, Iota, IotaIslandId, Ituz, KIndex, Lat, Lon, MaxBursts, MsShower, MyLat, MyLon, LotwQslRDate, LotwQslSDate, LotwQslRcvd, LotwQslSent, Mode, MyCity, MyCnty, MyCountry, MyCqZone, MyGridSquare, Myiota, MyIotaIslandId, MyItuZone, MyName, MyPostalCode, MyRig, MySig, MySigInfo, MyState, MyStreet, Name, Notes, NrBursts, NrPings, Pfx, TheOperator, OwnerCallsign, Precedence, PropMode, PublicKey, ProgramId, ProgramVersion, QslMsg, QslRDate, QslSDate, QslRcvd, QslRcvdVia, QslSent, QslSentVia, QslVia, QsoComplete, QsoDate, QsoDateOff, QsoRandom, Qth, Rig, Sfi, RstRcvd, RstSent, SatMode, SatName, Sig, SigInfo, Srx, SrxString, State, StationCallsign, Stx, StxString, Swl, TimeOff, TimeOn, ValidatedCallsign, ManualDateTime, Mobile, Qrp, Portable, CallsignUrl, HomepageUrl, Contest, Cnty, AntPath, ArrlSect, ArrlCheck, TheClass, CreditSubmitted, CreditGranted, TenTen, MyAntenna, ClubLogQsoUploadDate

Log sync from Documents

2017-05-17 17:45:20.4331 Synchronise databases started

2017-05-17 17:45:23.3919 HRD Logbook contains 23386 rows

2017-05-17 17:45:34.0624 Time elapsed: 00:00:13.6292385

2017-05-17 17:45:34.0629 Synchronise databases finished

I am using the Maria DB and I believe this must have something to do with this problem but certainly not sure of that as others seem to be working and mine is not with either 1.2 or 1.3. I re-downloaded and uninstalled and installed again. I had not setup the sqlite part but now that is setup. The DB form is there but no contacts in DB. No Joy. Is anyone else using the Maria DB and getting version 1.3 to work?. Thanks Morris wa4mit 


f1vev@...
 

Hi CHris


All working great this end many thanks for your work 73 Jacques F1VEV
--
Ic 7300 -  Win 10 Pro  - WJSTX 1.7 - JTalert 2.94 -  HRD 6.4.647 - Maria dB - Avast Premium.


Chris VK2BYI
 

Hi Jacques,

You are most welcome.  Enjoy and good DX.

Thanks for the feedback.

73 Chris
VK2BYI


ON4VT Danny OT4V <danny@...>
 

Hi all


All running smoothly here (with from all software QSOrelay, JTDX and JTAlert, the latest versions)


Thanks Crhis ! 


73 ON4VT aka OT4V


Chris VK2BYI
 

This is a strange one.

 

The insert statement that is captured in the session trace is for the previous contact for 5U5R is correct and is not the problem.


I believe the problem may lie with the PJ4/K2NG contact.  There should have been an Exception log file for May 17 created in the same folder as the session file, and will tell me more about what happened at around 20:58:58.  Can you send me all *.log files in that folder?

 

It may be an invalid value somewhere in the row for PJ4/K2NG that I haven’t encountered before, and therefore have not needed to code against.  Could you also send me a copy of you Access *.mdb file, if that is what you are using?  An ADIF Export may not help as it may remove the errant value as it is being extracted to the ADIF file.  I will only use your logbook to find the problem and I will destroy it afterwards.

 

73 Chris

 

From: vk2byi-qsorelay@groups.io [mailto:vk2byi-qsorelay@groups.io] On Behalf Of Mike Davies
Sent: Thursday, 18 May 2017 7:04 AM
To: vk2byi-qsorelay@groups.io
Subject: Re: [vk2byi-qsorelay] QSO Relay version 1.3

 

All is not quite well here but I have some info for you to consider.  The session log shows a fail at the 2nd instance of the callsign 5U5R which I worked 3 times on the same day in different band/mode slots.  QSO Relay doesn't seem to like this.  Any suggestions?
--
Mike, G0KAD


Chris VK2BYI
 

Hi Morris,

Google tells me that Maria DB "is a binary drop in replacement" for MySQL, and that the MySQL client also works with MariaDB server - so it should work with QSO Relay if that is the case.

In order to get the performance to an acceptable level, the synchronise database operation truncates the 'Log' table in the QSO Relay database, and then inserts all rows from the HRD Logbook as a single transaction.  What this means is, if any one of the rows being inserted causes an exception, the whole transaction rollbacks and the 'Log' table in QSO Relay will be empty.  So that is why you see no contacts in QSO Relay.

That exception says in part: "Input string was not in a correct format. Couldn't store <> in RxPwrDecimal Column.  Expected type is Decimal."

You might want to take a look in the database and see what value you have in the Rx Power (COL_RX_PWR) column for a contact just before, or near, a contact with UT2IJ on 2014-05-03 at 00:11:38.

The insert statement reported in the exception log is for this contact, and is a valid statement.  But the row that actually caused the exception, may be the row just before this one in time (the rows are selected in QSO Date and Time On (COL_TIME_ON) order descending during the sync).

It is weird though, as COL_RX_PWR is a double/float type in all platforms supported by HRD Logbook, i.e. Access, SQL Server and MySQL, which can only hold valid floating point numbers or null.

Unless the Rx Power column value is important to you, try setting the value to 0 in the suspect row or rows and see if that allows the sync to run without exception.

Alternatively, you could send me a Maria DB database backup and I can restore it here and see if I can replicate the issue.  I will download a copy of the server from mariadb.org to my development system.

Let me know how you get on.

73 Chris
VK2BYI


Morris WA4MIT
 
Edited

Chris I could not get the DB to work at all I have tried uninstalling and reinstall program everything seems to indicate it was working but when look at delete DB there is nothing there. I have now reverted back to 1.1 again and it has the data base and logs to HRD .647 this takes an hour to run the sync. The only thing I can pinpoint as different is I am using the Maria DB in HRD. See my earlier post with info.  OK I put this up before seeing your latest about my problem will look into what you say and let you know back but it is working OK with version 1.1 why is that?. Thanks wa4mit

ok the UT2IJ had some goofy number in that column so after correcting this I will try again and let you know what happens keep your fingers crossed hi hi 73 thanks wa4mit



Chris VK2BYI
 

The synchronise database operation in version 1.1 downloaded all rows from HRD Logbook and then updated existing rows, and inserted new rows, in the SQLite database as individual transactions which made the performance terrible on larger datasets.  All of the rows but one or two may have been processed successfully, but a missing row or two probably went unnoticed.

But as I said, in order to improve the improve the performance in version 2, we switched to a truncate, then insert all rows in a single transaction model.  The performance improved dramatically, but if one bad row causes an error, then none get inserted.  A small price to pay for a dramatic improvement performance I think, but it also means I have to get the code to handle all types of error conditions, and obviously you have something in your database that my code can't handle - and it should.

I test with a row 100,000 test database that takes about 3 minutes to sync without any issues at all.  So I am keen to get to the bottom of this.

I forgot to ask if you could also zip up all of the '*.log' files, and the 'settings.config' file in your AppData folder and email them to me?

73 Chris
Vk2BYI



Chris VK2BYI
 

Crossed they are!  Let me know the goofy value too please. :)


Mike Davies <face@...>
 

Chris,

Thanks I've sent three files, session report, exception and zipped logbook .mdb to your email address as given in QRZ.com.  Looking forward to an answer.  Remember that this worked in v1.0.

Regards
--
Mike, G0KAD


Morris WA4MIT
 

Partial success I was able to create a DB and it seems to have all my log in it this all went smooth, in JTAlert I setup for the ADI log it is pointed to the "log.adi" in the app data qso relay folder however a JTAlert scan says I have no states, countries etc confirmed so it is like day one on JT mode. I will send you the screen shots I made of my setup in Alert and Relay and my data base zipped if I can. The sync went without any errors in just a few seconds. In the UT7IJ log entry the number was like .9410000002300 something like that I used bulk edit to erase and I had this column showing and this was the only entry that had anything in this column now how did that get there?. Thanks Chris 73 wa4mit Morris

 


Morris WA4MIT
 

Chris I shut everything down left home for about 3 hours and when returned restarted HRD/JTAlert did a alert scan and this time it worked. Did not change any settings. Have made a few contacts now and everything seems to function normally logging OK. I sent zipped files to your personal email. Appreciate your help and the QSO Relay software it does a great job.

73 Morris wa4mit 


Chris VK2BYI
 

That is great news Morris.  I am pleased you have it all working now.

I think it is a good idea anytime you change configuration settings, to restart all of the applications so that they all start afresh with the new configuration.  So when you returned and restarted HRD/JTAlert etc., it started working correctly.

I also checked the screen capture you sent of your JTAlert and QSO Relays settings, and they look correct to me.

Thanks for providing the other items I requested.  I will use it to make QSO Relay more resilient against 'goofy' data and make it more stable.

How that value got into RX Power, I have no idea either.  But regardless, it is a valid floating point number and the code should handle it.  It will in the next release.

Thanks for your patience and assistance.

73 Chris
VK2BYI