Skip to content

Commit

Permalink
send address and shift map
Browse files Browse the repository at this point in the history
  • Loading branch information
hkzlab committed Sep 1, 2024
1 parent 6350ded commit d3385a8
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions dupicolib/board_interfaces/m3_board_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@

from dupicolib.board_utilities import BoardUtilities
from dupicolib.hardware_board_commands import HardwareBoardCommands
import dupicolib.utils as DPUtils

_CXFER_SHIFT_BLOCK_SIZE: int = 16

class CommandCode(Enum):
WRITE = 0
Expand Down Expand Up @@ -164,6 +167,14 @@ def cxfer_read(cls, address_pins: list[int], data_pins: list[int], hi_pins: list
# Clear the configuration for CXFER on the board
res: bytes | None = BoardUtilities.send_binary_command(ser, bytes([CXFERSubCommand.CLEAR.value]), 1)

# Set the address shift map
for idx, addr_chunk in enumerate(DPUtils.iter_grouper(address_shift_map, _CXFER_SHIFT_BLOCK_SIZE, 0)):
res = BoardUtilities.send_binary_command(ser, bytes([CXFERSubCommand.SET_ADDR_MAP_0.value + idx, *struct.pack(f'{len(addr_chunk)}B', *addr_chunk)]), 1)

# Set the data shift map
for idx, data_chunk in enumerate(DPUtils.iter_grouper(data_shift_map, _CXFER_SHIFT_BLOCK_SIZE, 0)):
res = BoardUtilities.send_binary_command(ser, bytes([CXFERSubCommand.SET_DATA_MAP_0.value + idx, *struct.pack(f'{len(data_chunk)}B', *data_chunk)]), 1)

return None

@classmethod
Expand Down

0 comments on commit d3385a8

Please sign in to comment.