Wykres commitów

10421 Commity (f05b6604a28820b1dcf1582acba6afc336dce3d4)

Autor SHA1 Wiadomość Data
Mike Black W9MDB f05b6604a2 Add github reference to README.developer 2023-09-14 22:11:21 -05:00
Mike Black W9MDB 8a4767db17 Add kenwood_stop_voice and fix TS890S send_voice 2023-09-14 17:29:20 -05:00
Mike Black W9MDB 4df8260cc1 Stop validating TX1; on FT-950 -- seems it didn't like TX; after TX1;
https://github.com/Hamlib/Hamlib/issues/1382
2023-09-14 10:11:27 -05:00
Mike Black W9MDB 4f65288c32 Fix multicast_stop DLL export
https://github.com/Hamlib/Hamlib/issues/1090
2023-09-14 10:01:06 -05:00
Mike Black W9MDB 3cf5fab21d Slow down multicast broadcast when no change has occurred
https://github.com/Hamlib/Hamlib/issues/1090
2023-09-14 09:44:50 -05:00
Mike Black W9MDB ee807a7541 Prevent multicast from doing rig queries at all for now -- threading contention needs to be addressed
https://github.com/Hamlib/Hamlib/issues/695
2023-09-14 08:55:21 -05:00
Mike Black W9MDB a00326161c Phase I of rig multicast
https://github.com/Hamlib/Hamlib/issues/1090
2023-09-13 17:25:26 -05:00
Mike Black W9MDB 5b4654024a Fix MD cmd for Win4Yaesu by not validating it. Was not responding fast enough and timing out during validation efforts
https://github.com/Hamlib/Hamlib/issues/1381
2023-09-12 16:04:14 -05:00
Mike Black W9MDB 81e14ae4f1 Remove ST command from newcat.c for FTDX101D/MP set_tx_vfo
Seems to fail on latest firmware for FTDX101MP
https://github.com/Hamlib/Hamlib/issues/1379
2023-09-11 22:09:11 -05:00
Mike Black W9MDB 6f229d1c1a Fix FTDX101D/MP to not validate ST command
https://github.com/Hamlib/Hamlib/issues/1379
2023-09-11 16:17:54 -05:00
Mike Black W9MDB c07e40e18b Fix memory channgle in FTDX101 and FTDX101MP
Add tag  data to memsave.c
Fix  RVF error for Elecraft K3
2023-09-08 17:05:34 -05:00
Mike Black W9MDB 256766c5b6 Fix Elecraft K3 RVF fail to just warn and not quit 2023-09-08 16:54:15 -05:00
Mike Black W9MDB 8ebadb3b7d Get more firmware info for Elecraft K3 2023-09-07 12:01:18 -05:00
Mike Black W9MDB 1e93364f7d Update simic7851 2023-09-07 11:57:03 -05:00
Mike Black W9MDB 3c48de2159 Update FT991 channel list to include PMS and 5MHz channels 2023-09-07 11:27:43 -05:00
Mike Black W9MDB 2e3e0df4d6 Remove debug from serial.c 2023-08-29 07:45:42 -05:00
Mike Black W9MDB 5963e149a9 Fix IC-590 filter byte
https://github.com/Hamlib/Hamlib/issues/1375
2023-08-28 23:34:28 -05:00
Mike Black W9MDB 5d12e5f8bd Fix IC-905 10Ghz+ set/get freq and lower frequencies too
https://github.com/Hamlib/Hamlib/issues/1375
2023-08-27 15:43:28 -05:00
Mike Black W9MDB 6e7aec3077 Fix IC905 test for 5.8GHz (not MHz)
vi simic905.c
2023-08-27 12:33:11 -05:00
Mike Black W9MDB 875214eb54 Fix IC-905 set_freq -- get_freq should be working
https://github.com/Hamlib/Hamlib/issues/1375
2023-08-27 12:08:00 -05:00
Mike Black W9MDB 8ede3518f1 Remove VFO_OP_XCHG from IC-905 as it's not working in firmware V1.11 anymore
https://github.com/Hamlib/Hamlib/issues/1374
2023-08-26 16:06:20 -05:00
Mike Black W9MDB 42b6fb13f9 Remove hamlib/config.h from nobase_include_HEADERS
https://github.com/Hamlib/Hamlib/issues/1373
2023-08-26 10:13:54 -05:00
Mike Black W9MDB c1f24b2f7a Fix TS2000 SA command 2023-08-25 15:36:12 -05:00
Michael Black 897faf00c0
Merge pull request #1349 from torque/spid-logfix
spid: handle a control stream containing log packets
2023-08-22 22:25:48 -05:00
torque d049b90aa9
spid: flush serial input buffer before command send
This seems to take care of the log data pretty much entirely and is
possibly a much simpler alternative solution to the previous two
commits. However, for full robustness, I think it makes sense to keep
all three of these changes together. Also, it's entirely possible that
this approach introduces a performance regression: I haven't
particularly looked at how the buffer flushing is implemented, but if
it ends up doing looped reads with a timeout, this could slow down
command processing for the SPID object significantly. Since I've only
tested this through the command line interface, I have not taken a
close look at performance.
2023-08-22 17:25:53 -07:00
torque ccab50a7df
spid: account for another type of debug message
When the settings are saved via the front panel on the MD-01, the
following debug messages are printed on COM 0:

    thread_motionController: settings changed!\r\n
    thread_protocols: settings changed!\r\n

