mirror of
https://github.com/NawfalMotii79/PLFM_RADAR.git
synced 2026-05-28 10:41:02 +00:00
F-5.1: revert PWM scaffolding to binary DELADJ. Schematic-verified: PG7/PG13 on STM32F746ZGT7 have no TIM3 alternate function (Port G AFs are FMC/ETH/USART6/SAI2/SDMMC2 — no TIMx routes), and the FreqSynth-board DELADJ net has only a 200 kOhm pulldown (R22, R35) — no series-R + shunt-C LPF for PWM-to-DC. The3979693(Bug #5) +c466021(B15) PWM scaffolding was a false-fix; 5fbe97f's original honest TODO matched the actual hardware. Delete htim3, MX_TIM3_Init, start/stop_deladj_pwm, phase_ps_to_duty_cycle. Rewrite test_bug5 for binary; delete test_bug15. F-5.2: split ADF4382A ref_div per device. RX 10.38 GHz / 300 MHz = 34.6 is fractional mode, but ADF4382_PFD_FREQ_FRAC_MAX = 250 MHz — driver does not reject the out-of-spec config, ldwin_pw silently left at 0. Set rx_param.ref_div = 2 -> PFD = 150 MHz, in spec. TX unchanged (integer). F-5.3: free prior tx_dev/rx_dev in Manager_Init before re-allocating. The recovery dispatch on TX/RX unlock calls Manager_Init again; previous adf4382_dev allocations were leaking. Mirrors F-4.5 fix for AD9523. F-5.4: fix upstream adf4382_remove() — only freed dev struct on FAILED SPI removal (success path leaked) and always returned 0. Now: NULL guard, unconditional free, propagate ret. F-5.8: lock-detect uses register reg[0x58] LOCKED bit as authoritative. GPIO disagreement still logged via DIAG_WARN but no longer flips the result — a mis-routed GPIO LKDET would otherwise trigger false-unlock recovery loops. F-5.10: drop stale "EZSYNC" diagnostic string (post-C-14a residue). Bench-side checks for first power-on: - Scope PG13 (TX_DELADJ) and PG7 (RX_DELADJ) — both should be HIGH (3.3V) after SetPhaseShift(500,500) runs at boot. - Confirm both ADF4382A LOs lock with PFD=150 MHz on RX (was 300 MHz). Lock-time may be slightly longer; phase-noise sidebands shift. - Confirm no false-unlock storms on the recovery path — the GPIO LKDET disagreement DIAG_WARN should no longer flip the lock decision. Regression: tests/ make test 34/34 PASS (was 35/35 baseline; -1 from test_bug15 deletion as planned).