review fixes: shared mock capture window, 2-position controller caveat
Мок-бэкенд ставил каждому трейсу свой capture_end_ns, потому что метка бралась в момент создания трейса. На реальном железе все комбинации коллекции выходят из одного синхронизированного цикла и делят одно окно — мок теперь ведёт себя так же, иначе он вводит в заблуждение при чтении записанных меток. В README контроллера добавлена оговорка: прошивка рассчитана ровно на два положения ключа. Хост допускает и 4, но тогда положение перестаёт быть чередованием одного бита и нужен контроллер на две управляющие линии. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -22,6 +22,12 @@
|
||||
а не от того, какой порт сейчас излучает. Если у ключа больше двух состояний,
|
||||
лишние входы замыкаются джампером.
|
||||
|
||||
> Прошивка рассчитана **ровно на два положения** ключа
|
||||
> (`stimulus_switch_positions: 2` на хосте). Хост технически допускает и 4
|
||||
> положения, но тогда положение перестаёт быть простым чередованием одного бита
|
||||
> и потребуется контроллер на две управляющие линии — эта прошивка для такого
|
||||
> режима не годится.
|
||||
|
||||
Если положению A соответствует лог. 1, а не 0 — поменяйте `kSwitchActiveLow`
|
||||
в [`src/main.cpp`](src/main.cpp).
|
||||
|
||||
|
||||
@@ -446,9 +446,15 @@ class MultiDeviceLibreVnaService:
|
||||
s11=s11,
|
||||
s21=s21,
|
||||
capture_start_ns=mock_sweep_start_ns,
|
||||
capture_end_ns=time.monotonic_ns(),
|
||||
)
|
||||
)
|
||||
# One shared window, as on real hardware: every combo of a collection comes
|
||||
# out of the same synchronized cycle. Stamping each trace as it is built
|
||||
# would instead spread the ends over the generation loop, which never
|
||||
# happens natively and would mislead anyone reading mock captures.
|
||||
mock_sweep_end_ns = time.monotonic_ns()
|
||||
for trace in traces:
|
||||
trace.capture_end_ns = mock_sweep_end_ns
|
||||
self._mock_phase += 0.05
|
||||
return SweepCollection(
|
||||
collection_id=int(collection_id),
|
||||
|
||||
Reference in New Issue
Block a user