3b32f67087
Bug #9: Both TX and RX SPI init params had platform_ops = NULL, causing adf4382_init() -> no_os_spi_init() to fail with -EINVAL. Fixed by setting platform_ops = &stm32_spi_ops and passing stm32_spi_extra with correct CS port/pin for each device. Bug #10: stm32_spi_write_and_read() never toggled chip select. Since TX and RX ADF4382A share SPI4, every register write hit both PLLs. Rewrote stm32_spi.c to assert CS LOW before transfer and deassert HIGH after, using stm32_spi_extra metadata. Backward-compatible: legacy callers (e.g., AD9523) with cs_port=NULL skip CS management. Also widened chip_select from uint8_t to uint16_t in no_os_spi.h since STM32 GPIO_PIN_xx values (e.g., GPIO_PIN_14=0x4000) overflow uint8_t. 10/10 tests pass (8 original + 2 new regression tests).
16 lines
374 B
Plaintext
16 lines
374 B
Plaintext
# Build artifacts
|
|
*.o
|
|
*.dSYM/
|
|
|
|
# Test binaries (built by Makefile)
|
|
test_bug1_timed_sync_init_ordering
|
|
test_bug2_ad9523_double_setup
|
|
test_bug3_timed_sync_noop
|
|
test_bug4_phase_shift_before_check
|
|
test_bug5_fine_phase_gpio_only
|
|
test_bug6_timer_variable_collision
|
|
test_bug7_gpio_pin_conflict
|
|
test_bug8_uart_commented_out
|
|
test_bug9_platform_ops_null
|
|
test_bug10_spi_cs_not_toggled
|