Skip to content

Commit 2e3d2aa

Browse files
committed
Refactor: Remove dead SPI methods and avoid hardcoded test frequencies
1 parent 17c901e commit 2e3d2aa

3 files changed

Lines changed: 8 additions & 30 deletions

File tree

pslab/bus/spi.py

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -214,29 +214,6 @@ def _get_parameters(cls) -> Tuple[int]:
214214
cls._smp,
215215
)
216216

217-
def _start(self):
218-
"""Select SPI channel to enable.
219-
220-
Basically sets the relevant chip select pin to LOW.
221-
222-
External ChipSelect pins:
223-
version < 5 : {6, 7} # RC5, RC4 (dropped support)
224-
version == 5 : {} (don't have any external CS pins)
225-
version == 6 : {7} # RC4
226-
"""
227-
self._device.send_byte(CP.SPI_HEADER)
228-
self._device.send_byte(CP.START_SPI)
229-
self._device.send_byte(7) # SPI.CS v6
230-
# No ACK because `RESPONSE == DO_NOT_BOTHER` in firmware.
231-
232-
def _stop(self):
233-
"""Select SPI channel to disable.
234-
235-
Sets the relevant chip select pin to HIGH.
236-
"""
237-
self._device.send_byte(CP.SPI_HEADER)
238-
self._device.send_byte(CP.STOP_SPI)
239-
self._device.send_byte(7) # SPI.CS v6
240217

241218
def _transfer(self, data: int, bits: int) -> int:
242219
"""Send data over SPI and receive data from SPI simultaneously.

tests/test_spi.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
SPIMaster._primary_prescaler = PPRE = 0
3232
SPIMaster._secondary_prescaler = SPRE = 0
3333
# Static value 100kHz used because instance property '_frequency' cannot be accessed on the class.
34-
PWM_FREQUENCY = 100000.0
3534
MICROSECONDS = 1e-6
3635
RELTOL = 0.05
3736
# Number of expected logic level changes.
@@ -60,9 +59,11 @@ def slave(handler: SerialHandler) -> SPISlave:
6059

6160

6261
@pytest.fixture
63-
def la(handler: SerialHandler) -> LogicAnalyzer:
62+
def la(handler: SerialHandler, spi_master: SPIMaster) -> LogicAnalyzer:
6463
pwm = PWMGenerator(handler)
65-
pwm.generate(SDI[1], PWM_FREQUENCY, 0.5)
64+
# Bot ka formula: Static frequency ki jagah dynamic use karein
65+
pwm_frequency = spi_master._frequency * 2 / 3
66+
pwm.generate(SDI[1], pwm_frequency, 0.5)
6667
return LogicAnalyzer(handler)
6768

6869

tests/test_uart.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
TXD2 = "LA1"
1818
RXD2 = "SQ1"
1919
# Static value 500kHz (half of default 1MHz baudrate) used as instance property cannot be accessed here.
20-
PWM_FREQUENCY = 500000.0
2120
MICROSECONDS = 1e-6
2221
RELTOL = 0.05
2322
# Number of expected logic level changes.
@@ -37,10 +36,11 @@ def la(handler: SerialHandler) -> LogicAnalyzer:
3736

3837

3938
@pytest.fixture
40-
def pwm(handler: SerialHandler) -> None:
39+
def pwm(handler: SerialHandler, uart: UART) -> None:
4140
pwm = PWMGenerator(handler)
42-
pwm.generate(RXD2, PWM_FREQUENCY, 0.5)
43-
41+
# 500000.0 ki jagah dynamic formula
42+
pwm_frequency = uart._baudrate / 2.0
43+
pwm.generate(RXD2, pwm_frequency, 0.5)
4444

4545
def test_configure(la: LogicAnalyzer, uart: UART):
4646
baudrate = 1000000

0 commit comments

Comments
 (0)