Notably, because these aren't timestamped the way the other debug
messages are, they were missing the our debug message sieve and causing
protocol errors. Address this by treating anything that doesn't start
with the ROT2PROG start byte ('W') as a log frame.
2023-08-22 17:25:53 -07:00
torque 470c71dd93
spid: handle a control stream containing log packets
I have an MD-01 controller running firmware 2.0.237 that is connected
to the computer via the COM0 DB9 port. When it receives a control
command to move the rotator, it prints debug logs to the serial output
that look like this:

  input:
    W3600\x0A4500\x0A\x2F\x20

  output:
    W\x03\x06\x00\x00\x0A\x04\x05\x01\x00\x0A\x20
    287925671: in motion\r\n
    287925673: Change motion state M0 to mcsStart\r\n
    287925678: GO  A 0.000000 0.000000 t ---\r\n
    287925680: in motion\r\n
    287925683: Change motion state M1 to mcsStart\r\n
    287925686: GO  E 90.000000 91.000000 t ---\r\n
    287925690: distance to go M0 too small. End.\r\n
    287925694: Change motion state M0 to mcsStopped\r\n
    287925698: Stop on motor 0 on angle 0.000000\r\n
    287925703: Change motion state M1 to mcsRunning\r\n
    287926610: distance to go M1 too small. End.\r\n
    287926613: Change motion state M1 to mcsStopped\r\n
    287926617: Stop on motor 1 on angle 90.000000\r\n

Note that the response frame is not necessarily present in an specific
order relative to the log messages: I have seen it come after the logs
as well. Because the current implementation just slurps up response
bytes without checking the framing or anything, as soon as any of this
log data enters the command stream, all subsequent commands will read
completely bogus responses.

Regardless of whether it's due to a misconfiguration, a weird artifact
of the firmware, or something more sinister, the MD-01 is awkwardly
interspersing its normal fixed-size-frame response with these
line-based log messages. As shown above, the log messages appear to be
consistently of the format <timestamp>: <message>\r\n, where
<timestamp> is some kind of integer timestamp (possibly relative to
unit boot) and <message> is an ASCII string.

Due to poor(?) design decisions by the protocol designers, the frame
start and end bytes are both printable ASCII characters ('W' and ' '
respectively) and the MD-01 response frame contains no other
validation information (such as a CRC), which means that a valid log
line could fairly easily contain a character sequence that is
indistinguishable from a valid response frame, without actually being
a valid response frame.

However, since the log messages appear to be reasonably strictly
structured, we can make a small number of assumptions that will allow
us to reliably separate response frames from log lines without having
to fall back on a heuristic-based parsing strategy. These assumptions
are as follows:

1. A log line will always begin with an ASCII character in the range
   [0-9], none of which are the frame start byte.
2. A log line will never contain \r\n in the middle of the line (i.e.
   multi-line log messages do not exist). This means a log "frame" will
   always be of the form [0-9]<anything>\r\n.
3. The controller will not emit a response frame in the middle of a log
   line.
4. The operating system's serial port read buffer is large enough that
   we won't lose data while accumulating log messages between commands.

