Linux logging program for amateur radio operators
Go to file
OH1KH b23a0400a6 Update for Rotor control
First goal was to make same kind of rotortype selector as TRXcontrol has for rig types. After some study it showed up that more work has to be done. Unfortunately the only rotor type for me to test is "Hamlib Dummy" that happens to be different than most of rotor types known by Hamlib.
Most of rotors are 0..360 degree ones, some including Dummy are -180..0..180 degree ones and then there are some that are turning more than one round. Even up to 0..540 degrees
Then in latest verson of Hamlib (4.0-git) there are new parameters for setting offset, south_zero and limits for AzMin and/or AzMax. That makes it hard to get all work with cqrlog that always sends/reads true headings 0..360

I am sure that this needs more fixing after Hamlib 4.0 becomes official release (and they may make some changes still).

At the moment ROT Control should work like it was as default.

	- preferences: selection box for known rotor types (similar to known rig list)
	- preferences: checkbox for "use \dump_caps info" about current Azmin Azmax limits
           This converts -180..0.180 to work with cqrlog and also prevents cqrlog to send
           direction commands that go over AzMin AzMaz values
	- ROT form: user can resize form
	- ROT form: Preferences menu
              user can select additional bar display, turn Left/Right buttons and stop button visible
	      quick access to preferences/ROT control
	- help section ROT added to TRXControl pages

Squashed commit of the following:

commit 38ed3e62e6
Author: OH1KH <oh1kh@sral.fi>
Date:   Thu Mar 12 10:58:35 2020 +0200

    some fixing

commit 4a5f8d0213
Author: OH1KH <oh1kh@sral.fi>
Date:   Wed Mar 11 17:37:59 2020 +0200

    New design, defaults to previous (2.4.0) view

commit 5d9bc0a168
Author: OH1KH <oh1kh@sral.fi>
Date:   Tue Mar 10 17:06:01 2020 +0200

    layout fix

commit 12bf73003b
Author: OH1KH <oh1kh@sral.fi>
Date:   Tue Mar 10 16:53:58 2020 +0200

    some fixes

commit 1b38668f88
Merge: 57b9f37 ef04615
Author: OH1KH <oh1kh@sral.fi>
Date:   Tue Mar 10 13:06:37 2020 +0200

    Merge branch 'master' into rotator_contol

commit 57b9f37477
Author: OH1KH <oh1kh@sral.fi>
Date:   Tue Mar 10 13:04:09 2020 +0200

    New display and help update

commit f4792ff7cd
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 9 18:43:04 2020 +0200

    Selection of \dump_state used in preferences. Stup button, warn/err clolors in RotContorl form

commit 2d55a68d2f
Merge: 77f58a8 c58e5d7
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 9 12:00:27 2020 +0200

    Merge branch 'master' into rotator_contol

commit 77f58a869d
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 9 11:46:34 2020 +0200

    another layout fix for rot and trx

commit 3258a91b6d
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 9 11:30:30 2020 +0200

    help fix

commit 2baa4577fd
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 9 11:22:12 2020 +0200

    Rot anchor fixes. Rot and TRX freq/pos display anchor fix

commit 87293f64a5
Author: OH1KH <oh1kh@sral.fi>
Date:   Sun Mar 8 13:52:50 2020 +0200

    some rotor model and debug fixes

commit e0c07b513a
Author: OH1KH <oh1kh@sral.fi>
Date:   Sat Mar 7 17:41:52 2020 +0200

    Fixed south stop -180..0.-180 rotor handling and help file

commit 83a2ef9aa6
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 16:49:15 2020 +0200

    Help file fixes and additions

commit 077a6e4919
Merge: 189de64 993e263
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 15:30:28 2020 +0200

    Merge branch 'RotAZ' into rotator_contol

commit 993e26322a
Merge: d7f51f8 90f8778
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 15:28:02 2020 +0200

    Merge branch 'master' into RotAZ

commit 189de64881
Merge: b96a738 90f8778
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 15:27:14 2020 +0200

    Merge branch 'master' into rotors

commit d7f51f8367
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 12:43:49 2020 +0200

    some debug layout fixes, Tested now with different AzMaz/Min settings

commit 4959097d8c
Author: OH1KH <oh1kh@sral.fi>
Date:   Fri Mar 6 11:28:09 2020 +0200

    used dump_state instead of dump_caps. Shows now parameter changes effects

commit 716b5b6f8d
Author: OH1KH <oh1kh@sral.fi>
Date:   Thu Mar 5 18:11:00 2020 +0200

    Works now with negative degs (-180..180 Hamlib Dummy defaut)

