chore: refine project documentation

This commit is contained in:
2026-08-25 22:44:36 +03:00
parent 8237f03930
commit 98d90e1e5a
45 changed files with 457 additions and 516 deletions
+5 -5
View File
@@ -29,8 +29,8 @@ unit CWKeyer;
// джиттера PC там нет вовсе, и это остаётся путём по умолчанию. У Pluto/
// LibreSDR такого кейера НЕТ: это голый AD936x, в эфир идёт ровно то, что мы
// сами положили в поток IQ. Значит телеграф там обязан формироваться здесь.
// Эталон — pihpsdr: src/iambic.c (автомат) + cw_shape_buffer в transmitter.c
// (огибающая прямо в TX-буфере, мимо WDSP).
// Автомат формирует элементы и записывает огибающую прямо в TX-буфер,
// минуя WDSP.
//
// ПОЧЕМУ МИМО WDSP. Голосовой TXA в телеграфе не запускается вообще (в WDSP
// режим TXA_CWL — буквально ветка SSB), да и PostGen-тон не умеет огибающей.
@@ -228,8 +228,8 @@ type
TCWKeyPortEvent = procedure(Dot, Dash: Boolean) of object;
{ Опрос манипулятора на модемных линиях COM/USB-serial: DTR/RTS питают ключ,
CTS/DSR/DCD/RI читаются как лепестки. Так же делают Thetis (cwkeyer.cs),
hamlib и fldigi — это единственный вход ключа, доступный на любом железе. }
CTS/DSR/DCD/RI читаются как лепестки. Такой вход доступен на любом железе
через стандартный последовательный интерфейс. }
TCWKeyPort = class(TThread)
private
FLock: TCriticalSection;
@@ -780,7 +780,7 @@ begin
end;
function TCWLocalKeyer.TakeIambicElement(out IsDot: Boolean): Boolean;
// Автомат иамбика (логика pihpsdr src/iambic.c в терминах элементов):
// Автомат иамбика в терминах точек, тире и межэлементных пауз:
// * зажаты оба лепестка — элементы чередуются (иначе точка «съедала» бы тире);
// * режим B — лепесток, задетый ВО ВРЕМЯ элемента, запоминается и отыгрывается
// следующим; режим A памяти не имеет (в этом и вся разница);