Wykres commitów

10441 Commity (3e0420f13829436786c02eeaa13ce0fc5d0ce8cb)

Autor SHA1 Wiadomość Data
Frank Goenninger 3e0420f138 .gitignore: Ignore some macOS housekeeping files. 2023-09-27 20:27:58 +02:00
Mike Black W9MDB 85226e5bc4 Add two more allowances for FT-991 firmware bug where IF command returns 41 bytes instead of 28 2023-09-27 20:27:58 +02:00
Mike Black W9MDB be8372c72f FT-991A V2-01 firmware randomly adds 13 bytes to IF command so allow for it 2023-09-27 20:27:58 +02:00
Frank Goenninger f797178e96 RIG ADAT: Adaption to firmware 1.40fb and transverter board. 2023-09-27 20:11:24 +02:00
Mike Black W9MDB 6b4cc5b36b Fix stop_voice_mem for some kenwood rigs 2023-09-26 08:14:50 -05:00
Mike Black W9MDB 6f3a9831c3 Add voice to TS480 2023-09-25 16:44:52 -05:00
Mike Black W9MDB 5e4cb6f1c1 Add voice_mem functions for TS590S/SG and TS-2000
Increase max baud for TS-2000 to 115200
Change TS-2000 to hardware handshake default
2023-09-25 15:15:45 -05:00
Mike Black W9MDB 6644afbf8d Fix segfault with rigctld/rigctl -m 2 -u
https://github.com/Hamlib/Hamlib/issues/1386
2023-09-20 17:35:29 -05:00
Mike Black W9MDB 1fbb03fa92 Remove multicast.c from build
https://github.com/Hamlib/Hamlib/issues/695
2023-09-20 12:17:10 -05:00
Mike Black W9MDB 5f825aa0d4 Add modelist to multicast
Add time to multicast
Fix id to show rig+path
Remove sleep to speed up multicast packets to once per seconds
https://github.com/Hamlib/Hamlib/issues/695
2023-09-18 12:48:39 -05:00
Mike Black W9MDB da9199577e Add voice_mem commands for TS990S 2023-09-17 16:26:50 -05:00
Mike Black W9MDB 86df4001a1 Remove one more section from multicast to avoid compile warning fornow.
https://github.com/Hamlib/Hamlib/issues/695
2023-09-16 11:25:22 -05:00
Mike Black W9MDB 57c8819ce0 Remove multicast rx until we get it working
https://github.com/Hamlib/Hamlib/issues/695
2023-09-16 10:00:07 -05:00
Mike Black W9MDB e9ef4c1a81 Add ModeList to multicast packet
https://github.com/Hamlib/Hamlib/issues/695
2023-09-16 09:47:30 -05:00
Mike Black W9MDB 5115fa8959 Fix Kenwood PB command to stop last requested voice channel started
https://github.com/Hamlib/Hamlib/issues/1385
2023-09-16 09:36:00 -05:00
Mike Black W9MDB 0bee582095 Remove some more debug from multicast.c to get git build working again 2023-09-15 23:50:50 -05:00
Mike Black W9MDB e972262e80 Remove some debug from multicast as github build was perhaps failing on it 2023-09-15 23:43:09 -05:00
Mike Black W9MDB 3e91601a0f Fix JSON for multicast 2023-09-15 23:22:10 -05:00
Mike Black W9MDB d50ff331ee Add AGC level get/set to Barrett 4050
https://github.com/Hamlib/Hamlib/issues/1384
2023-09-15 11:43:48 -05:00
Mike Black W9MDB 9415fc3446 Expand Barret channels to include non-ham bands 2023-09-15 10:49:55 -05:00
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