|
From: Nate B. <no...@gi...> - 2026-09-19 17:40:50
|
Branch: refs/heads/master Home: https://github.com/Hamlib/Hamlib Commit: 6836abe17f3b3f529a81b8e8040d19c08c392025 https://github.com/Hamlib/Hamlib/commit/6836abe17f3b3f529a81b8e8040d19c08c392025 Author: jbdubbs <ja...@we...> Date: 2026-08-16 (Sun, 16 Aug 2026) Changed paths: M rigs/yaesu/ft857.c Log Message: ----------- FT-857: add ATT/PREAMP level support via EEPROM The FT-857 backend has no RIG_LEVEL_ATT/RIG_LEVEL_PREAMP support at all -- .has_get_level/.has_set_level never included either, and .attenuator/.preamp were both empty -- because, like the PKTLSB submode fix in #2142, the CAT protocol has no dedicated command for either. Both live only in per-band EEPROM bytes (bit 4 = ATT, bit 5 = IPO/preamp-bypass, one byte per band across 11 HF/6m bands), reverse-engineered against the FT8x7EE EEPROM map (https://www.yo3ggx.ro/ft8x7ee/eeprom.html) and cross-checked against the FT-857D Operating Manual p.45 ("the Attenuator will reduce all signals [...] by 10 dB [...] This feature is not available on the 144 MHz and 430 MHz bands"). ft857_att_ipo_addr() resolves the current band from the cached frequency to the right EEPROM address (2m/70cm correctly return -RIG_EINVAL -- the manual states those bands genuinely don't have ATT/IPO). ft857_get_level()/ft857_set_level() (the latter newly wired up -- previously only a dead commented-out prototype existed) then read/read-modify-write that band's EEPROM byte via the FT857_NATIVE_CAT_EEPROM_WRITE (0xbc) mechanism, preserving the paired neighbor byte and skipping the write when the requested state already matches, mirroring the skip-if-unchanged approach applied to the PKTLSB EEPROM write in #2142. RIG_LEVEL_PREAMP's polarity is inverted from the EEPROM's IPO bit (IPO ON means the preamp is bypassed, i.e. PREAMP should read/set 0). .attenuator = { 10, RIG_DBLST_END } matches the manual's documented 10 dB figure; .preamp = { 10, RIG_DBLST_END } is a placeholder -- Yaesu does not publish the IPO preamp's actual gain figure. Verified on real FT-857D hardware: both ATT and PREAMP toggle correctly on HF/6m, and both correctly fail on 2m/70cm where the manual documents them as unavailable. Related to #2142 (same rig backend, same EEPROM-write mechanism). Commit: d7864749ef615bbb0dfc74734e8a29b6a7ef0c9e https://github.com/Hamlib/Hamlib/commit/d7864749ef615bbb0dfc74734e8a29b6a7ef0c9e Author: Nate Bargmann <n0...@n0...> Date: 2026-09-19 (Sat, 19 Sep 2026) Changed paths: M .github/codeql-analysis.yml M .github/workflows/android-ndk.yml M .github/workflows/c-cpp.yml M .github/workflows/c-cpp32.yml M .github/workflows/codeql-analysis.yml M .github/workflows/macos-latest-features.yml M .github/workflows/macos-latest-no-features.yml M .github/workflows/ubuntu-latest-features.yml M .github/workflows/ubuntu-latest-no-features.yml M .github/workflows/windows-cross-features.yml M .github/workflows/windows-cross-no-features.yml M .github/workflows/windows-latest-features.yml M .github/workflows/windows-latest-no-features.yml M HAMLIB_STREAMING.md M HAMLIB_STREAMING_BACKEND_GUIDE.md M NEWS M README.developer M bindings/hamlib.swg M bindings/python/test_Hamlib_class.py M bindings/python/test_startup.py M configure.ac M doc/man1/ampctl.1 M doc/man1/rigctl.1 M doc/man1/rigctld.1 M doc/man1/rotctl.1 M doc/man1/rotctld.1 M include/hamlib/rig.h M include/hamlib/rig_state.h M include/hamlib/riglist.h M rigs/ats-mini/Makefile.am M rigs/ats-mini/ats.c M rigs/dummy/aclog.c M rigs/dummy/dummy.c M rigs/dummy/dummy_common.c M rigs/dummy/dummy_common.h M rigs/dummy/flrig.c M rigs/dummy/gqrx.c M rigs/dummy/netrigctl.c M rigs/dummy/quisk.c M rigs/dummy/sdrsharp.c M rigs/dummy/tci1x.c M rigs/dummy/trxmanager.c M rigs/elad/elad.c M rigs/guohetec/guohetec.c M rigs/guohetec/guohetec.h M rigs/guohetec/pmr171.c M rigs/guohetec/q900.c M rigs/icom/ic7300.c M rigs/icom/ic821h.c M rigs/icom/icf8101.c M rigs/icom/icom.c M rigs/icom/id5100.c M rigs/icom/xiegu.c M rigs/jrc/jst145.c M rigs/kenwood/Makefile.am M rigs/kenwood/elecraft.c M rigs/kenwood/flex6xxx.c M rigs/kenwood/ic10.c M rigs/kenwood/k3.c M rigs/kenwood/kenwood.c M rigs/kenwood/kenwood.h M rigs/kenwood/level_gran_kenwood.h M rigs/kenwood/pihpsdr.c M rigs/kenwood/th.c M rigs/kenwood/thd72.c M rigs/kenwood/thd74.c A rigs/kenwood/thd7x.c A rigs/kenwood/thd7x.h M rigs/kenwood/tmd710.c M rigs/kenwood/transfox.c M rigs/kenwood/ts2000.c M rigs/kenwood/ts480.c M rigs/kenwood/ts590.c M rigs/kenwood/ts890s.c M rigs/kenwood/ts990s.c M rigs/kenwood/tx500.c M rigs/kenwood/xg3.c A rigs/tci/Makefile.am A rigs/tci/README-TCI-2.0.md A rigs/tci/sunsdr2-pro.c A rigs/tci/tci.c A rigs/tci/tci2.c A rigs/tci/tci2.h M rigs/tentec/orion.c M rigs/yaesu/ft100.c M rigs/yaesu/ft1000d.c M rigs/yaesu/ft1000mp.c M rigs/yaesu/ft736.c M rigs/yaesu/ft747.c M rigs/yaesu/ft817.c M rigs/yaesu/ft857.c M rigs/yaesu/ft891.c M rigs/yaesu/ft991.c M rigs/yaesu/ft991.h M rigs/yaesu/ftx1/ftx1.h M rigs/yaesu/ftx1/ftx1_clarifier.c M rigs/yaesu/ftx1/ftx1_scan.c M rigs/yaesu/ftx1/ftx1_vfo.c M rigs/yaesu/level_gran_yaesu.h M rigs/yaesu/newcat.c M rigs/yaesu/vx1700.c M simulators/simid5100.c M simulators/simts890.c M src/Makefile.am M src/cache.c M src/cache.h M src/conf.c M src/event.c M src/event.h M src/mem.c M src/misc.c M src/misc.h M src/register.c M src/rig.c A src/rigctl_protocol.c A src/rigctl_protocol.h M src/serial.c M src/settings.c M src/snapshot_data.c M src/stream.c M src/stream_net.c M src/stream_proto.c M src/stream_proto.h M src/tones.c M test/test_dummy_stream.c M test/test_netrigctl_stream.c M test/test_rigctld_commands.c M test/test_rigctld_stream.c M test/test_stream_api.c M tests/.gitignore M tests/Makefile.am M tests/rigctl_parse.c M tests/rigctlcom.c M tests/rigmatrix.c M tests/rigstreamtest.c A tests/testcachemode.c A tests/testcacherouting.c A tests/testcachethread.c A tests/testcachevfo.c M tests/testctlparser.c A tests/testelecraftvfo.c A tests/testft991idmeter.c A tests/testguohetec.c A tests/testicomfallback.c A tests/testid5100.c M tests/testnetrigctl.c A tests/testnewcatset.c A tests/testpoll.c A tests/testrigctlprotocol.c A tests/testroutingaccess.sh A tests/testthd75emu.c A tests/testthd7x.c Log Message: ----------- Merge branch 'master' into ft857-att-preamp Compare: https://github.com/Hamlib/Hamlib/compare/f46d227bd46e...d7864749ef61 To unsubscribe from these emails, change your notification settings at https://github.com/Hamlib/Hamlib/settings/notifications |