ew8bakandClaude Opus 5 6e4ba1c1c5 fix(tci): клик по DX-споту на доп. пане слал номер ПАНА вместо номера приёмника
Приёмником TCI в этой ветке стал слот СЛАЙСА (TCI_MAX_RX = 1 + MAX_SLICES,
«панадаптером приёмник быть перестал»), а PanNSpectrumMouseDown отдавал в
rx_clicked_on_spot P.PanId. Клик по пану 1 уезжал как «rx_clicked_on_spot:1,…»,
то есть адресовал слайс в слоте 0 — возможно, стоящий на ГЛАВНОМ пане, — а то и
приёмник, которого нет вовсе: клиенты, фильтрующие по номеру, такое уведомление
просто теряют. Вызов rx0 с главного пана был и остаётся верным.

Теперь номер берётся у слайса, который на спот и увели: DXTuneSpotOnPan стал
функцией и возвращает его, TTCIAdapter.RxOfSlice переводит id в номер TCI.

Заодно два следствия того же места:

  * Не увели ничего (спот вне полосы захвата зумнутого пана, слоты кончились) —
    молчим. Иначе уведомление уходило под номером 0, то есть от имени главного
    приёмника, который никуда не двигался, и логгер открывал карточку QSO с QSY
    на частоту, где радио не стоит.

  * AddSliceAtFreqPan стал функцией и честно сообщает, что получилось. При
    неудаче (нет свободных слотов, частота вне захвата) он не трогает
    FActiveSliceId, а DXTuneSpotOnPan читал именно его — и уводил на спот ЧУЖОЙ
    слайс, вообще говоря с другого пана, вместе с SetSliceModeBW и
    PushSliceFlagState не на том пане.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 16:06:53 +03:00
2026-03-09 18:48:24 +03:00
2026-07-15 10:21:23 +03:00
2026-06-25 12:58:07 +03:00
2026-03-09 18:48:24 +03:00
2026-03-05 16:19:26 +03:00
2026-08-05 16:11:57 +03:00
2026-05-24 16:29:13 +03:00
2026-03-05 16:19:26 +03:00
S
Description
No description provided
Readme
12 MiB
Languages
Pascal 96.3%
Python 3%
Shell 0.6%