STORAGE_BOOTSEL_ADDRESS is a better name than _MEMORY_
this is also just a different addressing mode with the same binary offset from the start, so derive it from the binary location
This commit is contained in:
parent
f2ed281053
commit
416157663d
@ -11,7 +11,7 @@ from google.protobuf.message import Message
|
|||||||
|
|
||||||
from gp2040ce_bintools import core_parser
|
from gp2040ce_bintools import core_parser
|
||||||
from gp2040ce_bintools.rp2040 import get_bootsel_endpoints, read, write
|
from gp2040ce_bintools.rp2040 import get_bootsel_endpoints, read, write
|
||||||
from gp2040ce_bintools.storage import (STORAGE_BINARY_LOCATION, STORAGE_MEMORY_ADDRESS, STORAGE_SIZE,
|
from gp2040ce_bintools.storage import (STORAGE_BINARY_LOCATION, STORAGE_BOOTSEL_ADDRESS, STORAGE_SIZE,
|
||||||
pad_config_to_storage_size, serialize_config_with_footer)
|
pad_config_to_storage_size, serialize_config_with_footer)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -168,7 +168,7 @@ def write_new_config_to_usb(config: Message, endpoint_out: object, endpoint_in:
|
|||||||
logger.debug("length: %s with %s bytes of padding", len(serialized), padding)
|
logger.debug("length: %s with %s bytes of padding", len(serialized), padding)
|
||||||
binary = bytearray(b'\x00' * padding) + serialized
|
binary = bytearray(b'\x00' * padding) + serialized
|
||||||
logger.debug("binary for writing: %s", binary)
|
logger.debug("binary for writing: %s", binary)
|
||||||
write(endpoint_out, endpoint_in, STORAGE_MEMORY_ADDRESS + (STORAGE_SIZE - len(binary)), bytes(binary))
|
write(endpoint_out, endpoint_in, STORAGE_BOOTSEL_ADDRESS + (STORAGE_SIZE - len(binary)), bytes(binary))
|
||||||
|
|
||||||
|
|
||||||
############
|
############
|
||||||
|
@ -22,7 +22,7 @@ from textual.widgets.tree import TreeNode
|
|||||||
from gp2040ce_bintools import core_parser, handler
|
from gp2040ce_bintools import core_parser, handler
|
||||||
from gp2040ce_bintools.builder import write_new_config_to_filename, write_new_config_to_usb
|
from gp2040ce_bintools.builder import write_new_config_to_filename, write_new_config_to_usb
|
||||||
from gp2040ce_bintools.rp2040 import get_bootsel_endpoints, read
|
from gp2040ce_bintools.rp2040 import get_bootsel_endpoints, read
|
||||||
from gp2040ce_bintools.storage import (STORAGE_MEMORY_ADDRESS, STORAGE_SIZE, ConfigReadError, get_config,
|
from gp2040ce_bintools.storage import (STORAGE_BOOTSEL_ADDRESS, STORAGE_SIZE, ConfigReadError, get_config,
|
||||||
get_config_from_file, get_new_config)
|
get_config_from_file, get_new_config)
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -324,7 +324,7 @@ class ConfigEditor(App):
|
|||||||
if self.usb:
|
if self.usb:
|
||||||
try:
|
try:
|
||||||
self.endpoint_out, self.endpoint_in = get_bootsel_endpoints()
|
self.endpoint_out, self.endpoint_in = get_bootsel_endpoints()
|
||||||
config_binary = read(self.endpoint_out, self.endpoint_in, STORAGE_MEMORY_ADDRESS, STORAGE_SIZE)
|
config_binary = read(self.endpoint_out, self.endpoint_in, STORAGE_BOOTSEL_ADDRESS, STORAGE_SIZE)
|
||||||
self.config = get_config(bytes(config_binary))
|
self.config = get_config(bytes(config_binary))
|
||||||
except ConfigReadError:
|
except ConfigReadError:
|
||||||
if self.create_new:
|
if self.create_new:
|
||||||
|
@ -17,7 +17,7 @@ from gp2040ce_bintools.rp2040 import get_bootsel_endpoints, read
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
STORAGE_BINARY_LOCATION = 0x1FC000
|
STORAGE_BINARY_LOCATION = 0x1FC000
|
||||||
STORAGE_MEMORY_ADDRESS = 0x101FC000
|
STORAGE_BOOTSEL_ADDRESS = 0x10000000 + STORAGE_BINARY_LOCATION
|
||||||
STORAGE_SIZE = 16384
|
STORAGE_SIZE = 16384
|
||||||
|
|
||||||
FOOTER_SIZE = 12
|
FOOTER_SIZE = 12
|
||||||
@ -158,7 +158,7 @@ def get_config_from_usb() -> tuple[Message, object, object]:
|
|||||||
endpoint_out, endpoint_in = get_bootsel_endpoints()
|
endpoint_out, endpoint_in = get_bootsel_endpoints()
|
||||||
logger.debug("reading DEVICE ID %s:%s, bus %s, address %s", hex(endpoint_out.device.idVendor),
|
logger.debug("reading DEVICE ID %s:%s, bus %s, address %s", hex(endpoint_out.device.idVendor),
|
||||||
hex(endpoint_out.device.idProduct), endpoint_out.device.bus, endpoint_out.device.address)
|
hex(endpoint_out.device.idProduct), endpoint_out.device.bus, endpoint_out.device.address)
|
||||||
storage = read(endpoint_out, endpoint_in, STORAGE_MEMORY_ADDRESS, STORAGE_SIZE)
|
storage = read(endpoint_out, endpoint_in, STORAGE_BOOTSEL_ADDRESS, STORAGE_SIZE)
|
||||||
return get_config(bytes(storage)), endpoint_out, endpoint_in
|
return get_config(bytes(storage)), endpoint_out, endpoint_in
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user