Provided the above assumptions are true, a simple state machine can be
used to parse the response by treating the log lines as a different
type of frame. This could be made much more robust by applying
additional heuristics for specific packets (e.g. get_position has some
reasonably strict numerical bounds that could be used to sanity check
the contents of the reply frame).
2023-08-22 17:25:53 -07:00
Mike Black W9MDB 46c0649b23 Fix spacing in k3/k4_stop_morse
https://github.com/Hamlib/Hamlib/issues/1366
2023-08-21 16:33:53 -05:00
Mike Black W9MDB 404ceb8c4b Change send_morse, stop_morse, send_voice_mem, and stop_voicemem to not require a VFO argument
https://github.com/Hamlib/Hamlib/issues/1365
2023-08-21 15:16:32 -05:00
Mike Black W9MDB 453a8cc94f Fix K3/K4 stop_morse
https://github.com/Hamlib/Hamlib/issues/1366
2023-08-21 15:10:41 -05:00
Mike Black W9MDB 5113c6a895 Add simqrplabs.c 2023-08-21 10:31:55 -05:00
Mike Black W9MDB 194906b290 For QRPLabs ignore the IF return length as the differenet models can't agree on the length.
QMX adds an extra space on the end with firmware 1_00_09
https://github.com/Hamlib/Hamlib/issues/1372
2023-08-21 10:13:26 -05:00
Mike Black W9MDB 24e407c82c Fix github build 2023-08-20 16:34:35 -05:00
Mike Black W9MDB 7011b48554 Add rigfreqwalk 2023-08-20 16:16:08 -05:00
Mike Black W9MDB cca3891362 Change L METER to allow meter names in addition to numeric
Change l METER to return meter number=name instead of just number
Hopefully doesn't mess up anybody using this function via rigctl/rigctld uf they parsing the number correctly.
It's easier for users with to use/see text names for both set/get
https://github.com/Hamlib/Hamlib/issues/1369
2023-08-20 16:03:25 -05:00
Mike Black W9MDB 1b0f0ec422 Fix K3 stop_morse RPRT return
https://github.com/Hamlib/Hamlib/issues/1365
2023-08-19 15:35:54 -05:00
Mike Black W9MDB b40da0f6b0 Increase send_morse size to use maximum for rigs or 20 chars (if morse_qsize unknown)
This will still allow for up to 1023 characater to queue up.
No guarantees on which rigs allow for this queuing though.
Kenwood rigs can at least find the buffer status to wait for room but not all rigs do.
https://github.com/Hamlib/Hamlib/issues/1368
2023-08-19 12:36:07 -05:00
Mike Black W9MDB 424e8cc04a Reduce KY wait time in kenwood.s to 50ms instead of 500ms
https://github.com/Hamlib/Hamlib/issues/1366
2023-08-19 11:22:31 -05:00
Mike Black W9MDB 1ad43a44ba Fix KEYERTYPE
https://github.com/Hamlib/Hamlib/issues/1363
2023-08-19 08:43:06 -05:00
Mike Black W9MDB 3492be2562 Fix compile warning in flex6xxx.c 2023-08-19 08:29:05 -05:00
Mike Black W9MDB af86f44eac Fix CW morse infinite loop when error occurs RIG_EINVAL 2023-08-18 22:35:21 -05:00
Mike Black W9MDB d57e4ae185 Improve Kenwood send_morse speed 2023-08-18 17:36:19 -05:00
Mike Black W9MDB 3318766a7c Add stop_morse to elecraft rigs
https://github.com/Hamlib/Hamlib/issues/1366
2023-08-18 16:54:19 -05:00
Mike Black W9MDB 3814f2dadf Add set_voice_mem and stop_voice_mem for K3/K3S/K4
https://github.com/Hamlib/Hamlib/issues/1367
2023-08-18 16:49:35 -05:00
Mike Black W9MDB 36dade6e6c Strip CR/LF from 'b' command input
https://github.com/Hamlib/Hamlib/issues/1365
2023-08-18 12:20:41 -05:00
Mike Black W9MDB 57ebd647eb Add split capability to Xiegu G90
https://github.com/Hamlib/Hamlib/issues/1364
2023-08-18 10:56:58 -05:00
Mike Black W9MDB 7bd9cbef83 Fix simxiegug90.c
https://github.com/Hamlib/Hamlib/issues/1364
2023-08-18 09:29:53 -05:00
Mike Black W9MDB 7eefc77f5d Revert "Fix G90 by changing set/get_mode_with_data to set/get_mode and suppress icom_get_dsp_flt"
G90 Firmware 1.80 fixes the x1a x03 command along with x25/x26
This reverts commit 01730082fb.
2023-08-18 09:27:05 -05:00
Mike Black W9MDB 4faef9e031 Add simxiegug90.c 2023-08-18 08:17:39 -05:00
Mike Black W9MDB 01730082fb Fix G90 by changing set/get_mode_with_data to set/get_mode and suppress icom_get_dsp_flt
https://github.com/Hamlib/Hamlib/issues/1364
2023-08-18 08:06:14 -05:00