Skip to content

Commit

Permalink
tests: gateware: bootloader: Added a second DFU transfer to the test
Browse files Browse the repository at this point in the history
should be abstracted away into a function but for now just testing it's fine.
  • Loading branch information
lethalbit committed Jan 19, 2025
1 parent e1aed54 commit c6e2853
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions tests/gateware/bootloader/test_rev2.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,31 @@ def dfu(self: Rev2BootloaderTests):
yield from self.send_dfu_get_state()
yield from self.receive_data(data = (DFUState.DlIdle,))
yield


yield from self.send_dfu_download(length = 128)
yield from self.send_data(data = _DFU_DATA[:128])
yield from self.send_dfu_get_status()
yield from self.receive_data(data = (0, 0, 0, 0, DFUState.DlBusy, 0))
yield from self.send_dfu_get_state()
yield from self.receive_data(data = (DFUState.DlBusy, ))
yield from self.step(6)
yield from self.send_dfu_get_state()
# The backing storage is chewing on the data, just spin for a bit
while (yield from self.receive_data(data = (DFUState.DlBusy,), check = False)):
yield from self.send_dfu_get_state()
yield from self.step(3)
# Make sure we're in sync
yield from self.send_dfu_get_state()
yield from self.receive_data(data = (DFUState.DlSync,))
yield from self.send_dfu_get_status()
yield from self.receive_data(data = (0, 0, 0, 0, DFUState.DlSync, 0))
# And back to Idle
yield from self.send_dfu_get_state()
yield from self.receive_data(data = (DFUState.DlIdle,))
yield


yield from self.send_dfu_download(length = 0)
yield from self.send_data(data = ())
# And trigger a reboot
Expand Down

0 comments on commit c6e2853

Please sign in to comment.