commit bfbdca55fa
Author: OH1KH <oh1kh@sral.fi>
Date:   Thu Mar 5 17:01:37 2020 +0200

    Bettr way to read response. Now gets AZmin,Azmax from dump

commit 2ef52980c3
Author: OH1KH <oh1kh@sral.fi>
Date:   Thu Mar 5 12:55:00 2020 +0200

    new polling and read

commit b96a738069
Author: OH1KH <oh1kh@sral.fi>
Date:   Mon Mar 2 21:15:08 2020 +0200

    Rotor type selector
2020-03-12 11:02:55 +02:00
ctyfiles fix typo in satellite name EO-88. lotw qso uploads will work now 2019-11-23 23:36:23 +01:00
debian dependencies fixed 2019-10-27 13:14:44 +01:00
docker-build Provide a way to build with a reproducable Ubuntu build environment. 2019-07-07 03:58:09 +02:00
help Update for Rotor control 2020-03-12 11:02:55 +02:00
images splash image updated 2019-07-26 21:00:01 +02:00
members membership files updated 2019-10-27 13:00:48 +01:00
src Update for Rotor control 2020-03-12 11:02:55 +02:00
tools another build script fix 2019-10-27 13:21:10 +01:00
voice_keyer Add bandmap (ctrl-A) added to contest window. Voice out CI-V script for ICOM audio records 2019-10-14 17:35:07 +03:00
xplanet initial commit 2013-03-15 21:13:08 +01:00
zipcodes initial commit 2013-03-15 21:13:08 +01:00
.gitignore fixed: 2017-06-08 21:47:44 +02:00
.travis.yml make install added 2018-09-01 08:31:37 +02:00
AUTHORS #119 fix cqrlog license file position 2019-02-11 19:35:04 +01:00
CHANGELOG changelogs updated 2019-10-27 08:04:25 +01:00
COPYING #119 fix cqrlog license file position 2019-02-11 19:35:04 +01:00
Makefile Don't remove debian/cqrlog* on clean 2019-12-30 12:40:55 +01:00
README.md distro version fixed 2019-11-28 10:57:19 +01:00

What is CQRLOG?

CQRLOG is an advanced ham radio logger based on MySQL database. Provides radio control based on hamlib libraries (currently support of 140+ radio types and models), DX cluster connection, online callbook, a grayliner, internal QSL manager database support and a most accurate country resolution algorithm based on country tables developed by OK1RR. CQRLOG is intended for daily general logging of HF, CW & SSB contacts and strongly focused on easy operation and maintenance. More at https://www.cqrlog.com/

Image of CQRLOG

How to contribute?

You have to have Lazarus 1.8, fpc 3.0.4 compiler, MySQL server and clinet installed. CQRLOG is developed on Ubuntu 18.04, Lazarus and FreePascal are available in my pesronal repo https://launchpad.net/~ok2cqr/+archive/lazarus

Compile with make and install with make DESTDIR=/home/yourusername/where_you_want_to_have_it install. If you are going to change the source code, fork the repo, do the changes, commit them and use Pull request.

Dependencies

Build-Depends: lazarus, lcl, fp-utils, fp-units-misc, fp-units-gfx, fp-units-gtk2, fp-units-db, fp-units-math, fp-units-net

Depends: libssl-dev, mysql-server | mariadb-server, mysql-client | mariadb-client, libhamlib2 (>= 1.2.10), libhamlib-utils (>= 1.2.10)

Running build with Docker

If you do not want to install the dependencies into your main machine, you can do the build in a Docker container. You need to mount into that Docker container this directory and also the target directory where you want to put the alpha version of cqrlog you are building.

This also helps if you want to build, e.g., on a Debian Stretch machine. Attempts at native builds on that platform have failed. Using a reasonably recent Ubuntu inside our Docker-based build environment, makes the build work even on Debian Stretch.

That bad news is, you have to install Docker (CE is fine).

That done, you can prepare an Ubuntu Docker image with the build tools as follows:

(cd docker-build && docker build -t this.registry.is.invalid/cqrlog-build .)

(In case you wonder: There is no need to use a Docker registry, so we provide a registry host that is guaranteed to not exist.)

Then, run the build itself with

sudo mkdir -p /usr/local/cqrlog-alpha &&
docker run -ti -u root -v $(pwd):/home/cqrlog/build \
  -v /usr/local/cqrlog-alpha:/usr/local/cqrlog-alpha this.registry.is.invalid/cqrlog-build

To use your build, make sure that you have no instance of cqrlog running, backup $HOME/.config/cqrlog (if you ever used cqrlog before), add /usr/local/cqrlog-alpha/usr/bin to your $PATH and start cqrlog from there.